No Newline at End of File

本文为转载,原文是英文,不翻译也能看懂。文章大意:我们经常看到“No newline at end of file”的提示,实际上这是 Unix 系统历史遗留下来的一个 C 语言约定:所有的非空源代码文件应该以新行 \n 作为结束符。

分类至 杂项
0条评论

回车和换行

今天,我总算搞清楚回车(carriage return)和换行(line feed)这两个概念的来历和区别了。 在计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表示结束的字符。一个叫做回车,告诉打字机把打印头定位在左边界;另一个叫做换行,告诉打字机把纸向下移一行。

分类至 杂项
0条评论

中文文案排版指北(转自 GitHub)

目录

  • 空格
    • 中英文之间需要增加空格
    • 中文与数字之间需要增加空格
    • 数字与单位之间无需增加空格
    • 全角标点与其他字符之间不加空格
    • -ms-text-autospace to the rescue?
  • 标点符号
    • 不重复使用标点符号
  • 全角和半角
    • 使用全角中文标点
    • 数字使用半角字符
    • 遇到完整的英文整句、特殊名词,其內容使用半角标点
  • 名词
    • 专有名词使用正确的大小写
    • 不要使用不地道的缩写
  • 争议
    • 链接之间增加空格
    • 简体中文使用直角引号
  • 工具
  • 谁在这样做?
  • 参考文献
分类至 杂项
0条评论

Git 配置多个 SSH-Key(来自码云)

背景

当有多个git账号时,比如:

a. 一个gitee,用于公司内部的工作开发;
b. 一个github,用于自己进行一些开发活动;

解决方法

  1. 生成一个公司用的SSH-Key
$ ssh-keygen -t rsa -C 'xxxxx@company.com' -f ~/.ssh/gitee_id_rsa
  1. 生成一个github用的SSH-Key
$ ssh-keygen -t rsa -C 'xxxxx@qq.com' -f ~/.ssh/github_id_rsa
  1. 在 ~/.ssh 目录下新建一个config文件,添加如下内容(其中Host和HostName填写git服务器的域名,IdentityFile指定私钥的路径)...
分类至 杂项
0条评论

Git 生成/添加 SSH 公钥(来自码云)

码云提供了基于SSH协议的Git服务,在使用SSH协议访问仓库仓库之前,需要先配置好账户/仓库的SSH公钥。

你可以按如下命令来生成 sshkey:

ssh-keygen -t rsa -C "xxxxx@xxxxx.com"  
# Generating public/private rsa key pair...

按照提示完成三次回车,即可生成 ssh key。通过查看 ~/.ssh/id_rsa.pub 文件内容,获取到你的 public key

cat ~/.ssh/id_rsa.pub
# ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC6eNtGpNGwstc....

...

分类至 杂项
0条评论

iOS 系统 Emoji 表情对应的 png 图片打包下载

最近有个需求,根据前台用户输入的内容在后台生成宣传图。

我的方法是,把内容渲染成一个 HTML 页面,然后使用 wkhtmltoimage 把网页转换成图片。遇到了一个问题:用户输入的内容带有 Emoji 表情符号,由于 Linux 服务器上没有对应的字体问题,生成图片的时候,Emoji 表情符号全变成了无法识别的框框。

当时我想,要是能把 iOS 系统的 Emoji 表情字体文件 Copy 过来用,那就完美了。在网上搜罗了很久,最终无功而返, iOS 系统的字体文件不能直接在其他系统上使用!

最后,我打算用最笨的方法,就是把 Emoji 表情符号替换成 PNG 图片来显示。即把原来的 Emoji 符号替换成 HTML 的 img 标签。

在 https://www.unicode.org/ 找到了所有 Emoji 表情对应的图片。两个页面,每个页面大概 25MB,打开很慢的,地址分别是...

分类至 杂项
0条评论

腾讯云服务器 CentOS 7.6 快速搭建 LNMP 环境

我在腾讯云上购买了云服务器,系统是 CentOS 7.6 x64,自己整理了以下脚本文件,可以快速安装 LNMP 环境。

文件列表及备注如下:

1-init.sh      # 初始化更新系统软件库
2-account.sh   # 创建 www、mysql 账号
3-openss1.sh   # 安装 openssl-1.1.1d
4-nginx.sh     # 安装 nginx-1.16.1
5-php.sh       # 安装 php-7.2.28
6-mysql.sh     # 安装 mysql-5.7.28
my.cnf         # mysql 的配置文件
nginx.conf     # nginx 的全局配置文件
mysite.conf    # nginx 的示例网站配置文件

包含了 6 个 shell 脚本文件和 3 个配置文件,按顺序执行以上 6 个脚本,php、nginx、mysql 都被安装在 /usr/local 目录下的各自目录。其中,mysql 采用二进制包安装,默认密码保存在 lnmp-script/mysql_new_password.log。默认的配置文件只保证服务能够正常跑起来,如果想要达到最佳性能,需要自己结合服务器硬件配置去做优化。

分类至 杂项
0条评论