sequelize关闭命令行的提示

默认情况下,sequelize会出现如下提示:

Executing (default): INSERT INTO `acceptable_answer` (`i

如要关闭,可以使用如下办法:

var sequelize = new Sequelize('', '', '', {
  logging: false
});

附上两个文档链接:

http://docs.sequelizejs.com/en/latest/api/sequelize/
http://itbilu.com/nodejs/npm/V1PExztfb.html#api-findAll

MAC安装PIL

开始使用如下命令:

pip install pil

报如下错误

Collecting pil
  Could not find a version that satisfies the requirement pil (from versions: )
  Some externally hosted files were ignored as access to them may be unreliable (use --allow-external pil to allow).
No matching distribution found for pil

后来查了解决办法:见http://stackoverflow.com/questions/19532125/cant-install-pil-after-mac-os-x-10-9

使用如下步骤

pip install Pillow
ln -s ../Cellar/freetype/2.6_1/include/freetype2 freetype
pip install pil --allow-external pil --allow-unverified pil
pip install Pillow

成功安装

 

MAC 10.11 OSX EI Brew安装环境问题汇总

  1. 权限问题

全部格掉重装的EI Capitan,然后把开发的代码再COPY过来,问题如下

drwxrwxrwx@  47 Ben  staff      1598 10 16 16:08 Dashboard

这个目录的权限和用户组全部对的,但是phpstorm编辑器打开这个目录,就是无法生成配置.idea的文件

一直报

Unable to save settings: Failed to save settings. Please restart PhpStorm

这个错误,我手动重新指定用户组,再手动改权限

chown -R Ben:staff Dashboard

chmod -R 777 Dashboard

    解决办法:
chmod -R -a "group:everyone deny add_file,delete,add_subdirectory,delete_child,writeattr,writeextattr,chown" "Users/myusername"

通过上上命令来修改权限

2. Mysql问题

Mysql 安装后无法link,执行”brew docker”报如下问题:

Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink share/man/man8/mysqld.8
/usr/local/share/man/man8 is not writable.

执行好事命令解决问题:

sudo chown -R `whoami` /usr/local

[好文要转要收藏] UML类图几种关系的总结

UML类图中,常见的有以下几种关系:泛化(Generalization,  实现(Realization,关联(Association),聚合(Aggregation,组合(Composition),依赖(Dependency)

1.泛化(Generalization)

【泛化关系】:是一种继承关系,它指定了子类如何特化父类的所有特征和行为例如:老虎是动物的一种.

【箭头指向】:带三角箭头的实线,箭头指向父类

2.实现(Realization)

【实现关系】:是一种类与接口的关系,表示类是接口所有特征和行为的实现

【箭头指向】:带三角箭头的虚线,箭头指向接口

3.关联(Association)

关联关系】:是一种拥有的关系,它使一个类知道另一个类的属性和方法;如:老师与学生,丈夫与妻子

关联可以是双向的,也可以是单向的。双向的关联可以有两个箭头或者没有箭头,单向的关联有一个箭头。

【代码体现】:成员变量

【箭头及指向】:带普通箭头的实心线,指向被拥有者

上图中,老师与学生是双向关联,老师有多名学生,学生也可能有多名老师。但学生与某课程间的关系为单向关联,一名学生可能要上多门课程,课程是个抽象的东西他不拥有学生。

 

上图为自身关联:

4. 聚合(Aggregation)

【聚合关系】:是整体与部分的关系.如车和轮胎是整体和部分的关系.

聚合关系是关联关系的一种,是强的关联关系;关联和聚合在语法上无法区分,必须考察具体的逻辑关系。

【代码体现】:成员变量

【箭头及指向】:带空心菱形的实心线,菱形指向整体

 

5. 组合(Composition)

【组合关系】:是整体与部分的关系.,没有公司就不存在部门      组合关系是关联关系的一种,是比聚合关系还要强的关系,它要求普通的聚合关系中代表整体的对象负责代表部分的对象的生命周期

【代码体现】:成员变量

【箭头及指向】:带实心菱形的实线,菱形指向整体

 

6.
依赖(Dependency)

【依赖关系】:是一种使用的关系,所以要尽量不使用双向的互相依赖

【代码表现】:局部变量、方法的参数或者对静态方法的调用

【箭头及指向】:带箭头的虚线,指向被使用者

 

 

各种关系的强弱顺序:

泛化=
实现>
组合>
聚合>
关联>
依赖

下面这张UML图,比较形象地展示了各种类图关系:

版权声明:本文为博主原创文章,未经博主允许不得转载。

Mac下ssh使用密钥登录

putty可以使用ppk格式的私钥通过ssh登录主机,而不需要输入密码
Mac下,如何使用得到的ppk?

1. 安装putty

brew install putty

2. 使用puttygen生成.pem格式密钥

puttygen privatekey.ppk -O private-openssh -o privatekey.pem

3. 直接使用密钥登录

ssh -i privatekey.pem user@my.server.com

 

CentOS 5 通过yum安装git

刚开始安装如下结果:

$ yum install git
Setting up Install Process
Parsing package install arguments
No package git available.
Nothing to do

网上找到的安装方法如下:

首先要下载rpmforge-release

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el5.rf.i386.rpm

验证安装RPM包

$ rpm --import http://apt.sw.be/RPM-GPG-KEY.dag.txt
$ rpm -K rpmforge-release-0.5.2-2.el5.rf.i386.rpm
$ rpm -i rpmforge-release-0.5.2-2.el5.rf.i386.rpm

最后GIT就可以安装了

$ sudo yum install git-gui
注意,如果是64版本系统要把RPM包换成64位的

sigint sigterm 有什么区别啊

SIGHUP 终止进程 终端线路挂断
SIGINT 终止进程 中断进程
SIGQUIT 建立CORE文件终止进程,并且生成core文件
SIGILL 建立CORE文件 非法指令
SIGTRAP 建立CORE文件 跟踪自陷
SIGBUS 建立CORE文件 总线错误
SIGSEGV 建立CORE文件 段非法错误
SIGFPE 建立CORE文件 浮点异常
SIGIOT 建立CORE文件 执行I/O自陷
SIGKILL 终止进程 杀死进程
SIGPIPE 终止进程 向一个没有读进程的管道写数据
SIGALARM 终止进程 计时器到时
SIGTERM 终止进程 软件终止信号
SIGSTOP 停止进程 非终端来的停止信号
SIGTSTP 停止进程 终端来的停止信号
SIGCONT 忽略信号 继续执行一个停止的进程
SIGURG 忽略信号 I/O紧急信号
SIGIO 忽略信号 描述符上可以进行I/O
SIGCHLD 忽略信号 当子进程停止或退出时通知父进程
SIGTTOU 停止进程 后台进程写终端
SIGTTIN 停止进程 后台进程读终端
SIGXGPU 终止进程 CPU时限超时
SIGXFSZ 终止进程 文件长度过长
SIGWINCH 忽略信号 窗口大小发生变化
SIGPROF 终止进程 统计分布图用计时器到时
SIGUSR1 终止进程 用户定义信号1
SIGUSR2 终止进程 用户定义信号2
SIGVTALRM 终止进程 虚拟计时器到时

1) SIGHUP 本信号在用户终端连接(正常或非正常)结束时发出, 通常是在终端的控
制进程结束时, 通知同一session内的各个作业, 这时它们与控制终端
不再关联.
2) SIGINT 程序终止(interrupt)信号, 在用户键入INTR字符(通常是Ctrl-C)时发出
3) SIGQUIT 和SIGINT类似, 但由QUIT字符(通常是Ctrl-)来控制. 进程在因收到
SIGQUIT退出时会产生core文件, 在这个意义上类似于一个程序错误信
号.
4) SIGILL 执行了非法指令. 通常是因为可执行文件本身出现错误, 或者试图执行
数据段. 堆栈溢出时也有可能产生这个信号.
5) SIGTRAP 由断点指令或其它trap指令产生. 由debugger使用.
6) SIGABRT 程序自己发现错误并调用abort时产生.
6) SIGIOT 在PDP-11上由iot指令产生, 在其它机器上和SIGABRT一样.
7) SIGBUS 非法地址, 包括内存地址对齐(alignment)出错. eg: 访问一个四个字长
的整数, 但其地址不是4的倍数.
8) SIGFPE 在发生致命的算术运算错误时发出. 不仅包括浮点运算错误, 还包括溢
出及除数为0等其它所有的算术的错误.
9) SIGKILL 用来立即结束程序的运行. 本信号不能被阻塞, 处理和忽略.
10) SIGUSR1 留给用户使用
11) SIGSEGV 试图访问未分配给自己的内存, 或试图往没有写权限的内存地址写数据.
12) SIGUSR2 留给用户使用
13) SIGPIPE Broken pipe
14) SIGALRM 时钟定时信号, 计算的是实际的时间或时钟时间. alarm函数使用该
信号.
15) SIGTERM 程序结束(terminate)信号, 与SIGKILL不同的是该信号可以被阻塞和
处理. 通常用来要求程序自己正常退出. shell命令kill缺省产生这
个信号.
17) SIGCHLD 子进程结束时, 父进程会收到这个信号.
18) SIGCONT 让一个停止(stopped)的进程继续执行. 本信号不能被阻塞. 可以用
一个handler来让程序在由stopped状态变为继续执行时完成特定的
工作. 例如, 重新显示提示符
19) SIGSTOP 停止(stopped)进程的执行. 注意它和terminate以及interrupt的区别:
该进程还未结束, 只是暂停执行. 本信号不能被阻塞, 处理或忽略.
20) SIGTSTP 停止进程的运行, 但该信号可以被处理和忽略. 用户键入SUSP字符时
(通常是Ctrl-Z)发出这个信号
21) SIGTTIN 当后台作业要从用户终端读数据时, 该作业中的所有进程会收到SIGTTIN
信号. 缺省时这些进程会停止执行.
22) SIGTTOU 类似于SIGTTIN, 但在写终端(或修改终端模式)时收到.
23) SIGURG 有”紧急”数据或out-of-band数据到达socket时产生.
24) SIGXCPU 超过CPU时间资源限制. 这个限制可以由getrlimit/setrlimit来读取/
改变
25) SIGXFSZ 超过文件大小资源限制.
26) SIGVTALRM 虚拟时钟信号. 类似于SIGALRM, 但是计算的是该进程占用的CPU时间.
27) SIGPROF 类似于SIGALRM/SIGVTALRM, 但包括该进程用的CPU时间以及系统调用的
时间.
28) SIGWINCH 窗口大小改变时发出.
29) SIGIO 文件描述符准备就绪, 可以开始进行输入/输出操作.
30) SIGPWR Power failure

有两个信号可以停止进程:SIGTERM和SIGKILL。 SIGTERM比较友好,进程能捕捉这个信号,根据您的需要来关闭程序。在关闭程序之前,您可以结束打开的记录文件和完成正在做的任务。在某些情况下,假如进程正在进行作业而且不能中断,那么进程可以忽略这个SIGTERM信号。

对于SIGKILL信号,进程是不能忽略的。这是一个 “我不管您在做什么,立刻停止”的信号。假如您发送SIGKILL信号给进程,Linux就将进程停止在那里。

chmod Operation not permitted与解决

使用ROOT用户修改权限出现如下问题:

chmod 666 /etc/resolv.conf
chmod: changing permissions of `/etc/resolv.conf’: Operation not permitted
网上找到原因:
chattr可以修改文件的属性。
lsattr /etc/resolv.conf
—-i———- /etc/resolv.conf
chattr -i /etc/resolv.conf
这样就可以修改resolve.conf文件了。

 

Sphinx/Coreseek 4.1 执行 buildconf.sh 报错,无法生成configure文件【转】

之前在安装 coorseek 的时候,遇到了一些错误,在官网根本看不到解决方案,最后 google 在一个大牛博客的评论区找到了解决方法,顿时把膝盖献上去了~~

整理到这里是为了方便一些人找到,长城防火墙毕竟让 google 不是那么友好了 %>_<% 不过大牛的博客还是上得了的:传送门

错误现象:执行 buildconf.sh 报错,无法生成configure文件

提示的主要错误为:

libstemmer_c/mkinc.mak:10: warning: source file 'runtime/utilities.c' is in a subdirectory,
libstemmer_c/mkinc.mak:10: but option 'subdir-objects' is disabled
libstemmer_c/Makefile.am:3: 'libstemmer_c/mkinc.mak' included from here
libstemmer_c/mkinc.mak:10: warning: source file 'libstemmer/libstemmer.c' is in a subdirectory,
libstemmer_c/mkinc.mak:10: but option 'subdir-objects' is disabled
libstemmer_c/Makefile.am:3: 'libstemmer_c/mkinc.mak' included from here
/usr/local/share/automake-1.14/am/library.am: warning: 'libstemmer.a': linking libraries using a non-POSIX
/usr/local/share/automake-1.14/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
libstemmer_c/Makefile.am:2: while processing library 'libstemmer.a'
/usr/local/share/automake-1.14/am/library.am: warning: 'libsphinx.a': linking libraries using a non-POSIX
/usr/local/share/automake-1.14/am/library.am: archiver requires 'AM_PROG_AR' in 'configure.ac'
src/Makefile.am:14: while processing library 'libsphinx.a'

看起来非常多其实就是两个:1.but option ‘subdir-objects’ is disabled    2. archiver requires ‘AM_PROG_AR’ in ‘configure.ac’

解决方案:

1. 在 csft-4.1/buildconf.sh 文件中,查找

&& aclocal \

后加上

&& automake --add-missing \

2. 在 csft-4.1/configure.ac 文件中,查找:

AM_INIT_AUTOMAKE([-Wall -Werror foreign])

改为:

AM_INIT_AUTOMAKE([-Wall foreign])

查找:

AC_PROG_RANLIB

后面加上

AM_PROG_AR

3. 最后,在 csft-4.1/src/sphinxexpr.cpp 文件中, 替换所有:

T val = ExprEval ( this->m_pArg, tMatch );

成为:

T val = this->ExprEval ( this->m_pArg, tMatch );

修改完后再按说明安装

 

 

Mac OSX中Apache启动报AH00016: Configuration Failed解决办法

今天系统更新,更新完后Apache无法启动,查看日志中一大堆

AH00016: Configuration Failed

网上找了半天没找到解决办法,又查了好多相关内容,终于发现问题是:

Too many open files

导致,这样一来就好解决了, 方法如下:

sudo launchctl limit maxfiles 1000000 1000000
#查看修改是否成功
sysctl -a | grep files