易栈网-膘叔

浏览模式: 标准 | 列表 | 图文
光棍节

光棍节

最后一秒

----

还是晚了。。。晚了一秒。

光棍节又可以称为六一儿童节,所以我和老婆去过儿童节了,很开心。Over

你妹啊,19129540惹的祸

你妹啊,19129540惹的祸

受不了,最近很多人加我QQ说要跳舞,我就纳闷了。我没有说过我要跳舞啊?
怎么会有这种事情?然后居然在QQ邮箱里也收到了邮件,说是什么闵行跳舞总群活动了。。
一下子纠结起来,看了一下所谓的贴子,居然还真是留的19129540
我一开始以为是某个人冒充我的名义发的贴子,想着谁那么无聊,但后来一想,不对啊。跳舞总群,难道是QQ群
所以。。。搜索了一下,果然:

776d52d0c333e2cc49640bce36d193fb

哎,真悲催啊

Oauth的变迁

Oauth的变迁

因为新浪的Oauth即将变成2.0,所以找找资料
老王更新了,还画了ascii图,说实话我是对他文中的那个画ascii图的视频有兴趣。。。
老王在博客里是这么介绍的:

OAuth2.0

OAuth1.0虽然在安全性上经过修补已经没有问题了,但还存在其它的缺点,其中最主要的莫过于以下两点:其一,签名逻辑过于复杂,对开发者不够友好;其二,授权流程太过单一,除了Web应用以外,对桌面、移动应用来说不够友好。

为了弥补这些短板,OAuth2.0做了以下改变:

首先,去掉签名,改用SSL(HTTPS)确保安全性,所有的token不再有对应的secret存在,这也直接导致OAuth2.0不兼容老版本。

其次,针对不同的情况使用不同的授权流程,和老版本只有一种授权流程相比,新版本提供了四种授权流程,可依据客观情况选择。

在详细说明授权流程之前,我们需要先了解一下OAuth2.0中的角色:

OAuth1.0定义了三种角色:User、Service Provider、Consumer。而OAuth2.0则定义了四种角色:Resource Owner、Resource Server、Client、Authorization Server:

  • Resource Owner:User
  • Resource Server:Service Provider
  • Client:Consumer
  • Authorization Server:Service Provider

也就是说,OAuth2.0把原本OAuth1.0里的Service Provider角色分拆成Resource Server和Authorization Server两个角色,在授权时交互的是Authorization Server,在请求资源时交互的是Resource Server,当然,有时候他们是合二为一的。

-------
当然,我这里CP的不全,更详细的请看:http://huoding.com/2011/11/08/126
如果不把ascii图CP过来,老王是不是很伤心?

+----------+
| resource |
| owner |
| |
+----------+
^
|
(B)
+----|-----+ Client Identifier +---------------+
| -+----(A)-- & Redirection URI ---->| |
| User- | | Authorization |
| Agent -+----(B)-- User authenticates --->| Server |
| | | |
| -+----(C)-- Authorization Code ---<| |
+-|----|---+ +---------------+
| | ^ v
(A) (C) | |
| | | |
^ v | |
+---------+ | |
| |>---(D)-- Authorization Code ---------' |
| Client | & Redirection URI |
| | |
| |<---(E)----- Access Token -------------------'
+---------+ (w/ Optional Refresh Token)
哈哈,好象失败了。。。
OK,还有一篇介绍 :http://hueniverse.com/2010/05/introducing-oauth-2-0/

6 New Flows

  • User-Agent Flow – for clients running inside a user-agent (typically a web browser).
  • Web Server Flow – for clients that are part of a web server application, accessible via HTTP requests. This is a simpler version of the flow provided by OAuth 1.0.
  • Device Flow – suitable for clients executing on limited devices, but where the end-user has separate access to a browser on another computer or device.
  • Username and Password Flow – used in cases where the user trusts the client to handle its credentials but it is still undesirable for the client to store the user’s username and password. This flow is only suitable when there is a high degree of trust between the user and the client.
  • Client Credentials Flow – the client uses its credentials to obtain an access token. This flow supports what is known as the 2-legged scenario.
  • Assertion Flow – the client presents an assertion such as a SAML assertion to the authorization server in exchange for an access token.

Native application support (applications running on a desktop or mobile device) can be implemented using many of the flows above.

----其实看起来就很纠结,反正先了解一下,refresh_token还得向新浪申请。真纠结

 
下载了zentao pms

下载了zentao pms

一句话:下载了zentao pms,准备用它来做项目管理,同时给自己写文档
嗯,用于neatpic项目。

精读项目,居然没时间写。最近在纠结于JS。。。所幸剩下的功能不多了。需要尽快完成才OK啊

neatpic项目可能会改名了。
不想再单文件处理,单文件有很多事情无法完成,比如,如果真的要按文件的更新时间排序,效率将会非常的低。所以,还是要靠数据库,或者其他方式。

