ARTS Week8

发布于: 2020 年 07 月 19 日

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

如何开始你的自学软件开发人员的职业生涯

  1. 选择一门开发语言并坚持下去

  2. 学习软件工程原理

  3. 强迫自己阅读文档

  4. 在GitHub上寻找案例

  5. 意识并养成良好的开发习惯

  6. 谦虚好问

用户头像

时之虫

关注

还未添加个人签名 2020.05.25 加入

还未添加个人简介

评论

发布
暂无评论
ARTS Week8