http://www.freebuf.com/articles/web/70025.html
http://blog.knownsec.com/2015/03/jsonp_security_technic/
http://blog.knownsec.com/2015/03/jsonp_security_technic/
Linux查看文件中间行
Unix/LinuxC技术 jackxiang 2015-6-17 14:15
背景:有时看个bin-log的sql语句时间,想看文件的中间,怎么看,文件还挺大的,这儿有个办法,太大上G的这个命令还是有些玄乎,看不了。
Linux查看文件中间行:
从第3000行开始,显示1000行。即显示3000~3999行:
【一】cat filename | tail -n +3000 | head -n 1000
【二】cat filename| head -n 3999 | tail -n +3000
*注意两种方法的顺序
【三】用sed命令
sed -n '3000,3999'p filename 可以只查看文件的第3000行到第3999行。
知识点:
1,tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行
2,Sed命令是linux下的一个非常有用的命令,
sed -n '2'p filename 打印文件的第二行。
sed -n '1,3'p filename 打印文件的1到3行。
sed -n '/Neave/'p filename 打印匹配Neave的行(模糊匹配)
sed -n '4,/The/'p filename 在第4行查询模式The
sed -n '1,$'p filename 打印整个文件,$表示最后一行。
摘自 :http://blog.163.com/nancainvmao_bq/blog/static/1065737420131084545205/
Linux查看文件中间行:
从第3000行开始,显示1000行。即显示3000~3999行:
【一】cat filename | tail -n +3000 | head -n 1000
【二】cat filename| head -n 3999 | tail -n +3000
*注意两种方法的顺序
【三】用sed命令
sed -n '3000,3999'p filename 可以只查看文件的第3000行到第3999行。
知识点:
1,tail -n 1000:显示最后1000行
tail -n +1000:从1000行开始显示,显示1000行以后的
head -n 1000:显示前面1000行
2,Sed命令是linux下的一个非常有用的命令,
sed -n '2'p filename 打印文件的第二行。
sed -n '1,3'p filename 打印文件的1到3行。
sed -n '/Neave/'p filename 打印匹配Neave的行(模糊匹配)
sed -n '4,/The/'p filename 在第4行查询模式The
sed -n '1,$'p filename 打印整个文件,$表示最后一行。
摘自 :http://blog.163.com/nancainvmao_bq/blog/static/1065737420131084545205/
mysqlbinlog的问题求助:通过mysqlbinlog 导出来的日志文件,mysql如论如何都认不到File is not a binary log file
mysqlbinlog mysql-bin.000067 >xxx.sql
mysqlbinlog xxx.sql 这里就报错了
ERROR: File is not a binary log file
mysqlbinlog --start-position=433760210 --stop-position=433761222 mysql-bin.000067 >xx.sql
mysqlbinlog xx.sql 也是报一样错
ERROR: File is not a binary log file
这个?
先确定 /home/mysql/bin/mysqlbinlog 是你当前运行的mysqld对应的版本,另外,可能是该binlog已经损坏了
Egg:
/usr/local/mysql/bin/mysqlbinlog --version
/usr/local/mysql/bin/mysqlbinlog Ver 3.4 for Linux at x86_64
摘自:http://zhidao.baidu.com/link?url=GB02-myeLDIVy8Y5koL8U1LYUThvflxxdhzP3NHU1FknlfF5JSYpkLmJb4Lxf7K5rIVFHGeinykj74rTsHlZVROVGkRorLxCBnjqVOwDxiq
mysqlbinlog mysql-bin.000067 >xxx.sql
mysqlbinlog xxx.sql 这里就报错了
ERROR: File is not a binary log file
mysqlbinlog --start-position=433760210 --stop-position=433761222 mysql-bin.000067 >xx.sql
mysqlbinlog xx.sql 也是报一样错
ERROR: File is not a binary log file
这个?
先确定 /home/mysql/bin/mysqlbinlog 是你当前运行的mysqld对应的版本,另外,可能是该binlog已经损坏了
Egg:
/usr/local/mysql/bin/mysqlbinlog --version
/usr/local/mysql/bin/mysqlbinlog Ver 3.4 for Linux at x86_64
摘自:http://zhidao.baidu.com/link?url=GB02-myeLDIVy8Y5koL8U1LYUThvflxxdhzP3NHU1FknlfF5JSYpkLmJb4Lxf7K5rIVFHGeinykj74rTsHlZVROVGkRorLxCBnjqVOwDxiq
windows XP :
命令junction
win7:
命令mklink
上面命令有啥好处?
将c盘的不必要的文件夹放在别的盘,然后在原位置建立一个链接(假象) 不耗空间的
让c盘空间大大的空闲出来
比如临时文件夹在c盘 你的许多垃圾文件都在TEMP这个文件夹里边
操作:
1.你可以记住它的目录
XP系统:%USERPROFILE%\Local Settings\Temp
win7系统 %USERPROFILE%\AppData\Local\Temp
不会的在我的电脑 --》高级--》 环境变量--》 可以查到
2.删除掉TEMP临时文件夹(如果其他文件夹剪切到d盘根目录)
3.在D盘建立一个TEMP文件夹 也就是 d:\TEMP
4 .建立链接
xp:
开始--》运行--》cmd-->mklink /d "%USERPROFILE%\AppData\Local\Temp" "d:\TEMP"
win7:
开始--》运行--》cmd-->junction /d "%USERPROFILE%\AppData\Local\Temp" "d:\TEMP"
-----------------------------------------------------------------------------
win7自带mklink
xp必须安装junction
下载地址:http://download.sysinternals.com/Files/Junction.zip(只有78K)
下载之后放在windows\system32目录
这样的好处temp文件在d盘 c盘空间大大的有了
同理
比如你是用chrome和dropbox
可以用它来同步你的chrome信息 包括书签 扩展 搜索信息 记录密码等
步骤:
1.剪切%userprofile%\AppData\Local\Google\Chrome\User Data\Default这个文件夹
2.复制到E:\dropbox\Dropbox\文件夹下
3.执行下边命令
win7:
cmd-->mklink /d "%userprofile%\AppData\Local\Google\Chrome\User Data\Default" "E:\dropbox\Dropbox\default"
xp:
cmd-->junction /d "%userprofile%\Local Settings\Application Data\Google\Chrome\User Data\Default" "E:\dropbox\Dropbox\default"
操作两个目录的增删改查 两个目录都会改变的 谨记 操作
%userprofile%\Local Settings\Application Data\Google\Chrome\User Data\Default
和
"E:\dropbox\Dropbox\default"
的效果一眼的
怎么取消呢:
先把d盘的临时文件夹或者dropbox下的defalult复制到别处 然后删除软链接 然后在把别处的temp文件夹或者default复制到相应的目录也就是%USERPROFILE%\Local Settings\Temp目录下(第一个例子)或者%userprofile%\Local Settings\Application Data\Google\Chrome\User Data\目录下(第二个例子)
摘自:http://www.cnblogs.com/0banana0/archive/2012/03/28/2421451.html
命令junction
win7:
命令mklink
上面命令有啥好处?
将c盘的不必要的文件夹放在别的盘,然后在原位置建立一个链接(假象) 不耗空间的
让c盘空间大大的空闲出来
比如临时文件夹在c盘 你的许多垃圾文件都在TEMP这个文件夹里边
操作:
1.你可以记住它的目录
XP系统:%USERPROFILE%\Local Settings\Temp
win7系统 %USERPROFILE%\AppData\Local\Temp
不会的在我的电脑 --》高级--》 环境变量--》 可以查到
2.删除掉TEMP临时文件夹(如果其他文件夹剪切到d盘根目录)
3.在D盘建立一个TEMP文件夹 也就是 d:\TEMP
4 .建立链接
xp:
开始--》运行--》cmd-->mklink /d "%USERPROFILE%\AppData\Local\Temp" "d:\TEMP"
win7:
开始--》运行--》cmd-->junction /d "%USERPROFILE%\AppData\Local\Temp" "d:\TEMP"
-----------------------------------------------------------------------------
win7自带mklink
xp必须安装junction
下载地址:http://download.sysinternals.com/Files/Junction.zip(只有78K)
下载之后放在windows\system32目录
这样的好处temp文件在d盘 c盘空间大大的有了
同理
比如你是用chrome和dropbox
可以用它来同步你的chrome信息 包括书签 扩展 搜索信息 记录密码等
步骤:
1.剪切%userprofile%\AppData\Local\Google\Chrome\User Data\Default这个文件夹
2.复制到E:\dropbox\Dropbox\文件夹下
3.执行下边命令
win7:
cmd-->mklink /d "%userprofile%\AppData\Local\Google\Chrome\User Data\Default" "E:\dropbox\Dropbox\default"
xp:
cmd-->junction /d "%userprofile%\Local Settings\Application Data\Google\Chrome\User Data\Default" "E:\dropbox\Dropbox\default"
操作两个目录的增删改查 两个目录都会改变的 谨记 操作
%userprofile%\Local Settings\Application Data\Google\Chrome\User Data\Default
和
"E:\dropbox\Dropbox\default"
的效果一眼的
怎么取消呢:
先把d盘的临时文件夹或者dropbox下的defalult复制到别处 然后删除软链接 然后在把别处的temp文件夹或者default复制到相应的目录也就是%USERPROFILE%\Local Settings\Temp目录下(第一个例子)或者%userprofile%\Local Settings\Application Data\Google\Chrome\User Data\目录下(第二个例子)
摘自:http://www.cnblogs.com/0banana0/archive/2012/03/28/2421451.html
Linux 下 PHP 扩展 PDO 编译安装
Php/Js/Shell/Go jackxiang 2015-6-15 15:57
背景:pt-query-digest需要PDO,别搞成/ext/pdo了,实际是/ext/pdo_mysql。
这篇文章需要:http://jackxiang.com/post/8113/
DownLoad:https://www.percona.com/downloads/percona-toolkit/ 里面有一个:
percona-toolkit-2.2.14-1.noarch.rpm
https://www.percona.com/downloads/percona-toolkit/2.2.14/RPM/percona-toolkit-2.2.14-1.noarch.rpm
————————————————————————————————————————
来自:http://blog.csdn.net/liruxing1715/article/details/8268513
1、进入 PHP 的软件包 pdo 扩展目录中(注:不是 PHP 安装目录)
[root@gamejzy /]# cd /tmp/lamp/php-5.3.19/ext/pdo_mysql/
注:我的 php 软件包在 /tmp/lamp/php-5.3.19 下
执行 phpize 命令
[root@gamejzy pdo_mysql]# /usr/local/php/bin/phpize
注:/usr/local/php 是我的 php 安装目录
执行完 phpize 命令后,在 pdo_mysql 目录中就会出现 configure
执行配置
[root@gamejzy pdo_mysql]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql/
不加mysql会出现:configure: error: Unable to find your mysql installation
参数说明:
--with-php-config=/usr/local/php/bin/php-config 指定安装 PHP 的时候的配置
--with-pdo-mysql=/usr/local/mysql/ 指定 MySQL 数据库的安装目录位置
编译安装
[root@gamejzy pdo_mysql]# make && make install
/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/pdo_mysql.so
php里加上(不是pdo.so呢,它是sqlite的扩展名,特别要注意下。):
extension = "pdo_mysql.so"
这篇文章需要:http://jackxiang.com/post/8113/
DownLoad:https://www.percona.com/downloads/percona-toolkit/ 里面有一个:
percona-toolkit-2.2.14-1.noarch.rpm
https://www.percona.com/downloads/percona-toolkit/2.2.14/RPM/percona-toolkit-2.2.14-1.noarch.rpm
————————————————————————————————————————
来自:http://blog.csdn.net/liruxing1715/article/details/8268513
1、进入 PHP 的软件包 pdo 扩展目录中(注:不是 PHP 安装目录)
[root@gamejzy /]# cd /tmp/lamp/php-5.3.19/ext/pdo_mysql/
注:我的 php 软件包在 /tmp/lamp/php-5.3.19 下
执行 phpize 命令
[root@gamejzy pdo_mysql]# /usr/local/php/bin/phpize
注:/usr/local/php 是我的 php 安装目录
执行完 phpize 命令后,在 pdo_mysql 目录中就会出现 configure
执行配置
[root@gamejzy pdo_mysql]# ./configure --with-php-config=/usr/local/php/bin/php-config --with-pdo-mysql=/usr/local/mysql/
不加mysql会出现:configure: error: Unable to find your mysql installation
参数说明:
--with-php-config=/usr/local/php/bin/php-config 指定安装 PHP 的时候的配置
--with-pdo-mysql=/usr/local/mysql/ 指定 MySQL 数据库的安装目录位置
编译安装
[root@gamejzy pdo_mysql]# make && make install
/usr/local/php/lib/php/extensions/no-debug-non-zts-20090626/pdo_mysql.so
php里加上(不是pdo.so呢,它是sqlite的扩展名,特别要注意下。):
extension = "pdo_mysql.so"
root@raspberrypi:/# find . -name "mplayer.conf"
./etc/mplayer/mplayer.conf
修改mplayer的配置文件:/etc/mplayer/mplayer.conf
只要在mplayer.conf添加以下一行即可:
af=volnorm,volume=10
volume的值可以根据实现情况设置。其中:
af表示Audio Filter,10是分贝值,如果设为-200表示完全静音,60表示增大到原音量的1000倍,10的(60/20)次方=1000,一般设为10分贝就可以。
来自:http://blog.csdn.net/ganggexiongqi/article/details/8453188
mplayer for android:
http://download.csdn.net/download/gaxuhongyu/3078360
adb 运行手机上的Mplayer:
adb shell am start -n com.android.mplayer -ao alsa /data/data/com.ayansoft.androphp/php/temperature/1.mp3
./etc/mplayer/mplayer.conf
修改mplayer的配置文件:/etc/mplayer/mplayer.conf
只要在mplayer.conf添加以下一行即可:
af=volnorm,volume=10
volume的值可以根据实现情况设置。其中:
af表示Audio Filter,10是分贝值,如果设为-200表示完全静音,60表示增大到原音量的1000倍,10的(60/20)次方=1000,一般设为10分贝就可以。
来自:http://blog.csdn.net/ganggexiongqi/article/details/8453188
mplayer for android:
http://download.csdn.net/download/gaxuhongyu/3078360
adb 运行手机上的Mplayer:
adb shell am start -n com.android.mplayer -ao alsa /data/data/com.ayansoft.androphp/php/temperature/1.mp3
[实践OK]make: 警告:检测到时钟错误。您的创建可能是不完整的。
Unix/LinuxC技术 jackxiang 2015-6-8 14:54
背景:从windows上用editplus编写一个文件rz上去后,在make时,出现make: 警告:检测到时钟错误。您的创建可能是不完整的。后面make clean;问题依旧。
引起原因:是因为windows上的文件可以时间比较旧,需要给touch一个新时间,让make认为是很新的文件,即可。
解决办法:
touch multepoolser.c
于是编译就没提示这个问题了。
——————————————————————————————————————————————————————
我在make的时候也出现了同样的问题,不过不是什么大问题,这个不影响编译结果
分析原因可能是:
服务器上的文件最后修改时间比当前时钟要晚
解决办法:
用touch 命令把源程序的时间戳改一下
find . -type f -exec touch {} \;
或者
touch *一下再重新编译
From:http://blog.csdn.net/maopig/article/details/6599660
引起原因:是因为windows上的文件可以时间比较旧,需要给touch一个新时间,让make认为是很新的文件,即可。
解决办法:
touch multepoolser.c
于是编译就没提示这个问题了。
——————————————————————————————————————————————————————
我在make的时候也出现了同样的问题,不过不是什么大问题,这个不影响编译结果
分析原因可能是:
服务器上的文件最后修改时间比当前时钟要晚
解决办法:
用touch 命令把源程序的时间戳改一下
find . -type f -exec touch {} \;
或者
touch *一下再重新编译
From:http://blog.csdn.net/maopig/article/details/6599660
背景:你买个树莓派的屏,有时你不想屏自动关闭,但有时它自己睡眠了,以为是屏自己控制的,一问才知可能是树莓派的一个文件可以禁用屏休眠。
Pi 用户下:
主要是在Pi的界面上知道DISPLAY这个变量值,再才是在secureCRT的ssh里:(参考:http://jackxiang.com/post/7689/)
pi@raspberrypi:~$ export DISPLAY=:0.0
pi@raspberrypi:~$ /usr/bin/xset -dpms
将dpms关闭,原来
DPMS (Display Power Management Signaling) is a standard to reduce power consumption in monitors.
是为了省电的,将这个关闭所以屏幕就不会自动变黑了。
==============================================================
root@raspberrypi:/# vi /etc/rc.local
root@raspberrypi:/# source /etc/rc.local
My IP address is 192.168.2.2 192.168.199.167
pi@raspberrypi ~ $ setterm -blank 0
pi@raspberrypi ~ $ vi ~/.xinitrc
pi@raspberrypi ~ $ chmod a+x ~/.xinitrc
sudo apt-get install xserver-xorg-core xserver x11-xserver-utils
root@raspberrypi:/data/htdocs/t.jackxiang.com# dpkg -L x11-xserver-utils
/usr/bin/xset
export DISPLAY=:0.0
/usr/bin/xset s off # don't activate screensaver
/usr/bin/xset -dpms # disable DPMS (Energy Star) features.
/usr/bin/xset s noblank # don't blank the video device
exec /etc/alternatives/x-session-manager # start lxde
http://ju.outofmemory.cn/entry/103897
=====================实践OK如下===================================
#!/bin/bash
export DISPLAY=:0.0
/usr/bin/xset s off # don't activate screensaver
/usr/bin/xset -dpms # disable DPMS (Energy Star) features.
/usr/bin/xset s noblank # don't blank the video device
exec /etc/alternatives/x-session-manager # start lxde
su pi -c "/bin/bash /home/pi/.xinitrc"
vi /etc/rc.local //写进去以开机启动时执行一下,http://jackxiang.com/post/8146/
su pi -c "/bin/bash /home/pi/.xinitrc"
=======下面这个办法在sudo su -时会提示找不到这个xsetdpms和xsets 命令,然并卵=======
pi@raspberrypi ~ $ sudo su -
-su: xsetdpms: command not found
-su: xsets: command not found
删除就好了,按前面的实现方法Ok:
rm -Rf /etc/profile.d/Screen.sh
原理:也就是说,你们屏没有休眠这一说,是树莓派自己控制,也就是它自己输出黑屏,但我一触摸这个屏又好了,随便建一个文件就能搞定这个博客说的文件名不限制有点玄乎,有空试试。那个黑屏是树莓派本身的问题。。你连到HDMI上 也一样会。
要想永久禁用树莓派休眠,我们可以在/etc/profile.d路径下新建一个file,如Screen.sh,并将下面两条命令写入该文件,即可以实现永久禁用。
xsetdpms 0 0 0
xsets off
[树莓派经验] 如何更换树莓派软件源 :
编辑 /etc/apt/sources.list 文件
sudo nano /etc/apt/sources.list
删除原来的内容,更换为以下内容
一)
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
二)
以我用的清华源为例 将其中的官方源地址换为 http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian 就行了
Ctrl+O保存,Ctrl+X退出
然后执行 apt-get update 命令更新软件列表。
我用的raspbian, 先装emacs,然后找软件源。至于为什么要找软件源。这问题可以问你自己也可以问我,官方源实在太慢了!
在镜像列表找了一下,有个清华的,准备试一下,还不错的说。
———————————————————————————————————————————————————————————
1. 对原sources.list文件做备份
命令: sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
2. 修改sources.list
命令: sudo nano /etc/apt/sources.list
以我用的清华源为例 将其中的官方源地址换为 http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian 就行了
3. 更新软件列表
命令: sudo apt-get update
来自:http://blog.csdn.net/burgess_liu/article/details/8721389
更多:http://www.cnblogs.com/xiaowuyi/p/4063323.html
源来自:http://bbs.elecfans.com/jishu_450134_1_1.html
Pi 用户下:
主要是在Pi的界面上知道DISPLAY这个变量值,再才是在secureCRT的ssh里:(参考:http://jackxiang.com/post/7689/)
pi@raspberrypi:~$ export DISPLAY=:0.0
pi@raspberrypi:~$ /usr/bin/xset -dpms
将dpms关闭,原来
DPMS (Display Power Management Signaling) is a standard to reduce power consumption in monitors.
是为了省电的,将这个关闭所以屏幕就不会自动变黑了。
==============================================================
root@raspberrypi:/# vi /etc/rc.local
root@raspberrypi:/# source /etc/rc.local
My IP address is 192.168.2.2 192.168.199.167
pi@raspberrypi ~ $ setterm -blank 0
pi@raspberrypi ~ $ vi ~/.xinitrc
pi@raspberrypi ~ $ chmod a+x ~/.xinitrc
sudo apt-get install xserver-xorg-core xserver x11-xserver-utils
root@raspberrypi:/data/htdocs/t.jackxiang.com# dpkg -L x11-xserver-utils
/usr/bin/xset
export DISPLAY=:0.0
/usr/bin/xset s off # don't activate screensaver
/usr/bin/xset -dpms # disable DPMS (Energy Star) features.
/usr/bin/xset s noblank # don't blank the video device
exec /etc/alternatives/x-session-manager # start lxde
http://ju.outofmemory.cn/entry/103897
=====================实践OK如下===================================
#!/bin/bash
export DISPLAY=:0.0
/usr/bin/xset s off # don't activate screensaver
/usr/bin/xset -dpms # disable DPMS (Energy Star) features.
/usr/bin/xset s noblank # don't blank the video device
exec /etc/alternatives/x-session-manager # start lxde
su pi -c "/bin/bash /home/pi/.xinitrc"
vi /etc/rc.local //写进去以开机启动时执行一下,http://jackxiang.com/post/8146/
su pi -c "/bin/bash /home/pi/.xinitrc"
=======下面这个办法在sudo su -时会提示找不到这个xsetdpms和xsets 命令,然并卵=======
pi@raspberrypi ~ $ sudo su -
-su: xsetdpms: command not found
-su: xsets: command not found
删除就好了,按前面的实现方法Ok:
rm -Rf /etc/profile.d/Screen.sh
原理:也就是说,你们屏没有休眠这一说,是树莓派自己控制,也就是它自己输出黑屏,但我一触摸这个屏又好了,随便建一个文件就能搞定这个博客说的文件名不限制有点玄乎,有空试试。那个黑屏是树莓派本身的问题。。你连到HDMI上 也一样会。
要想永久禁用树莓派休眠,我们可以在/etc/profile.d路径下新建一个file,如Screen.sh,并将下面两条命令写入该文件,即可以实现永久禁用。
xsetdpms 0 0 0
xsets off
[树莓派经验] 如何更换树莓派软件源 :
编辑 /etc/apt/sources.list 文件
sudo nano /etc/apt/sources.list
删除原来的内容,更换为以下内容
一)
deb http://mirrors.ustc.edu.cn/raspbian/raspbian/ wheezy main contrib non-free rpi
二)
以我用的清华源为例 将其中的官方源地址换为 http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian 就行了
Ctrl+O保存,Ctrl+X退出
然后执行 apt-get update 命令更新软件列表。
我用的raspbian, 先装emacs,然后找软件源。至于为什么要找软件源。这问题可以问你自己也可以问我,官方源实在太慢了!
在镜像列表找了一下,有个清华的,准备试一下,还不错的说。
———————————————————————————————————————————————————————————
1. 对原sources.list文件做备份
命令: sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
2. 修改sources.list
命令: sudo nano /etc/apt/sources.list
以我用的清华源为例 将其中的官方源地址换为 http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian 就行了
3. 更新软件列表
命令: sudo apt-get update
来自:http://blog.csdn.net/burgess_liu/article/details/8721389
更多:http://www.cnblogs.com/xiaowuyi/p/4063323.html
源来自:http://bbs.elecfans.com/jishu_450134_1_1.html
背景:c和c++的论战,好玩..转之。
实习,有个纯C语言开发底层系统的offer,公司是创业公司,创始人有硅谷背景。这个offer应该接受吗?纯C的开发以后转行去其他公司容易吗?
补充:
首先谢谢各位热心的回答。
另外补充一些信息:公司是个创业公司,而我只是去实习一年,并且还不确定以后做不做底层。
阅读全文
实习,有个纯C语言开发底层系统的offer,公司是创业公司,创始人有硅谷背景。这个offer应该接受吗?纯C的开发以后转行去其他公司容易吗?
补充:
首先谢谢各位热心的回答。
另外补充一些信息:公司是个创业公司,而我只是去实习一年,并且还不确定以后做不做底层。
阅读全文
[实践OK]dd到更大盘后扩大磁盘的命令方法(理论上应该有其它图形gparted工具扩大),用Linux下的dd命令拷贝整张磁盘,创建一个2G的文件(Linux命令dd) ,或销毁磁盘数据,Linux使用dd命令快速生成大文件。拷贝盘整盘到镜像文件到方法。
Unix/LinuxC技术 jackxiang 2015-6-1 16:17
dd到更大盘后扩大磁盘的命令方法(理论上应该有其它图形gparted工具扩大):https://blog.csdn.net/daicooper/article/details/86150138
用Linux下的dd命令拷贝整张磁盘的方法:
fdisk -l 能看到两块盘,不是分区,如下:
dd if=/dev/sda of=/dev/sdb bs=4096k
fdisk -l
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors
iostat -x 1或 iostat -d 2 -m , 来自:https://jackxiang.com/post/5671/
有120M左右的写入速度,1T = 1000G = 1000000M
1000000/100/3600=2.77小时,实际上不会时刻在100M以上,估计得3个小时。
用orico硬件拷贝可能要快一点, 但感觉不出来快多少,dd命令运行中可以Ctrl+C中断的。
背景:有vps到期后想换一台vps时,其旧的vps的数据是怎么样实现完全删除的哩? 或是怎么处理的,我现在把vps搬到淘宝vps了,有这个问题。兄弟们是怎么使用的dd。如果我想删除: /data/htdocs 是要dd多少次?d27就可以了。
全盘拷贝的命令:
dd if=/dev/sdb of=/dev/sdc
分区拷贝:
dd bs=512 count=[fdisk命令中最大的end数+1] if=/dev/sdb of=name.img
以上为例:
dd bs=512 count=15002048 if=/dev/sdb of=ghost_linux_latelee.img
由于ghost_linux_latelee.img会很大,可以在拷贝时将其压缩:
dd bs=512 count=15002048 if=/dev/sdb | gzip -9 > ghost_linux_latelee.img.gz
上面所做的,就是传说的系统“备份”,或叫“系统克隆”。
对应的,有系统恢复的操作。命令如下:
dd if=ghost_linux_latelee.img of=/dev/sda
如果是压缩包,则命令为:
gzip -c -d ghost_linux_latelee.img.gz | dd of=/dev/sda
在上面的拷贝过程中,并不知道拷贝了多少,只有最终结束时才显示出时间、拷贝速度。为了查看进度,可以在另一个终端输入(记得用root):
watch -n 5 killall -USR1 dd
(注:killall并不是传说中把进程kill掉,而是发送一个指定的信号到指定的进程)
之后,就能执行dd的终端看到进度了,如:
58299+0 records in58298+0 records out29848576 bytes (30 MB) copied, 4.67728 s, 6.4 MB/s161403+0 records in161402+0 records out82637824 bytes (83 MB) copied, 9.69359 s, 8.5 MB/s238651+0 records in238650+0 records out122188800 bytes (122 MB) copied, 14.7105 s, 8.3 MB/s
备注:
用dd的方式,得到的镜像文件十分庞大——取决于所要做的系统的大小。比如,拷贝4GB的分区,真的就是拷贝4GB,即使是用gzip压缩,也压缩不了多少,文件依然很大。
另外dd的方式也消除了我之前的担心,因为现在的Linux发行版的分区使用硬盘uuid作为标识,而不是/dev/sda1这种格式,据说uuid更好。但用dd拷贝,竟然连硬盘的uuid也一一拷贝,毫无变化,这的确让我吃惊。不过,目前看没什么时间研究dd了。
PS:使用dd命令,可以读取硬盘的mbr扇区,示例如下:
dd if=/dev/sdb of=mbr.bin bs=512 count=1
来自:https://blog.csdn.net/qq_32693119/article/details/79986438阅读全文
用Linux下的dd命令拷贝整张磁盘的方法:
fdisk -l 能看到两块盘,不是分区,如下:
dd if=/dev/sda of=/dev/sdb bs=4096k
fdisk -l
Disk /dev/sda: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors
Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes, 1953525168 sectors
iostat -x 1或 iostat -d 2 -m , 来自:https://jackxiang.com/post/5671/
有120M左右的写入速度,1T = 1000G = 1000000M
1000000/100/3600=2.77小时,实际上不会时刻在100M以上,估计得3个小时。
用orico硬件拷贝可能要快一点, 但感觉不出来快多少,dd命令运行中可以Ctrl+C中断的。
背景:有vps到期后想换一台vps时,其旧的vps的数据是怎么样实现完全删除的哩? 或是怎么处理的,我现在把vps搬到淘宝vps了,有这个问题。兄弟们是怎么使用的dd。如果我想删除: /data/htdocs 是要dd多少次?d27就可以了。
全盘拷贝的命令:
dd if=/dev/sdb of=/dev/sdc
分区拷贝:
dd bs=512 count=[fdisk命令中最大的end数+1] if=/dev/sdb of=name.img
以上为例:
dd bs=512 count=15002048 if=/dev/sdb of=ghost_linux_latelee.img
由于ghost_linux_latelee.img会很大,可以在拷贝时将其压缩:
dd bs=512 count=15002048 if=/dev/sdb | gzip -9 > ghost_linux_latelee.img.gz
上面所做的,就是传说的系统“备份”,或叫“系统克隆”。
对应的,有系统恢复的操作。命令如下:
dd if=ghost_linux_latelee.img of=/dev/sda
如果是压缩包,则命令为:
gzip -c -d ghost_linux_latelee.img.gz | dd of=/dev/sda
在上面的拷贝过程中,并不知道拷贝了多少,只有最终结束时才显示出时间、拷贝速度。为了查看进度,可以在另一个终端输入(记得用root):
watch -n 5 killall -USR1 dd
(注:killall并不是传说中把进程kill掉,而是发送一个指定的信号到指定的进程)
之后,就能执行dd的终端看到进度了,如:
58299+0 records in58298+0 records out29848576 bytes (30 MB) copied, 4.67728 s, 6.4 MB/s161403+0 records in161402+0 records out82637824 bytes (83 MB) copied, 9.69359 s, 8.5 MB/s238651+0 records in238650+0 records out122188800 bytes (122 MB) copied, 14.7105 s, 8.3 MB/s
备注:
用dd的方式,得到的镜像文件十分庞大——取决于所要做的系统的大小。比如,拷贝4GB的分区,真的就是拷贝4GB,即使是用gzip压缩,也压缩不了多少,文件依然很大。
另外dd的方式也消除了我之前的担心,因为现在的Linux发行版的分区使用硬盘uuid作为标识,而不是/dev/sda1这种格式,据说uuid更好。但用dd拷贝,竟然连硬盘的uuid也一一拷贝,毫无变化,这的确让我吃惊。不过,目前看没什么时间研究dd了。
PS:使用dd命令,可以读取硬盘的mbr扇区,示例如下:
dd if=/dev/sdb of=mbr.bin bs=512 count=1
来自:https://blog.csdn.net/qq_32693119/article/details/79986438阅读全文
[实践OK]printf("填充: %10s", $str); //指定填充符为%字符串宽度为10 printf格式输出数字,位数不够前面补0,适用与输出编号
Unix/LinuxC技术 jackxiang 2015-5-25 16:00
字符s,整数d:
printf格式输出:%[flags][width][.perc][F|N|h|l]type
用到了flags中的 0 (注意是零不是欧) ,其百科描述为:将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用-)
width 即表示需要输出的位数。
也可以用 * 代替位数,在后面的参数列表中用变量控制输出位数;
来自:http://blog.chinaunix.net/uid-26295753-id-2981750.html
printf格式输出:%[flags][width][.perc][F|N|h|l]type
用到了flags中的 0 (注意是零不是欧) ,其百科描述为:将输出的前面补上0,直到占满指定列宽为止(不可以搭配使用-)
width 即表示需要输出的位数。
也可以用 * 代替位数,在后面的参数列表中用变量控制输出位数;
来自:http://blog.chinaunix.net/uid-26295753-id-2981750.html
在CentOS7下的gdb中run出现的Missing separate debuginfos, use: debuginfo-install
Unix/LinuxC技术 jackxiang 2015-5-22 17:19
背景:试着在centos7里调试一下c程序,出现,Missing separate debuginfos, use: debuginfo-install cyrus-sasl-lib-2.1.26-17.el7.x86_64 glibc-2.17-78.el7.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.12.2-14.el7.x86_64 libcom_err-1.42.9-7.el7.x86_64 libgcc-4.8.3-9.el7.x86_64 libselinux-2.2.2-6.el7.x86_64 libstdc++-4.8.3-9.el7.x86_64 nss-softokn-freebl-3.16.2.3-9.el7.x86_64 openssl-libs-1.0.1e-42.el7.4.x86_64 xz-libs-5.1.2-9alpha.el7.x86_64
问题:
Missing separate debuginfos, use: debuginfo-install glib
解决方法:
在CentOS6.5上用gdb调试时提示Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6.i686
实践如下过程:
uname -rsp
Linux 3.10.0-229.1.2.el7.x86_64 x86_64
http://debuginfo.centos.org/7/x86_64/
(例如本机uname -r 3.10.0-229.1.2 只能选 kernel-debuginfo-3.10.0-229.1.2.el7.x86_64.rpm kernel-debuginfo-common-x86_64-3.10.0-229.1.2.el7.x86_64.rpm
)
安装debuginfo
rpm -ivh kernel-debuginfo-3.10.0-229.1.2.el7.x86_64.rpm
rpm -ivh kernel-debuginfo-common-x86_64-3.10.0-229.1.2.el7.x86_64.rpm
配置yum源
or this to work, you need to have the debuginfo repository defined. For CentOS 5, put the following in /etc/yum.repos.d/CentOS-Base-debuginfo.repo:
[base-debuginfo] name=CentOS-$releasever - DebugInfo baseurl=http://debuginfo.centos.org/$releasever/$basearch/ gpgcheck=0
enabled=0
protect=1
priority=1
利用debuginfo-install安装glibc
debuginfo-install glibc
注意事项
安装debuginfo 去http://debuginfo.centos.org寻找和你内核完全匹配的rpm包。
详细:http://jingyan.baidu.com/article/37bce2be1839ca1003f3a253.html
————————————————————————————————————
自己实践如下:
rpm -ihv kernel-debuginfo-common-x86_64-3.10.0-229.1.2.el7.x86_64.rpm
警告:kernel-debuginfo-common-x86_64-3.10.0-229.1.2.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID b6792c39: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:kernel-debuginfo-common-x86_64-3.################################# [100%]
rpm -ihv kernel-debuginfo-common-x86_64-3.10.0-229.1.2.el7.x86_64.rpm
警告:kernel-debuginfo-common-x86_64-3.10.0-229.1.2.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID b6792c39: NOKEY
准备中... ################################# [100%]
软件包 kernel-debuginfo-common-x86_64-3.10.0-229.1.2.el7.x86_64 已经安装
再安装:
debuginfo-install cyrus-sasl-lib-2.1.26-17.el7.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.12.2-14.el7.x86_64 libcom_err-1.42.9-7.el7.x86_64 libgcc-4.8.3-9.el7.x86_64 libselinux-2.2.2-6.el7.x86_64 libstdc++-4.8.3-9.el7.x86_64 openssl-libs-1.0.1e-42.el7.4.x86_64 xz-libs-5.1.2-9alpha.el7.x86_64
问题:
Missing separate debuginfos, use: debuginfo-install glib
解决方法:
在CentOS6.5上用gdb调试时提示Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.132.el6.i686
实践如下过程:
uname -rsp
Linux 3.10.0-229.1.2.el7.x86_64 x86_64
http://debuginfo.centos.org/7/x86_64/
(例如本机uname -r 3.10.0-229.1.2 只能选 kernel-debuginfo-3.10.0-229.1.2.el7.x86_64.rpm kernel-debuginfo-common-x86_64-3.10.0-229.1.2.el7.x86_64.rpm
)
安装debuginfo
rpm -ivh kernel-debuginfo-3.10.0-229.1.2.el7.x86_64.rpm
rpm -ivh kernel-debuginfo-common-x86_64-3.10.0-229.1.2.el7.x86_64.rpm
配置yum源
or this to work, you need to have the debuginfo repository defined. For CentOS 5, put the following in /etc/yum.repos.d/CentOS-Base-debuginfo.repo:
[base-debuginfo] name=CentOS-$releasever - DebugInfo baseurl=http://debuginfo.centos.org/$releasever/$basearch/ gpgcheck=0
enabled=0
protect=1
priority=1
利用debuginfo-install安装glibc
debuginfo-install glibc
注意事项
安装debuginfo 去http://debuginfo.centos.org寻找和你内核完全匹配的rpm包。
详细:http://jingyan.baidu.com/article/37bce2be1839ca1003f3a253.html
————————————————————————————————————
自己实践如下:
rpm -ihv kernel-debuginfo-common-x86_64-3.10.0-229.1.2.el7.x86_64.rpm
警告:kernel-debuginfo-common-x86_64-3.10.0-229.1.2.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID b6792c39: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:kernel-debuginfo-common-x86_64-3.################################# [100%]
rpm -ihv kernel-debuginfo-common-x86_64-3.10.0-229.1.2.el7.x86_64.rpm
警告:kernel-debuginfo-common-x86_64-3.10.0-229.1.2.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID b6792c39: NOKEY
准备中... ################################# [100%]
软件包 kernel-debuginfo-common-x86_64-3.10.0-229.1.2.el7.x86_64 已经安装
再安装:
debuginfo-install cyrus-sasl-lib-2.1.26-17.el7.x86_64 keyutils-libs-1.5.8-3.el7.x86_64 krb5-libs-1.12.2-14.el7.x86_64 libcom_err-1.42.9-7.el7.x86_64 libgcc-4.8.3-9.el7.x86_64 libselinux-2.2.2-6.el7.x86_64 libstdc++-4.8.3-9.el7.x86_64 openssl-libs-1.0.1e-42.el7.4.x86_64 xz-libs-5.1.2-9alpha.el7.x86_64
GDB调试断点的基本用法之多个文件时设置断点,断点后指定文件名加函数,也可指定文件名加行号。
Unix/LinuxC技术 jackxiang 2015-5-22 16:12
背景:多个文件时设置断点时,可以在断点后指定文件名加函数,也可指定文件名加行号,还可以断点后跟偏移量,摘录下其他网站的。
设置断点:
——————————————————————————————————————————————————————————
(gdb) break 断点
程序运行后,到达断点就会自动暂停运行。此时就可以查看该时刻的变量值,显示栈针,重新设置断点或者重新运行等。
断点可以通过函数名,文件内的行号来设置,也可以先指定文件名再指定行号,还可以指定与暂停位置的偏移量,或者用地址来设置。
(gdb) break 函数名
(gdb) break 行号
(gdb) break 文件名:行号
(gdb) break 文件名:函数名
(gdb) break +偏移量
(gdb) break -偏移量
(gdb) break *地址
在设置断点的时候,如果不指定断点位置,就在下一行代码上设置断点。
条件断点
(gdb) break 断点 if 条件
仅在特定条件下中断。对于已存在的断点,可使用condition为其添加条件。
(gdb) break 断点编号 条件
而删除指定编号断点的触发条件同样使用condition。
(gdb) condition 断点编号
阅读全文
设置断点:
——————————————————————————————————————————————————————————
(gdb) break 断点
程序运行后,到达断点就会自动暂停运行。此时就可以查看该时刻的变量值,显示栈针,重新设置断点或者重新运行等。
断点可以通过函数名,文件内的行号来设置,也可以先指定文件名再指定行号,还可以指定与暂停位置的偏移量,或者用地址来设置。
(gdb) break 函数名
(gdb) break 行号
(gdb) break 文件名:行号
(gdb) break 文件名:函数名
(gdb) break +偏移量
(gdb) break -偏移量
(gdb) break *地址
在设置断点的时候,如果不指定断点位置,就在下一行代码上设置断点。
条件断点
(gdb) break 断点 if 条件
仅在特定条件下中断。对于已存在的断点,可使用condition为其添加条件。
(gdb) break 断点编号 条件
而删除指定编号断点的触发条件同样使用condition。
(gdb) condition 断点编号
阅读全文
概括:不急,解决,跟随,不太过于妥协。
咱对当前我们所正在谋划的产品并不是急于求成,慢慢的打磨一项产品,
也不急于推出,So遇到难题的时候他不会要求太过于妥协,想下办法解决,
哪怕会延长首款产品的内心里定的开发进度。对这种情况来说完全可以毫不在乎。
————————————————————————————————————————
摘要 : 虽然乔布斯已经驾鹤西去快4年了,然而他的传奇性一点没有减弱,甚至还有所加强。社会各界对于乔布斯的评价都非常极端,要么认为他是一个固执的管理者,要么认为它是新式管理方式的创始人,那么到底乔布斯在管理上究竟有什么精髓呢?
虽然乔布斯已经驾鹤西去快4年了,然而他的传奇性一点没有减弱,甚至还有所加强。社会各界对于乔布斯的评价都非常极端,要么认为他是一个固执的管理者,要么认为它是新式管理方式的创始人,那么到底乔布斯在管理上究竟有什么精髓呢?
对职业生涯更加有耐心
耐心,乔布斯的最大特点,这是新传记撰写人里克·特策利告诉我们的。据其介绍,乔布斯对一项工作的并不是急于求成,总是慢慢的打磨一项产品,并不急于推出。而且他还会通过一些规章制度来限制工作人员急于求成,遇到难题的时候他不会要求员工妥协,而是想办法解决,哪怕会延长产品的开发进度。这一点总被认为乔布斯是我行我素的,但乔布斯对此也毫不在乎。
提前做好120%的准备
苹果的发布会是全世界IT行业的焦点,之所以每次其发布新产品都会如此吸引人,发布会的功劳不可或缺,因此现在很多的企业和企业家都在模仿乔布斯的发布会形式。但是你知道吗?乔布斯的发布会总是会提前几个月准备对产品的介绍,并进行详尽的排练。曾经为乔布斯服务过的人揭露说,再一次发布会前夕,乔布斯前往现场进行排练,从调整幻灯片的速度、顺序到聚光灯的颜色,他每一项都进行了调整,直到达到最佳状态。在现场如果有人出现错误,那么他会显得很暴躁,如果按照当时的安排进行,但他并不满意的话,他并不会发火,而是在台下静静的想,甚至有时候会向一些记者朋友请教,从他们的角度看如何更有吸引力。
默默的帮助员工度过难关
乔布斯是一个沉默冷酷的人,这是外界对他的主观评价,但真正的他又如何呢?他对员工的帮助都很低调。在皮克斯的时候,导演艾德·凯特摩在繁忙的工作时出现了思维死角的情况,对于新片没有了任何的灵感。乔布斯知道后主动将把自己关在工作室里的艾德·凯特摩约出来散步、聊天,并且帮助他找到当初制作影片时的初衷。再次回到苹果公司后,特别是乔布斯患了癌症后,他还利用电子表格制作了一个关于治疗心得和医生、医院推荐的文档,并将该文档发送给每个家庭中有人患同样病症的员工,还会跟他们一起讨论病情。
坚持自己的初衷
乔布斯从建立苹果公司那天起的初衷就是改变世界,这个初衷知道他去世的时候也从未改变过。不管是创立之初的苹果公司,还是之后的皮克斯公司,再到最后重返苹果公司。只要他在位的时候设计出来的产品无一不是具有划时代意义的,都是走在了科技的最前沿,颠覆了我们对其同类产品的传统定义。
乔布斯是独一无二的,他的风格和习惯也是独一无二的,如果想依靠单纯的模仿他来获取成功却并非可取的,但是以上这些管理中的精髓却值得我们运用到实践中,相信对于一名管理者来说是有百利而无一害的。
咱对当前我们所正在谋划的产品并不是急于求成,慢慢的打磨一项产品,
也不急于推出,So遇到难题的时候他不会要求太过于妥协,想下办法解决,
哪怕会延长首款产品的内心里定的开发进度。对这种情况来说完全可以毫不在乎。
————————————————————————————————————————
摘要 : 虽然乔布斯已经驾鹤西去快4年了,然而他的传奇性一点没有减弱,甚至还有所加强。社会各界对于乔布斯的评价都非常极端,要么认为他是一个固执的管理者,要么认为它是新式管理方式的创始人,那么到底乔布斯在管理上究竟有什么精髓呢?
虽然乔布斯已经驾鹤西去快4年了,然而他的传奇性一点没有减弱,甚至还有所加强。社会各界对于乔布斯的评价都非常极端,要么认为他是一个固执的管理者,要么认为它是新式管理方式的创始人,那么到底乔布斯在管理上究竟有什么精髓呢?
对职业生涯更加有耐心
耐心,乔布斯的最大特点,这是新传记撰写人里克·特策利告诉我们的。据其介绍,乔布斯对一项工作的并不是急于求成,总是慢慢的打磨一项产品,并不急于推出。而且他还会通过一些规章制度来限制工作人员急于求成,遇到难题的时候他不会要求员工妥协,而是想办法解决,哪怕会延长产品的开发进度。这一点总被认为乔布斯是我行我素的,但乔布斯对此也毫不在乎。
提前做好120%的准备
苹果的发布会是全世界IT行业的焦点,之所以每次其发布新产品都会如此吸引人,发布会的功劳不可或缺,因此现在很多的企业和企业家都在模仿乔布斯的发布会形式。但是你知道吗?乔布斯的发布会总是会提前几个月准备对产品的介绍,并进行详尽的排练。曾经为乔布斯服务过的人揭露说,再一次发布会前夕,乔布斯前往现场进行排练,从调整幻灯片的速度、顺序到聚光灯的颜色,他每一项都进行了调整,直到达到最佳状态。在现场如果有人出现错误,那么他会显得很暴躁,如果按照当时的安排进行,但他并不满意的话,他并不会发火,而是在台下静静的想,甚至有时候会向一些记者朋友请教,从他们的角度看如何更有吸引力。
默默的帮助员工度过难关
乔布斯是一个沉默冷酷的人,这是外界对他的主观评价,但真正的他又如何呢?他对员工的帮助都很低调。在皮克斯的时候,导演艾德·凯特摩在繁忙的工作时出现了思维死角的情况,对于新片没有了任何的灵感。乔布斯知道后主动将把自己关在工作室里的艾德·凯特摩约出来散步、聊天,并且帮助他找到当初制作影片时的初衷。再次回到苹果公司后,特别是乔布斯患了癌症后,他还利用电子表格制作了一个关于治疗心得和医生、医院推荐的文档,并将该文档发送给每个家庭中有人患同样病症的员工,还会跟他们一起讨论病情。
坚持自己的初衷
乔布斯从建立苹果公司那天起的初衷就是改变世界,这个初衷知道他去世的时候也从未改变过。不管是创立之初的苹果公司,还是之后的皮克斯公司,再到最后重返苹果公司。只要他在位的时候设计出来的产品无一不是具有划时代意义的,都是走在了科技的最前沿,颠覆了我们对其同类产品的传统定义。
乔布斯是独一无二的,他的风格和习惯也是独一无二的,如果想依靠单纯的模仿他来获取成功却并非可取的,但是以上这些管理中的精髓却值得我们运用到实践中,相信对于一名管理者来说是有百利而无一害的。
如何禁用TaobaoProtect进程?如果删除不掉有程序在使用怎么办,unlock来解锁。
Unix/LinuxC技术 jackxiang 2015-5-21 13:35
每次在电脑上安装支付宝安全控件时,默认都会强行安装与运行TaobaoProtect这个进程(如图)。电脑上装了这个程序以后,在我玩游戏时它总是会令我正在运行的程序自动跳出,使游戏最小化到任务栏上。令我感觉特别烦人!特别受骚扰!可是在淘宝上购物不安装支付宝又不行。最可恶的是购物以后我将支付宝安全控件卸载了然而这个该死的TaobaoProtect进程依然存在。阿里旺旺怎么净干这磋事啊?谁有办法禁用这个该死的进程啊?
1)首先删除C:\Users\“用户名”\AppData\Roaming\TaobaoProtect下的TaobaoProtect.exe和TaobaoProtectSE.dll。然后新建一个txt文件,重命名为TaobaoProtect.exe,右键属性设置只读打勾。目前最完美的解决方案了。
2)如果删除不掉有程序在使用怎么办,unlock来解锁:
http://www.anxz.com/down/1600.html
1)首先删除C:\Users\“用户名”\AppData\Roaming\TaobaoProtect下的TaobaoProtect.exe和TaobaoProtectSE.dll。然后新建一个txt文件,重命名为TaobaoProtect.exe,右键属性设置只读打勾。目前最完美的解决方案了。
2)如果删除不掉有程序在使用怎么办,unlock来解锁:
http://www.anxz.com/down/1600.html
短网址服务,很多人都已经不再陌生,如今社交产品和搜索引擎纷纷推出短网址服务。Google推出了短网址服务goo.gl、g.co,Twitter推出了t.co,新浪微博推出了t.cn,还有腾讯微博的url.cn等等。而今百度也加入了这个行列,推出了dwz.cn短网址。
2010年8月百度曾推出过短网址服务,为go.baidu.com,此域名被网友戏称为“域名最长的短网址服务”,后来百度很快就关闭了服务。此服务再次推出,使用了新域名dwz.cn,dwz是短网址拼音的首位字母缩写。
经whois查询得知,dwz.cn域名于2005年4月注册,目前域名信息已变更至百度公司名下,据业内人士表示,域名dwz.cn系百度收购所得,具体成交金额并未透露。不过国内域名交易平台—名商网的资深经纪人表示,3字母的cn域名价格一般都是在5位数左右,记者查询名商网上的3字母域名出售价格发现tyq.cn域名一口价3,000元,而贵的mnl.cn域名也只是要价15,000元,由此可以推测百度收购dwz.cn域名价格不会太高。
目前dwz的主流后缀均已经被注册,其中dwz.com在美国人手中,dwz.com.cn则被北京德威治医药连锁有限责任公司用作企业官网。
案例:百度微信二维码分享的二维码图片,解析一个看看是这样的:
格式:QR-Code
内容:http://dwz.cn/IWvXI
解析图片的地址:
http://demo.geekso.com/qrcode/current/tools
这个工具还能识别条形码呢?
传一个条型码上去后,识别出来核对发现是正确的:
识别结果
格式:EAN-13
内容:6937526503743
所花时间:0.011550903320312
试一个微信登录的验证码:
格式:QR-Code
内容:http://weixin.qq.com/x/AU12KqUlH1LwKPcBUpAJ
再试一个PC客户端的验证码:
格式:QR-Code
内容:http://weixin.qq.com/x/ASyhiIev6yVowLDZrsxl
再再试一个PC客户端的验证码:
格式:QR-Code
内容:http://weixin.qq.com/x/AV_wDVYd9z7aTCj77rhh
每打开一次微信网页版页面的时候会随机生成一个含有唯一uid的二维码,每次刷新页面都会不一样(这个可以保证一个uid只可以绑定一个账号和密码,如果一个uid可以绑定多个账号和密码,那么很可能你的电脑会登陆别人的微信哦)
(x后面的数码值不一样,应该是某种标识,这个标识可能是和手机端通信的一个特殊标志位。)
确实返回了唯一 id,但目的是为了识别用户身份,而且实际上打开这个页面的时候浏览器已经和 Server 创建了一个长连接等待确认信息。
使用登陆后的微信扫描该二维码的时候,会将这个id和手机上的微信账号及密码绑定,并上传到微信网页版。
浏览器展示完长连接里包含的用户信息(头像等)后,会新开一个长连接等待客户端的确认操作,
从体感来看,怎么着都不可能是页面1-2秒轮询发起GET请求的,实际是通过堵塞等待的长连接,近乎实时的获得信息。 (这个应该像nginx有类似的长连接事件驱动插件)
客户端确定登录成功请求了一个Url:
http://short.weixin.qq.com/cgi-bin/micromsg-bin/extdeviceloginconfirmok
拉我本人的头像链接:
http://wx.qlogo.cn/mmhead/ver_1/waWFJgkZsUDRLHiaicRUtciciajfjWYs51ia9rCrWRDFoiav4vIehxImHppzaB9tpF5wUyBVork0jR7DjaKJ4QSqXB1Q/0?randid=6772
这个估计是通知谁上线了吧(信息是从服务端返回时就已经加密了的看不到真实内容,我个人估计连Cookie都是放在base64包里进行传输的:This request did not send any cookie data.
):
http://short.weixin.qq.com/cgi-bin/micromsg-bin/statusnotify
有没有消息作个消息同步请求:filename=micromsgresp.dat
http://short.weixin.qq.com/cgi-bin/micromsg-bin/mmsnssync
# Result Protocol Host URL Body Caching Content-Type Process Comments Custom
4 200 HTTP short.weixin.qq.com /cgi-bin/micromsg-bin/mmsnssync 1,617 application/octet-stream
POST http://short.weixin.qq.com/cgi-bin/micromsg-bin/getupdateinfo //检查版本更新
200 OK (application/octet-stream)
Content-Disposition: attachment; filename=micromsgresp.dat
Content-Length: 94
Content-Type: application/octet-stream
Connection: close
data:application/octet-stream;base64,el8AAAAAAJo4D8tCCA8bQh9cbV6RU4VmAHE5OQAAqdUlTCaKMpirKWKzwjBUbwQHkLqmjIErUMDNq6VIxOKn1T9MRBAAnUIgREZ3+tx+XewRORJ1naCw09rRSrq7rw==
获取用户的头像Http地址信息:
http://short.weixin.qq.com/cgi-bin/micromsg-bin/batchgetheadimg
抓一个看到,的确是用户头像,如这个:
http://wx.qlogo.cn/mmhead/ver_1/z6OgOwB1t6HiaQWF6n6KfEsP9O4CeEvDhUYujWrsRvSib0Fa7DYyYtu7UzzMEkNZ1A8cUh5Wlvy69PQuQ8AViaZbsaSaXnDcgYmkTgxpOheIx8/132?randid=673
获取在线情况:
http://short.weixin.qq.com/cgi-bin/micromsg-bin/getonlineinfo
正在输入 :
http://minorshort.weixin.qq.com/cgi-bin/micromsg-bin/clientperfreport
如果长时间不登录,重新扫码登录时,会向服务端请求一次(估计是销毁掉PC客户端的标识罢):
http://short.weixin.qq.com/cgi-bin/micromsg-bin/extdeviceloginconfirmcancel
所以说,核心过程应该是:浏览器获得一个临时 id,通过长连接等待客户端扫描带有此 id 的二维码后,从长连接中获得客户端上报给 server 的帐号信息进行展示。 并在客户端点击确认后,获得服务器授信的令牌,进行随后的信息交互过程。 在超时、网络断开、其他设备上登录后,此前获得的令牌或丢失、或失效,对授权过程形成有效的安全防护。
2010年8月百度曾推出过短网址服务,为go.baidu.com,此域名被网友戏称为“域名最长的短网址服务”,后来百度很快就关闭了服务。此服务再次推出,使用了新域名dwz.cn,dwz是短网址拼音的首位字母缩写。
经whois查询得知,dwz.cn域名于2005年4月注册,目前域名信息已变更至百度公司名下,据业内人士表示,域名dwz.cn系百度收购所得,具体成交金额并未透露。不过国内域名交易平台—名商网的资深经纪人表示,3字母的cn域名价格一般都是在5位数左右,记者查询名商网上的3字母域名出售价格发现tyq.cn域名一口价3,000元,而贵的mnl.cn域名也只是要价15,000元,由此可以推测百度收购dwz.cn域名价格不会太高。
目前dwz的主流后缀均已经被注册,其中dwz.com在美国人手中,dwz.com.cn则被北京德威治医药连锁有限责任公司用作企业官网。
案例:百度微信二维码分享的二维码图片,解析一个看看是这样的:
格式:QR-Code
内容:http://dwz.cn/IWvXI
解析图片的地址:
http://demo.geekso.com/qrcode/current/tools
这个工具还能识别条形码呢?
传一个条型码上去后,识别出来核对发现是正确的:
识别结果
格式:EAN-13
内容:6937526503743
所花时间:0.011550903320312
试一个微信登录的验证码:
格式:QR-Code
内容:http://weixin.qq.com/x/AU12KqUlH1LwKPcBUpAJ
再试一个PC客户端的验证码:
格式:QR-Code
内容:http://weixin.qq.com/x/ASyhiIev6yVowLDZrsxl
再再试一个PC客户端的验证码:
格式:QR-Code
内容:http://weixin.qq.com/x/AV_wDVYd9z7aTCj77rhh
每打开一次微信网页版页面的时候会随机生成一个含有唯一uid的二维码,每次刷新页面都会不一样(这个可以保证一个uid只可以绑定一个账号和密码,如果一个uid可以绑定多个账号和密码,那么很可能你的电脑会登陆别人的微信哦)
(x后面的数码值不一样,应该是某种标识,这个标识可能是和手机端通信的一个特殊标志位。)
确实返回了唯一 id,但目的是为了识别用户身份,而且实际上打开这个页面的时候浏览器已经和 Server 创建了一个长连接等待确认信息。
使用登陆后的微信扫描该二维码的时候,会将这个id和手机上的微信账号及密码绑定,并上传到微信网页版。
浏览器展示完长连接里包含的用户信息(头像等)后,会新开一个长连接等待客户端的确认操作,
从体感来看,怎么着都不可能是页面1-2秒轮询发起GET请求的,实际是通过堵塞等待的长连接,近乎实时的获得信息。 (这个应该像nginx有类似的长连接事件驱动插件)
客户端确定登录成功请求了一个Url:
http://short.weixin.qq.com/cgi-bin/micromsg-bin/extdeviceloginconfirmok
拉我本人的头像链接:
http://wx.qlogo.cn/mmhead/ver_1/waWFJgkZsUDRLHiaicRUtciciajfjWYs51ia9rCrWRDFoiav4vIehxImHppzaB9tpF5wUyBVork0jR7DjaKJ4QSqXB1Q/0?randid=6772
这个估计是通知谁上线了吧(信息是从服务端返回时就已经加密了的看不到真实内容,我个人估计连Cookie都是放在base64包里进行传输的:This request did not send any cookie data.
):
http://short.weixin.qq.com/cgi-bin/micromsg-bin/statusnotify
有没有消息作个消息同步请求:filename=micromsgresp.dat
http://short.weixin.qq.com/cgi-bin/micromsg-bin/mmsnssync
# Result Protocol Host URL Body Caching Content-Type Process Comments Custom
4 200 HTTP short.weixin.qq.com /cgi-bin/micromsg-bin/mmsnssync 1,617 application/octet-stream
POST http://short.weixin.qq.com/cgi-bin/micromsg-bin/getupdateinfo //检查版本更新
200 OK (application/octet-stream)
Content-Disposition: attachment; filename=micromsgresp.dat
Content-Length: 94
Content-Type: application/octet-stream
Connection: close
data:application/octet-stream;base64,el8AAAAAAJo4D8tCCA8bQh9cbV6RU4VmAHE5OQAAqdUlTCaKMpirKWKzwjBUbwQHkLqmjIErUMDNq6VIxOKn1T9MRBAAnUIgREZ3+tx+XewRORJ1naCw09rRSrq7rw==
获取用户的头像Http地址信息:
http://short.weixin.qq.com/cgi-bin/micromsg-bin/batchgetheadimg
抓一个看到,的确是用户头像,如这个:
http://wx.qlogo.cn/mmhead/ver_1/z6OgOwB1t6HiaQWF6n6KfEsP9O4CeEvDhUYujWrsRvSib0Fa7DYyYtu7UzzMEkNZ1A8cUh5Wlvy69PQuQ8AViaZbsaSaXnDcgYmkTgxpOheIx8/132?randid=673
获取在线情况:
http://short.weixin.qq.com/cgi-bin/micromsg-bin/getonlineinfo
正在输入 :
http://minorshort.weixin.qq.com/cgi-bin/micromsg-bin/clientperfreport
如果长时间不登录,重新扫码登录时,会向服务端请求一次(估计是销毁掉PC客户端的标识罢):
http://short.weixin.qq.com/cgi-bin/micromsg-bin/extdeviceloginconfirmcancel
所以说,核心过程应该是:浏览器获得一个临时 id,通过长连接等待客户端扫描带有此 id 的二维码后,从长连接中获得客户端上报给 server 的帐号信息进行展示。 并在客户端点击确认后,获得服务器授信的令牌,进行随后的信息交互过程。 在超时、网络断开、其他设备上登录后,此前获得的令牌或丢失、或失效,对授权过程形成有效的安全防护。