编程

并发同步知多少

找工作的时候是否经常看到要求有高并发,分布式系统的开发设计经验,或者高并发,分布式系统的开发设计经验者优先等字样,这时候情不自禁的搜索一下什么是并发,多少算高并发,再思索一下自己的经历哪些是符合这个要求的?那么什么是并发,开发中的并发是怎么处理的,简单了解一下吧。

        在介绍并发之前我们先了解一下串行和并行:
        热闹的景点,买票人很多,这时只有一个窗口售票,大家排队依次买票就可以理解为串行。
        排队人太多了,旁边又加开了几个窗口,多人在不同的窗口同时买票可以理解为并行。
    

并发之痛 Thread,Goroutine,Actor

本文基于我在2月27日Gopher北京聚会演讲整理而成,进行了一些补充以及调整。投稿给《高可用架构》公众号首发。

聊这个话题之前,先梳理下两个概念,几乎所有讲并发的文章都要先讲这两个概念:

concurrent_vs_parallel

  • 并发(concurrency) 并发的关注点在于任务切分。举例来说,你是一个创业公司的CEO,开始只有你一个人,你一人分饰多角,一会做产品规划,一会写代码,一会见客户,虽然你不能见客户的同时写代码,但由于你切分了任务,分配了时间片,表现出来好像是多个任务一起在执行。
  • 并行(parallelism) 并行的关注点在于同时执行。还是上面的例子,你发现你自己太忙了,时间分配不过来,于是请了工程师,产品经理,市场总监,各司一职,这时候多个任务可以同时执行了。
            

程序员怎样才能写出一篇好的博客或者技术文章

文章来源于 @justjavac在知乎上的邀请,要写在知乎上的回答。因为有原创,所以先首发,免得被伪原创。每天有大把的时间刷GitHub,写博客。从我大二的时候,大概六年前开始写技术博客,到现在已经有540+了,大概每年会写一百篇左右。

这个答案由四部分组成:

  1. 博客的流量来源
  2. 不同文章类型的写作要点
  3. 如何写博客
  4. 如何收集写作的灵感

SVN的标准目录结构:trunk、branches、tags

我们在一些著名开源项目的版本库中,通常可以看到trunk, branches, tags等三个目录。由于SVN固有的特点,目录在SVN中并没有特别的意义,但是这三个目录却在大多数开源项目中存在,这是因为这三个目录反映了软件开发的通常模式。

trunk是主分支,是日常开发进行的地方。

branches是分支。一些阶段性的release版本,这些版本是可以继续进行开发和维护的,则放在branches目录中。又比如为不同用户客制化的版本,也可以放在分支中进行开发。

tags目录一般是只读的,这里存储阶段性的发布版本,只是作为一个里程碑的版本进行存档。…

SVN 中trunk、tags、branches使用

  1. 简介
    1. 我们都知道SVN是管理项目源代码的软件,可以把我们开发中的各个阶段的代码记录下来,供我们以后来使用,那么SVN具体的结构你是否知道呢?下面我们来介绍一下它的基本结构
  1. Trunk、Branches、Tags、作用
    1. Trunk
      1. 这是SVN目录的主分支,表示日常开发中的项目,任何时候Trunk里包含的都是最新的开发代码。 这里的代码将会工作到你的下一个主要发布版本。
      2. Trunk应该只被用来开发将会成为你的下一个重要版本的代码。
      3. 几乎常常人们只使用trunk来存放他们的代码。发放了一个版本后继续在其上进行下一版开发。这样开发是混论的,如果出现大的Bug往往不好恢复到之前版本,因此,增加了一个Branches文件

SVN分支/合并原理及最佳实践

使用svn几年了,一直对分支和合并敬而远之,一来是因为分支的管理不该我操心,二来即使涉及到分支的管理,也不敢贸然使用合并功能,生怕合并出了问题对团队造成不良影响,最主要的原因是,自己对分支的目的和合并的方法不甚了解,这才是硬伤。

 

最近由于适配机型的需要(本人从事手机客户端的开发),需要经常接触分支和合并两项工作,突然发现这玩意整不明白很难开展工作,遂这两天着重研究了一下,有点收获,怕以后忘了,故趁着余温尚在赶紧写下来,好记性不如烂笔头嘛。下文的实践主要是参考了TortoiseSVN的帮助文档和Subversion的在线文档,Subversion的在线文档:http://svnbook.red-bean.com/en/1.5/svn-book.html

有哪些老鸟程序员知道而新手不知道的小技巧?

本来只是分享几条看法,没想到会有这么多人喜欢。我再补充一些,希望能对进阶中的程序朋友有帮助。手机敲得,比较凌乱。作为个人意见仅供参考。

1.重构是程序员的主力技能。

2.工作日志能提升脑容量。

3.先用profiler调查,才有脸谈优化。

4.注释贵精不贵多。杜绝大姨妈般的“例注”。漫山遍野的碎碎念注释,实际就是背景噪音。…