当然,不放弃neatpic,如果我再做修改那就是最后一版了。

新浪微博API更换

新浪微博API更换

纠结,新浪微博的接口更新到V2了
不知道以后的项目中还能不能使用目前的方法了。
不管怎么样,先看起来再说吧。TNND

自11月1日起,新浪微博开放平台将启用新版接口,新版接口采用api.weibo.com的URL,更加高效,规范,也为开发者带来更多功能。


更高效:

1. 微博、评论、用户等接口返回值增加了trim开关,可屏蔽返回值字段。

2. 支持数据过滤与应用隔离,新增feature参数可以按“全部、原创、图片、视频、音乐”过滤输出微博;base_app参数可以设置是否只输出基于当前应用产生的微博内容;


更规范:

1. 使用OAuth2.0授权机制。

2. 重新梳理了URI里资源类的概念,比如:statuses/comments 改为 comments/show;

3. 统一参数、返回值字段,全新的错误返回值格式。

4. 放弃REST风格URI,采用域+版本号+资源类+接口名+返回值格式+参数


更多功能:

新增100多个新接口,其中包含:增强的关系接口、推荐接口、搜索推荐接口 、短链接接口、热门微博接口、帐号接口,陆续还会有更多新接口开放。


其中,OAuth2.0授权更安全,更简单


更安全:

Access Token不再永久有效,约定回调页,接口使用https,对用户和开发者都更加安全。


更简单:

授权流程更简单,签名机制大大简化,不再需要特殊的编码处理和对参数排序。


注:需要说明的是,新版接口只能使用OAuth2.0授权机制,建议大家近期逐渐开始迁移工作,以保证应用的正常使用;但短时间内旧的授权接口依旧可以使用,具体下线日期另行通知。


如您在迁移工作中有任何疑问,请发邮件至weibo_app@vip.sina.com,或者私信@微博api,会有专人为您解答问题。


新版接口WIKI文档:http://t.cn/aF4zI1

OAuth2.0开发指南:http://t.cn/aF4we8

----------------
短时间内可用旧接口,哎,怎么办
这是官网的地址:http://open.weibo.com/wiki/OAuth2/access_token#OAuth2.2Faccess_token

转:Linux操作系统下Screen命令的使用方法

转:Linux操作系统下Screen命令的使用方法

Linux在操作的时候,不想等待当前的操作而关闭终端,那么要么在结尾加&,要么。。。就用这个screen了。
screen这个是最方便的。用法也简单,而且,还可以操作给别人看。所以,了解一下还是有好处的:

首先敲入命令screen,会创建一个跑着shell的单一窗口,在这里面你可以跑你所需要的程序
然后Ctrl+a d退出刚创建的窗口(回到进入screen前的环境)
然后再敲入命令screen创建新的终端窗口,循环往复,你可以建立多个有shell的窗口(这些窗口里都可以跑你自己的应用),于是乎,即使你退出远程管理窗口(进入screen的环境),你的screen窗间的窗口都不会关闭,里面跑得应用自然也不会当掉
1、screen -ls可以看所有的screen sessions
2、screen -r sessionid可以进sessionid指定的特定的screen session

如果screen session不再使用的时候,用screen -r sessionid进去exit退出即可
------------------------------------
参考资料:
Unix/Linux 工具: Screen 命令使用
screen使用
使用screen非常简易.只需在SHELL键入screen,便可打开一个screen session。
而在每个screen session 下,所有命令都以 ctrl+a(C-a) 开始。现在让我来简单介绍基本的命令C-a c -> Create,开启新的 window
C-a n -> Next,切换到下个 window
C-a p -> Previous,前一个 window

