使用gdb调试go程序

开发程序过程中调试代码是开发者经常要做的一件事情,Go语言不像PHP、Python等动态语言,只要修改不需要编译就可以直接输出,而且可以动态的在运行环境下打印数据。当然Go语言也可以通过Println之类的打印数据来调试,但是每次都需要重新…

beego源码分析之orm操作

任何一门服务端语言最终都离不开解决数据的存储问题,所以web框架的核心功能之一是封装db操作库(orm)。beego作为一款流行的go语言web开发框架,其orm操作的封装也值得学习,下面先来看看beego中orm使用。 [crayon-5…

cpu飙升与open_basedir

前言 近日,运维的同学说php-fpm消耗的cpu一下子飚了很多。开始我的思路是通过gdb方式去查看当时内存里的调用栈来找出有问题的代码行,经过分析业务代码并没啥问题,这时候很可能就跟open_basedir开启有关。 open_based…

通过gdb找出cpu飙升的代码行

前言 某日,运维的同学告诉你,php-fpm进程的cpu飚的有点高,是不是哪里的业务出问题了。这时候怎么办?有几个思路: 1)看日志。查看mysql慢查询日志或者在业务接口写日志记录代码运行时间。 2)借助xhprof。xhprof 是fa…

教父

      电影的婚礼开场,让许多人感到烦闷,看完之后,却回过头来回看一遍,这婚礼既是开端,又是电影与小说的完美结合。        这婚礼,主要讲述了几点内容: 一、唐·维托·科里昂的身份。         小说当中,马里奥·佐普用单独故…

一款高扩展php框架

框架是什么? 现在只要网上一搜,都能搜到各种各样的开发框架。对于初学者来说,框架似乎高深莫测。它是怎么产生的呢?如果有一定开发经验的朋友会有这样的感受,每次做完一个项目,再开展另一个项目的时候,会发现有很多工作是类似的。于是聪明的程序员开始…

你是软件工程师还是代码民工

最近项目组要招人,领导让我负责面试。面了几十个人,在此谈谈在面试并且结合自己工作过程中的一些体会。 编程应该以兴趣为驱动 编程本身就是一件非常简单的事情,我们每天吃饭,走路,睡觉…编程的工作无非是把这些日常的事情’翻…

复仇者联盟与创业团队

        近日复仇者联盟太火了,一群超级英雄组成的联盟团队抵御外来入侵,保卫地球。如果把复仇者联盟看成创业团队,外来入侵看成是创业过程中遇到的阻力,两者有太多相似的地方。         美国队长:联盟里最核心的人物,有领导力和号召力…

求职与招聘

        最近跟朋友聊的最多的就是求职与招聘。作为求职者的时候,我理想工作是事少钱多,福利待遇好,被领导赏识,能收获成就感…… 当我有机会接触招聘的时候,公司条件一般,但我希望能以最底的价钱找到能力强,做事认真,并且能跟公司一起共进退…