Codeforces Round #345 (Div. 1) A watchmen

原题A. Watchmetime limit per tes3 secondmemory limit per tes256 megabyteinpustandard inpuoutpustandard outpuWatchmen are in a danger and Doctor Manhattan together with his friend Daniel Dreiberg should warn them as soon as possible. There are n watchmen on a plane, the i-th watchman is located at point (xi, yi).They need to arrange a plan, but there are some difficulties on their way. As yo... Read More

关于“如何开发 PHP 扩展”的学习小结

近期,工作上的业务并不是很忙。做了大半年的业务逻辑,尽管在PHP编码习惯和技巧上有所进步,初步熟悉了在高并发下Redis和Memcache缓存的使用和注意事项。但,应该借此闲暇时间探索下PHP底层的一些原理。这样,才是会有质的提升,写出更好的代码。正如那句话“PHP取得成功的一个主要原因之一是她拥有大量的可用扩展”,那就从PHP扩展入手了解下。在此之前,大家肯定都了解“PHP是C写的”。于是打开了PHP的源码,列出跟目录列表如下图(有亮点~ 怎么单位的女同事都没了。。)PHP(5.6.4)跟目录列表看到了熟悉的以后缀.c结尾的源文件。如图,有个名为“Zend”的文件夹很重要,这个就是PHP的核心。于是在网上搜到了两个若干PHP扩展的教程http://www.laruence.com/2009/04/28/719.htmhttp://www.walu.cc/phpboo起初,耐心的看... Read More

关于 rsync 工具的安装、配置与进行文件同步与备份的使用流程

安装linux yum install rsyn配置编辑文件vim /etc/xinetd.d/rsyn内容如下# default: of# description: The rsync server is a good addition to an ftp server, as it # allows crc checksumming etc.service rsyndisable = nflags = IPvsocket_type = streawait = nuser = rooserver = /usr/bin/rsynserver_args = --daemolog_on_failure += USERI创建配置文件touch /etc/rsyncd.con... Read More

解密微博红包:架构、防刷、监控和资源调度

编者按与传统意义上的红包相比,近两年火起来的“红包”,似乎才是如今春节的一大重头戏。历经上千年时代传承与变迁,春节发红包早已成为历史沉淀的文化习俗,融入了民族的血脉。按照各家公布的数据,除夕全天微信用户红包总发送量达到10.1亿次,摇一摇互动量达到110亿次,红包峰值发送量为8.1亿次/分钟。而支付宝的红包收发总量达到2.4亿次,参与人数达到6.83亿人次,红包总金额40亿元,峰值为8.83亿次/分钟。春晚直播期间讨论春晚的微博达到5191万条,网友互动量达到1.15亿,网友抢微博红包的总次数超过8亿次。为此,InfoQ策划了“春节红包”系列文章,以期为读者剖析各大平台的红包活动背后的技术细节。本文为微博篇。随着互联网的发展,打破了以往传统的发红包,带给了红包全新的玩法。微博红包已经成为用户给粉丝拜年的一种途径,土豪版成为土豪刷存在感的方式。每年的红包大战都是用户的现金盛宴,对于整个系统却... Read More

2015 年度回忆与总结 – 新浪微博

今天是在班的最后一天,晚上将要踏在春运的路上。尽管。。。。只写了上面一句话,就放着不动了。好吧,完成它。一年一次的东西,再不写完就太懒了。回忆这一年(2015年,当然我按照阴历算的~.~),恍惚间觉得除了工作,好像也就没有什么了。3 - 4月份还在徘徊工作上何去何从,5 月份在新浪微博实习,6月份毕业,7 - 迄今(2015年02月)入职新浪微博工作至今。除此之外,生活态度上也有了些许变化。大半个上半年处于一种低沉的状态,不想出门,不想说话。渐渐地,熟悉了,习惯了,但又奈何?回想,已经在那个四人床位的屋子里面整整住了一年有余。谁又能想到,在这小胡同里面让我看到了不同的人在换来换去。同学找工作,之后回老家;楼上的伙伴为了蹭网搬下来,最后北漂渺茫回老家;毕业季的同学旅游,之后回校毕业;应届生找工作,之后回到五六环。当然,睡在下铺的一宅到底,游戏终日;睡在上铺的“政府工作者”,每日呻吟“诲人不倦... Read More

Memcache 内存管理之查看所有 key 方法

今天在做一个Memcache的session测试,但是在测试的过程中,发现Memcache没有一个比较简单的方法可以直接象redis那样keys *列出所有的Session key,并根据key get对应的session内容,于是,我开始查找资料,翻出来的大部分是一些memcache常用命令等,但是对列出key的办法,讲解却不多,于是来到google,找到了一个国外的资料具体的内容我套用我的测试环境中,操作如下1. cmd上登录memcach telnet 10.73.13.155 1722. 列出所有keySTATS itemSTAT items:1:number 4143STAT items:1:age 3651STAT items:1:evicted 2STAT items:1:evicted_nonzero 2STAT items:1:evicted_time 2... Read More

