0%

清空表 (truncate) 与删除表中数据 (delete)

删除表信息的方式有两种:

1
2
truncate table table_name;
delete * from table_name;

注: truncate 操作中的 table 可以省略,delete 操作中的 * 可以省略

阅读全文 »

Gin 是一个 Golang 的微框架,基于 httprouter ,封装比较优雅,API 友好,源码注释比较明确。具有快速灵活,容错率高,高性能等特点。框架更像是一些常用函数或者工具的集合。借助框架开发,不仅可以省去很多常用的封装带来的时间,也有助于团队的编码风格和形成规范。

Gin 包括以下几个主要的部分:

  • 设计精巧的路由/中间件系统;
  • 简单好用的核心上下文 Context
  • 附赠工具集(JSON/XML 响应, 数据绑定与校验等)。

Gin 是一个 Golang 写的 web 框架,,它提供了类似 martini 但更好性能(路由性能约快40倍)的 API 服务。

阅读全文 »

基础类

2022-06-13

问:与其他语言相比,使用 Go 有什么好处?

  • 与其他作为学术实验开始的语言不同,Go 代码的设计是务实的。每个功能 和语法决策都旨在让程序员的生活更轻松。
  • Golang 针对并发进行了优化,并且在规模上运行良好。
  • 由于单一的标准代码格式,Golang 通常被认为比其他语言更具可读性。
  • 自动垃圾收集明显比 Java 或 Python 更有效,因为它与程序同时执行。
阅读全文 »

前言

聊聊 组件化插件化 以及 模块化 三个概念如何区分,以及在工程实践当中具体要解决什么样的问题,在实践当中要达到的目的,在整个项目团队中要起到怎样的作用。

组件化与插件化

  • 组件:通俗点就是组件化就是基于可重用的目的,将一个大的软件系统按照分离关注点的形式,拆分成多个独立的组件。组件的出现是为了解决全局工程中有很多重复代码的问题,是为了复用,而且划分力度是相对较小的模块。组件化的另一个目的是为了解耦,把系统拆分成多个组件,分离组件边界和责任,便于独立升级和维护。

  • 插件:可以理解为是封装了一层对外调用的接口的组件。插件的概念比较形象,一般存在一个“插拔”过程,所以要求可插拔的插件有一个相同的接口(这里所说的接口只是概念上的接口,即调用方法及参数等)。而组件是不存在这个相同接口的。

阅读全文 »

SDK 和组件的设计过程中从 设计原则代码规范文档规范第三方依赖处理原则版本管理规范 五个大的方面来讨论。
SDK 一般包含文档、范例、工具。

设计原则

首先我们遵循软件 六大设计原则23种设计模式 来解决我们在开发中遇到的问题,在 SDK组件化 的设计中同样适用。
六大设计原则:

  • 单一职责原则(Single Responsibility Principle
    单一职责原则的定义是:应该有且仅有一个原因引起类的变更。
  • 开闭原则(Open Closed Principle
  • 里氏替换原则(Liskov Substitution Principle
  • 迪米特法则(Law of Demeter),又叫“最少知道法则”
  • 接口隔离原则(Interface Segregation Principle
  • 依赖倒置原则(Dependence Inversion Principle
阅读全文 »

包的定义 => package 关键字,包名通常和目录名一致,不能包含 -

  • 一个文件夹就是一个包
  • 文件夹里面放的都是 .go 文件

包的导入 => import

  • 包导入路径是从 $GOPATH/src/ 后面的路径开始写起
  • 单行导入
  • 多行导入
  • 给导入的包起别名
  • 匿名导入 => sql 包导入时会提及
阅读全文 »

在需要研究一些app的时候我们希望直接能拿到这个软件的安装包,在iOS上就是 "xxx.ipa"。下面的步骤帮助我们获取一个appbundleID,然后使用工具下载安装包。这样我们就能对目标app进行研究。

Mac自带工具 Console

查看 bundle id,已经装在 iphone 里面的 app:

  • 用数据线连接手机和Mac.
  • 打开 Mac 应用Console.
  • 在左侧栏Devices中,选择你的设备
  • 运行你要查看的APP.
  • 在搜索栏里面输入App的名字.
  • 你可以看到在process列中找到SpringBoardMessage列中找到 Bootstrapping,点击这一行, bundleId 类似于com.xxxx.xxx.kids
阅读全文 »