[转载]为什么寄存器比内存快?
原文链接: 为什么寄存器比内存快?
原文作者: 阮一峰
计算机的存储层次(memory hierarchy)之中,寄存器(register)最快,内存其次,最慢的是硬盘。
同样都是晶体管存储设备,为什么寄存器比内存快呢?
原文链接: 为什么寄存器比内存快?
原文作者: 阮一峰
计算机的存储层次(memory hierarchy)之中,寄存器(register)最快,内存其次,最慢的是硬盘。
同样都是晶体管存储设备,为什么寄存器比内存快呢?
原文链接: SSH关于公钥认证Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).的问题
SSH对公钥、私钥的权限和所有权的要求是非常严格的,总结如下:
1、下面两个目录的所有权必须是user,所属组也应该是user,权限必须为700
\home\user
\home\user\.ssh
2、下面公钥文件的所有权必须是user,所属组也应该是user,权限必须为644
\home\user\.ssh\authorized_keys
3、下面私钥文件的所有权必须是user,所属组也应该是user,权限必须是600
\home\user\.ssh\id_rsa
周末的时候, 把原本独立分区的home, 挂载成了opt, home就放到/一起了, 然后ssh-key登录就死活上不去.
今天才突然想起来, 原home分区给/opt后, /下是没有home目录的, 后来就root新建了一个目录, 默认新建目录权限是755, ssh要求是700才行.
TODO
http://blog.sina.com.cn/s/blog_63c8c46401014uhx.html
参考链接: mysql非正常关闭导致InnoDB发生crash recover导致无法启动的解决办法
很暴力的解决, 寻找更好的方法...
打开命令行, 输入以下命令(井号后面的不用复制):
defaults write com.apple.finder AppleShowAllFiles YES && killall Finder # 打开
defaults write com.apple.finder AppleShowAllFiles NO && killall Finder #关闭
就是这么简单
原文链接: PHP设置Cookie的HTTPonly属性
PS: 直接转载, 有时间再整理下排版, 有点挤...
httponly是微软对cookie做的扩展。这个主要是解决用户的cookie可能被盗用的问题。
大家都知道,当我们去邮箱或者论坛登陆后,服务器会写一些cookie到我们的浏览器,当下次再访问其他页面时,由于浏览器回自动传递cookie,这样就实现了一次登陆就可以看到所有需要登陆后才能看到的内容。也就是说,实质上,所有的登陆状态这些都是建立在cookie上的!假设我们登陆后的cookie被人获得,那就会有暴露个人信息的危险!当然,想想,其他人怎么可以获得客户的cookie?那必然是有不怀好意的人的程序在浏览器里运行!如果是现在满天飞的流氓软件,那没有办法,httponly也不是用来解决这种情况的,它是用来解决浏览器里javascript访问cookie的问题。试想,一个flash程序在你的浏览器里运行,就可以获得你的cookie的!
IE6的SP1里就带了对httponly的支持,所以相对还说还是些安全性。
PHP中的设置
PHP5.2以上版本已支持HttpOnly参数的设置,同样也支持全局的HttpOnly的设置,在php.ini中
-----------------------------------------------------
session.cookie_httponly =
-----------------------------------------------------
设置其值为1或者TRUE,来开启全局的Cookie的HttpOnly属性,当然也支持在代码中来开启:
-----------------------------------------------------
// or session_set_cookie_params(0, NULL, NULL, NULL, TRUE);
?>
-----------------------------------------------------
Cookie操作函数setcookie函数和setrawcookie函数也专门添加了第7个参数来做为HttpOnly的选项,开启方法为:
-------------------------------------------------------
setcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
setrawcookie("abc", "test", NULL, NULL, NULL, NULL, TRUE);
-------------------------------------------------------
对于PHP5.1以前版本以及PHP4版本的话,则需要通过header函数来变通下了:
-------------------------------------------------------------
-------------------------------------------------------------
LinuxMint下安装svn右键操作, 参考: Ubuntu/LinuxMint下安装rabbitvcs(类似Windows下的Tortoisesvn)
PS: LinuxMint16已经不需要额外添加ppa了,nemo-compare已经纳入到官方库了。所以第一第二步骤可以省略了。
一: 添加cinnamon的ppa源:
sudo add-apt-repository ppa:gwendal-lebihan-dev/cinnamon-stable # 会提示确认, 直接按回车键
二: 更新本地源缓存
sudo apt-get update
三: 安装meld, nemo扩展
sudo apt-get install nemo-compare meld #默认使用meld比较
四: 重启Nemo
killall nemo
nemo
此时随意选中两个文件, 然后点击右键, 会出现一个compare选项, 点击会打开meld进行比较, 也可以单个选择文件或目录, 和windows下beyond compare右键操作一样, 只是变成了英文而已.
五: 使用beyond compare进行比较
vi .config/nemo-compare.conf # 若文件不存在, 记得先随意比较两个文件, 来生成配置
[Settings]
diff_engine_path = bcompare
diff_engine_path_3way = bcompare
diff_engine_path_multi = #此处可留空, 也可输入which bcompare后得到的值
defined_comparators = ['bcompare', 'meld']
重启nemo(第四步), 再次比较文件文件后, 打开的窗口就是beyond compare了. 牛逼透了, 所有的设置都是这么简单...
beyond compare linux版下载地址: http://www.scootersoftware.com/download.php
截图参考:
原文地址: VIM使用小技巧-重新载入文件
有时候要使用VIM打开了一些文件,但是在其他地方把次文件改动了,例如使用git进行checkout等操作,需要重新载入此文件。
1 重新载入当前文件:
:e
:e! #放弃当前修改,强制重新载入
2 重新载入所有打开的文件:
:bufdo e 或者 :bufdo :e!
:bufdo命令表示把后面的命令应用到所有buffer中的文件。
参考网址:Refresh all files in buffer from disk in vim, Run a command in multiple buffers
参考地址: MySQL 中将一个表的数据插入另外一个表的方法
如果2张表的字段一致,并且希望插入全部数据,可以用这种方法:
INSERT INTO 目标表 SELECT * FROM 来源表;
比如要将 articles 表插入到 newArticles 表中,则是:
INSERT INTO newArticles SELECT * FROM articles;
如果只希望导入指定字段,可以用这种方法:
INSERT INTO 目标表 (字段1, 字段2, ...) SELECT 字段1, 字段2, ... FROM 来源表;
注意字段的顺序必须一致。