更改 Git 之前的 commit 信息

You could dgit rebase -i -p <some HEAD before all of your bad commits>Then mark all of your bad commits as "edit" in the rebase file. If you also want to change your first commit, you have to manually add it as first line in the rebase file (follow the format of the other lines). Then, when git asks you to amend each commit, dgit commit --amend --author "New Author Name <email@address.com>"edit or... Read More

同一台电脑关于多个 SSH KEY 管理

使用环境:关于同一台电脑LInux系统下使用多个SSH key 切换使用(或者多用户使用ssh提交代码要求,可以创建不同的 PUBLIC KEY ,根据下面步骤设置.(1)比如有aaa,bbb,ccc 三个帐号需要生成不同的 PUBLIC KE$ ssh-keygen -t rsGenerating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):/root/.ssh/id_rsa_aaEnter passphrase (empty for no passphrase)Enter same passphrase againYour identification has been saved in /root/.ssh/id_rsa_aaa.Your publi... Read More

Git 工作流指南:Pull Request 工作流

Pull Requests是Bitbucket上方便开发者之间协作的功能。提供了一个用户友好的Web界面,在集成提交的变更到正式项目前可以对变更进行讨论。开发者向团队成员通知功能开发已经完成,Pull Requests是最简单的用法。开发者完成功能开发后,通过Bitbucket账号发起一个Pull Request。这样让涉及这个功能的所有人知道,要去做Code Review和合并到master分支。但是,Pull Request远不止一个简单的通知,而是为讨论提交的功能的一个专门论坛。如果变更有任何问题,团队成员反馈在Pull Request中,甚至push新的提交微调功能。所有的这些活动都直接跟踪在Pull Request中。相比其它的协作模型,这种分享提交的形式有助于打造一个更流畅的工作流。SVN和Git都能通过一个简单的脚本收到通知邮件;但是,讨论变更时,开发者通常只能去回复邮件。这... Read More

[开发中] Java 实现仿 QQ 界面多人聊天客户端程序

记得几年前,在校期间写过一个聊天程序,也发布了一篇博客在csdn上。然而,近期有好多网友加我qq索要源码,可惜的是源码早已消失在网络中了。所以,借此闲暇时间重写一次Java多人聊天客户端程序,以供爱好者学习交流之用。如下是每日程序的进展日志。项目源码客户端 ->github.com/genialx/Ch服务端 ->github.com/genialx/ChatXServe前面的话对于Java,笔者算是新手,没有用Java做过实际的项目。所以,在做这个项目的过程中,进行了大量的搜索工作,有很多问题都无法短时间内解决。固然,项目中的代码是很糟糕的,甚至垃圾代码。不过,有时间会进行深入的学习来优化项目甚至重构代码。进展日志2016.02.1项目不是起于今日,目前已经完成了客户端的登陆界面,正在着手完善朋友列表的界面。登陆界面朋友列表遇到的一些不是问题的问题...容器组件半透明的问题起... Read More

Gitflow 工作流程

    在工作场合实施Git的时候,有很多种工作流程可供选择,此时反而会让你手足无措。本文罗列了企业团队最常用的一些Git工作流程,包括Centralized Workflow、Feature Branch Workflow、Gitflow Workflow、Forking Workflow。愿以此文抛砖引玉。在你开始阅读之前,请记住:这些流程应被视作为指导方针,而非“铁律”。我们只是想告诉你可能的做法。因此,如果有必要的话,你可以组合使用不同的流程。(本文主要介绍Gitflow Workflow……Vincent Driessen曾经写过一篇博文,题为“A successful Git branching model”(一个成功的Git分支模型)。Gitflow工作流程就是从这篇文章里来的。Gitflow工作流程围绕项目发布定义了严格的分支模型。尽管它比Feature Branch W... Read More

GO 语言实现的多人 WEB 聊天室

前段时间的工作,大部分都在“热门微博推荐流”的性能优化上。前期通过源码分析对源码的逻辑进行了优化,其中可优化的地方大多都是落在了Redis的多次调用、外部接口的调用以及自身过多的IO操作。近期,提出利用GO语言做一层RPC服务,将较数据层进行封装。所以,为了尽快熟悉并上手GO,先写个小程序熟悉熟悉程序名称:聊天室源码地址:http://github.com/genialx/gurin截图程序中固然存在不合理的地方,仅供参考文章来源:胡旭个人博客 => 【原】GO语言实现的多人WEB聊天室转载请注明出处,违者必究 Read More