<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[sunhangok的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sunhangok</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sunhangok]]></copyright><item><title><![CDATA[Linux学习笔记-配置自己的Web Servier]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/22714561</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/22714561</guid><author>sunhangok</author><pubDate>Tue, 01 Apr 2014 10:05:24 +0800</pubDate><description><![CDATA[1，配置Web Servier
  配置httpd daemon；
在服务器中写文档。
2，/usr/sbin/httpd 可执行文件
/etc/httpd 配置文件
/usr/local/httpd
本地的文档、网站、HTML脚本
/var/log/httpd
服务器的日志]]></description><category></category></item><item><title><![CDATA[ubuntu学习笔记]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/16337833</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/16337833</guid><author>sunhangok</author><pubDate>Fri, 15 Nov 2013 11:24:34 +0800</pubDate><description><![CDATA[对于笔记本、台式机等非服务器的系统服务优化
linux的各大发行版，都有些不必要的服务被默认开启了，针对ubuntu，我们可以采用选择性关闭的方法加速起动，提高系统性能。
这里我们安装一个软件：


sudo apt-get install sysv-rc-conf


然后这样起动：

代码:
sudo sysv-rc-conf




在这个软件里，可以用键盘的]]></description><category></category></item><item><title><![CDATA[对Webp的一些小认识]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/11471927</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/11471927</guid><author>sunhangok</author><pubDate>Mon, 09 Sep 2013 10:30:09 +0800</pubDate><description><![CDATA[WebP is supported starting from Android 4.0+
http://developer.android.com/guide/appendix/media-formats.html

According to the WebP mailing list, they are working on incorporating WebP support into ]]></description><category></category></item><item><title><![CDATA[vim的学习总结]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/10151737</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/10151737</guid><author>sunhangok</author><pubDate>Wed, 21 Aug 2013 16:29:18 +0800</pubDate><description><![CDATA[在工作时使用ubuntu系统，有时会接触到vim，今天学习了vim如何使用，总结一下。


vim分普通模式，可编辑模式，命令行模式。


在控制台中输入vim filename，可以打开或者创建一个vim。


移动上下左右键或者滚动鼠标可以看内容。输入dd，可以删除当前行。


ctrl+f向下翻页，ctrl+b向上翻页，ctrl+d向下翻半页，ctrl+u向上翻半页。]]></description><category></category></item><item><title><![CDATA[protected的一些功能]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/10078095</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/10078095</guid><author>sunhangok</author><pubDate>Mon, 19 Aug 2013 18:14:37 +0800</pubDate><description><![CDATA[java的访问限制有private、protected、public。这里只想进一步认识一下protected。
我对protected有4个疑问：
1，在相同包中，是否可以调用其它类的protected函数？
2，在不同包中，是否可以调用其它类的protected函数？
3，在子包中，父包的类能否调用子包的类的protected函数？
4，在父包中，子包的类能否调用父包的类的prote]]></description><category></category></item><item><title><![CDATA[如何在android上去控制开发进度]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/9241011</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/9241011</guid><author>sunhangok</author><pubDate>Thu, 04 Jul 2013 11:55:36 +0800</pubDate><description><![CDATA[这次android的壁纸软件1.0版本终于可以上线了，软件的功能基本上实现了，但是用户体验不太好。在整个开发阶段和测试阶段，出现了很多预料之外的事情，比如size是1M多的json文件解析、高清图片导致OOM、莫名其妙的崩溃等。这些意外无一不影响开发计划，增大压力，最直接的表现是晚上加班和周末加班。


写代码和修改代码远比想象中的难控制。用户体验增加了代码的细节处理难度、逻辑处理难度，an]]></description><category></category></item><item><title><![CDATA[每天总结一点点]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/8759336</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/8759336</guid><author>sunhangok</author><pubDate>Thu, 04 Apr 2013 17:31:25 +0800</pubDate><description><![CDATA[1，我的me525手机刷机后，插上usb接口到电脑上，eclipse不能识别不能调试开发，豌豆荚也不识别。仔细检查手机设置中的开发者选项和usb调试都已经是开的状态啊。最后把开发者选项和usb调试关掉后重开，eclipse和豌豆荚就识别了。总结：有时出了问题，只需重启一下就可以了。]]></description><category></category></item><item><title><![CDATA[手机屏幕的总结]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/8720933</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/8720933</guid><author>sunhangok</author><pubDate>Tue, 26 Mar 2013 11:36:37 +0800</pubDate><description><![CDATA[像素
尺寸(英寸)
机型




1920x1080
4.99
I9500


1280x720
5.5
GALAXY Note II N7100


1280x720
4.8
I9300 GALAXY SIII


1920x1080
5
索尼L36h


800x480
4.3
三星I9100 GALAXY SII


1280×]]></description><category></category></item><item><title><![CDATA[对软件开发的总结]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/8716169</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/8716169</guid><author>sunhangok</author><pubDate>Mon, 25 Mar 2013 11:30:09 +0800</pubDate><description><![CDATA[旧思路：
看完需求，就思考软件架构。
产生问题：
技术攻克点的解决会颠覆架构。
后期bug修改时会不断改架构。
解决思路：
看完需求，思考技术攻克点。
架构是方便团队协调，思路整理的。它需要消耗软件时间和空间。
软件由代码组成，多思考代码，在代码的基础上再产生架构。]]></description><category></category></item><item><title><![CDATA[公钥私钥]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/8684095</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/8684095</guid><author>sunhangok</author><pubDate>Sun, 17 Mar 2013 16:59:08 +0800</pubDate><description><![CDATA[我也刚学，有这样一个例子给你看看，很有用：
RSA算法概述如下： 
找两素数p和q 
取n=p*q 
取t=(p-1)*(q-1) 
取任何一个数e,要求满足e<t并且e与t互素（就是最大公因数为1） 
取d*e%t==1 

这样最终得到三个数： n d e 

设消息为数M (M <n) 
设c=(M**d)%n就得到了加密后的消息c 
设m=(c**e)%n则 m == M，从而完成对c的解]]></description><category></category></item><item><title><![CDATA[java的线程的几种状态]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/8674028</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/8674028</guid><author>sunhangok</author><pubDate>Thu, 14 Mar 2013 16:53:35 +0800</pubDate><description><![CDATA[]]></description><category></category></item><item><title><![CDATA[对java中的wait,notify,synchronized的总结]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/8673689</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/8673689</guid><author>sunhangok</author><pubDate>Thu, 14 Mar 2013 16:21:09 +0800</pubDate><description><![CDATA[条件：N个Thread的run方法同时要synchronized一个lock。
1，当某1个线程调用notify函数，则这个线程在run函数被执行完毕前，其它线程并不会被调起。
2，当被阻塞的线程只有synchronized，没有调用wait函数，当其它线程释放锁后，这个线程会在等待队列中等待重新唤起。
3，当调用notifyAll时，其它所有线程（包括通过synchronized被阻塞的，]]></description><category></category></item><item><title><![CDATA[对做软件和从事IT行业的态度]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/8617515</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/8617515</guid><author>sunhangok</author><pubDate>Wed, 27 Feb 2013 14:39:09 +0800</pubDate><description><![CDATA[有洁癖，要求产品和内部架构和代码有清洁感。让这个产品能够提供给用户一些纯洁的功能，让内部架构模块清晰互相协调，让代码读起来顺畅看起来漂亮。这些都是发自我内心的想法。


但是...


人的本质有七宗罪（贪食、色欲、贪婪、伤悲、暴怒、懒惰、自负及傲慢），产品实现功能最能黏住用户的是满足人的各种欲望。所以产品中有美女诱惑图片等各种低俗的东西。这和我的洁癖的本质相冲突，而导致我和公司的业务]]></description><category></category></item><item><title><![CDATA[android中的handler是异步操作（测试后的结论）]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/7976117</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/7976117</guid><author>sunhangok</author><pubDate>Thu, 13 Sep 2012 18:15:06 +0800</pubDate><description><![CDATA[在android工程中调用handler的sendMessage函数，是不是异步操作？我带着这样一个好奇的心做了一个测试。
 
在activity中添加一个按钮，并且添加它的事件，其中handler的sendMessage函数是在一个新开启的线程中执行：
Button btn = (Button)findViewById(R.id.btn1);
        btn.setOnClickL]]></description><category></category></item><item><title><![CDATA[android的service的研究]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/7975819</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/7975819</guid><author>sunhangok</author><pubDate>Thu, 13 Sep 2012 17:24:13 +0800</pubDate><description><![CDATA[当在手机设置中主动停掉service时，该service的onDestroy函数会不会被调用？我做了以下实验。
定义MyService类，并在manifest里边做声明。MyService类的定义如下：
public class MyService extends Service {

	@Override
	public void onCreate() {
		super.onCreate(]]></description><category></category></item><item><title><![CDATA[java 滚动条显示在最下边]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/7891743</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/7891743</guid><author>sunhangok</author><pubDate>Tue, 21 Aug 2012 15:48:16 +0800</pubDate><description><![CDATA[mListMode.addElement(msg.getMessageObj().toString());
     Point p = mList.indexToLocation(mListMode.getSize() - 1);//获得index的位置  
     JScrollBar jScrollBar = mScrollPane.getVerticalScrollBar();//获得垂]]></description><category></category></item><item><title><![CDATA[objective-c的语法详解(objective-c的历史)]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/7703703</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/7703703</guid><author>sunhangok</author><pubDate>Fri, 29 Jun 2012 20:42:07 +0800</pubDate><description><![CDATA[现在开始做iphone应用，开始接触objective-c语言。对于经历过VC，java的我来说，objective-c的语法给了很多新鲜感。现在就由最基础的方式来学习objective-c吧。在网上找到一篇介绍Objective-C历史的文章，现翻译后的内容如下。


在介绍一个新的错综复杂的编程语言之前，我们很值得花一部分时间来了解语言的历史和它的价值。在这一章节（Objective-C]]></description><category></category></item><item><title><![CDATA[安装ubuntu的方法]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/7330046</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/7330046</guid><author>sunhangok</author><pubDate>Wed, 07 Mar 2012 19:17:23 +0800</pubDate><description><![CDATA[实现机器上双系统（windows，ubuntu），先安装windows，然后通过wubi或者硬盘方式安装ubuntu。


1，wubi安装方式
在磁盘中腾出30G左右空间用来安装ubuntu；
下载ubuntu的iso，并且把iso装载到虚拟光驱中；
通过虚拟光驱打开iso文件，找到wubi.exe，启动wubi.exe；
按照向导进行安装即可；
2，硬盘安装方式和wubi安装方]]></description><category></category></item><item><title><![CDATA[项目经理的经验]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/6837869</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/6837869</guid><author>sunhangok</author><pubDate>Fri, 30 Sep 2011 16:21:36 +0800</pubDate><description><![CDATA[本人做项目经理工作多年，感到做这个工作最要紧的就是要明白什么是因地制宜、因势利导，只有最合适的，没有什么叫对的，什么叫错的，项目经理最忌讳的就是完美主义倾向，尤其是做技术人员出身的，喜欢寻找标准答案，耽误了工作进度，也迷茫了自己。以下是本人一些做项目的个人体会，写出来供大家指点，]]></description><category></category></item><item><title><![CDATA[通过这一项目进行的总结]]></title><link>https://blog.youkuaiyun.com/sunhangok/article/details/4266370</link><guid>https://blog.youkuaiyun.com/sunhangok/article/details/4266370</guid><author>sunhangok</author><pubDate>Sat, 13 Jun 2009 15:27:00 +0800</pubDate><description><![CDATA[1，一个优秀的程序员不仅代码写得健壮严谨，而且是在团队中能够激发效率，畅通一切的进行沟通，能够引导需求，而不是被动的去迎合需求来做代码。2，经理派给的任务在第一时间内努力去完成，拖拉到最后只能被团队所淘汰。3，写代码的过程中，充分考虑到以后的移植性。我现在一个很大的毛病是只管完成当前的功能，而把代码写得过死，当碰到后来的需求变化，情景移植，代码的问题暴漏无疑。4，虽然是C++，更应该考]]></description><category></category></item></channel></rss>