C-a C-a -> Other,在两个 window 间切换
C-a w -> Windows,列出已开启的 windows 有那些
C-a 0 -> 切换到第 0 个 window
C-a 1..9 -> 切换到第 1..9 个windowC-a a -> 发出 C-a,在 emacs, ve, bash, tcsh 下可移到行首C-a t -> Time,显示当前时间,和系统的 load
C-a K(大写) -> kill window,强行关闭当前的 windowC-a [ -> 进入 copy mode,在 copy mode 下可以回滚、搜索、
复制就像用使用 vi 一样C-b Backward,PageUp
C-f Forward,PageDown
H(大写) High,将光标移至左上角
L Low,将光标移至左下角
0 移到行首
$ 行末
w forward one word,以字为单位往前移
b backward one word,以字为单位往后移
Space 第一次按为标记区起点,第二次按为终点
Esc 结束 copy mode
C-a ] -> Paste,把刚刚在 copy mode 选定的内容贴上C-a ? -> Help,显示简单说明C-a d -> detach,将目前的 screen session (可能含有多个 windows)
丢 到后台执行 当按了 C-a d 把 screen session detach 掉后,会回到还没进 screen 时的状态,此时在 screen session 里每个 window 内运行的 process (无论是前台/后台)都在继续执行,即使 logout 也不影响。 下次 login 进来时:screen -ls -> 显示所有的 screen sessions
screen -r [keyword] -> 选择一个screen session 恢复对话若 screen -ls 里有 Attached sessions:
screen -d [keyword] -> 强制 detach,以便「接手」过来 实例
说明看了那么多,让我们用一个实际例子来结束我们今天的学习。在我们开启一个screen后,然后使用joe编辑一个文件,之后因为临时需要离开这时就可以运行Ctrl+a d,显示如下:[becks@ec-base becks]$ screen
[detached]这个时候当我们运行ps -e 可以看到pts/2这个我刚刚运行的screen正在运行joe
6264 pts/2 00:00:00 bash
6354 pts/2 00:00:00 joe而当我们回来后想恢复这个session,只需要键入screen -r,而当你有多个session时候,系统将提示你选择一个,如下:
[becks@ec-base becks]$ screen -r
There are several suitable screens on:
6263.pts-1.ec-base (Detached)
6382.pts-1.ec-base (Detached)
Type "screen [-d] -r [pid.]tty.host" to resume one of them.输入该session的pid进行恢复
[becks@becks becks]$ screen -r 6263想退出screen的session,和退出shell一样,只需要键入exit命令,成功退出后将有以下提示
[screen is terminating]

原文来自:http://www.souzz.net/html/server/Linux/33280.html

deleted inode has zero dtime

deleted inode has zero dtime

Q: How do I get rid of lengthy Linux boot delays dealing with "deleted inode has zero dtime" messages?

Booting Linux on my laptop takes a long time. THis is because a message appears saying "deleted inode 6323 has zero dtime. Set dtime? yes". There are also two other deleted inodes with zero dtime — 229543 and 229544. Should I just ignore these messages and be patient, or is something wrong?

