hursing的博客

我不会告诉你他是一只葵鼠哒 O(∩_∩)O

排序:
默认
按更新时间
按访问量

程序员内部培训与个人发展杂谈

前言 文中的培训均指代内部技术培训 本文是对《如何优化程序员的内部培训》的补充。http://blog.csdn.net/hursing/article/details/50147549 例子是针对iOS、Android客户端开发的,但不影响前后端的同学理解。 培训的发展过程培训的内容是技术知识,...

2017-07-18 17:16:17

阅读数:5521

评论数:10

Git分支管理规范

基本原则 分支命名不能包含中文,英文不行就用全拼,不要在乎长度。 不同渠道或不同语种的版本,应该通过工程配置来区分打包,用架构设计来消灭“不同版本使用不同分支”的做法。 分支既然叫“分支”,就是要被“修剪”的。达成目的后的分支都该删除,否则就像僵尸代码。 命名格式总览 分支类型...

2017-12-13 10:42:33

阅读数:470

评论数:0

移动开发代码规范与格式化工具

原则有几个原则可以帮助大家不看文档也能写出符合规范的代码: 如果是修改已有的代码,跟周围的风格一致 如果是使用系统SDK来开发,除非特别说明,风格要和系统SDK一致 新建文件写代码都按规范来写;旧文件中不符合规范的代码,找个合适的时间批处理格式化。 学会IDE如何设置默认的代码格式 如果无公司标准...

2017-12-02 09:58:07

阅读数:610

评论数:0

ViewPager实现Recycle机制和响应notifyDataSetChanged

1.目标主界面要求水平移动翻页效果,每次只能翻一页,可以翻无数页。2.实现思路针对“每次只能翻一页”这个要求,简单使用SDK的话只有用ViewPager。ViewPager的PageAdapter是没有实现RecyclerView的ViewHolder.itemView回收机制的。即使是子类Fra...

2017-01-10 11:50:54

阅读数:1429

评论数:0

Web开发须知的浏览器内幕 缓存与存储篇(2)

本文禁止转载,由UC浏览器内部出品。3. HTTP Cache综述HTTP Cache是完全按照IETF规范实现的,最新的RFC规范地址是 https://tools.ietf.org/html/rfc7234。它的作用就是保存可缓存的响应以备重新使用,在下次请求时可减少响应时间和网络带宽。只有...

2016-09-23 11:06:55

阅读数:3321

评论数:0

Web开发须知的浏览器内幕 缓存与存储篇(1)

本文禁止转载,由UC浏览器内部出品。0.前言大纲浏览器缓存和存储相关的功能分为四类: 加载流程 Memory Cache Application Cache(简称AppCache) HTTP Cache Cookie Storage Javascript API Web Storage Ind...

2016-09-23 11:02:28

阅读数:4099

评论数:0

客户端开发设计总结

1 基础设施程序最基本的处理就是数据IO以及为了并行计算所做的操作,它们通常会作为程序的底层框架,供上层使用。2 交互从PC到现在的移动设备还有VR,人机交互中的输入设备在不断自然化,可是展示界面的元素仍然还是这几种:静态文本、按钮、列表、输入框、选择菜单、进度提示、滚动条、标签页。每种UI框架都...

2016-09-19 16:01:04

阅读数:6580

评论数:2

《Linux命令行与Shell脚本编程大全第2版》读书笔记

第1章可以cat /proc/meminfo文件来观察Linux系统上虚拟内存的当前状态ipcs命令专门用来查看系统上的当前共享内存页面Ubuntu使用一个表来管理在系统开机时要自动启动的进程,在/etc/init.d目录,可将开机时启动或停止某个应用的脚本放在这个目录下。这些脚本通过/etc/r...

2016-08-17 13:47:35

阅读数:2234

评论数:0

HTTP(S)网络框架的设计

0.烦恼 操作系统提供的网络接口都相对接近底层,使用时有诸多不便。但是我们不能期望系统API做得很高级,因为没有绝对合适的网络库,必须定制化从而达到适合某业务下的最佳性能。 1.需求 移动app使用网络库的场景不外乎三个: 和自家(CS架构的)服务器通信 下载文件 Web浏览 从方便和可扩展性出发...

2016-08-15 15:07:02

阅读数:3479

评论数:1

如何优化程序员的内部培训

