工作中遇到的问题总结

  1. HTTP协议中,报文头部 Content-Length 指的是 \r\n空行之后内容的长度。比如下面的报文:

POST /submitdata/service.asmx/g_Submit HTTP/1.1
Host: cf.51welink.com
Content-Type: application/x-www-form-urlencoded
Content-Length: length

sname=string&spwd=string&scorpid=string&sprdid=string&sdst=string&smsg=string

  Content-Length 的长度是 strlen("sname=string&spwd=string&scorpid=string&sprdid=string&sdst=string&smsg=string") 的返回值。

 

  2. CentOS 7 合上上盖时,机器不休眠。

  vim /etc/systemd/logind.conf
  HandleLidSwitch=lock

  参考:http://unix.stackexchange.com/questions/52643/how-to-disable-auto-suspend-when-i-close-laptop-lid

http://www.centoscn.com/CentOS/config/2015/0309/4837.html
View Code

 

  3. telent 命令

------------------------------------------------------------------------------------

  telent www.shouxiner.com 80

  Trying 198.168.11.254 ...

  Connected to localhost.

  Escape character is .

  GET / index.html HTTP/1.1

  Host : www.shouxiner.com

 

  HTTP/1.1 200 OK

  Date : Sun, 01 Oct 2000 23:25:17 GMT

  Server : Apache/1.3.11 BSafe-SSL/1.38 (Unix) FrontPage/4.0.4.3

  Last-Modified: Tue, 04 Jul 2000 09:46:21 GMT

  ......

 -----------------------------------------------------------------------------------

  curl -d 可以输入post 参数

 

  4. Nginx 像 Apache 一样列出文件

在 nginx/conf/nginx.conf 中添加

autoindex on;
View Code

  5. iptables 添加规则 开放 80 端口

sudo /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 
View Code

 

 

  6. installation parttern of php extension (php拓展安装模式)

phpize
./configure
make 
sudo make install

 

  7. pv命令的使用 & pv命令源码分析

 

  8. Linux 管道符 与 重定向的区别

  |  >  <  >>  <<

 

  9. QoS 学习

  https://en.wikipedia.org/wiki/Quality_of_service#Standards

  

  10. 查看U盘

  查看 linux 插入的U盘,必须有管理员权限: sudo fdisk -l 或者 su && fdisk -l

 

  11. 手动配置网卡

  vi /etc/sysconfig/network-scripts/ifcfg-eth0

  配置完以后 重启网络

  service network restart  或  /etc/init.d/network restart

 

  12. 翻译C++ reference

  http://www.cplusplus.com/reference/algorithm/count/?kw=count

  http://www.cplusplus.com/reference/algorithm/find/?kw=find

  http://www.cplusplus.com/reference/algorithm/lower_bound/?kw=lower_bound

  http://www.cplusplus.com/reference/algorithm/upper_bound/?kw=upper_bound

 

  13. Linux平台内存泄漏检测工具 - valgrind

  工作中遇到的问题总结_第1张图片

 

  14. time 工具

  time 工具 用于初步分析程序性能很有用,real 项就是程序执行的时间,user 项就是程序在用户态 cpu 时间,sys 表示内核态 CPU 的时间。real - user - sys 不一定等于 0,这正好是程序 IOwait 的时间。——韩天峰

  工作中遇到的问题总结_第2张图片

 

  15. The sorting of bucket

  Implementing the sotring of bucket.

 

  16. 保护进程不被中断:nohup / screen / supervisor(python编写) / & 操作符

  nohup 命令

$ nohup ./binTreeTravel 
nohup: ignoring input and appending output to ‘nohup.out’

  输出被重定向并 append 到 nohup.dat

