OutOfMemory.CN技术专栏
-
如何思考一项技术的价值?
一个算法、一个技术问题、一个技术细节都是术, 是细枝末节, 有时候这些术是重要的; 但是作为架构师要从更高的角度思考技术的使用和技术的价值
-
代码评审歪诗
验幻空越重,命循频异长。依轮线日简,接偶正分壮。言欢空月虫,明勋品宜昌。依伦先日贱,洁偶正粉妆。
-
高可用高性能可扩展的单号生成方案
在业务开发中经常会遇到各种单号生成, 例如快递单号、服务单号、订单号等等。 这些单号生成往往是业务逻辑处理的第一步, 单号生成出问题,必然导致业务走不下去;另外有多少业务量就会至少有多少的单号生成需求。所以单号生成必须高可用,必须高性能
-
分布式系统的CAP理论
2000年7月,加州大学伯克利分校的Eric Brewer教授在ACM PODC会议上提出CAP猜想。2年后,麻省理工学院的Seth Gilbert和Nancy Lynch从理论上证明了CAP。之后,CAP理论正式成为分布式计算领域的公认定理
-
浅谈前端架构的工程化、模块化、组件化、规范化
一个项目组成分为 前端,服务端。传统的前端项目用三剑客 javascript html css 就传统的项目结构已经不能满足日益壮大的大型应用的需求了
-
写好代码的11个技巧
作为一个合格的程序员,有太多的理由促使你去编写干净利落且可读性强的代码。最重要的是因为你编写的代码,将来会有很多人一次次地阅读。当你有一天回过头来看自己的代码时,你就会明白编写优雅的代码是多么的重要。另外,如果别人来阅读你编写的代码,你是否想知道别人看到那些烂代码无比抓狂的感受。因此,花多一点的时间去编写优雅的代码,将来说不定会给你节省更多的时间。
-
MySQL explain执行计划详细解释
详细介绍mysql explain执行计划各列的含义, 用实例解释各列各种情况的含义
-
服务幂等以及常用实现方式
介绍分布式系统微服务模式下幂等性的概念,以及实现幂等性的三种方法
-
Spark性能优化——和shuffle搏斗
Spark的性能分析和调优很有意思, 有几种不同场景的性能优化 ,包括portal的性能优化,web service的性能优化,还有Spark job的性能优化。Spark的性能优化有一些特殊的地方,比如实时性一般不在考虑范围之内,通常我们用Spark来处理的数据,都是要求异步得到
-
在C#的namespace内使用using语句
介绍如何在c#的namespace中使用using关键字
-
Spring知识点提炼
介绍spring基础知识点, 常见spring面试题
-
MySQL索引优化
写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4 K,并存储100条记录。如果没有索引,查询将对整个表进行扫描,最坏的情况下,如果所有数据页都不在内存,需要读取10^4个页面,如果这10^4个页面在磁盘上随 机分布,需要进行10^4次I/O,假设磁盘每次I/O时间为10ms(忽略数据传输时间
-
Flume+Kafka收集Docker容器内分布式日志应用实践
随着云计算、PaaS平台的普及,虚拟化、容器化等技术的应用,例如Docker等技术,越来越多的服务会部署在云端。通常,我们需要需要获取日志, 来进行监控、分析、预测、统计等工作,但是云端的服务不是物理的固定资源,日志获取的难度增加了,以往可以SSH登陆的或者FTP获取的,现在可不那么容易获得,但这又是工程师迫切需要的,最典型的场景便是
-
实例解析防抖动(Debouncing)和节流阀(Throttling)
防抖( Debounce)和节流( throttle )都是用来控制某个函数在一定时间内执行多少次的技巧,两者相似而又不同。 当我们给 DOM 绑定事件的时候,加了防抖和节流的
-
Java TreeMap工作原理及实现
概述 A Red-Black tree based NavigableMap implementation. The map is sorted according to the natural ordering of its keys, or by a Comparator provided at map crea
-
Java NIO 完全学习笔记
本篇博客依照 Java NIO Tutorial 翻译,算是学习 Java NIO 的一个读书笔记。建议大家可以去阅读原文,相信你肯定会受益良多
-
滴滴打车iOS客户端的架构设计进化
“ 滴滴出行作为国内互联网出行平台的代表,短短几年时间就从一个小小的创业公司成为一线互联网公司,发 展速度令人瞩目,在如此快速的发展之下,滴滴App在架构上又经历了哪些演变? 记者采访了滴滴出行平台产品中心iOS技术负责人李贤辉,了解了 滴滴iOS客户端的架构演变之路。 在滴滴高速发展的过程中,iOS客户端架构发生了哪些大的改变? 李贤辉: 20
-
Python 的 BaseHTTPServer模块分析小结
这次是一篇完整的BaseHTTPServer模块分析,花了几天时间研究该模块,先放上我的思维导图,由于是第一次使用思维导图,所以弄得不是很满意。 分析该模块的起因是该反代程序: [代码片段]
-
Facebook 广告系统背后的Pacing算法
Facebook于年初公布了2015年第四季度财报,其中日活用户超过10亿,营收达到58.41亿美金,而广告就占了56.37亿美金,更恐怖的是来自于移动广告 业务的营收占了80%。笔者在Facebook上面也曾经创建过营销页面,其实是拿到内部朋友一定限额的广告(Campaign)推广费用,当时惊讶投放的高效(太快 了,不到1小时几十刀都没了),由于自己也做过广告系统,也做过很多对比,从形式多样性,
-
PHP并发IO编程之路
并发IO问题一直是后端编程中的技术挑战,从最早的同步阻塞Fork进程,到多进程/多线程,到现在的异步IO、协程。PHP程序员因为有强大的LAMP框架,对底层 方面的知识知之甚少,本文目的就是详细介绍PHP进行并发IO编程的各种尝试,最后再介绍Swoole的使用,深入浅出全面理解并发IO问题。 多进程/多线程同步阻塞 最早的服务器端程序都是通过多进程、多线程来解决并发IO的问题。进程模型出