从真实事故出发:golang 内存问题排查指北
经过排查,发现了这个神奇的东西:一直以来 go 的 runtime 在释放内存返回到内核时,在 Linux 上使用的是 MADV_DONTNEED,虽然效率比较低,但是会让 RSS数量下降得很快。
Objective-c单例模式的正确写法「藏」
单例模式在iOS开发中可能算是最常用的模式之一了,但是由于oc本身的语言特性,想要写一个正确的单例模式相对来说比较麻烦,这里我就抛砖引玉来聊一聊iOS中单例模式的设计思路。关于单例模式更多的介绍请参考这篇文章。
在线教室 iOS 端声音问题综合解决方案
背景介绍在线教室场景下,声音是最重要的内容传输渠道之一,保障声音的稳定可靠,是在线教室质量非常重要的一环。同时在线教室里许多功能模块都与声音有关联,如何处理好各个模块间的声音冲突成为一个重要话题。
99%的程序员都在用Lombok,原理竟然这么简单?
extends Element> elementsAnnotatedWith = roundEnv.getElementsAnnotatedWith; elementsAnnotatedWith.forEach; tree.accept { List
Swift中编写单例的正确方式
本文由CocoaChina译者leon(社区ID)翻译在之前的帖子里聊过状态管理有多痛苦,有时这是不可避免的。一个状态管理的例子大家都很熟悉,那就是单例。使用Swift时,有许多方法实现单例,这是个麻烦事,因为我们不知道哪个最合适。
“氛围编程让一切看起来很廉价,我要回归手写编码了!”
如果说这几年 AI 编程令人沉迷的地方,是“几乎不费力就能把东西做出来”,那么真正让人开始警觉的瞬间,往往发生在系统第一次“看起来还在工作,但已经开始悄悄失控”的时候。
从来没有这么强烈想推荐一个工具
在逛 GitHub Trending 时看到了这个项目:见原文链接,因为之前我整理过一系列 cheatsheet,因此好奇的打开了这个项目。
用了那么久的 Lombok,你知道它的原理么?
在写Java代码的时候,最烦写setter/getter方法,自从有了Lombok插件不用再写那些方法之后,感觉再也回不去了,那你们是否好奇过Lombok是怎么把setter/getter方法给你加上去的呢?
万字长文!Go 后台项目架构思考与重构
但是,随着迁移的进行,我们发现 Skipper v1 中依旧存在一些如模块不内聚,充血模型过度设计等问题,为了更好地解决已知的架构问题,我们参考了《架构整洁之道》以及 DDD 的一些思想,再结合 Skipper v1 的实际情况,设计出了 Skipper v2 的架构。