$ nohup ./binTreeTravel > output.dat
nohup: ignoring input and redirecting stderr to stdout

  输出被重定向并 append 到 output.dat 文件。

  screen 命令

  screen -S lnmp  创建会话

  screen -r lnmp  恢复会话

  exit        关闭会话

 

  17. cat 和 head 命令辨析

 

  18. Q:禁用COOKIE 后 SEESION 还能用吗?

  A: session是在服务器端保持用户会话数据的一种方法,对应的cookie是在客户端保持用户数据。HTTP协议是一种无状态协议,服务器响应完之后就失去了与浏览器的联系,最早,Netscape将cookie引入浏览器,使得数据可以客户端跨页面交换,那么服务器是如何记住众多用户的会话数据呢? 首先要将客户端和服务器端建立一一联系,每个客户端都得有一个唯一标识,这样服务器才能识别出来。建议唯一标识的方法有两种:cookie或者通过GET方式指定。默认配置的PHP使用session的时会建立一个名叫”PHPSESSID”的cookie(可以通过php.ini修改session.name值指定),如果客户端禁用cookie,你也可以指定通过GET方式把session id传到服务器(修改php.ini中session.use_trans_sid等参数)。<a href=”p.php?<?php print session_name() ?>=<?php print session_id() ?>”>xxx</a>,也可以通过POST来传递session值.

 

  19. ps 命令 -ef 选项和 aux 选项的区别

$ ps -ef | head -2   
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Dec17 ?        00:00:07 /usr/lib/systemd/systemd --switched-root --system --deserialize 24

 

$ ps aux | head -2
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  57696  6772 ?        Ss   Dec17   0:07 /usr/lib/systemd/systemd --switched-root --system --deserialize 24

 

  20. nc 命令、type命令、locate 命令、updatedb 命令

 

  21. php-fpm 调整进程数以节省内存

  http://levi.yii.so/archives/3200

  http://segmentfault.com/a/1190000000630270

 

  22. APUE open lseek 和 write 的原子调用问题

  open (... | O_APPEND...)  

 

  23. parallel 命令 并行地执行命令

 

  24. man

  man 2 write 

  man 3 是 lib 的

 

  25. PHP 解决 跨子域问题

   http://blog.csdn.net/veverrr/article/details/7079348

当访问a.sso.com时,则将通过 

 session_start();
  $_SESSION['person'] = "SBSBSBS";
  $session_id = session_id();
 setcookie('name',$session_id,time()+3600*24,'/','SSO.com');

  将session_id 保存在cookie中。

由于在PHP中,session是一个数组,PHP有 serialize() 函数,将数组序列化

$session_value = serialize($_SESSION);
 

然后将$session_value 保存在数据库中。


在访问b.sso.com时,则从cookie中获取到session_id,然后到数据库中根据session_id将 经过序列化过的session 获取出来

接着就可以对该session进行操作,实现session 跨子域。

 

由于将session保存在数据库中,存取都是比较费时的操作,因此可以将session保存在缓存中,例如memcached 或者redis中,

这样对session的存取操作就比较快速了。

使用缓存还有个好处就是,通常session有一定得存活时间,如果存在数据库中,还需要保存该session的存活时间,在取出session时,还需要判断其是否失效。

使用缓存存放session就可以在存放的时候设置其存活时间,减少了取出后的失效判断这一个过程。
View Code

   session_id() || session_start(); // 如果 session_id() 返回 FALSE , 执行 session_start() ; 如果 session_id() 返回 string , 就执行下面的代码——或运算符的性质 

 

  26. C++ 中 unsigned int 等价于 unsigned

  http://en.cppreference.com/w/cpp/language/types

 

  27 CentOS install xfce

# yum install epel-release
# yum groupinstall "X Window system"
# systemctl isolate graphical.target
$ yum groupinfo xfce
# yum groupinstall xfce
# systemctl isolate graphical.target

   http://wenku.baidu.com/link?url=BLpSzJFFYmmeOk0c6kvQYtFI-HKXQHbQKQI7K-JaUGww9VsQV0UwkMzk1MYqBCFONrRfSg3XCA2T5zpKnybV9nYGLa_PhCmuTrQ716SCW6O

  http://blog.csdn.net/smstong/article/details/44802989#32-安装x-window-system

 

  28. ubuntu 开启 22端口 —— 开启SSH服务

  http://www.cnblogs.com/nodot/archive/2011/06/10/2077595.html

 

  29. 基于数据库的抢购系统设计

  利用MySQL update 操作的原子性,预先设定 一定数量的 token ,当有用户第一次下单时,执行 SQL 如下:

UPDATE table_name SET token=1 where token=0 and ......

 

  30. C++ 迭代器深入理解

  http://www.cplusplus.com/reference/iterator/BidirectionalIterator/

 

  31. “并发、并行、异步、阻塞” 彻底弄清

你可能感兴趣的:(工作中遇到的问题总结)