本文的主旨是列内部培训的提纲,特别对培训他人和写作技巧写得细一些,让大家明白很多东西可以培训和怎么传播知识。 虽然题为培训,但我还是想说一句:程序员其实不需要培训,只需要指点。原因有三: 1. 程序员的工作都必须去实践,几乎没有纯理论的领域。 2. 由于互联网的开放性,程序员能找到大量的资源...

2015-12-21 10:06:07

阅读数:9438

评论数:11

跨平台客户端开发经验总结

1 前言因为《猫科动物和企鹅在窗口外看机器人吃苹果》这出戏太美,很多公司都希望能全平台同时发布新版本app,还要能复用代码以降低开发成本。这迫使一部分已熟悉某个平台的先锋们转岗到另一个平台边学习边开发。最终有少部分人在每个战场都打拼过,从而能全盘考虑以设计出良好的可复用架构。 革命总会出新知,今...

2015-09-22 16:25:21

阅读数:8343

评论数:13

boost::asio的http client应用笔记

1 踩过的坑1.1 io_serviceboost::asio::io_service::run()会一直运行到没有任务为止,如果中途调用stop(),则所有等待中的任务会立刻执行。解决方案是用run_one(),即while (keep_running) io_service_.run_...

2015-07-09 10:16:24

阅读数:8931

评论数:5

boost全平台编译方法

0.通用规则boost自带一套编译工具bjam,bjam本身是跨平台的,并且也要自行编译出来。在boost目录下有bootstrap.sh和bootstrap.bat两个脚本分别用来编译*nix和windows下的bjam。bootstrap脚本可以传入参数,以在编译bjam过程中生成特定的编译b...

2015-06-11 12:00:25

阅读数:39428

评论数:23

libevent2笔记(Timer和Http Client的应用和注意点)

1.初始化Windows上需要自己初始化系统网络库,即调用WSADATA WSAData; WSAStartup(0x201, &WSAData);结束使用时再WSACleanup();另外还需要初始化线程设置 windows上 evthread_use_windows_threads...

2015-05-02 16:01:15

阅读数:5238

评论数:0

shell终端多目录间快速cd工具

1.解决的问题当需要在多个目录间cd的时候,需要输入一大串的路径。例如在不同的项目、不同的分支代码目录跳转,在桌面和文档目录跳转cd ~/Desktop/project_trunkcd ~/Download/cang_lao_shicd ~/code/branch-1.11/cd ~/code/b...

2015-03-06 12:53:43

阅读数:3559

评论数:1

脚本式快捷键:一个简化shell终端命令输入的工具

1.解决的问题当你需要一次输入很多个命令的时候,例如一次去几个目录删除文件cd dir1rm file1.tempcd ../../dir2rm -rf dir3当你懒得输入一个好长的命令或者直接就记不住那么长的命令的时候,例如生成ctagsctags --languages=C++ --excl...

2015-03-04 14:46:30

阅读数:3882

评论数:0

libevent2笔记(linux、windows、android的编译)

0. 前言我使用的版本是libevent-2.0.21-stable。高级的应用还是得看官网文档http://www.wangafu.net/~nickm/libevent-2.0/doxygen/html/1. 编译1.1 Linux版编译在目录下./configure && m...

2015-02-26 15:56:22

阅读数:7148

评论数:2

韩国水原市出差见闻

1 出发本地出差的地方是京畿道(Gyeonggi-do)水原市(Suwon-si)。“京畿道”:京是首都,畿指靠近国都的地方,道相当于省。京畿道是包围着首都首尔和仁川的省(就像河北包围北京和天津),省会设在水原市。办理韩国的旅游签证需要7个工作日左右,允许停留时间是30天。我停留了满满的一个月。入...

2014-12-10 17:29:34

阅读数:9102

评论数:1

Windows SublimeText内使用NDK编译Android so(不用cygwin)

测试环境:sublime text version 2.0.2, build 2221 和 sublime text stable channel, build 3065 (version3)Win7 64位android-ndk-r10c windows x86_64步骤:1.设置好ndk环境变...

2014-11-19 16:31:01

阅读数:4389

评论数:1

结果导向和自管理的联系

