自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

原创 用开源加密库Libgcrypt实现AES加密

Libgcrypt是著名的开源加密软件GnuPG的底层库,是一个非常成熟的加密算法库,支持多种对称和非对称加密算法。现在自己随便造轮子地写一个加密算法程序显然是非常不安全的,虽然OpenSSL出现了Heartbleed漏洞,但是用已经成熟的加密算法库还是会比不成熟的东西好很多的。最近看了看它最基本的一些功能,尝试写了一个AES的demo,中间还是学到蛮多东西的,所以写这篇手记。本文是以我写的一个g

2015-03-16 14:43:43 599

原创 iOS UI 的坑:不要 remove UITableViewCell 的 contentView

问题背景看到标题,你可能会想,怎会有人傻到这么做?好吧,一个像我一样没有经验的程序员的确可能。这个问题的背景是,在需要重绘UITableViewCell时,经常遇到需要清空所有subview的情况。而我们有这样一段代码可以利用:UIView+Utils.m- (void)removeAllSubviews { for (UIView *subView in self.su

2015-02-04 16:27:08 683

原创 编码转换:unicode(10进制,#12345;)转utf8

遇到问题:我需要把好大一坨类似“ &#20961 ;&#23458 ; ”这样的东西转化成可读的utf8编码。例如 &#23458 ; 代表「客」这个字一步一步探索:网上找了很多代码来试验,都以失败告终 直接google搜索 &#23458 ; 变成了google 搜索 「客」这个关键字了 重新google后得知,该类型编码为html页面中可以正常显示为汉字的unicode的10进

2015-01-10 00:31:03 1792

原创 关于PHP默认Expires- Thu, 19 Nov 1981...的故事

为何PHP不设置Expires头的时候, 默认输出如下的缓存头呢?:Expires: Thu, 19 Nov 1981 08:52:00 GMT答案来自stackoverflow :It's an attempt to disable caching.这是用于尝试禁用浏览器缓存PHP请求的The date is the birthday of the develop

2015-01-10 00:23:06 696

原创 hello world

angularjs遵循MVC模式,惯例来一个hello world吧 {{greeting.text}}, world controllers.js中的内容function HelloController($scope) { $scope.greeting = { text: "Hello

2015-01-10 00:12:51 184

原创 收藏一个python通过uft8 编码来提取中文的例子

Python-提取文件中所有中文小程序问题描述:   从一个txt文件中提取所有中文思路:打开txt文件读取txt文件中的文本用正则匹配获取中文将其内容写入到另一个文本中python实现:import impimport sysimp.reload(sys)sys.setdefaultencoding('utf-8') #设置默认编码,只能是utf-

2015-01-07 18:29:44 364

原创 find -exec 与 find - xargs 的差别

最近我想统计下,家目录下各文件(夹)的硬盘占用情况,所以用了这个命令:find -maxdepth 1 | xargs du -sh返回的结果是,整个家目录的总大小,而不是预期的每个文件的大小。之后换用了find -maxdepth 1 -exec du -sh {} \;就能得出每个文件的大小。为什么使用find | xargs得出的结果跟find -exec不一样呢?一个问题是

2015-01-07 18:17:48 214

原创 移动页面注意项

适应设备宽高touchstart代替click滚动时候时禁用document的touchmove事件图片居中,把img的display设置inline,父级text-aligin:center不要把body的高度设置为100%,根据需要设置,在webview里面加载高度会出问题Iscroll5 的indicator的宽度需要动态给值可视区高度,w

2015-01-07 18:07:27 184

原创 开发必备:Mackup 将你的开发工具配置同步到云端

简介最近有朋友推荐 Mackup 来备份常用工具的配置文件,着实给开发者们省心了。众所周知,每换一台机器,或者重装软件后,配置就成了体力活。虽然自己写了一套脚本把常用的配置文件自动复制到 Dropbox 目录里,但维护脚本这事儿就有些复杂了。Mackup 正是为了解决这个问题而来,他不仅备份配置文件,还将插件等其他内容一起备份到 Dropbox、Google Drive 等等。

2015-01-07 17:56:53 581

原创 利用SVNListParentPath增加http浏览仓库根目录的功能

使用SVNParentPath的时候,直接访问根目录的时候,总是得到以下错误提示:403 ForbiddenForbiddenYou don't have permission to access / on this server.下面的办法可以搞定它:一、首先,Subversion1.3及以后版本支持SVNListParentPath ON,之前的版本只能使用PHP自

2015-01-07 17:45:49 175

原创 七牛云存储Python SDK使用教程 - 上传凭证和权限校验

本教程旨在介绍如何使用七牛的Python SDK来快速地进行文件上传,下载,处理,管理等工作。知识准备我们在上一篇文章里面简单介绍了一个无key文件的上传。发现了一个问题就是上传一个文件需要AccessKey和SecretKey,那么七牛是如果使用这一对密钥来保证上传端有权限上传文件上去,并且还是上传到正确的空间的呢?问题的答案就在下面的两行代码:auth = qiniu.Auth

2015-01-07 17:22:55 1090

原创 mocha的时序问题

前言对于新手而言,mocha的时序就像谜一般,许多奇怪的测试样例的失败都是由于对时序不清楚。下面我就把我在测试工作中总结的时序规则部分与大家共享。describe里地时序simple casejsdescribe('work',function(){ it('1',func(){}); it('2',func(){}); ....});//按1

2015-01-07 16:50:13 394

原创 JavaScript内部原理系列-闭包(Closures)

概要本文将介绍一个在JavaScript经常会拿来讨论的话题 —— 闭包(closure)。闭包其实已经是个老生常谈的话题了; 有大量文章都介绍过闭包的内容(其中不失一些很好的文章,比如,扩展阅读中Richard Cornford的文章就非常好), 尽管如此,这里还是要试着从理论角度来讨论下闭包,看看ECMAScript中的闭包内部究竟是如何工作的。正如在此前文章中提到的,这些文章都是系列

2015-01-07 16:38:45 161

原创 Gmail 的一千种活法 [ 不完全指南二 ]

本篇提要:移动客户端尽可能简单恢复 Gmail 使用。架设代理除了《不完全指南一》(详见阅读原文)中简单快捷的方法以外,可能还有一些同学固执的想用原生的 Google 客户端,比如我……那么在手机上搭个梯子其实也是轻松加愉快的。iOS 端安装 Shadowsock(http://t.cn/zR60rsl)点击右上角的配置按钮,进入设置页面;配置服务器为自

2015-01-07 14:42:13 294

原创 CSS3:不可思议的border属性

原文:Magic of CSS border property译文:不可思议的CSS border属性译者:dwqs在CSS中,其border属性有很多的规则。对于一些事物,例如三角形或者其它的图像,我们仍然使用图片代替。但是现在就不需要了,我们可以用CSS形成一些基本图形,我分享了一些关于这方面的技巧。1、正三角形:.triangle_up{ height:0px;

2015-01-07 14:26:49 213

原创 世界级计算机科学家Lance Fortnow:教授是世界上最好的职业

Lance Fortnow是一位世界级计算机科学家,佐治亚理工学院计算机科学系教授、主席。他的研究关注计算复杂性及其在经济理论上的应用。他在交互式证明系统领域取得的重要研究成果使他获选美国计算机协会院士。Fortnow教授创立了Computational Complexity博客,这是第一个主流计算机理论科学博客。他还是《ACM计算理论》的主编,同时也是美国计算机协会算法和计算理论协会(ACM S

2015-01-07 14:08:43 261

原创 安卓推送——个推服务端api使用误区

前言个推每天的消息推送量数以亿计,统计分析日志时,经常可以从日志规律发现调用方的一些使用误区,今天提几点开发者在使用个推api时易出现的几个误区。误区一推送选错接口个推服务端adk提供给开发者三个推送接口:pushMessageToSingle/ pushMessageToList/ pushMessageToApp。从命名来看也容易区分,分别是推送单个用户,一批用户,一个应用的全

2015-01-06 13:38:22 894

原创 通过`jQuery.wechat`构建你的微信WEB应用

因为最近自己的产品要在微信公众号中推广,需要提供一些有意义的功能,于是被迫走上了支持微信这条不归路。众所周知,腾讯是那样一个神奇的公司,他们的产品在商业上获得巨大成功,但文档真的很难令人恭维,诺大一个公众号开发平台,我竟然找不到真正的,关于web开发的官方文档,有的就是个别示例,剩下的...呵呵,有一个叫开发者交流互助的东东。看完上面这个图后,有没有这样的感觉,一帮群众拼命的想知道发生

2015-01-06 13:28:19 408

原创 设计模式六大原则

@(0.05@设计模式)[设计模式|代码规范|笔记--大话设计模式]设计模式六大原则一、面向对象设计六大原则面向对象的关键在于封装,封装好了才能很好的复用,达到单一职责和开放扩展、封闭更改的效果。1、单一职责原则就一个类而言, 应该仅有一个引起它变化的原因. 增加功能不应该修改已有的代码, 避免修改出错及重复测试.如果你能够想到多于一个的动机去改变一个类,那么这个类就是具有

2015-01-06 13:16:45 446

原创 管理多tomcat服务shell脚本(CentOS)

该脚本改自csdn上的一个shell,忘记出处了,只记得它能够简单的通过service tomcat [stop|start|restart]来方便的管理Linux服务器上的tomcat,这可以满足大部分人的需求,然而并不适合我所管理的CentOS上的tomcat应用:通过端口区分的3台tomcat集群。如果每一次管理tomcat或查看日志,都cd /apps/test/tomcat0/log/然

2015-01-06 13:06:41 187

原创 用 Node.js 實現一個 Singleton

原文链接:http://xcoder.in/2014/09/30/javascript-singleton/  今天隨便玩了一道 CodeWar 的題。  題意大致就是你需要實現一個 Singleton 也就是單件模式的類,讓其下面代碼執行成功:var obj1 = new Singleton();var obj2 = new Singleton();obj1 === obj2

2015-01-06 12:57:00 268

原创 新版 SegmentFault 重构之系统架构

如果有关心SF发展同学肯定通过不少渠道了解到我们正在对它进行全站的重构,现在重构已经进入了尾声,而且内部测试也已经经过了一个阶段,所以不出意外的话,这个新版本过不了几天就会出现在大家面前了。那么这次重构在系统上有什么进步呢?系统架构的大大加强在过去的一年,SF因为系统的制约发生了不少起宕机事故,有的时候甚至长达数小时之久,大大影响了用户的体验,因此在这次重构之初,我们就下决心从系统层面

2015-01-06 12:46:29 447

原创 产品路书(二)-产品工作的心得体会——梳理

我们做产品之前,第一步应该做什么?是意见收集?是竞品学习?是往期数据分析?还是直接动手Axure画起来?每个人有每个人的工作习惯,每个公司也有每个公司的流程规范。就我自身情况而言,我认为,第一步应该是梳理梳理收集来的意见反馈;梳理现有产品的逻辑框架;梳理能罗列的全部竞品;梳理手头的工作,做好时间规划;梳理人脉。1、梳理收集来的意见反馈,很好理解。我们会收到来自运

2015-01-06 12:35:14 358

原创 storm操作zookeeper源码分析-cluster.clj

storm操作zookeeper的主要函数都定义在命名空间backtype.storm.cluster中(即cluster.clj文件中)。 backtype.storm.cluster定义了两个重要protocol:ClusterState和StormClusterState。clojure中的protocol可以看成java中的接口,封装了一组方法。ClusterState协议中封装了一组

2015-01-06 12:21:29 233

原创 新手学跨域

描述协议 (http, https, ftp etc.) 、域名 (foo.com, bar.com, img.foo.com) 、端口 (80, 8080, ...) 其中有一个不一致即形成跨域。跨域是一种解决浏览器同源策略限制的手段,应根据场景选用合适的跨域方法,而不是在一种场景下随便哪个都可以。表现打开控制台,如果出现类似下面的错误信息或者带有cross-origin的错误信息,

2015-01-05 22:10:34 144

原创 微信开发 文件上传

微信内置的浏览器中 禁止了 type=file 标签 无法进行文件上传. 如果想做一些 图片分享的微网站 则必然需要用到文件上传能,例如 布丁移动 开发的 聚吧 微信公众账号 中的 发一张 和 阅读即焚 等有趣的功能.通过对聚吧的微信公众账号 进行抓包分析 其实现文件上传通过 ajaxfileupload.js 上传插件进行图片的上传功能. 通过该插件上传成功后 返回图片的路径.

2015-01-05 21:57:53 399

原创 对象设计要考虑有效范围

现代对象设计主张“组合优于继承”。总之无论组合还是继承,对象都成了涉及多个类的复合结构。“对象的有效范围”,是指对象从创建到丢弃(不再引用)的这段时间,不包括等待被GC销毁的时间。可以近似认为是对象的生命期。单例对象(Singleton)的有效范围几乎是整个应用的开启时间,Socket的有效范围通常是网络连接的持续时间,而一个临时的Integer则可能瞬间就被丢弃了。Let's 注意,不同

2015-01-05 21:45:27 158

原创 基于 AVOS Cloud 的 Android 应用程序快速开发简介

AVOS Cloud 移动开发 SDK 为 iOS、Android 和 WindowsPhone? 应用程序提供了基于云的 API 和服务,并且还提供了 JavaScript 和 REST API。使用 AVOS Cloud API,您可以极快地以最少工作量让您的移动应用程序支持云处理。集成了 AVOS Cloud SDK 的移动应用程序可以轻松地在 AVOS Cloud 云上存储数据对象和文件,

2015-01-05 21:32:39 295

原创 友盟全线 SDK 兼容 iOS 8!

友盟统计 iOS SDK 推出V 3.1.6版本主要更新:修正iOS8下Crash Log不能收集的问题SDK 下载游戏统计分析 iOS SDK  游戏分析为移动游戏开发者提供了开箱即用的一站式解决方案,针对不同阶段的游戏运营需求,提供全方位的支持,无论是从用户获取,用户质量,还是到用户行为,用户付费,友盟提供了标准的运营指标和模型来展开深度的追踪分析。SDK 下载友盟社会化组

2015-01-05 21:22:57 243

原创 其实我以前都不懂什么叫“好好表现”

“好好表现”,以前我的理解是“好好”,到重点其实是“表现”。工作再“好”,再努力再用心,不把成果“表现”出来,领导还是认为你不是个好员工。就像之前迟到,就给领导留下了不好的印象。所以“表现”出来的印象很重要。就像部分同事一样,平时的工作做得不咋的,到表现的时候可积极,看起来真的很勤奋的样子。“表现”的不好,导致我没有分到股票,五月份其他人都买车买房,我还拿着几千块的工资,还完房贷所剩无几。

2015-01-05 21:10:47 255

原创 使用Sublime Text 3的HTML-CSS-JS Prettify插件格式化代码

之前用 Sublime Text 格式化代码的时候,安装过 HTML-CSS-JS Prettify 这个插件,但格式化时却会提示(默认路径未找到Node.js)虽然完全不知道 Node.js 怎么用,但没关系,只管安装就好。下载安装到Node.js 官网下载 32位版本(据说win x64版有问题)安装。 确认Node.js安装路径鼠标右键HTML/CSS/JS Pr

2015-01-05 20:57:57 443

原创 二分查找的思考

推荐一篇不错的文章: 二分查找之美二分查找二分查找的代码是这样int binarySearch(int* A, int n, int target){ int l = 0; int r = n-1; while(l<=r){ int mid = (l+r)>>1; if(A[mid]==target) return mi

2015-01-05 20:44:41 145

原创 【译】HTML5 prefetch

声明:此文带着自己的理解,不完全按原文翻译,原文地址prefetch 即预加载,在用户需要前我们就将所需的资源加载完毕。有了浏览器缓存,为何还需要预加载?用户可能是第一次访问网站,此时还无缓存 用户可能清空了缓存 缓存可能已经过期,资源将重新加载 用户访问的缓存文件可能不是最新的,需要重新加载 Chrome 的预加载技术现在的 chrome 聪明到根据你的浏览记录,预测

2015-01-05 20:34:06 179

原创 `Idea`奇怪错误

/Library/Java/JavaVirtualMachines/jdk1.8.0_11.jdk/Contents/Home/bin/java -Didea.launcher.port=7538 "-Didea.launcher.bin.path=/Applications/IntelliJ IDEA 13.app/bin" -Dfile.encoding=UTF-8 -classpath "/

2015-01-05 20:23:32 257

原创 [零基础学python]python开发框架

"One does not live by bread alone,but by every word that comes from the mouth of God"--(MATTHEW4:4)不管是python,还是php,亦或别的做web项目的语言,乃至于做其它非web项目的开发,一般都要用到一个称之为什么什么框架的东西。框架的基本概念开发这对框架的认识,由于工作习惯和

2015-01-05 20:11:46 657

原创 [gist]moz-request.js

from http://oyanglul.usvar Request = require("sdk/request").Request;var request = function(url, method, data){ var res = $.Deferred(); Request({ url: url, content: data,

2015-01-05 19:57:20 166

原创 WebGL 3D on iOS8 正式版

今天iOS8终于正式发布了,升级了手头设备后对我来说最重要的就是测试WebGL的3D是否真的能跑苹果的系统了,跑了多个HT for Web的3D例子都非常流畅,比Android刚支持WebGL时好太多了,基本还没发现什么问题,苹果做事还是值得肯定,要嘛不做,要做就做真正能用的WebGL。以下是跑HT for Web的3D网络空间拓扑图在iphone5上的截图和视频操作效果,自然不如PC上流

2015-01-05 19:43:49 208

原创 SystemTap 学习笔记 - 安装篇

在安装前,需要知道下自己的系统环境,我的环境如下:uname -r2.6.18-308.el5Linux 2.6.18-308.el5 #1 SMP Tue Feb 21 20:06:06 EST 2012 x86_64 x86_64 x86_64 GNU/Linux安装为了部署 SystemTap,需要安装以下两个 RPM 包:systemtap syste

2015-01-05 19:34:58 291

原创 Ruby on rails 入门胡来版 (一) 准备工作

批爱吃皮无力,爪哇企业看你。五霸七雄闹外泊,各家都有神作。给他哈勃再火,榜上题名有你?加班熬夜是自己,说甚天下第一。一 开场介绍比划之前,先来给各位大爷介绍一下。Ruby on Rails,简称Rails,是一个使用Ruby语言写的开源Web應用框架,它是严格按照MVC结构开发的。它努力使自身保持简单,来使实际的应用开发时的代码更少,使 用最少的配置。R

2015-01-05 19:25:15 179

原创 NSObject 的 load 方法

分享一些我对 NSObject 的 +load 方法的一些理解。调用时机在每个类和类别初始化的时候都会调用,子类不会重载父类的 +load ,两个都会调用这个方法。调用顺序各个 +load 方法遵守苹果文档所说的顺序:The order of initialization is as follows:All initializers in any frame

2015-01-05 19:05:00 158

提示
确定要删除当前文章?
取消 删除