安装Sentry

官方推荐docker安装,可是我不想用docker,我用了python安装方式
1、物料:python, sentry(最新版), postgresql, redis
python需要2.7+, postgresql 9.0+

安装步骤:
1、编译安装python 2.7.13 编译路径 /data/python, 安装pip,virtualenv
2、virtualenv /data/sentry
3、source /data/sentry/bin/active
4、pip install sentry
这一步安装好之后,需要卸载pip uninstall redis 然后安装pip install redis==2.10.5要不然后期会报错
5、安装postgresql, createdb -E utf8 sentry -U postgres
6、编译安装 redis, 启动redis
7、sentry init (/etc/sentry 可以初始化到/etc/sentry,默认是在当前用户家目录下)
8、SENTRY_CONF=~/.sentry sentry update(初始化的时候会自动让你创建账户的)
9、SENTRY_CONF=~/.sentry sentry run web
10、打开浏览器 http://ip:9000

通过二进制包使用rpm命令安装mysql 5.7.18

物料:http://mirrors.sohu.com/mysql/MySQL-5.7/
所需安装包:mysql-community-client-5.7.18-1.el6.x86_64.rpm
mysql-community-common-5.7.18-1.el6.x86_64.rpm
mysql-community-devel-5.7.18-1.el6.x86_64.rpm
mysql-community-embedded-5.7.18-1.el6.x86_64.rpm
mysql-community-libs-5.7.18-1.el6.x86_64.rpm
mysql-community-server-5.7.18-1.el6.x86_64.rpm

安装步骤:
1、安装所需要的相关包
yum install numactl perl perl-devel libaio libaio-devel perl-Time-HiRes perl-JSON.noarch

2、安装命令
rpm -ivh *

3:启动服务
chkconfig mysqld on
service mysqld start

4、查询密码
grep “password” /var/log/mysqld

Thinkphp 5.0 lnmp rewrite 配置文件

