Hawstein's Blog

Make something people love

Scala 周报 [20151018 - 20151024]

How To Learn 无关 Scala,讲述如何学习的一个 Slides,而且是围绕编程展开的,非常值得一看。 Shapeless Futures 非常棒的文章,从如何处理多个 Future 这一问题展开,一窥 Shapeless 的瑰丽。这份列表列出了使用 Shapeless 的库、项目和公司,大名鼎鼎的 Spray 也在列,是时候在项目中使用 Shapeless了。 Akka...

Scala 周报 [20151011 - 20151017]

Akka without the Actors 相当棒的文章,大力夸奖了 Akka Streams,列举了 Actor 的弊端(关于这一点,见仁见智了,个人觉得 Actor 还是相当好的抽象),看了此文,对 Akka Streams 的兴趣是不是更加浓厚了?随手附上文档 Akka Streams: Streaming Data Transformation à la Carte Typ...

Scala 周报 [20151004 - 20151010]

Full stack Scala Ramnvas Laddad 在「Scala By the Bay」上的演讲,讲述了他的 Startup 中用到的 Scala 技术。不想看视频的话,浏览一下他的 Slides 也是极好的(请自带梯子):请戳我 Introduction to Akka Streams – Getting started Akka Streams 的简单介绍,作者表示还...

把《The Swift Programming Language》读薄

目录 About Swift The Basics Basic Operators Strings and Characters Collection Types Control Flow Functions Closures Enumerations Classes and Structures Properties Methods ...

把《把时间当作朋友》读薄

目录 前言 所有人的困境 心智的力量 开启自己的心智 通过管理自己与时间做朋友 开拓我们的心智 小心所谓”成功学” 更多思考 从此时此刻开始改变 前言 人生是马拉松,胜者不一定是跑得最快的。 以我个人的体会,我非常鼓励每个年轻人能花上几年时间到国外走一走,学一学。教育的根本其实只不过是“见多识广”。然后再用5到10年时间定义一个属于自己的人生方...

Google Java 编程风格指南

目录 前言 源文件基础 源文件结构 格式 命名约定 编程实践 Javadoc 后记 前言 这份文档是Google Java编程风格规范的完整定义。当且仅当一个Java源文件符合此文档中的规则, 我们才认为它符合Google的Java编程风格。 与其它的编程风格指南一样,这里所讨论的不仅仅是编码格式美不美观的问题, 同时也讨论一些约定及编码标准。然而...

把《编程珠玑》读薄

目录 开篇 啊哈!算法 数据决定程序结构 编写正确的程序 编程中的次要问题 程序性能分析 粗略估算 算法设计技术 代码调优 节省空间 排序 取样问题 搜索 堆 字符串 开篇 具体化你的解决的问题。下面是A和B的对话。 1 2 3 4 5 6 7 8 A:我该如何对磁盘文件进行排序? B:需要排序的内容是什么?文件中有多少...

如何用 C++ 实现一个 LRU Cache

什么是LRU Cache LRU是Least Recently Used的缩写,意思是最近最少使用,它是一种Cache替换算法。 什么是Cache?狭义的Cache指的是位于CPU和主存间的快速RAM, 通常它不像系统主存那样使用DRAM技术,而使用昂贵但较快速的SRAM技术。 广义上的Cache指的是位于速度相差较大的两种硬件之间, 用于协调两者数据传输速度差异的结构。除了CPU与主存之...

微信公众平台:程序员的面试吧

前言 因为众所周知的原因,我在四月初的时候申请了微信公众账号,想开发一个服务平台, 让广大找工作的程序员们可以随时随地地enjoy各种经典面试题。无论是公交上,地铁上, 床上,马桶上,还是等公交,等地铁,等睡觉,等厕所,都可以掏出手机,打开微信, 来上一题。要的就是两个字:方便。但也因为众所周知的原因,这件事一直拖到了现在XD。 微信公众平台为UGC打开了一扇落地窗,你看那一个个微信大号...

Google C++ 编程风格指南

前言 越来越发现一致的编程风格的重要性,于是把Google的C++编程风格指南看了一遍, 这里记录下于自己有益的rules。当规则有多个选择时,这里只记录个人习惯的用法, 并不代表它是唯一的用法。 Google Style Guide Google开源项目风格指南 命名约定 命名管理是最重要的一致性规则,因此我把它放在最前面。 尽可能给出描述性名称。 1 2 int n...