手机浏览 RSS 2.0 订阅 膘叔的简单人生 , 腾讯云RDS购买 | 超便宜的Vultr , 注册 | 登陆
浏览模式: 标准 | 列表查看akuma的文章

[转]Developer Time

 其实这篇文章的中文翻译真的好理解,所以我就不翻了啦。懒得翻译的人,可以直接看google translate页面:http://translate.google.com.hk/translate?act=url&hl=en&ie=UTF8&prev=_t&sl=auto&tl=zh-CN&u=http://pydanny.com/developer-time.html

OK,我下面贴的是原文:

This blog post got started with a tweet.

That tweet got retweeted a lot by developers. And system administrators. And database administrators. And any creative type.

As of December 7th, 2012, it had been retweeted over 500 times, a personal best. Obviously I struck a chord that resonated with a lot of people.

Why did this tweet resonate with so many people?

What I said in that tweet was not new - dozens if not hundreds of others have tweeted similar thoughts before and gotten many retweets. Heck, it's been written about in blogs and articles for years, either as a huge rant or often as an effort to politely educate others on how to set up a developer/operations/creative shop.

I think this is because developers/engineers/creatives (and good managers) know that even a tiny distraction to someone "in the zone" takes more than just the 3-5 minutes it takes for you to finish a question and get an answer. Plus, because you are trying to remember the pieces in your head, you won't be able to give this issue your full attention. Which causes a whole other set of issues.

We know this. Good managers know this. Good companies live off of it.

And yet this remains a huge problem for many of us because the distractions keep happening. Maybe it's because your manager doesn't understand this issue, or you have a team mate who can switch in-and-out of the zone with impunity. Or because you foolishly leave the chat/IRC/phone on and you get pinged.

How do we fix it?

We can't.

I know this sounds depressing, but I'm being realistic. Here's some reasons that apply:

  • Unless you are fortunate enough to be working on a solo effort, you are working with other developers/engineers/creatives. And if they can't ask you questions or inform you about critical stuff then you or they can waste hours.
  • Meetings, short or long, online or in person, are a necessary part of any operation. If not with your boss or underlings, then with clients or users.
  • Your boss/co-workers/underlings/kids/pets/parents don't get it that you can't be interrupted.
  • As a freelancer, you can't be inaccessible to existing or potential clients.

No really, how do we fix it?

Doesn't matter how frequently you ask the the question (or rant about it), I don't believe this problem can be really solved. However, here are some possible mitigations:

1. Maker's Day

My friend, Craig Kerstiens describes how Heroku gives engineers a full day each week (Thursday) to focus on getting stuff done. No meetings, no standup, just 100% uninterrupted quiet time to focus on making stuff.

Suggest this at your company and see how it goes!

2. Blocks of Time

As of 2010, Eldarion broke up their work day into at least two sizable chunks of uninterrupted activity. Between the chunks you communicated with co-workers. The advantage of this approach is if you went down the wrong path or someone had a critical question, the period between chunks addressed this issue.

In theory this is how a lot of places work (lunch being the break). The reality is that the distractions often still pile in. For Eldarion it worked because everyone was remote.

3. New Desk Location

If working at an office, asked to be moved to a place with less foot traffic. The downside to this is you can end up in noisy, cold, dark places.

4. New Job

Switch to a new job that promises less distractions.

Maybe I'm wrong

I'm more than happy to be proven wrong.

Maybe there is a way to get 4-6 hours a day of uninterrupted maker's time every work day.

If you've got any ideas, let me know!

-------

没有什么正确的东西,无非就是你自己怎么选择。和你自己是怎么看待被打断的。

小菜谱

 想不到,我的http://xiaocaipu.com还没有上线,我的微信功能却已经正常在运作了。

打开微信搜索好友,如果按帐号添加,就搜索:xiaocaipu,如果搜索公众帐号,就搜:小菜谱。当然,你懒的话,就扫描这个:
大小: 31.05 K
尺寸: 376 x 376
浏览: 747 次
点击打开新窗口浏览全图
小LOGO是http://82982.com的小茗帮忙做的。。那一群设计师的朋友啊什么的,都说自己没空,我纠结啊。
 