“只要把任务做完做好就行,为什么我还要考虑自管理这个琐事?” ——这估计是很多管理者在推行“自组织自管理”时被提问的问题。幸好会有人提,憋在心里那就永远解决不了问题。实际上,“把任务做好”这种结果导向的口号,和自管理的推行并没有冲突。我们用实际的例子来释疑。老大给了菜鸟一个任务,原话是:你写些东西...

2014-10-18 11:32:02

阅读数:2908

评论数:1

Chromium项目文化(续)

文化 文化一词,涵盖的是设计思想/理念、工作原则等精神领域的追求,也可以说是技术情怀,它是如此大型的Chromium项目能良好运作的基石,所以单独做一个总结。 1.竖立宗旨 把开源项目也运作得一家公司,对应于企业文化,Chromium提出了自己的宗旨:为用户创造更安全、更快速和更稳定的上网体验。阅...

2014-09-17 18:07:34

阅读数:3434

评论数:1

网页浏览器发展方向总结

经过国内厂商的几轮营销轰炸,不少人都知道了浏览器有内核的概念,那么相对地,就有外壳/应用层(Shell)。十年前,用户就只对外壳有认知,直到今天这几个东西仍是标配:在HTML5/CSS3的时代,内核向Web OS发展,用户感受到在浏览器里能体验的东西越来越多。W3C被开源项目推进而制定出了很多新标...

2014-09-02 14:00:22

阅读数:5296

评论数:3

iOS社交app技术合伙人笔试题

理想状况当然是找到有管理能力且还在写代码的架构师了,然而如果有这样的人,他自己能发起项目了,你要拉上他还真难。满足一定条件就行了,别追求完美。还有比这更完美的吗?请生产这样的机器人:性格开朗(开朗≠外向),平易近人表达能力好,易于沟通交流有设计能力,有攻关能力知识范围广,跨职能团队合作顺畅在业界有...

2014-08-29 17:25:11

阅读数:4138

评论数:0

Chromium的沙盒Sandbox

代码位置:http://src.chromium.org/viewvc/chrome/trunk/src/sandbox/Android使用和Linux一样的代码。http://src.chromium.org/viewvc/chrome/trunk/src/sandbox/linux/1.设计目...

2014-08-23 14:28:39

阅读数:5722

评论数:0

Chromium的智能指针/引用计数/Callback/Bind

本文算是个笔记整理,不解释基本概念,有做相关工作的人才看懂哦。一、自动释放指针智能指针分两类,对有和没有引用计数实现的类做区分。没有引用计数的类,使用scoped_ptr。这个模板类中的D是指Deleter,代表如何删除T。引入Deleter最简单的原因就是对数组需要使用delete[]操作符,实...

2014-08-23 14:24:14

阅读数:5141

评论数:0

Android4.4系统浏览器Chromium实现的加载模块与流程

本文只描述Http网络请求相关的信息,Https、Spdy、file、ftp、websocket等的类型只提及在哪里出现关系分支。 下面是加载流程的xmind导出图,最好另存为到本地用看图软件看。看图提示:从上往下是根据堆栈倒置过来画的流程“..."表示省略IPC机制的代码图中有一些地方...

2014-08-21 11:36:45

阅读数:7832

评论数:1

Chromium项目文化

Chromium是一个开源的浏览器项目,官方网站列出了许多文档。 官网最值得学习的地方:许多指引写得非常细致,能以老师教导学生的态度去叙述如何工作,而不是为了写文档而写文档,例如“不要害怕问问题,总有人会在IRC上帮到你”。多数文章写得很好很凝练,没法抽取主要信息,全文翻译又太耗时,不如直接看原文...

2014-07-22 17:14:10

阅读数:5825

评论数:1

在Android上玩google-breakpad(崩溃日志收集)

首选得到代码svn co http://google-breakpad.googlecode.com/svn/trunk breakpad

2014-07-03 17:18:21

阅读数:19061

评论数:5

非计算机类专业毕业生五年程序员职业生涯的回顾和思考

0.前言看到过几篇程序员的职业生涯过程,我也来当一回写手吧,希望对和我一样曾经磕磕碰碰过的人有帮助。纪念大学毕业五周年。1.从校园启程我的大学专业全称是无机非金属材料工程,这专业多与玻璃、水泥、陶瓷打交道,高大上一点的是各种珠宝,前沿一点的是纳米材料。想先声明的是,我不是在黑自己的专业,只是每个人...

2014-06-18 00:09:15

阅读数:21550

评论数:57