A: This shouldn`t happen every time you boot. It is a result of not having cleanly turned the machine off the previous time you used it. To turn the machine off, you must type halt as root. (type man halt or man shutdown for more info.) To reboot, you must hit control-alt-delete or use the reboot command.

svn 切换源

svn 切换源

由于IT对整个公司的IP网段进行了更替,导致svn连接不上。
于是想到了用命令行切换源的IP。
在windows平台下是很方便的,直接用小乌龟relocate就OK了。可是mac下面没有,linux下面也没有这样的gui界面。所以就用命令行了
网上找到资料都是svn relocate,但运行了一下,发现没有这个命令,只有svn switch --relocate
嗯,于是发现命令就是这样的:
svn switch --relocate FROM TO 原来的svn地址 新的SVN地址

--------

郝老师说svn sw就可以了,没有试过,我先备一下

转:如何学习技术?

转:如何学习技术?

不想多说,其实我转这篇也是想给几个人看看,国庆的时候,我说过,要做编程这一行,一定要耐得住寂寞。可惜没人附和。
原文如下:http://blog.csdn.net/heiyeshuwu/article/details/6920880

文章来自baidu NY 同学的邮件,整理发出。

1. 想学的技术非常多,该怎么办?

区分重点,选定目标,循序渐进。技术是无边际的,随着知识的不断增加,会发现未知的东西更多。我们能做的是:

1) 找重点:区分感兴趣的技能和必须技能,将重点放在必须技能上。如实在区分不开,可以这样问自己:不学这个技术会现在的工作是不是干不下去了?

2) 定目标:在一段时间(至少半年内)选定一个技术方向,精研下去。

3) 不断向前:当某一种技术掌握后,再开始另一个技术的研究;

2. 很想学一种技术,但项目工作太多,没时间开展,一直拖着,怎么办?

生存状况和工作性质注定了我们不能像在学校和外企那样有大把的可支配时间,所以要追求技术进步只能自己找时间,也即“白天求生存,晚上谋发展”的道理。我一般会将晚上和周末的时间拿出一部分来学习。

3. 选定一个技术方向作为学习目标的时候哦,如何开展效果比较好?

学习一门技术一般分几个阶段,入门->掌握->精通。一般情况下,达到熟练掌握的程度即可,要实现至少需一年的积累。

可以分下边几步:

1) 知其然:了解该技术的基本原理和应用场景,并进行简单的实践。这个阶段,官方文档是最好的教材;

2) 站在巨人的肩膀上:找该技术业界成熟的开源类库和应用系统进行学习,精度源代码;

3) 在问答中进步:去相关论坛学习,提问或者回答问题,并尝试独立解决论坛中已有问题,www.stackoverflow.com是最好的选择。

4) 躬身而行:实践相关技术,达到能独立完成中等规模应用的程度;

5) 知其所以然:深入了解该技术的运行机制、周边技术、性能优化、深度知识等;

6) 善用资源:在公司,高手很多,你想了解的任何一门技术,差不多都能找到相应的牛人,多和这些人沟通,会事半功倍。

以PHP为例:

熟悉语法&api -> 阅读zend、ci、wordpress源码 -> 用PHP独立开发项目 -> 深入了解PHP引擎实现细节、扩展编写、性能优化等

4. 外界干扰太多,静不下心来学习,怎么办?

刚来百度的时候,前辈给过我一个建议:关掉QQ,结合在学校时的体会,我深知这个建议的重要性,欣然接受了。

其实,静心是做好任何事的前提,关掉QQ只是一个表象,最本质的是我们要给自己营造一个好的学习环境。

做技术需要一个安静的环境和一套方法论,方法论可以找到很多(论语第一篇讲的最好),环境必须我们自己营造。

所以我的建议是:忘掉QQ、适度娱乐,努力使自己沉迷到工作和学习中。

虽然不太容易做到,但做到了对提高效率、找出学习时间都很有帮助。

一些复杂的技术会涉及很多方向,每个方向也可以按照上边的方式分解。

技术学习可以触类旁通,当你完全吃透一门技术的时候,其它的再学起来就快了。

以上内容归根结底就是要我们:懂得选择,学会放弃,耐得住寂寞,经得起诱惑。

做技术如同做学问,关于如何做学问,王国维有段话我高中以来一直非常喜欢:

古今之成大事业、大学问者,罔不经过三种之境界:“昨夜西风凋碧树。独上高楼,望尽天涯路。”此第一境界也。“衣带渐宽终不悔,为伊消得人憔悴。”此第二境界也。“众里寻他千百度,蓦然回首,那人却在灯火阑珊处。”此第三境界也。

有兴趣者可参阅:http://www.china.com.cn/culture/guoxue/2010-03/16/content_19620537.htm

技术之路是艰辛且寂寞的,希望以上内容对有志于此道者有所启发。

--------------
上面的内容中那句:懂得选择,学会放弃,耐得住寂寞,经得起诱惑
其实真的应该记一下。

资料备份:IOS5内嵌字体列表

资料备份:IOS5内嵌字体列表

做网页的时候需要考虑在IOS上的显示效果,不能随便用字体,于是官网的这个页面就可以做参考了
http://support.apple.com/kb/HT4980?viewlocale=zh_CN&locale=zh_CN

受影响的产品

iPhone, iPad, iPod touch

系列名称 版本
Academy Engraved LET 7.0d1e1
American Typewriter 7.0d1e1
Apple Color Emoji 7.0d18e1
AppleGothic 7.0d5e1
Arial 5.01.2x 版
Arial Hebrew 6.0d2e1
Arial Rounded MT Bold 1.51x 版
Bangla Sangam MN 7.0d4e1
Baskerville 7.0d4e2
Bodoni 72 7.0d1e2
Bodoni 72 Oldstyle 7.0d1e2
Bodoni 72 Smallcaps 7.0d1e2
Bodoni Ornaments 7.0d2e1
Bradley Hand 7.0d3e1
Chalkboard SE 7.0d13e1
Chalkduster 7.0d6e1
Cochin 7.0d1e1
Copperplate 7.0d1e2
Courier 7.0d2e1
Courier New 5.00.2x 版
Devanagari Sangam MN 7.0d10e1
Didot 6.1d4e1
Euphemia UCAS 6.1d4e1
Futura 6.2d1e1
Geeza Pro 6.1d8e1
Georgia 5.00x-3 版
Gill Sans 6.1d9e1
Gujarati Sangam MN 7.0d2e1
Gurmukhi MN 7.0d2e1
Heiti SC 7.0d21e1
Heiti TC 7.0d21e1
Helvetica 8.0d9e1
Helvetica Neue 7.1d5e2
Hiragino Kaku Gothic ProN 8.10 版
Hiragino Mincho ProN 8.10 版
Hoefler Text 6.1d7e1
Kailasa 7.0d3e1
Kannada Sangam MN 7.0d3e1
Malayalam Sangam MN 7.0d3e1
Marion 7.1d3e2
Marker Felt 4.4d2e1
Noteworthy 7.0d15e1
Optima 6.1d4e1
Oriya Sangam MN 7.0d4e1
Palatino 7.0d4e4
Papyrus 6.1d10e2
Party LET 7.0d2e1
Sinhala Sangam MN 7.05e1
Snell Roundhand 7.0d6e3
Tamil Sangam MN 7.0d2e1
Telugu Sangam MN 7.0d2e1
Thonburi 10.7d8e1
Times New Roman 5.01.3x 版
Trebuchet MS 5.00x 版
Verdana 5.01x 版
Zapf Dingbats 6.1d3e1
Zapfino 6.1d5e1