不知道这个帐号是做什么的?那我得上好多图了。。。
先上两个简单的图吧
大小: 436.27 K
尺寸: 251 x 376
浏览: 742 次
点击打开新窗口浏览全图
大小: 431.13 K
尺寸: 251 x 376
浏览: 732 次
点击打开新窗口浏览全图
 
这些只是基础功能,还有相对比较高级一点的功能:
大小: 410.32 K
尺寸: 251 x 376
浏览: 753 次
点击打开新窗口浏览全图
大小: 432.41 K
尺寸: 251 x 376
浏览: 753 次
点击打开新窗口浏览全图
大小: 440.51 K
尺寸: 251 x 376
浏览: 684 次
点击打开新窗口浏览全图
大小: 467.44 K
尺寸: 251 x 376
浏览: 746 次
点击打开新窗口浏览全图

Tags: 小菜谱

转:PHP中利用pcntl实现多进程(模拟多线程)实例

 pcntl在很久很久之前就听过了,但是一直没有尝试着真正要用它。这不,遇到socket问题了,看socket,遇到pcntl了,再看看吧。

这里是某个人的测试代码:
PHP代码
  1. <?php  
  2. /** 
  3.  * 创建子进程入口 
  4.  * @author selfimpr 
  5.  * @blog http://blog.csdn.net/lgg201 
  6.  * @mail lgg860911@yahoo.com.cn 
  7.  * @param $func_name 代表子进程处理过程的函数名 
  8.  * @param other 接受不定参数, 提供给子进程的过程函数. 
  9.  */  
  10. function new_child($func_name)  
  11. {  
  12.     $args = func_get_args();  
  13.     unset($args[0]);  
  14.     $pid = pcntl_fork();  
  15.     if ($pid == 0) {  
  16.         function_exists($func_nameand exit(call_user_func_array($func_name$args)) or exit(-1);  
  17.     }  
  18.     else if ($pid == -1) {  
  19.         echo "Couldn’t create child process .";  
  20.     }  
  21. }  
  22. //测试处理函数, 输出$prefix连接的数组    
  23. function test($prefix$num)  
  24. {  
  25.     while ($i++ < $num) {  
  26.         echo $prefix . $i ."\n";  
  27.     }  
  28. }  
  29. //创建一个子进程    
  30. new_child("test""child process ", 100);  
  31. //父进程也开启一个与子进程同样多的循环.    
  32. test("parent process", 100);  
  33. //运行结果, 我这里运行父进程输出50个左右, 子进程开始运行.    
  34. ?>    
因为上面有作者有注释,所以我就不再多贴这篇文章的地址了。原网页的代码是错误的。我改了一下。原作者说的是:父进程输出50个左右时,子进程就开始运行了。我这边不是。我把数据改成1000后,发现父进程在950多的时候,子进程开始运行了。
原作者的博客上还有一个详细介绍:PHP扩展pcntl(进程控制以及信号处理)中文文档 
 
当然,看手册也可以,对了,风雪之隅也写过类似的文章,http://www.laruence.com/2009/06/11/930.html,他提到的优点就是:
XML/HTML代码
  1. 优点:  
  2.     1. 使用多进程, 子进程结束以后, 内核会负责回收资源  
  3.     2. 使用多进程,子进程异常退出不会导致整个进程Thread退出. 父进程还有机会重建流程.  
  4.     3. 一个常驻主进程, 只负责任务分发, 逻辑更清楚.  
然后他的代码就与上面有点区别,不过说白了还是大同小异:
PHP代码
  1. #!/bin/env php  
  2. <?php  
  3. /** A example denoted muti-process application in php 
  4. * @filename fork.php 
  5. * @touch date Wed 10 Jun 2009 10:25:51 PM CST 
  6. * @author Laruence<laruence@baidu.com> 
  7. * @license http://www.zend.com/license/3_0.txt PHP License 3.0 
  8. * @version 1.0.0 
  9. */  
  10.    
  11. /** 确保这个函数只能运行在SHELL中 */  
  12. if (substr(php_sapi_name(), 0, 3) !== 'cli') {  
  13.     die("This Programe can only be run in CLI mode");  
  14. }  
  15.    
  16. /** 关闭最大执行时间限制, 在CLI模式下, 这个语句其实不必要 */  
  17. set_time_limit(0);  
  18.    
  19. $pid = posix_getpid(); //取得主进程ID  
  20. $user = posix_getlogin(); //取得用户名  
  21.    
  22. echo <<<EOD  
  23. USAGE: [command | expression]  
  24. input php code to execute by fork a new process  
  25. input quit to exit  
  26.    
  27.         Shell Executor version 1.0.0 by laruence  
  28. EOD;  
  29.    
  30. while (true) {  
  31.    
  32.         $prompt = "\n{$user}$ ";  
  33.         $input = readline($prompt);  
  34.    
  35.         readline_add_history($input);  
  36.         if ($input == 'quit') {  
  37.                break;  
  38.           }  
  39.         process_execute($input . ';');  
  40. }  
  41.    
  42. exit(0);  
  43.    
  44. function process_execute($input) {  
  45.         $pid = pcntl_fork(); //创建子进程  
  46.         if ($pid == 0) {//子进程  
  47.                 $pid = posix_getpid();  
  48.                 echo "* Process {$pid} was created, and Executed:\n\n";  
  49.                 eval($input); //解析命令  
  50.                 exit;  
  51.         } else {//主进程  
  52.                 $pid = pcntl_wait($status, WUNTRACED); //取得子进程结束状态  
  53.                 if (pcntl_wifexited($status)) {  
  54.                         echo "\n\n* Sub process: {$pid} exited with {$status}";  
  55.                 }  
  56.         }  
  57. }  
做个笔记。
 
 
 
 

Tags: 多进程, pcntl

socket and soap

 其实本来不想定这个标题的。只是做了几个小小的测试

我用php实现了socket server,然后在命令行下做了点测试。在命令行下访问soap,并将返回值 给了客户端。

测试了一下。网速比较卡的情况下,基本在0.8秒左右 

然后我直接访问soap,打印出来的时候都差不多比命令行返回结果多了0.2秒。

这只是测试了soap请求一次。后来,我请求了两次。发现速度又快了0.1秒。

总计快了0.3秒。在命令行下用socket server返回数据好象快了一点。

-----------

文章只是我的一次记录,没有什么特别的意义。虽然不太科学,但对我来说,有三四台服务器的情况下,利用这个来交换数据还是有点用的。目前我的socket server只能用PHP实现,因为 部分代码都是靠PHP来获取数据的。本来想用go或者python来实现的,但目前没有时间。先用PHP了

 

 

备份:PhpStorm字体修改终极方案

 很久没有改过phpstorm的配色和字体方案了。小伟说,如果字体是12,那就是正常的。如果放到14就不太正常了。。。

然后找到了这个win下的配色方案,先备份一下,万一哪天就用win了呢。
原文来自:[查看](如果打不开,请直接搜索phpstorm即可),
 

其实phpstorm的字体修改跟netbeans是一模一样,  不同之处在于netbeans使用的是系统jre, 而phpstorm使用的自身的jre — window系统下是这样.

修改步骤如下.

1. 进入phpstorm安装目录下的jre, 如 PhpStorm 4.0.3\jre\jre\lib

2. 将该目录下的fontconfig.properties.src复制一份文件fontconfig.properties,并放在该目录下

3. 编辑文件fontconfig.properties,查找到下面一行:

sequence.monospaced.GBK=chinese-ms936, alphabetic,dingbats,symbol

修改成:

sequence.monospaced.GBK=alphabetic,chinese-ms936,dingbats,symbol

保存该文件后启动phpstorm, 在settings里的Editor – Colors & Fonts – Fonts里选择Monospaced字体, 大小16左右.

保存后就能看到一个完美的中英文编辑界面了.

--------

不过我用的字体和他不一样。不过也能做参考 .。

Tags: phpstorm

Records:321234567