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
<?phpuse OpenApi\Annotations as OA;
/** * @OA\Info( * title="Test Api", * version="1.0.0", * description="test api documentation" * ) */
复制代码
在 API 接口上使用注解
Api
<?phpuse 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
<?phpnamespace 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 上寻找案例
意识并养成良好的开发习惯
谦虚好问
评论