工作中遇到的问题总结
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: lengthsname=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") 的返回值。
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 参数
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
14. time 工具
time 工具 用于初步分析程序性能很有用,real 项就是程序执行的时间,user 项就是程序在用户态 cpu 时间,sys 表示内核态 CPU 的时间。real - user - sys 不一定等于 0,这正好是程序 IOwait 的时间。——韩天峰
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 文件。
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. “并发、并行、异步、阻塞” 等网络通信模型,彻底弄清。
32. 线程获得时间片并访问到了加锁的资源时,线程会挂起等待吗?
从以上内容可以推断,在多处理机系统中,当多个线程访问到同一个加锁的资源时,线程会等待其读 / 写锁被解除。尤其是当某线程获得时间片,访问到加锁的资源时,线程也是需要等待的。
33. baidu实习岗 内推竞聘 技术笔试
i. 尽可能多的说出所使用的语言的几种内建类型。
i. 栈和队列的区别,分别说出它们的一种应用场景。
i. 是否熟悉 linux 和 vim。
i. 线程与进程的区别,同步与异步的区别。具体解释异步。
i. N * N 的矩阵里面,矩阵元素都是整形,设计算法,取得矩阵当中最大的 N 个元素。
34. mysql报错:ERROR 1045 (28000)
解决方案:i.停止 mysql 服务进程
i. mysqld_safe --user=mysql --skip-grant-tables &
i. 再次正常地进入mysql : mysql -u root -p
i. use mysql , 修改 user 表用户密码或者host——取决于具体引发 error 的原因。
参考链接:http://blog.sina.com.cn/s/blog_a7cf995a0101azwg.html
https://www.baidu.com/baidu?tn=monline_3_dg&ie=utf-8&wd=ERROR+1045+%2828000%29
35. 抖动-操作系统
在计算机操作系统的抖动,又叫颠簸。如果分配给进程的存储块数量小于进程所需要的最小值,进程的运行将很频繁地产生缺页中断,这种频率非常高的页面置换现象称为抖动。在请求分页存储管理中,可能出现这种情况,即对刚被替换出去的页,立即又要被访问。需要将它调入,因无空闲内存又要替换另一页,而后者又是即将被访问的页,于是造成了系统需花费大量的时间忙于进行这种频繁的页面交换,致使系统的实际效率很低,严重导致系统瘫痪,这种现象称为抖动现象。
http://baike.baidu.com/view/1500530.htm
36. 磁盘管理与维护
df -h 命令查看磁盘占用情况
du -sh 显示目录或文件占用磁盘空间
37. mysql InnoDB 优化配置
innodb_file_per_table=1 //修改InnoDB为独立表空间模式,每个数据库的每个表都会生成一个数据空间 # log-bin=mysql-bin //注释掉该选项,不然自动记录操作日志(用于主从同步)
View Code
reference: http://blog.csdn.net/gaoxuefeng/article/details/7699400
38. mysql 命令 show processlist 会展示出线程的的几种状——sleep、query end 等等
39. 在代码目录下查找文件中包含关键字的 grep 命令。一定要有表示(当前)路径的 . (点)
grep -R|-r -n 'function static_version' . | grep -v .svn
-r, -R 递归
-v 排除(原文: -invert-match——匹配反转)
-n 行号
-l 只显示文件名,会停止在第一个匹配项
40. ssh 客户端禁用 ctrl + s 设置。
在远端主机上修改用户的 .bashrc 文件
vim ~/.bashrc# disable ctrl + s stty ixany stty ixoff -ixon
View Code
41. Linux 硬件资源管理
lspci,
more /proc/cpuinfo,
more /proc/meminfo,
fdisk -l
42. 网络管理
netstat -lntp 列出状态为 listen 且 tcp 连接的端口
43. vim + ctags
i.命令行执行
alias phptags='ctags --langmap=php:.engine.inc.module.theme.php --php-kinds=cdf --languages=php -R .'
i. vim ~/.ctags
--regex-php=/^[ \t]*[(private|public|static)( \t)]*function[ \t]+([A-Za-z0-9_]+)[ \t]*\(/\1/f, function, functions/ --regex-php=/^[ \t]*[(private|public|static)]+[ \t]+\$([A-Za-z0-9_]+)[ \t]*/\1/p, property, properties/ --regex-php=/^[ \t]*(const)[ \t]+([A-Za-z0-9_]+)[ \t]*/\2/d, const, constants/
i. 执行 phptags
参考:http://www.epooll.com/archives/829/
44.编译原理入门:网上流传较广的一篇《编译原理学习导论》(作者四川大学唐良)
45. vim 自动补全默认支持 PHP
To enable PHP autocomplete every time you open a PHP file, add this to your ~/.vimrc;
autocmd FileType php set omnifunc=phpcomplete
46. To avoid having to use sudo
when you use the docker
command, create a Unix group called docker
and add users to it.
sudo usermod -aG docker your_username
Start the docker daemon at boot
sudo chkconfig docker on
47. mysql 命令附加参数,非交互式地执行 sql 语句。其执行结果直接写到文件中
mysql -h 10.48.55.128 -P 8005 -u map -p place_waimai_boye -e "show tables" > place_waimai_boye.tables.sql
查询数据库数据量大小
use information_schema;#比如查看数据库home的大小 select concat(round(sum(data_length/1024/1024),2),'MB') as data from tables where table_schema='home';
reference : http://www.frostsky.com/2011/08/mysql-query-size/
48. 使 ~/.bash_profile 文件生效
source ~/.bash_profile
49. .sock 文件是什么?
在搭建LNMP环境时,我经常会看到各种 .sock 文件,比如安装 MySQL 时,会有 /tmp/MySQL.sock; nginx 与 php-fpm(fastCGI) 来连接。
50. 删除 mysql 数据表全部数据 delete table 和 truncate table
http://www.cnblogs.com/herbert/archive/2010/07/06/1772135.html
51. wget HTTP response data 回显在控制台
wget 'www.baidu.com' -O -
52. PHP OO:父类的构造函数不会被自动调用,需要收到执行
parent::__construct();
不然会报出下面的 PHP Fatal error: Call to a member function foo() on a non-object in /home/map/odp_wmaudit/app/wmaudit/models/service/....php on line 33。
53.既然 php zvalue 是 hashtable 那么 foreach 是如何实现的?hash 存取又是如何实现的?
同理,可以引申出另外一个问题:Hash思想确实很好用,可以帮我们解决元素判重问题,但缺点是 hash 之后元素的排布是无序的,有没有一种数据结构既可以 hash、又可以保持元素原来的顺序?
54. 为什么有些应用场景中,本机的相对IP (127.0.0.1) 和绝对IP(hostname -i) 不能透明地使用? 比如在 NMQ 中,使用相对 IP 时,pusher 会报错,但是改成 相对IP 就解决了。
55. SVN merge 以后,报错:local add, incoming add upon merge
解决方法:svn resolve --accept working -R .
56. output specific line with sed.
This is output the 202947th line to the standard output
sed -n '202947p' train.en
57. GDB debug C program "core dump" error
gcc word2vec run -train text8 -output vectors.bin -cbow 1 -size 200 -window 8 -negative 25 -hs 0 -sample 1e-4 -threads 2 -binary 1 -iter 15 bt
使用 bt 命令,可以查看程序调用堆栈,从而找出程序在哪一行出错。
58. sed 删除文件的第一行
sed -i '1d' <file name>
已解决:
2. CentOS 7 合上上盖时,机器不休眠。
4. Nginx 像 Apache 一样列出文件
5. iptables 添加规则 开放 80 端口
15. Implemeting the simple sorting of bucket
转载于:https://www.cnblogs.com/fengyubo/p/5018674.html
工作中遇到的问题总结相关推荐
- g-git 相关命令 及其 基本原理探索(二):git 在工作中的常用命令操作 ,超级实用!!!
上一篇git 基本原理对git的使用以及文件分布已经有了一个整体的了解. 本篇将对工作中常用的一些git 操作命令的操作进行总结归纳,方便今后查阅. 文章目录 1. 分离头指针 2. 通过HEAD 来 ...
- 工作中InnoDB引擎数据库主从复制同步心得
近期将公司的MySQL架构升级了,由原先的一主多从换成了DRBD+Heartbeat双主多从,正好手上有一个电子商务网站新项目也要上线了,用的是DRBD+Heartbeat双主一从,由于此过程还是有别 ...
- 工作中感受到的消息中间件在分布式系统中的使用场景
经历 以前在qunar实习,第一次接触消息中间件,那时候概念还不清楚,朦朦胧胧有个初步认识,现在正式工作了,又一次接触了消息中间件,初步总结几种场景. 场景 1.分布式系统中,不同系统之间传递消息. ...
- 极客新闻——05、如何在工作中学习和成长?
本文笔记全部来自<极客新闻>--新鲜的技术资讯.权威的趋势剖析.别样的技术洞察 关于如何进行自我学习的话题? 不同的人可能有不同的回答,总结起来就是阅读博客.参加技术大会.读书.利用闲暇时 ...
- 实战!工作中常用到哪些设计模式
前言 平时我们写代码呢,多数情况都是流水线式写代码,基本就可以实现业务逻辑了.如何在写代码中找到乐趣呢,我觉得,最好的方式就是:使用设计模式优化自己的业务代码.今天跟大家聊聊日常工作中,我都使用过哪些 ...
- 收藏!工作中Git使用实践和常用命令流程合集
来自:匠心Java 工作中git是一项必不可少的技能,在项目的开发进程中起着至关重要的作用 下面介绍一些git在工作中的一些使用实践.常用流程.常用命令,供大家参考! 一:前言 Git的定义是:分布式 ...
- 设计模式在我工作中的巧妙实践
设计模式在我工作中的实践 大多数时候我都是写一些业务代码,可能一堆 CRUD 就能解决问题,但是这样的工作对技术人的提升并不多,如何让自己从业务中解脱出来找到写代码的乐趣呢,我做过一些尝试,使用设计模 ...
- java中记忆深刻的问题_工作中碰到比较印象深刻的问题(面试必问)
面试官经常会问到这么一个问题.有些人可能有些误区认为我们工作中碰到的问题都必须是很牛的技术来解决了才能说出来.其实不是的,我们工作中碰到的任何难点都只是在解决办法上的思想上没有打通而已. 举个例子: ...
- 工作中MySql的了解到的小技巧
工作中MySql的小技巧 1. 跑脚本时,经常遇到有则更新无插入的 逻辑操作:通常情况下,来一波if()判断然后选择 更新还是插入,前两天逛论坛时发现有人在比较REPLACE INTO 和 INSET ...
- 工作中遇到的懒加载问题
1.懒加载 懒加载(LazyLoad)一直是前端的优化方案之一.它的核心思想是:当用户想看页面某个区域时,再加载该区域的数据.这在一定程度上减轻了服务器端的压力,也加快了页面的呈现速度. 2.遇到的问 ...
最新文章
- 在ABAP XSLT中调用ABAP类的方法
- jboss fuse 教程_JBoss Fuse:使用JEXL的动态蓝图文件
- 关于position的四个标签
- 服务器系统自带ftp,win10如何使用自带FTP服务器
- Java I/O系统之Print 流
- 统计与自适应信号处理_时间序列分析 自协方差/自相关系数/偏自相关系数
- 固高运动卡的使用 3 运动之Jog运动
- android 提取方法,Android ROM文件提取方法
- 国外广告联盟:玩转国外CPC网站作弊
- Gitlab 登录报422错误,账号密码是对的?
- 我的第一个小程序(Discuz! + 微信小程序)
- python做excel表格代码_Python读写Excel表格
- 腾讯投的柠萌影视上市破发:公司市值97亿港元 曾创作《三十而已》
- 科技新品 | 大疆航拍小飞机重量不到249克;绘王数位屏薄至12毫米;追觅科技机器人吸尘器低至65分贝静音水平...
- android camera 分辨率,Android:相机帧分辨率大于640x480(Android: camera frame resolution larger than 640x480)...
- 解决Redis报错Redis is configured to save RDB snapshots, but it is currently not able to persist on disk
- Vue_02 快速入门 基础语法1
- 计算机应用基础无纸考试成绩查询,考试入口
- 《机器学习(周志华)》 西瓜数据集3.0
- 以太宇宙(ETU)可能颠覆OK、火币、币安现有格局,降维打击!