03 2020 档案

摘要:概述 Docker 是一个用于开发、部署和运行应用的开源平台。它意在使你能更快地进行应用分发。 使用 Docker 可以将应用系统和基础设施分离,并且可以用管理应用系统类似的方式对基础设施进行管理。 Docker 使用了内核的容器功能 + 工作流程 + 工具来助我们管理和部署应用。 什么是 Dock 阅读全文
posted @ 2020-03-31 16:46 haiiiiiyun 阅读(167) 评论(0) 推荐(0)
摘要:+ 第三方仓库 "Python Package Index(PyPI)" + "Django 第三方包信息库" Django 项目中的 Requirements 文件中的依赖包一定要指定特定的版本号,如: 而你发布的第三方包中,依赖包不能指定特定的版本,版本号要越宽泛越好。例如,当你的依赖指定为 , 阅读全文
posted @ 2020-03-31 16:44 haiiiiiyun 阅读(254) 评论(0) 推荐(0)
摘要:通过 Django 工具查找 User 数据模型 获取 User 类的最佳方式: 在数据模型中,使用 settings.AUTH_USER_MODEL 进行外键引用 到 User 的 ForeignKey、OneToOneKey 或 ManyToManyField 的引用方式: setting.AU 阅读全文
posted @ 2020-03-31 16:42 haiiiiiyun 阅读(414) 评论(0) 推荐(0)
摘要:它不是为终端用户准备的,它是为网站管理员准备的 使用 Admin 定制 vs 创建新的视图 相比于对 Django Admin 进行大量定制,通常创建一个相同功能的新视图会更简单。 对象的数据库表示 最佳实践: + 对每个 Django 数据模型都要实现其 _str__ 方法,如果使用 python 阅读全文
posted @ 2020-03-31 16:41 haiiiiiyun 阅读(244) 评论(0) 推荐(0)
摘要:尽量不要替换 Django 核心组件,除非你了解: + 可能无法使用一些或全部的第三方应用包 + 不能使用 Django admin 应用 + 你已花费大量时间使用核心组件来创建你的应用,但是发现这些核心组件是主要问题所有 + 你已对代码进行了分析,找出了主要的问题所在 + 你已尝试了其它所有的可能 阅读全文
posted @ 2020-03-31 16:39 haiiiiiyun 阅读(201) 评论(0) 推荐(0)
摘要:1. 安装 flutter SDK 可以直接 git clone flutter 的 github 库,或从官网下载压缩包,但都比较慢,最好从 "中文镜像" 下载压缩包。 解压到 ,并更新路径: 国内下载安装 flutter 相关包会比较慢,最好设置从国内镜像下载,在 ~/.bashrc 中设置: 阅读全文
posted @ 2020-03-31 16:35 haiiiiiyun 阅读(365) 评论(0) 推荐(0)
摘要:以下的前端 JavaScript 框架使得使用 REST API 更加容易: + "React.js" : Facebook 发布,可用于构建 HTML、iOS 和 Android 应用。 + "Angular.js" :Google 发布,可用于创建单页应用, Django 社区用地较多。 + " 阅读全文
posted @ 2020-03-25 16:51 haiiiiiyun 阅读(342) 评论(0) 推荐(0)
摘要:REST API 设计基础 REST API 操作与 HTTP 方法的关系 请求目的 | HTTP 方法 | 相应的 SQL | | 创建一个资源 | POST | INSERT 读取一个现有资源 | GET | SELECT 请求现有资源的元数据 | HEAD | 更新一个现有资源 | PUT | 阅读全文
posted @ 2020-03-25 16:48 haiiiiiyun 阅读(267) 评论(0) 推荐(0)
摘要:`PREFIX ? :list keys`。 列出所有的 tmux 命令。 命令显示有关当前会话的信息:w。 将命令前缀改为 更加容易使用,但是输入法切换可能也会用这两个键,因此要进行修改设置。 方便切换到上一个窗口。 命令将当前窗格进行最大化,当再次运行时,会还原到原来的大小,可以将它绑定到快捷键 阅读全文
posted @ 2020-03-25 13:04 haiiiiiyun 阅读(140) 评论(0) 推荐(0)
摘要:高效使用窗口和窗格 将窗格转变成窗口 将当前窗格升级为一个独立的窗口,使用快捷键 ,此后,当前会话中会多出一个窗口。 将窗口转变成一个窗格 在命令模式下使用 命令,该命令的格式为: 和 两个参数都可以忽略,表示为当前的窗口或窗格。 最大化窗格与还原 将当前窗格放大,放在一个独立的窗口中显示,查看完之 阅读全文
posted @ 2020-03-25 13:02 haiiiiiyun 阅读(323) 评论(0) 推荐(0)
摘要:使用 tmux 进行结对编程的两种方式: 1. 创建一个新帐户。在该新用户下创建 tmux 开发环境,其他组员和你共享这个新帐户,并在其下工作。 2. 使用 tmux 的 sockets,使得其他人能连接到你的 tmux 会话。 这两种方式本质上都有安全隐患:别人会看到你屏幕上的内容。因此,较好的方 阅读全文
posted @ 2020-03-25 13:01 haiiiiiyun 阅读(210) 评论(0) 推荐(0)
摘要:在复制模式下移动 当进行测试或者查看日志文件时,由于内容较多,往往需要进行上下翻滚查找。 按下 进入复制模式,然后可以在屏幕上使用方向键进行移动了。要想使用 Vim 的各种移动键进行移动,可以在 .tmux.conf 中配置: 使用 后进入的复制模板,相当于 Vim 中使用 进入的 Normal 模 阅读全文
posted @ 2020-03-25 12:53 haiiiiiyun 阅读(351) 评论(0) 推荐(0)
摘要:使用脚本为每个项目定制一个 tmux 环境:创建会话,分割窗口,自动开启项目要用到的程序等。 使用 tmux 命令创建定制设置 可以使用 tmux 命令在一个会话中分割窗口,改变布局,甚至开启程序。完成这些操作的关键是使用 target 开关。 当有一个命名 tmux 会话后,可以这样与它进行关联: 阅读全文
posted @ 2020-03-25 12:51 haiiiiiyun 阅读(459) 评论(0) 推荐(0)
摘要:配置文件 系统范围的配置文件是 /etc/tmux.conf ,而针对个人的配置文件在 ~/.tmux.conf 。 通过配置文件,可以定义新的快捷键,定义窗口、窗格布局等。 绑定 CAPS LOCK 键到 CTRL 键 在 OS X 上:打开 ,按下 键,然后将 的动作改为 。 在 Linux,需 阅读全文
posted @ 2020-03-25 12:48 haiiiiiyun 阅读(421) 评论(0) 推荐(0)
摘要:tmux 是一个运行于 OS X 和 Unix 上的终端分屏软件 terminal multiplexer 。 快捷键的表示及按键规则 + : 同时按下 键和 键 + : 同时按下 、`SHIFT r` 键 + : 同时按下 键和 键,再松开,然后再迅速按下 键 安装 在 OS X 上: 在 Deb 阅读全文
posted @ 2020-03-25 12:46 haiiiiiyun 阅读(264) 评论(0) 推荐(0)
摘要:Github Pages 现只支持使用 Rouge 来代码语法高亮了。 从 "Rouge 项目" 中摘录支持的语言和语法分析器如下,以便查阅。 1. apache : extend previous fix to apache and cmake lexers 1. apiblueprint : A 阅读全文
posted @ 2020-03-25 12:44 haiiiiiyun 阅读(297) 评论(0) 推荐(0)
摘要:一、安装 以 Ubuntu 为例,如果无需安装最新版本,只需用: 如果要安装最新版本,以 Ubuntu Trusty(14.04) 为例。 1) 先从 "PostgreSQL 下载页" 获取相应的 Apt 仓库信息,然后创建文件 /etc/apt/sources.list.d/pgdg.list , 阅读全文
posted @ 2020-03-25 12:41 haiiiiiyun 阅读(199) 评论(0) 推荐(0)
摘要:添加或修改数据模型都不能马虎,有关数据的操作都需慎重考虑。 推荐使用的 Django 数据模型相关的包: 1. django model utils : 使用其 TimeStampedModel 1. django extensions : 使用其管理命令 shell_plus ,它会自动加载所有已 阅读全文
posted @ 2020-03-24 16:50 haiiiiiyun 阅读(273) 评论(0) 推荐(0)
摘要:基本原则 Django 1.8 有约 140 个配置项可通过 settings 模块进行设置。settings 模块在每次启动 Django 服务时进行初始化,因此对 settings.py 文件修改后,都要重启 Django 服务器才能生效。 1. 所有 settings 文件都应进行版本控制,包 阅读全文
posted @ 2020-03-24 16:48 haiiiiiyun 阅读(218) 评论(0) 推荐(0)
摘要:基本原则 每个 App 都应该只做一件事。它的功能应该能用一句简单的语句就可以描述清楚,如果描述过程中用了一个以上的 ”以及“,可能就意味着这个 App 有点大了,需要拆分。 James Bennett: The art of creating and maintaining a good Djan 阅读全文
posted @ 2020-03-24 16:46 haiiiiiyun 阅读(591) 评论(0) 推荐(0)
摘要:以下介绍的是 "cookiecutter django" 项目布局模板。 其它类似的项目模板可以到 "这里" 找到。 Django 1.8 默认生成的布局 生成命令: 生成的布局: cookiecutter django 的项目布局 最顶层:仓库根目录 <repository_root <repos 阅读全文
posted @ 2020-03-24 13:48 haiiiiiyun 阅读(358) 评论(0) 推荐(0)
摘要:Python 风格 + 以下没有特别提到的,都遵循 Python 的 "PEP8" 约定,见 "Python 代码风格指南 PEP8 摘要" 。 PEP 8 中限制行长最多 79 个字符,但 Django 允许最多到 119 个字符(这是 GitHub 代码审查工具允许的宽度)。 PEP 8 限制文 阅读全文
posted @ 2020-03-24 13:46 haiiiiiyun 阅读(137) 评论(0) 推荐(0)
摘要:在开发、测试和生产等所有环境中都使用相同的数据库引擎 使用的数据库不相同,会有以下问题: 1. 无法将生产环境中取得的数据原封不动地还原到本地进行测试 2. 不同的数据库有不同的类型/限制,Django 的 ORM 不可以做到十全十美 3. 不能依赖 来消除本地和生产环境间的数据库差异, 只能用于创 阅读全文
posted @ 2020-03-24 13:44 haiiiiiyun 阅读(198) 评论(0) 推荐(0)
摘要:一起学习thingsboard物联网平台,有谁一起翻译Thingsboard文档吗?中文文档翻译项目: "https://github.com/haiiiiiyun/thingsboard.cn" , 项目中都列出了翻译进程,以及每篇内容的翻译贡献者。 通过翻译,不仅可以进不步了解 thingsbo 阅读全文
posted @ 2020-03-24 12:11 haiiiiiyun 阅读(1584) 评论(2) 推荐(0)
摘要:一、这种布局的优点 1. 项目中的每个应用都相对独立,方便以后拿出来重用。 1. 这样的布局会促使你在开发过程中考虑每个应用的重用性。 1. 开发、测试、生产等不同的环境都有各自独立的配置文件,方便配置项的共享和定制。 1. 不同的环境都有各自独立的 pip requirements 文件。 1. 阅读全文
posted @ 2020-03-20 16:56 haiiiiiyun 阅读(372) 评论(0) 推荐(0)
摘要:通过虚拟内存的概念,操作系统为每一个进程提供完全一致的内存视图,这个内存视图的地址空间,叫虚拟地址空间。 从每个进程的角度来看,内存中只存在操作系统内核及本进程,即内存是被本进程独占的。 从向往上看,分为进程代码和数据区、堆数据区、共享库区、堆栈区、内核内存区。 进程代码与数据区 可执行程序文件的内 阅读全文
posted @ 2020-03-20 16:52 haiiiiiyun 阅读(192) 评论(0) 推荐(0)
摘要:记录C语言程序helloworld在Linux系统上从编写、编译到调用的全过程。 一、编写源代码 经典的helloworld程序,源代码 如下: 程序员在IDE中,或者文本编辑器(如Vim、Emacs等)中敲入程序源代码,并保存为文本文件 ,文件的后缀名为 。 文件的内容是由0、1组成的比特串。而每 阅读全文
posted @ 2020-03-20 16:48 haiiiiiyun 阅读(293) 评论(0) 推荐(0)
摘要:Beej's Quick Guide to GDB Release 2 (2009 Jun 14) Beej's Quick Guide to GDB by "Brian "Beej Jorgensen" Hall" is licensed under a "Creative Commons Att 阅读全文
posted @ 2020-03-19 16:54 haiiiiiyun 阅读(380) 评论(0) 推荐(0)
摘要:十进制数 x 转化为十六进制表示 将十进制数 x 除以 16, 即 x = q \ 16 + r,取得余数 r 和 商 q,此时余数 r 就是 x 用十六进制表示时的最低位值; 之后商值 q 继续进行以上的除法操作, 获取每次的余数 r 作为 十六进制表示时的低位值, 直到 q 值小于 16 为值, 阅读全文
posted @ 2020-03-19 16:47 haiiiiiyun 阅读(6121) 评论(0) 推荐(0)
摘要:1 位十六进制数对应 4 位 二进制数。 记住三个基准数 记住下面的三个基准数的十六进制表示及对应的二进制表示,对这两种进制数之前的快速转换很有帮助。 + A: 1010 + C: 1100 + F: 1111 B 可以通过 A+1得到,即为 1011; D 可以通过 C+1 得到,即为 1101, 阅读全文
posted @ 2020-03-19 16:45 haiiiiiyun 阅读(3006) 评论(0) 推荐(0)
摘要:"GDB" 是GUN项目里的调试器软件,支持Ada, C, C++, Objective C, Pascal等语言。 GDB日常调试基本命令 命令示例解释 help <GDB命令名 (gdb) help set GDB帮助命令,若未指定参数,刚分类列表所有GDB命令 file <文件名 (gdb) 阅读全文
posted @ 2020-03-19 16:38 haiiiiiyun 阅读(480) 评论(0) 推荐(0)
摘要:写注释时经常会混淆parameter和argument的用法,特记录下。 Parameter是定义函数参数时的形参,而Argument是调用函数时的实参。 例如以上的C语言例子中, my_func 函数定义中的 par1 , par2 是 parameter (形参), 而函数调用 ret = my 阅读全文
posted @ 2020-03-19 16:36 haiiiiiyun 阅读(463) 评论(0) 推荐(0)
摘要:Introduction According to document "Jena Full Text Search" , it is possible that the indexed text is content external to the RDF store with only addit 阅读全文
posted @ 2020-03-19 13:34 haiiiiiyun 阅读(168) 评论(0) 推荐(0)
摘要:1. 概述 "SendGrid" 免费账号可以限额发送 100/天封邮件,虽然比 Mailgun 的每月 10000 封的免费额度少,但胜成注册无需绑定信息卡。 集成 SendGrid 有 SMTP 和 API 两种方式。官方提供了 Python, Java, GO, Node.js, Ruby, 阅读全文
posted @ 2020-03-18 13:45 haiiiiiyun 阅读(6012) 评论(0) 推荐(0)
摘要:1. 概述 Django 中的 应用提供了完整的用户及认证授权功能。 Django 官方推荐基于内置 User 数据模型创建新的自定义用户模型,方便添加 等新的用户字段和功能。 本文包含的内容有: + 介绍在 Django 中如何自定义用户模型,并集成到系统。 + 定制 应用使用的模板文件。 + 在 阅读全文
posted @ 2020-03-16 10:42 haiiiiiyun 阅读(417) 评论(0) 推荐(0)