Unix 与 coredump
coredump 是什么 当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做Core Dump(中文有的翻译成“核心转储”)。 我们可以认为 core dump 是“内存快照”,但实际上,除了内存信息之外,还有些关键的程序运行状态也会同时 dump 下来,例如寄存器信息(包括程序指针、栈指针等)、内存管理信息、其他处理器和操作系统状态和信息。 core dump 对于编程人员诊断和调试程序是非常有帮助的,因为对于有些程序错误是很难重现的,例如指针异常,而 core dump 文件可以再现程序出错时的情景。 为什么会产生coredump文件 core产生的原因很多,比如过去一些Unix的版本不支持现代Linux上这种gdb直接附着到进程上进行调试的机制,需要先向进程发送终止信号,然后用工具阅读core文件。在Linux上,我们就可以使用kill向一个指定的进程发送信号或者使用gcore命令来使其主动出core并退出。 如果从浅层次的原因上来讲,出core意味着当前进程存在BUG,需要程序员修复。 从深层次的原因上讲,是当前进程...
基本编程范式、模型和风格
盒子模型 表达式由一系列盒子组成,这些盒子相互决定位置和大小。 流水线模型 模式-动作范式 一系列的输入会被每个模式所检查,模式匹配时,执行相应的输入。 复杂流程总-分架构 流程被分为:step1、step2、step3;stage1、stage2、stage3;phase1、phase2、phase3。 数据只要可以在同层内串联,每一层就可能被抽象成 step。如果 step 的输入输出是无关的,则需要使用 context 模式;否则使用 stream 模式,每个 step 可以由<T,R>指定输入输出类型,每个 step 的输出会成为下一个阶段的输入。。每一步如果可以在实现上变化,可以使用策略模式,如果需要实现差异化的聚合,需要使用组合模式。 我们使用 Step 的时候最好先指定<T,R>。
蔡康永的说话之道
阅读本来是赏心悦目的事情。 透过说话,懂得把别人放在心上,这就是我相信的、蔡康永的说话之道。 做自己和没礼貌,常在一线之间。刺耳并不等于简单的“直”。 把话练好,是最划算的事情。把话练好,就是练练把人放在心上。 你有没有能力想象听你讲话的人是什么心情,想听到什么。 练习说话很方便。说话其实就关乎你和别人的想法的交流。单单研究话是没有用的,研究人和人的想法有用。 我们心里其实藏了很多,我们自己都没法搞清楚的事情。 我们应当尽量把我们相信的事,和我们说的话变为一体。 能够打动别人的话,包含了很多“生命能量”,而不只是巧言令色,别有居心。 梦想拥有天使的外表,不如修炼一颗天使的心。与其嫉恶如仇,不如隐恶扬善。 已经很讨人喜欢的你,在未来会更讨人喜欢 转述第三方的赞美,更可信。 你说什么样的话,你就是什么样的人 人把自己内心深处的想法隐藏起来,只会让自己错乱、分裂。 说话和想法的因果有时候会反直觉。 不要简单责备人,修复问题的效果不一定好。 外表好不好看,绝对不是人生的决胜点 讨不讨人喜欢,还比较重要一点。甚至超越一般的、基于能力的量化评价标准。 别人并不是为了伺候你而存在...
基本业务架构设计方法
如何实现自己的 validation 123456789101112131415161718192021222324252627282930313233343536373839// 抛出异常private void validateParam(Map<String, String> paramValues) { boolean validate = MapUtils.isEmpty(paramValues) || !paramValues.containsKey(ParamConstant.CUSTOMER_N0) || StringUtils.isEmpty(paramValues.get(ParamConstant.CUSTOMER_N0)); if (validate) { throw new DataBusinessException(ResultCodeEnum.PARAM_NULL); } ...
如何写系统规划
列出背景 列出现状。 列出当前组织的 okr,分析机会和挑战。 将当前系统的视图勾勒出来,要能理解信息流和资金流。 列出痛点,分析需要实现的技术能力。 对标 对标其他团队的成功经验。 分析背景和成功原理。 要有架构图。 解决方案 要有目标架构图 有问题拆解:什么服务,是什么问题域的解空间,拥有什么能力,建设路径分几期,需要多少人力成本。 全团队分工: 本团队产品怎么分工 本团队后端怎么分工 本团队前端怎么分工 本团队数据怎么分工 本团队算法怎么分工 其他团队怎么分工 里程碑 按照绝对时间拆解 按照任务事件拆解 如何画简单的架构图 水平分层极其重要,每一层左边在层次里会有层次说明。 要用圆角都用圆角,要用直角都用直角。 重点:要填满整个空间: 深底色配白字。 模块之间的应该要直,不然应该优美、松弛。 图像应该紧凑,不留缝隙。 越处于背景之中,颜色越浅。 有时候,利用立体图形是好的。 要有阴影。 要玻璃化。
如何排查线上问题
cpu 偏高问题排查 cpu偏高问题排查.xmind 数据库问题排查 数据库问题排查.xmind
如何做一个优秀的系统 owner
协同 勇气 务实 细节 坚持 科技 担当 创新
如何实现正确的微基准测试
原问题 FROM:《How do I write a correct micro-benchmark in Java?》 Tips about writing micro benchmarks from the creators of Java HotSpot: Rule 0: Read a reputable paper on JVMs and micro-benchmarking. A good one is Brian Goetz, 2005. Do not expect too much from micro-benchmarks; they measure only a limited range of JVM performance characteristics. Rule 1: Always include a warmup phase which runs your test kernel all the way through, enough to trigger all initializations and compilations before timi...
漫长的道别
交际有时候很重要。 自己坐飞机,用旅行的方式可以走私毒品。一个混乱的城市,到处都有非法行医,滥用麻醉品和酒精的人。 峡谷里也藏有苦命人,也许是虚伪的人。 喝酒是为了逃避什么吗?逃避人生。 富家女的婚姻只是一种形式,糜烂的生活方式是不会改变的。 人年轻的时候可以忍受很多痛苦和惩罚,年近四十就不那么容易复原了。 对自己不满的人,不爱自己,反而会憎恨自己。 派拉蒙在五十年代就有很好的电影了。 不要公开羞辱别人,成为众矢之的。 酒会放纵自己,对话都大同小异。 走入晚风中,随风飘零。 克制自己的疲惫,才能克制自己的欲望,秩序和人生的希望是否有关系。 酒鬼不再是原来的自己,不可轻信。 酬劳。 在酒醉里寻找秘密。 一生只有一次难以置信的爱。 不要教育人,要辅导人。 空酒杯什么都没有,什么寻欢什么都得不到。 坏习惯是一种伪装。 怪诞的念头,来自于高度发展的想象力。 自省,找出自己的本心。 大多数人一生要用一半的精力来保护从未存在的尊严-在人际关系中的尊严。 犯罪和生意惟一的区别:生意需要本钱。 有开关的小机械会折磨人。 有自尊也充满失望的一个城市。 等咖啡凉了,烟燃尽了,我就跟他道别。 洛杉矶...
人才能力模型
π 型人才 项目管理 架构能力 产品: 审美 沟通基本功 沟通