Algorithm
最长公共前缀
横向扫描
1.比较两个字符串,取两个字符串的最小长度
2.在索引值小于最小长度条件成立循环
3.比较当前索引值的两个字符串的字符是否相等,直到循环结束,获取最长公共子串
4.如果子串长度为 0,则说明没有公共子串,直接返回
5.否则将新得到的子串和下一个字符串比较,回到步骤 1,直到比较完所有字符串
Review
Which are you: Programmer or Coder?
你是一个程序员还是一个编码员?很多时候,我们常常说自己是一个码农来代替说自己是一个程序员。但是程序员并不等价于编码员,甚至是码农。虽然两者有很多共同点,也可能以后这两个词会是同一个意思,但是至少现在是不等价的。
编程包括编码,但同时也包括了创建和实现算法,数据结构以及解决问题,使整个软件系统工作。这相当一个可以开发菜谱的厨师和一个只会看菜谱做菜的人的区别。
所以,不要把自己当成一个编码员,而是当成一个程序员,编程是一个创造的过程,而不是机械地的重复工作。
还有,目前自己掌握的技能是有保质期的。继续学习
Tip
PHP Laravel 通过 Swagger 来生成 API 文档
通过 composer 安装包
composer require "zircote/swagger-php"
复制代码
然后通过以下命令生成配置文件
php artisan vendor:publish --provider "L5Swagger\L5SwaggerServiceProvider"
复制代码
在控制器目录新建一个 swagger 文件,描述 API 文档的基本信息。
swagger.php
<?php
use OpenApi\Annotations as OA;
/**
* @OA\Info(
* title="Test Api",
* version="1.0.0",
* description="test api documentation"
* )
*/
复制代码
在 API 接口上使用注解
Api
<?php
use App\Http\Controller;
class Upload extends Controller
{
/**
* @OA\Get(
* path="/api/v1/upload/image",
* tags={"v1/upload"},
* @OA\Response(
* response="200",
* description="upload image",
* @OA\JsonContent(ref="#/components/schemas/upload-image")
* )
* )
*/
public function image()
{
return response()->json([
'url' => ''
]);
}
}
复制代码
这里的响应内容采用了 upload-image 的 schema, 我们可以在 App 目录下新建一个 Schema 目录,
UploadImageSchema.php
<?php
namespace App\Schema;
use OpenApi\Annotations as OA;
/**
* Class UploadImage
* @package App\Schema
* @OA\Schema(
* schema="upload-image",
* type="object",
* title="upload image response body"
* )
*/
class UploadImageSchema
{
/**
* the image url.
*
* @var string
* @OA\Property(format="string", example="http://img.com/img1.png")
*/
public $url;
/**
* @var object
* @OA\Property(
* format="shema",
* ref="#/components/schemas/info"
* )
*
*/
public $info;
}
复制代码
然后属性上也可以定义 schema 来返回对象等复合类型。定义好注解之后生成文档
php artisan l5-swagger:generate
复制代码
最后,打开 http://youhost/api/documentation,就可以看到 api 文档了
参考:https://xueyuanjun.com/post/19694.html
Share
How To Start Your Career as a Self-Taught Software Developer
如何开始你的自学软件开发人员的职业生涯
选择一门开发语言并坚持下去
学习软件工程原理
强迫自己阅读文档
在 GitHub 上寻找案例
意识并养成良好的开发习惯
谦虚好问
评论