Android程序内存占用检测

1.检查系统总内存 liuhx@uc ~ $ adb shell cat /proc/meminfo MemTotal: 840868 kB MemFree: 457344 kB Buffers: 1744 kB Cached: ...

2014-05-24 11:39:05

阅读数:6483

评论数:0

Android系统应用信息中存储和缓存的计算方法

进行如下操作: 设置->应用->选择一个应用->应用信息 会到达如下界面: 可以看到这个应用占用的磁盘空间。 先说结果,这几项有计算哪些文件(夹)。 1.应用,由三项组成 /data/data/com.myapp/lib,即so库文件夹大小/data/app/com.mya...

2014-05-22 16:42:52

阅读数:9172

评论数:4

SPDY、HTTP/2、QUIC协议

1 SPDY协议 1.1 概述 SPDY为speedy(单词原意:快速的)的缩写,读音也就是speedy。 SPDY协议已发布过4个草案,分别为版本1、2、3、3.1。目前版本4已在试验阶段,但未发布,Chromium里已有一些针对版本4的代码。 SPDY对比HTTP的优势: 复用连接,可在一个...

2014-04-02 11:27:20

阅读数:57318

评论数:7

Ubuntu+Nginx+PHP的最简搭建方法

前言:百度出来的结果好坑爹,而且某些文章说别人坑爹,可他自己也坑爹。求业界良心啊。还是谷歌靠谱。 系统环境:Ubuntu 13 和 Linux Mint 15都通过。 先安装: sudo apt-get install nginx php5-fpm 我是在新安装的Ubuntu13上测试通过...

2014-03-19 14:15:58

阅读数:25373

评论数:2

Linux Mint + Nginx 1.5.11搭建SSL/HTTPS/SPDY服务器

Apache搭建的SPDY服务器(Linux Mint + Apache2.2搭建SSL/HTTPS/SPDY服务器)很不爽,因为Apache只能用2.2版本,SPDY也只支持到3,不支持3.1。所以用Nginx好些。 用以下脚本安装: wget http://nginx.org/download...

2014-03-11 18:23:27

阅读数:3983

评论数:4

使用支持SPDY协议的Wireshark截包(含spdyshark插件)

本文基于前三篇文章,请先阅读: Linux Mint + Apache2.2搭建SSL/HTTPS/SPDY服务器Wireshark+Apache2.4解密SSLv3Linux Mint下编译安装支持SPDY协议的Wireshark

2014-03-07 10:51:38

阅读数:6775

评论数:1

Linux Mint下编译安装支持SPDY协议的Wireshark

做成脚本了,保存成文件,sudo ./xxx.sh即可。 #!/bin/bash # 如果没有加sudo,提示错误并退出 if [ "x$(id -u)" != x0 ]; then echo "Error: please run this scr...

2014-03-06 14:15:40

阅读数:3442

评论数:0

Wireshark+Apache2.4解密SSLv3

首先说明一下,网上很多资料没提到下面两点: Wireshark只能解密SSL,不能解密TSLWireshark不能解密应用了DH(Diffie–Hellman)密码的SSL密文 因为这两个原因,就需要好好配置apache了。还有两点要注意: Apache2.2有bug没能禁用TSL,所以...

2014-03-05 15:09:37

阅读数:8320

评论数:4

Linux Mint + Apache2.2搭建SSL/HTTPS/SPDY服务器

1、安装apache sudo apt-get install apache2 2、配置SSL,支持HTTPS 这步的作用是启用SSL模块和令网站支持SSL协议。 cd到 /etc/apache2/sites-enabled ,然后执行 sudo ln -s ../sites-available/...

2014-02-27 14:43:50

阅读数:4860

评论数:0

AOSP和Chromium的Android WebViewTest

AOSP的在$android4.2/frameworks/base/tests/WebViewTests/目录下,可用eclipse导入工程。 就几个文件。最下面的是Activity,没啥特别,就是在LinearLayout里面放了WebView。 JavaBridgeTestBase是所有T...

2014-01-26 14:40:19

阅读数:3930

评论数:8

Linux配置Apache2的经验总结

apache原指http server程序,后来成为了改程序的组织名,所以把原程序名定成了httpd,在2.0版后又叫apache2。目前在windows上还叫httpd,在debian/ubuntu/linux mint系列的linux上,程序名是apache2。所以网上说httpd的资料,对a...

