linux relearn
June 15, 2017
linux 重新复习
档案管理
ls 第一个字符代表
- d – 则是目彔
-
- – 档案
- l – 连结档(link file);
- b – 表示为装置文件里面的可供储存的接口讴备(可随机存取装置);
- c – 表示为装置文件里面的串行端口讴备,例如键盘、鼠标(一次怅读取装置)。
更改档案的属性方法
- chgrp :改变档案所属群组
- chown :改变档案拥有者
- chmod :改变档案的权限, SUID, SGID, SBIT...
Sinatra
May 08, 2017
Sinatra
Sinatra 是ruby中最为简单的server框架,提供了一系列的dsl,来供构建server使用
目录结构概览
从目录结构看起, base.rb 中最为重要代码行数最多, 其中涵盖了所有的Sinatra重要代码, Response, Request, CommonLogger, NotFound, Helpers, Templates, Base
从调用逻辑看起
-
调用代码
require 'sinatra' get
Rails ActiveModel
April 25, 2017
AttributeAssignment
Callbacks
Dirty
Validations
rails activemodel
module ActiveModel
extend ActiveSupport::Autoload
autoload :AttributeAssignment
autoload :AttributeMethods
autoload :BlockValidator, 'active_model/validator...
docker 入门
April 25, 2017
docker
概念
image(景象), container(容器),volume(数据卷)
镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中 的 类 和 实例 一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被 创建、启动、停止、删除、暂停等。
容器的实质是进程,但与直接在宿主执行的进程不同,容器进程运行于属于自己的 独立的 命名空间。因此容器可以拥有自己的 root 文件系统、自己的网络配置、 自己的进程空间,甚至自己的用户 ID...
Rails ActivRecord源码(未完成)
April 20, 2017
rails activerecord 源码
数据库的连接调用过程
-
activercord base中的代码
# activerecord/lib/active_record/railtie.rb ActiveSupport.on_load(:active_record) do self.configurations = Rails.application.config.database_configuration begin
linux维护
April 19, 2017
二台机器之间同步大文件(拷贝文件到另一台机器)
rsync -rP –rsh=ssh /file/path name@ip:/file/path
建立软连接
ln -s original/file/path soft/file/path
linux后台启动服务
nohup ruby http_server.rb 2>&1 » log.log 2>&1 /dev/null &
nohup command &> /dev/null &
linux根据关键字得到pid号
pgrep -f keyword
Docker
February 25, 2017
安装docker
阿里云的安装脚本
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
使用脚本自动安装
Docker 官方为了简化安装流程,提供了一套安装脚本,CentOS 系统上可以使用这套脚本安装:
curl -sSL https://get.docker.com/ | sh
DaoCloud 的安装脚本
curl -sSL https://get...
Postgres
January 13, 2017
pg创建只读用户
SELECT date_trunc('minute', dd) :: TIMESTAMP
FROM generate_series('2016-10-01' :: TIMESTAMP, '2016-12-31' :: TIMESTAMP, '10 minute' :: INTERVAL) dd;
CREATE USER read_from_pg WITH ENCRYPTED PASSWORD '...';
GRANT CONNECT ON DATABASE test to...
Firefox
November 11, 2016
如何才能使用非签名的附加组件?(高级用户)
Firefox ESR 45版,以及 开发者版 和 Nightly 版,将允许通过改变偏好来屏蔽增强的附加组件签名要求,请在 Firefox 配置编辑器(about:config 页)将 xpinstall.signatures.required 的值改为 false。还有其它一些山寨版的 Firefox 也允许此项屏蔽。更多内容,参阅 MozillaWiki 文章 附加组件/扩展签名。
Ruby
October 21, 2016
排列组合
arr = [1, 2, 3, 4, 5]
arr.combination(3).to_a
ary.each_cons(3).to_a
ruby GIL
1: Ruby MRI为了线程安全,用了GIL只支持单核。任何时刻只有一个线程在运行:当一个Thread阻塞时(比如IO, sleep等),就会切换到另个一线程。 所以就算用了celluloid, puma自动创建多线程的,MRI下每个进程还是单核。
而Rubinius,JRuby则没有GIL,支持多核(每个线程分配一个cpu)...
Page 6 of 8