跨平台的fswatch+rsync同步备份

2019-01-25
阅读 2 分钟
6.5k
rsync是非常好用,但是只是极好的cp而已。如果要监控本地某些文件变化,自动上传,还需要配合其它监控工具。一般都叫watch, notify什么的。最有名的是inotify。但是inotify是linux内核的东西,没法在Mac上运行。Mac上的替代方案是fswatch,而且可以跨平台运行(但是目前发现只有mac支持的最好)。

利用`frp`实现树莓派的公网映射(让外网访问本地局域网里的树莓派)

2019-01-25
阅读 2 分钟
5.1k
大概思路就是:自己先有一台公网的服务器(我是在AWS或DigitalOcean租的),然后让本地的树莓派与公网服务器通过frp程序达成一种映射连接,这样别人访问公网服务器ip的某个端口时,就会自动转向来访问本地的树莓派了。

Ubuntu安装WebDav文件共享服务器(NAS)

2019-01-24
阅读 4 分钟
21.2k
为了做个NAS,折腾了超久的Samba,看似简单,其实Samba的用户设置实在太繁琐,坑太深。用户权限和目录权限、甚至磁盘格式稍有不同,都会导致无法登录。实在不靠谱,实际体验也不是很稳定。所以在找Alternatives过程中,发现了这个也存在了很久的WebDav协议。

Ubuntu安装Samba文件共享服务器(NAS)

2019-01-24
阅读 3 分钟
20.7k
配置之前先说明,这里我不打算只共享一个文件夹,而是共享树莓派连接上的所有外置硬盘。树莓派的外置硬盘默认挂载在了/media/pi目录下,每个硬盘挂载为/media/pi/drive1,/media/pi/drive2等。所以不用一个一个共享,直接把/media/pi共享就OK了。下面配置还会限制:只有pi这个用户可以访问。

命令行下载视频

2019-01-24
阅读 3 分钟
10.7k
常用支持站点:Youtube, facebook, ESPN, Instagram, 土豆,优酷,bilibili,CCTV,音悦台,爱奇艺,搜狐,网易云音乐,虾米音乐,QQ音乐参考youtube-dl源代码。目录下有很多extractor脚本,每个脚本代表一个视频网站。参考:Supported sites

Linux 发送邮件的命令行应用

