2019年2月13日

Java内存泄漏

摘要: 阅读全文

posted @ 2019-02-13 18:41 王家恒 阅读(133) 评论(0) 推荐(0) 编辑

2019年2月10日

Mark: 实现个toy版的脚手架(RPC)

摘要: p.s. 这些小toy的规模都在几百~上千行代码量,但足以反映一个tool的核心思想。 包括: 一些中间件(消息队列、Netty) Spring的IoC容器:(自动依赖注入) —— 就是利用Java反射去扫描Annotations,再set fields。 阅读全文

posted @ 2019-02-10 23:36 王家恒 阅读(233) 评论(0) 推荐(0) 编辑

2019年1月28日

搞技术的思维

摘要: 所以,学编译原理真的没啥价值。 —— 甚至对你改善业务代码都 没太大帮助。 所以, 有人赚得钱多才合理、因为人家帮一个需要的企业提供了 一套解决方案。换你,压根提供不了。 所以, 有些活儿为何没价值? 干十年也不会理解业务、学会方案。 所以, 太平洋保险的项目该 怎么做? 想想他们的系统的 痛点在哪 阅读全文

posted @ 2019-01-28 21:34 王家恒 阅读(119) 评论(0) 推荐(0) 编辑

2019年1月25日

一些质量极高的project-based tutorials

摘要: 《let's build a simple xxx》 build your own lisp ★ Crafting Interpreters (学生版)Implementing Functional Languages_student.pdf - 快捷方式 未成书:Building LISP Wri 阅读全文

posted @ 2019-01-25 00:28 王家恒 阅读(305) 评论(0) 推荐(0) 编辑

OCaml (ML家族语言)很好很强大

摘要: 理由如下: 1. 强类型,写着放心 2. 函数式。 且不是pure functional, 不用像 Haskell 那样极端。。 3. Algebric Data Types 的模式匹配 实在太爽了 4. modules 很强大 5. 语法很简洁。 缺点 冷门,库好像很少。 文档更少 中文书籍:目前 阅读全文

posted @ 2019-01-25 00:24 王家恒 阅读(2480) 评论(0) 推荐(0) 编辑

《EOPL》: 实现了惰性求值的两种参数传递策略

摘要: call-by-need 不过是比 call-by-name 多了一个 memorization 的步骤 阅读全文

posted @ 2019-01-25 00:21 王家恒 阅读(303) 评论(0) 推荐(0) 编辑

《EOPL》 : 实现了 call/cc

摘要: 待填坑 完整代码:scheme-code/EOPL/ch5/4-LETREC (CPS)-Exception-扩展/exer-5.43__★callcc/ 阅读全文

posted @ 2019-01-25 00:04 王家恒 阅读(479) 评论(0) 推荐(0) 编辑

2018年9月19日

CLOS : Common Lisp 的面向对象支持