2014-01-26 10:19:06

阅读数:29031

评论数:0

Android Canvas drawText实现中文垂直居中

目标: 把中文字符绘制到目标矩形的居中位置。 问题: Android的Canvas绘图,drawText里的origin是以baseline为基准的,直接以目标矩形的bottom传进drawText,字符位置会偏下。这样写代码: @Override public void onDraw (Can...

2014-01-24 10:32:55

阅读数:63265

评论数:12

Ubuntu配置apache2.4的限速功能

过程都写成脚本了,原理都写在注释里,大家懂的。 #!/bin/bash #cd到临时目录创建配置文件 cd /tmp (cat <<EOF SetOutputFilter RATE_LIMIT SetEnv rate-limit 30 EOF ) > rate...

2014-01-22 15:17:12

阅读数:4348

评论数:0

Ubuntu/Linux Mint下命令行一键安装Chrome浏览器的脚本

把下面的脚本保存为xxx.sh,然后 sudo sh xxx.sh wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - sudo sh -c 'echo "deb ...

2014-01-16 15:04:36

阅读数:11011

评论数:2

我的2013,beyond高级程序员

一句话总结2013,就是挣脱了高级程序员的桎梏,看到了更高层次的职业形态,或者说我对自己的目标定位更清晰了。简单来说,就是要做更多的管理工作。这是说的管理不仅仅是带团队,还有管自己。 1.职业规划:技术能力发展终得做管理 按照自己的职业规划,近年都不关注管理,全力锻炼技术。这种“一边倒”...

2013-12-30 21:44:23

阅读数:4201

评论数:3

Ubuntu下定时提交代码到SVN

有两个用途,一是偷懒不用去提交代码,二是在远程服务器上使用以作定期备份。 sudo gedit /etc/crontab 打开后加入这行 0 * * * * my_user_name my_script_path表示每个整点以my_user_name身份执行my_script_path...

2013-12-25 13:55:39

阅读数:3204

评论数:0

ssh到Ubuntu安装realvnc并加入自动启动和设置密码

用中英文在百度和google都搜不出答案,是真没人搞过还是我没用对关键字?转载请注明出处:http://blog.csdn.net/hursing 问题是这样的: 一台Ubuntu服务器只有ssh,没有vnc。如何远程安装vnc并能够连接成功? 答案: ssh登录后,运行 sudo apt...

2013-12-11 16:40:32

阅读数:7451

评论数:2

超简单的短网址php实现

网上搜出来的都太复杂了,还是自己写算了。环境:php,apache2,linux操作:把下面的代码粘贴到index.php,放在一个只有1个字符(如u)作为文件夹名的二级目录里即可,为此目录增加写权限,图省事就chmod 777 u  (根目录也行,为避免影响别的文件可能要改改代码)结果:把 ht...

2013-12-07 12:32:09

阅读数:7753

评论数:2

技术团队工作外娱乐放松活动方案收集

程序员的收入其实不低,但很多人自称屌丝,主要是因为加班多,而且大部分工作没有成就感。他们把这种苦逼情绪放大后,就这样加入了屌丝行列。但是,也会有很多好公司具有人性化的管理,特别是小型公司和创业公司,会在闲的时候组织各种活动,舒缓忙时的苦闷。因为追求高执行力并且工作安排合理,闲和忙都相对集中,所以闲...

2013-12-04 11:39:37

阅读数:4167

评论数:2

敏捷开发的Scrum晨会实践

hursing所在的公司推行敏捷开发有两年多了,其中最让人直接感受到的就是scrum晨会。从生搬硬套到过程创新,令大家由抵触变成积极响应,这个过程真的很花费心思。 09年12月,hursing开始在自己的团队推行晨会。当时团队是刚成立的,很小,包括hursing自己在内的2个老人+2个新人,基...

2013-12-02 17:19:43

阅读数:5064

评论数:1

接口测试的用例设计思路

1.概述 单元测试是被测的函数都只作用于其所属的类,接口测试是测试多个类/模块间的相互作用,即目标是被测函数如何被调用以及调用后会对外产生什么结果。 本文以Android SDK的android.webkit包为例,讲述不同类型的接口的用例设计思路。这个包以WebView为核心类,其函数作用了We...

2013-11-26 16:07:36

阅读数:10797

评论数:7

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