2019-01-24
阅读 3 分钟
6.9k
先说明下:不管是什么邮件客户端,都是可以直接发邮件的。但是,因为默认的话,发件人是很随便地设置成你本机地名字。并且100%会被邮箱当成垃圾邮件处理。如果你去垃圾箱里找,还是可以看到的。这就是为什么,我们还是需要配置它,让它登录某个邮箱来使用它的身份发邮件了,比如gmail邮箱或阿里云邮箱。(国内的163和qq...

利用`frp`将家中Windows电脑内网穿透从远程连接

2019-01-24
阅读 2 分钟
8.3k
有时候需要连接一下家中的Windows笔记本,或者出差在外地的家人的笔记本(相当于远程修电脑了)。所以正在研究一个方便的远程连接方法。frp是最方便的。

Webdav 服务端使用总结

2019-01-24
阅读 1 分钟
4.4k
尝试了各种各样的Webdav实现,包括Apache版的Webdav Module, Python版的Wsgidav, Docker版的wsgidav, Seafile版的Seadav(其实就是wsgidav),Nginx版的Webdav等等。

一篇文章入门Redis

2019-01-24
阅读 3 分钟
2.6k
Redis是目前最流行的NoSQL数据库,最重要的是它是运行在内存上的数据库。所以几乎所有高并发需求的产品都会考虑使用Redis作为数据库缓存。

一篇文章入门SQL语句

2019-01-24
阅读 6 分钟
4.8k
SQL Structured Query Language,是专门用来查询关系型数据库的语言。也就是说不是关系型数据库,就不能用SQL查询了。

MySQL常用高级操作:视图、事务、账户管理

2019-01-24
阅读 3 分钟
2.4k
一个View视图是一个虚拟的表格,是从各个真实表格中抽取各种数据而成,但是只能查询不能删改。为什么要用视图?因为一般查询经常会涉及多个表多个字段,非常繁琐。为了简化流程,适合未来业务改变,所以更方便的是抽象出一个视图来查询。

MySQL的主从架构Master-Worker

2019-01-24
阅读 2 分钟
3.2k
数据库的主从概念,就是指的数据库存储在多台电脑上,互作备份,同时读写分离。也就相当于硬盘组合中的RAID 1形式。一般的设计是,写就直接写入Master数据库,但是读就从各个Worker从数据库来读取。这样的分配是因为一般的读写配比是10: 1。

一篇文章入门MongoDB

2019-01-24
阅读 3 分钟
2.4k
MongoDB既是NoSQL数据库,又是内存数据库,而且它是现在最强大、最流行的NoSQL数据库。区别与别的NoSQL数据库,MongoDB主要是基于Documents文档(即一条JSON数据)的。

MongoDB 高级查询

2019-01-24
阅读 3 分钟
5.5k
当我们进入Mongo Shell客户端后,实际上是进入了一个Javascript语言的交互环境。也就是说,MongoDB中的很多命令,尤其是包括定义函数等高级命令,实际上都是Javascript语言,甚至说可以是jQuery。了解了这点,一些高级命令如Aggregation学起来就会放松很多。

MySQL存储过程 (即函数)

2019-01-24
阅读 2 分钟
3.3k
SQL的Stored Procedure存储过程,指的其实就是一个函数。既然是函数,那么就会涉及这几个要点:定义函数、使用函数、变量、参数、返回值等。

ORM: SQLAlchemy 初识

2019-01-24
阅读 6 分钟
3.4k
目前Python有很多ORM工具可以将数据库映像为Python的Objects对象。其中比较知名的有Django的ORM,SQLAlchemy, PostgreSQL等。SQLAlchemy有更多的人维护,功能也比较齐全。所以一般是我们的首选项。

深究SQLAlchemy中的表关系 Table Relationships

2019-01-24
阅读 6 分钟
12.3k
SQL中的表关系一直是比较难理解的地方。同样SQLAlchemy也对他们做了实现,如果对SQL中的表关系理解透彻的话,这里也可以更容易理解。

SQLAlchemy进阶:Lazy Load 加载参数

2019-01-24
阅读 3 分钟
8.4k
Lazy Load Methods是SQLAlchemy为多表关联而定义的一系列加载方法。为lazy参数选择什么值,决定了 SQLAlchemy 什么时候从数据库中加载数据。每种方法的对应着SQL语句中多表关联的一种写法,所以优缺点、效率高低各有不同。

SQLAlchemy的类继承、抽象类

2019-01-24
阅读 3 分钟
10.1k
网上关于这个东西,东说西说的非常多,甚至官网都没有把最简单的解决方案po出来,取而代之的是非常复杂的Inheritance Configuration。

Jekyll 动态地建立静态博客网站 (Get Started)

2019-01-24
阅读 4 分钟
5.4k
提前声明:Jekyll并不简单,必须要正确的看待它。把它和PHP,JSP和Django等放在一起讨论会减少很多失落感。它的学习曲线几乎相当于Wordpress,工作流程和结构也几乎一样。

Github Pages建立静态网站

2019-01-24
阅读 1 分钟
1.7k
Github Pages对于建立静态网站来说真的是超级方便,概念方便,配置方便。只要你不超出HTML+Javascript+CSS的范围,一切都好说。如果为了漂亮,可以使用Bootstrap等各种技术加强页面显示,只要是静态的,一切都好说。

Jekyll 安装第三方模版

2019-01-24
阅读 2 分钟
3.5k
实际上,Jekyll安装主题是非常反人类的——它一点也不比自己写模版简单,学习成本真是高。安装主题不是把人家做好的template直接复制过来就能用了。每个模版设置的变量设置名、依赖的gem包都不一样,还经常需要在本地安装所有依赖包,安装jekyll插件等。如果不懂Ruby gem的话,还真是不简单。

一篇文章了解Liquid Template Engine 模版引擎 (Jekyll模版)

2019-01-24
阅读 4 分钟
4k
就像PHP、ASP、Python等一切网络动态语言一样,Liquid也相当于一种独立的动态语言,没什么大差别,基本功能都有。说白了就是动态生成HTML,可以输出变量,操作数组,调用外部数据,设置IF ELSE判断,FOR循环等,这些都能达到。

Gitbook使用入门

2019-01-24
阅读 2 分钟
4.1k
不像Readthedocs那么复杂,Gitbook所需的文件和设置极其少,而且原生支持Markdown和Github仓库自动同步。 一般本地无需安装,只要在Github中存入相应的Markdown文件就能自动生成了。不过为了随时测试和预览,有必要在本地也弄一套。 参考:GitBook 简明教程 安装(不要安装旧版的gitbook,而应该是gitbook-cli): {代码.....

一篇文章入门Flask

2019-01-24
阅读 7 分钟
2.7k
Flask本身相当于一个内核,其他几乎所有的功能都要用到扩展(邮件扩展Flask-Mail,用户认证Flask-Login),都需要用第三方的扩展来实现。

一篇文章搞懂Jinja2 Template Engine 模版引擎

2019-01-24
阅读 4 分钟
19.2k
在Python中,什么是模版?就是在一个静态HTML加入一些类似变量的标签,然后引擎在渲染这个HTML时候会动态的把变量填入内容,生成一个最终的HTML。什么是模版引擎?其实就是一种能解析类似Python语言的标记语言的解释器。

「AWS Lightsails」 Server Overview

2019-01-24
阅读 2 分钟
1.8k
Official: AWS Lightsail. 「OS」Choices Linux (Only newest): Windows: 「REGIONS」 Servers on DIFFERENT regions can't connect to each other through Private IP Servers on SAME region but DIFFERENT zone CAN connect through Private IP Snapshot can be used to create another server in SAME region but DI...

「DigitalOcean Droplet」 Server Overview

2019-01-24
阅读 1 分钟
1.4k
Official: Digital Ocean 「OS」 Choices 「REGIONS」 「PRICING」 「FLOATING IP」 (Static ip) Floating IPs are free to use, but it will be charged $0.006 USD/hr for each unassigned, reserved IP. 「SPACE」 (Static CDN) Refer to: Spaces $5 USD/mo, 250GB storage/mo, 1TB transfer/mo.$20 USD/mo, 1TB stor...

「AWS EC2」 Server Overview

2019-01-24
阅读 3 分钟
2.3k
On-Demand instances, you pay for compute capacity by per hour or per second depending on which instances you run.Spot instances are available at a discount of up to 90% off compared to On-Demand pricing.Reserved Instances provide you with a significant discount (up to 75%) compared to On-Demand i...

「AWS Lightsail」 Windows服务器试用感受

2019-01-23
阅读 1 分钟
2.5k
创建好后,默认用户是Administrator,但是密码要等后台生成才能登录。Lightsail后台里可以直接在浏览器里打开远程桌面,本地(Mac/Win/Linux)的工具连接也很简单。