server
{
	listen 80;
	#listen [::]:80;
	server_name domain.com;
	index index.php index.html;
	access_log off;

	set $root /home/wwwroot/domain.com/admin_v1/public;
	location ~ .*\.(gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
	{
		root $root;
	}

	root $root;

	location @rewrite {
		rewrite ^(.*)$ index.php/$1 last;
	}

	location / {
		if ( !-e $request_filename) {
			rewrite ^(.*)$ /index.php/$1 last;
		break;
		}
	}

	location ~ [^/]\.php(/|$)
	{
		fastcgi_pass unix:/tmp/php-cgi.sock;
		fastcgi_index index.php;
		include fastcgi.conf;
		include pathinfo.conf;
	}
}

别做正常的傻瓜

一、10元等于两个5元吗?- 心理账户对行为的影响

1、正常的傻瓜有心理账户误区,他在心里对每一个硬币并不是一视同仁的,而是视它们来自何方,去往何处而采取不同的态度。

2、不做正常的傻瓜,就应当避免人为的设置心理账户,把不同用途或者不同来源的钱割裂开来。你应当让财富在各个心理账户直接相互流通。

3、正查功能的傻瓜通畅倾向于把迎来的钱消费掉,把赚来的钱存起来。

4、正常的傻瓜通畅在得到一大笔收入的时候不愿意花钱,而在得到一笔比较小的收入时反而容易把这笔钱花光。

5、不做正常的傻瓜,你应该明白,钱是等价的。不应该将同样的钱人为的打上不同的记号,而要对不同来源、不同时间和不同数额的收入一视同仁。

6、不做正常的傻瓜,可以采用换位法,换个角度看问题,看看自己的决策是否具有一致性。

二、你买过没用的东西吗?- 交易偏见

1、正常的傻瓜通常在交易中会受到无关参考值的影响,过多考虑参考价和商品实际价之间的差额。

2、不做正常的傻瓜,你应该只考虑商品能够给你带来的真正效用和为此所付出的成本。

3、正常的傻瓜在消费时,通畅更加关注优惠的比例而不是优惠的绝对值。不做正常的傻瓜,应当仅仅考虑你能得到的优惠数额以及你为此所需要付出的成本。

三、坚持到底一定能胜利吗? – 沉没成本误区

沉没成本:我们把已经发生不可收回的支出,如时间、金钱、精力等称为沉没成本。

1、正常的傻瓜往往受到沉没成本的影响作出欠理性的决策。

2、不做正常的傻瓜,你应该仅仅考虑某件事情本身的成本和收益,不需要也不应该考虑已经付出的成本。

3、不做正常的傻瓜,你应该只决定是否卖出某只股票时,只考虑这只股票未来的走势,是否具有其他备选投资方案和你目前是否需要现金,而不应该注重当初的买入价和现价之间的差异。

4、正常的傻瓜往往会因为不愿意承认错误,以及把同样的投资根据结果打上不同的标签,而陷入沉没成本误区。

四、你有自知之明吗? – 过于自信

许多心理研究发现,在和别人做比较的时候,人们常常对自己的知识或者能力过于自信,过于自信实际上也是一种普遍存在的现象。

过于自信的好处:1、它往往使人乐观开心 2、过于自信往往会产生所谓的”自我实现预言“ 3、过于自信的人看问题比较全面

过于自信的坏处:1、规划误区 2、过于频繁交易 3、打无准备之仗

五、你会习以为常吗?- 适应性偏见

适应性偏见:指人们常常低估了自己的适应能力,从而高估某些事情在一段时间之后对自己的影响。

三类难以适应的东西

第一类:极端的东西 - 太极端的东西非但不能适应,而且会随着时间的推移越来越不能忍受。

第二类:人不能适应的东西时人际比较。

第三类:难以适应的东西是变化的。

正常的傻瓜往往忽视了适应性效应,对物质性的东西看得过重。不做正常的傻瓜,你应该意识到自己对物质性的东西的适应性,多花点钱在和精神相关的东西上。

六、存银行还是买股票  – 风险决策

期望值理论:无数次相同的风险决策的最终平均值。

计算公式:EV = X1 X P1 + X2XP2 + ………(EV代表期望值,Xi代表选项x的第i种结果所带来的价值,Pi代表第i中结果所发生的概率)

 

 

C Primer Plus 第五版笔记 – 第五章 运算符、表达式和语句

摘要


关键字:while, typedef

运算符: = – * / % ++ — (type)

C的各种各种的运算符,其中包括用于普通数学运算的运算符

运算符的优先级以及术语“语句”和“表达式”的含义

简单的while循环

复合语句、自动类型转换和类型指派

如何编写带有参数的函数

一、循环语句


// shoes2.c — 计算多个鞋子尺码对应的英寸长度
#include <stdio.h>
#define ADJUST
#define SCALE 0.325

int main(void)
{
   double shoe,foot;
   printf("Shoe size (men's) foot length\n");
   shoe = 3.0;
   while(shoe < 18.5)
   {
       foot = SCALE * shoe + ADJUST;
       printf("%10.1f %15.2f inches\n", shoe, foot);
       shoe = shoe + 1.0;
   }
   printf("if the shoe fits, wear it.\n");
   return 0;
}

 

C Primer Plus 第五版笔记 – 第四章:字符串和格式化输入/输出

示例代码:

// tailback.c — 一个提供一些信息的对话程序
#include <stdio.h>
#include <string.h>
#define DENSITY 62.4
int main()

{
    float weight, volume;
    int size, letters;
    char name[40];
    
    printf("Hi! What's your name?\n");
    scanf("%s", name);
    printf("%s, what's your weight in pounds?\n", name);
    scans("%f", &weight);
    size = sizeof name;
    letters = strlen(name);
    volume = weight /DENSITY;
    printf("Well, %s your volume is %2.2f cubic feet.\n", name, volume);
    printf("Also, your first name has %d letters,\n", letters);
    printf("and we have %d bytes to store it in.\n", size);
    return 0;
}

C Primer Plus 第五版笔记 – 第三章:数据和C

示例程序

//rhodium.c —- 用金属铑测量你的体重
#include <stdio.h>
int main (void)
{
    float weight;
    float value;
    printf("Are you worth your weight in rhodium?\n");
    printf("Let's check it out.\n");
    printf("Please enter your weight in pounds: ");
    /* 从用户处输获取输入 */
    scanf("%f", &weight);
    /* 假设铑为每盎司 770 美元*/
    value = 770 * weight * 14.5833;
    printf("Your weight in rhodium is worth $%.2f.\n", value);
    printf("You are easily worth that! If rhodium prices drop. \n");
    printf("Eat more to maintain your value.\n");
    return 0;
}

2、变量与常量数据
变量与常量的区别在于,变量的值可以在程序执行中变化与指定,常量不可以。

3、数据类型关键字

位、字节和字:最小的存储单位为位(bit)。

字节是常用的计算机存储单位,几乎对于所有的机器,一个字节对应8个bit

整数型与浮点数类型

1、整数就是没有小数部分的数, 以二进制方式存储

2、浮点数差不多可以和数学中的实数概念相对应

C数据类型

1、int类型:  ISO/ANSI C 规定int类型的最小范围是-32768到32767.

2、八进制和十六进制

其他数据类型

short int、long int 、long long int 、unsigned int

目前一般的情况是:long long类型是64位,long类型是32位, short类型是16位,int类型位16或32位(以机器上的自然字大小而定). 但原则上,这四种类型代表4个不同的大小的数值。

C标准规定 , float类型必须至少表示6位有效数字,取值范围是10e-37到10e37. 6位有效数字指至少能精确表示像33.333333这样的数字前6位。 通常,系统使用32位存储一个浮点数。其中8位用于表示指数和符号,24位勇于表示非指数的部分(称为尾数或者有效数字)及其符号。

double 双精度浮点类型:double类型和float类型具有相同的最小取值范围要求,但它必须至少能表示10位有效数字。一般的,double使用64位而不是32位长度。

 

 

C Primer Plus 第五版笔记 – 第二章:C语言概论

C语言的一个简单实例

#include <stdio.h>

int main (void)
{
    int num;
    num = 1;
    printf("I am a simple");
    printf("computer.\n");
    printf("My favorite number is %d because it is first.\n", num);
    return 0;
    
}

程序细节

1、#include 指示和头文件

include 是C预处理器指令。通常C编译器在编译前要对源代码做一些准备工具,这称为预处理。

2、main()函数

main()函数是C语言的基本模块

3、注释

/* 注释 */
# 注释

4、花括号,程序体和代码块
所有的c函数都是用花括号来表示函数体的开始和结束。

5、声明

int num;

声明语句是c语言中最重要的功能之一。
单词int 是c语言的一个关键字,它代表c中最基本的一个数据类型。

语法错误:C的语法错误是指把正确的C符号放在了错误的位置

语义错误在C中,当你遵循了C语言的规则,但是结果不正确,就是烦了语义错误

C Primer Plus 第五版笔记 – 第一章:概览

c语言的起源

使用C语言的理由

  • 设计特性
  • 高效性
  • 可移植性
  • 强大的功能和灵活性
  • 面向编程人员

C语言的工作原理

它从内存中获取一个指令并执行该指令,然后从内存中获取下一个指令并执行。CPU有自己的小工作区,该工作区由若干个寄存器组成,每个寄存器可以保存一个数。一个寄存器保存下一条指令的内存地址,CPU使用该信息获取下一条指令的地址,获取一条执行后,CPU在另一个寄存器中保存该指令并将第一个寄存器的值更新为下一个指令的地址.CPU只能理解有限的指令(指令集)。

高级计算机语言和编译器
编译器:
将高级语言程序解释成计算机所需的详细机器语言指令集的程序。

链接器:将目标代码、系统的标准启动代码和库代码集合在一起,并将他他们存放在单个文件。即可执行文件。对于库代码来说,链接器只从库中提取您所使用的函数所需要的代码。

使用c语言的7个步骤

  • 定义程序目标
  • 程序设计
  • 编写代码
  • 编译
  • 运行程序
  • 测试和调试程序
  • 修改和维护程序

编程机制

1、目标代码文件、可执行文件和库

目标文件和可执行文件都是由机器语言指令组成的,但是目标文件只包含您所编写的代码转换成的机器语言,而可执行文件还包含您所使用的库例程以及启动代码的机器代码

2、linux系统

3、unix系统

4、windows集成开发环境

5、IBM PC的DOS编译器

6、Macintosh 上的 C

语言标准

1、ANSI/ISO C 标准

2、C99标准

 

裸猿三部曲之人类动物园

1. 类别:人类学 社会学
2. 一句话概括:现代人的出路及困境
3. 本书结构:
1. 第一章 原始部落与超级部落
1. 论述人类社会在空间规模上的扩展,利弊同在,生存压力和创造能力都在论述之列
2. 微型部落 – 小型城邦 – 大城市和帝国 – 国家和大都会
1. 大城市的好处:丰裕的物质文明,人类思想的孵化场
2. 大城市的弊端:物质生活和精神的压力,社会关系和地位之争的压力

2. 第二章 社会地位与超级地位
1. 领袖人物确保领导地位的10条金科玉律
1. 你必须要清楚展示凌然在上的仪表、体态和姿势
2. 在激烈对抗的时刻,你必须要以攻击的姿态威慑你的下属
3. 在身体受到挑战的时刻,你(或你的代表)必须要能压倒发起挑战的下属
4. 如果挑战者用的是脑力而不是蛮力,你必须能智胜发起挑战的下属
5. 下属争吵时,你必须予以平息
6. 你必须要犒赏直接下属,允许其享受高位者的特权
7. 你必须要保护弱小的下属,使之免受迫害
8. 群体的社会活动必需由你决策
9. 必要时,你要安抚最底层的下属
10. 你必须要主动进攻,挫败外来的威胁或攻击
2. 坚定不移、雷厉风行的决策,比照正确的决策更加重要
3. 第三章 性行为与超级性行为
1. 性行为的生育功能和非生育功能
2. 10种性功能
1. 性行为的生育功能
2. 性行为的结偶功能
3. 性行为的配偶维护功能
4. 性行为的生理功能
5. 性行为的探索功能
6. 性行为的自偿功能
7. 性行为的解闷功能
8. 性行为的镇静功能
9. 性行为的商业功能
10. 性行为的地位展示功能
3. 性行为的其他功能和模式:婚外性行为、同性恋、性虐狂、强奸
4. 现代都市人的行为已然成为超级性行为
5. 10种性功能的相互关系
4. 第四章 内群体与外群体
1. 领地欲的源头,指出三种守护捍卫的对象 – 自己、家庭和自己的部落
2. 亮点一:非理性攻击性产生的过程
1. 看那个绿头发的人,他在打小孩
2. 这个绿头发的人是恶棍
3. 所有绿头发的人都是恶棍
4. 绿头发的人逢人就打
5. 那里有一 个绿头发的人,趁他动手之前快打他(那个绿头发的人并没有挑逗,他不得不自卫)
6. 你瞧 我说得对:绿头发的人都是恶棍
7. 你要打所有绿头发的人
3. 亮点二:暴力和战争的十大因素
1. 固定领地的出现
2. 部落膨 胀为人口过剩的超级部落
3. 远距离杀人武器的发明
4. 首领不必冲在战场上的第一线
5. 以 杀戮为业的阶级的产生
6. 群体间技术发展的不均等
7. 群体内部因争夺地位而受挫的压抑与日俱增
8. 领袖人物争夺群际地位的需要
9. 在超级部落里社会认同的失落
10. 帮助受攻击朋友的合作欲望
4. 亮点三:西方人处于种族偏见对非洲文明的蹂躏
5. 亮点四:对人口爆炸和战争危险发出严重警告哦
5. 第五章 印记与错误烙印
1. 创伤性学习
1. 错误烙印的表现:早恋,关系紊乱,恋物癖,同性恋
2. 一般性学习
3. 接触性学习
6. 第六章 寻求刺激与控制刺激
1. 论述寻求刺激与控制刺激的平衡及过度刺激与过少刺激的平衡,论述平衡两种极端的中庸之道
2. 人在寻求刺激的人生斗争中所必需遵循的六条基本原理
1. 如果刺激太弱,你可以提出一些不必要却又能解决的问题,借以增加你的行为输出。为便于读者理解,我不妨称之为“无事找事”原理。“无事找事”原理的例子有家庭主妇
2. 如果刺激太弱,你可以对一般的刺激作出过度的反应,借以增加你的行为输出。我建议称之为“放纵原理”。“放纵原理”的例子有吮手指、咬指甲、喝闷酒、猛酗酒、狂抽烟等。
3. 如果刺激太弱,你可以发明新的活动,借以增加你的行为输出。我们不妨称之为“创新原理”。“创新原理”的例子有捉迷藏、玩游戏、研究科学、听交响乐、朗诵诗歌、看芭蕾舞、观赏艺术作品等
4. 如果刺激太弱,你可以对低于正常的刺激作出正常的反应,借以增加你的行为输出。我们可以称之为“外溢原理”或“聊胜于无”的原理。“外溢原理”就是在“风平浪静的港湾”里寻求刺激。例子有兽交行为、同性恋等,这是在刺激缺失的情况下“聊胜于无”的补偿行为。
5. 如果刺激太弱,你可以人为放大你挑选的刺激,借以增加你的行为输出。我想称之为“超常刺激”原理。“超常刺激”原理包括“刺激极端性原理 ”,要者有:整容、化妆品、衣饰、时装、春药等增强性刺激和性魅力的手段
6. 如果刺激太强,你可以减少对输入感知的反应,借以减少你的行为输出。我们可以称之为“削减刺激”原理。
1. “削减刺激”原理之下有两个亮点,一是减少刺激的“化学助梦法” (Chemical Dreaming)
2. 二是变相的做梦即“禅定助梦法”(Meditation Dreaming)
7. 第七章 永不泯灭的童心
1. 探索的二分观念:恐惧中的探索(panic exploration)就是灾难中寻求战胜灾难的探索;安稳中的探索(security exploration)就是安稳是力求大展宏图的探索。
2. 人生创造性的三段论述:儿童 成人 童心未泯的成人的探索各有不同。
3. “超级部落人”不可能再回规“部落人”的“淳朴”生活:保存爱斯基摩人和澳洲土著的生活方式 是空想,空想主义者试验“原始共产主义”的生活注定要失败。
4. 现代教育的“考 试”和其他“考验”未必有利于创新精神的培养。日益膨胀、高度分割、千篇一律的教育模式令人窒息,犹如禁锢人脑的桎梏。
5. 成人童心未泯,但具有颠峰创造力的成人毕竟是少数。