摘要: 1. defclass ( :accessor/reader/writer ; :initarg ; :initform 2. defgeneric 3. defmethod 1. 多重继承时的优先级(类似Ruby中的Ancestor Chain) 2. 面向对象的两种模型: ① obj. meth 阅读全文

posted @ 2018-09-19 01:36 王家恒 阅读(333) 评论(0) 推荐(0) 编辑

一道Common Lisp 宏的练习题

摘要: 这是《ANSI Common Lisp》第10章“宏”的习题第6题: 定义一个宏,接受一变量列表以及一个代码主体,并确保变量在代码主体被求值后恢复 (revert)到原本的数值 阅读全文

posted @ 2018-09-19 00:26 王家恒 阅读(165) 评论(0) 推荐(0) 编辑

2018年9月18日

Macro的写法 `( , ,@ )

摘要: 很容易写错 阅读全文

posted @ 2018-09-18 22:52 王家恒 阅读(549) 评论(0) 推荐(0) 编辑

Common Lisp : Symbol到底是什么

摘要: 主要参考: 《Emacs之魂》(四) 包: 阅读全文

posted @ 2018-09-18 16:18 王家恒 阅读(352) 评论(0) 推荐(0) 编辑

Common Lisp中的读取宏 ' #' `( , ,@) #( ) #na( ) #<OBJECT> :Keyword

摘要: 当你把 xx 当做符号使用时 'xx , 这个符号是没有任何函数/变量语义的, 仅仅是一个 符号而已(就像一个string一样) 但你可以对这个string有其他的用法,比如使用它所binding的同名函数、使用它所binding的同名动态变量 (要知道,“代码” 不过是 一串String, 这就是 阅读全文

posted @ 2018-09-18 15:20 王家恒 阅读(553) 评论(0) 推荐(0) 编辑

25个特殊操作符(special operator)

摘要: 1. CLHS (Common-Lisp-Hyper-Spec) http://www.lispworks.com/documentation/HyperSpec/Body/03_ababa.htm 2. 为何特殊 (截图自 《Practical Common Lisp》 4.4节 即: 特殊操作符 阅读全文

posted @ 2018-09-18 14:42 王家恒 阅读(667) 评论(0) 推荐(0) 编辑

2018年9月16日

终于理解Macro: Tree-of-symbols , 几个特殊标记符号

摘要: 阅读全文

posted @ 2018-09-16 18:46 王家恒 阅读(292) 评论(0) 推荐(0) 编辑

Lisp : (quote) code is data (eval) data as code

摘要: 阅读全文

posted @ 2018-09-16 15:32 王家恒 阅读(194) 评论(0) 推荐(0) 编辑

2018年8月5日

对Haskell这门语言的基本认识

摘要: Haskell语言的核心特征: 1. 函数式,而且是纯函数式(purely functional) 首先,引用一下维基百科上对“典型的函数式编程语言”的划分: 一: 纯函数式 1. 强静态类型: Miranda , Haskell 2. 弱类型: Lazy K 二: 非纯函数式 1. 强静态类型: 阅读全文

posted @ 2018-08-05 00:41 王家恒 阅读(1613) 评论(0) 推荐(0) 编辑

2018年7月25日

费劲周折的Haskell开发环境搭建过程

摘要: 大概捣腾了一个星期才弄好。 阅读全文

posted @ 2018-07-25 02:48 王家恒 阅读(935) 评论(0) 推荐(0) 编辑

2018年7月15日

我为什么学习Haskell

摘要: 说起来,Haskell真是相当冷门而小众的一门语言。在我工作第一年的时候,我平时从网络的一些学习资料上时不时看到有人提到这门语言。那时候的认识就是除了我们平时用的“面向对象语言 (OOP: Object-Oriented Programming)”外,还存在“函数式语言(FP: Functional 阅读全文

posted @ 2018-07-15 00:26 王家恒 阅读(660) 评论(0) 推荐(0) 编辑

2018年7月9日

《产生式编程——方法、工具与应用》—— 入门模板元编程的好书

摘要: 好书啊 阅读全文

posted @ 2018-07-09 03:50 王家恒 阅读(481) 评论(0) 推荐(0) 编辑

2018年7月2日

完美转发(perfect forwarding)、universal reference、引用折叠(collasping)

摘要: 首先要分清: C++里的值只有两种值:左值、右值。—— 其本质应该是内存中存储的值/instance分两种:一种是持久的,一种是“短暂的” 也只有两种引用: 左值引用、右值引用。 ——引用,就是这个内存地址的助记符(别名)。 1. 左值引用 需绑定、也只能绑定 左值。 同理,右值引用 需绑定、也只能 阅读全文

posted @ 2018-07-02 19:02 王家恒 阅读(439) 评论(0) 推荐(0) 编辑

2018年6月30日

[C++] 初始化 vs 赋值

摘要: 特别容易混淆 阅读全文

posted @ 2018-06-30 04:44 王家恒 阅读(111) 评论(0) 推荐(0) 编辑

根据语义来选择:value-like传副本, pointer-like传引用

摘要: ★ (一个成员)变量的 创建、初始化、赋值 “默认值”:内置类型的局部变量、内置类型的成员变量(未设置=initval;) 没有默认值! 若创建时不指定值,则不进行初始化、则其值未定义!!! “指定值”:显式传给你值。 调用类的有参构造函数。 ★ 等号即为赋值。 int i = 0; // 创建i 阅读全文

posted @ 2018-06-30 04:28 王家恒 阅读(112) 评论(0) 推荐(0) 编辑

2018年6月29日

C++之拷贝控制 (Copy Control)

摘要: 拷贝控制 是真正 认真地理解 C++的 第一道。 阅读全文

posted @ 2018-06-29 05:07 王家恒 阅读(228) 评论(0) 推荐(0) 编辑

2018年6月28日

三五法则

摘要: C++ Class的6个基本行为 阅读全文

posted @ 2018-06-28 01:34 王家恒 阅读(686) 评论(0) 推荐(0) 编辑

2018年6月18日

C++:构造函数

摘要: 幺蛾子 阅读全文

posted @ 2018-06-18 00:16 王家恒 阅读(195) 评论(0) 推荐(0) 编辑

2018年6月17日

Managing C++ Objects: 管理C++对象 —— 一些建议准则

摘要: 原文链接: Managing C++ Objects Here are some guidelines I have found useful for writing C++ classes. There are many good books on the subject, but they ha 阅读全文

posted @ 2018-06-17 19:32 王家恒 阅读(137) 评论(0) 推荐(0) 编辑

像Java一样管理对象:T&形式仅仅用在参数传递

摘要: 类的对象为了关联/包含一个T类型的instance,若成员变量包括T*/ T&, 这种设计叫做“aggregation”(聚合);而若采用T 形式,则称为"composition"(组合) 这个回答不错,百度知道:☛ 组合和聚合的区别? 怎样看待“引用类型作为类的成员变量”? 参考StackOver 阅读全文

posted @ 2018-06-17 18:56 王家恒 阅读(864) 评论(0) 推荐(0) 编辑

2018年6月8日

Visual Studio的语法着色终于调得赏心悦目

摘要: 代码可读性瞬间大大提升。Reshaper真的强大。 阅读全文

posted @ 2018-06-08 03:41 王家恒 阅读(703) 评论(0) 推荐(0) 编辑

2018年6月1日

我为什么学习C++

只有注册用户登录后才能阅读该文。 阅读全文

posted @ 2018-06-01 15:13 王家恒 阅读(12) 评论(0) 推荐(0) 编辑

2018年5月24日

j.u.c: Java并发包的5大块

摘要: Java并发 阅读全文

posted @ 2018-05-24 23:45 王家恒 阅读(167) 评论(0) 推荐(0) 编辑

2018年1月25日

笔记:Java Language Specification - 章节17- 线程和锁

摘要: 回答一个问题:多线程场景下,有时一个线程对shared variable的修改可能对另一个线程不可见。那么,何时一个线程对内存的修改才会对另一个线程可见呢? 基本的原则: 如果 读线程 和 写线程 不进行同步,就不能保证可见性 地址:Oracle -- Java Language Specifica 阅读全文

posted @ 2018-01-25 14:58 王家恒 阅读(470) 评论(0) 推荐(0) 编辑

2018年1月23日

线程与锁

摘要: 关键字: synchronized , 内置锁 (mutex / monitor / critical section); 竞态条件 (Race Condition),内存可见性 (Visibility), 死锁 (dead lock) 1. synchronized block: (内置锁) 一句 阅读全文

posted @ 2018-01-23 23:54 王家恒 阅读(156) 评论(0) 推荐(0) 编辑

2017年4月17日

分布式系统涉及的基本问题

摘要: 现在几乎所有的系统都是分布式的—— 已经没有那种集中式(webapp,数据库等等都在同一台服务器上。。) 那么带来的问题: ———— I/O模型 同步/异步 + 阻塞/非阻塞 ———— 数据一致性 数据同步 ———— 分布式事务 解决方案: 两阶段提交(2PC); 三阶段提交(3PC) 一些常用指标 阅读全文

posted @ 2017-04-17 09:43 王家恒 阅读(176) 评论(0) 推荐(0) 编辑

2017年2月23日

技术观念的转变

摘要: 阅读全文

posted @ 2017-02-23 15:57 王家恒 阅读(142) 评论(0) 推荐(0) 编辑

秒杀系统:设计方案与实现思路

摘要: 典型的高并发场景 削峰、限流、熔断机制 实现方案: Spring Cloud + Redis 阅读全文

posted @ 2017-02-23 13:29 王家恒 阅读(268) 评论(0) 推荐(0) 编辑

2017年2月17日

微服务为什么是一种趋势

摘要: 简而言之: 软件工程师 要对整个项目进行考虑, 这其中必然、甚至大部分都不是 业务逻辑/ 代码 的问题了。 而个人职业想发挥更大作用,那可能要谈项目、讨论业务、负责管理团队, 这就离技术都很远了。 阅读全文

posted @ 2017-02-17 11:09 王家恒 阅读(169) 评论(0) 推荐(0) 编辑

导航