日常学习

linux relearn

June 15, 2017

linux 重新复习

档案管理

ls 第一个字符代表

  1. d – 则是目彔
    • – 档案
  2. l – 连结档(link file);
  3. b – 表示为装置文件里面的可供储存的接口讴备(可随机存取装置);
  4. c – 表示为装置文件里面的串行端口讴备,例如键盘、鼠标(一次怅读取装置)。

更改档案的属性方法


Sinatra

May 08, 2017

Sinatra

Sinatra 是ruby中最为简单的server框架,提供了一系列的dsl,来供构建server使用

目录结构概览

从目录结构看起, base.rb 中最为重要代码行数最多, 其中涵盖了所有的Sinatra重要代码, Response, Request, CommonLogger, NotFound, Helpers, Templates, Base

从调用逻辑看起

  1. 调用代码

       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 源码

数据库的连接调用过程

  1. 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