zoukankan      html  css  js  c++  java
  • photoprism 源码阅读

    这个代码说实话 撸的还算可以。。我看这个代码的目的是参考下正常项目的golang应该怎么弄。因为我们主业务还是用的C++,golang方面我就是新手,一个线上项目怎么合理划分设计代码,看书或者是看小JB开源代码是学不到的,而线上开源的golang项目,除了高大上的各种框架组件之外,剩下的要么是玩具,要么就是工具了。。玩真的项目还是比较少开源到线上(可能是我没找到),经各种网友推荐,感觉这个比较不错,所以决定好好学习下。

    下面是正文

    ------------------------------------------------分割线--------------------------------------------------------

    从cmd下的 main函数开始可以看到 整个程序被包装成了 cli工具..

    以下是几个用到的lib库

    cli用的是这个 "github.com/urfave/cli" 

    db用的是 "github.com/jinzhu/gorm"

    后台模式用的lib:"github.com/sevlyar/go-daemon"

    这个大家都知道是啥 "github.com/gin-gonic/gin"

     这个lib不错。不同的命令参数从不同的函数执行.

    start命令 对应的执行流程如下:

    startAction->new config ->创建对应各种文件夹 ->连接db  导入更新models  设置成后台进程模式 开启个gin 设置上路由。。 等到退出事件就行了 等等

    这里有点意思的是 gin的路由分组。。另外各个路由api的代码直接都是找api目录下的文件中 各自文件实现各自接口。。设计的很清晰

    对于这些api 在客户端都是有着对应的路由请求。代码清晰易懂。。设计的不错

    其它命令类似。剩下的就是前端请求api的的各种逻辑组织,后端对应响应处理

  • 相关阅读:
    UVA 1557
    基于角色的权限设计(二)
    用DirectShow实现视频採集-流程构建
    oracle中schema指的是什么?
    GCC 命令行具体解释
    希尔排序
    单点登录SSO的实现原理
    济南最新公交线路一览(BRT)
    编写你自己的单点登录(SSO)服务
    C和指针 (pointers on C)——第五章:操作符和表达式
  • 原文地址:https://www.cnblogs.com/yylingyao/p/11256715.html
Copyright © 2011-2022 走看看