刘拓之死 最早听说刘拓,是在「禁止携带」的播客上,第一次听到李亚楠提到他刘拓,还是在刘拓生前,最近一次听到,已是刘拓已经去世,不禁让我好奇刘拓为何而死。 刘拓何许人也? 刘拓是北京大学考古学博士,2015 年在伊拉克考察古迹时,因被军队怀疑与“伊斯兰国”有关而误抓。在 2014 …
🇲🇾马来西亚行纪 这次来马来西亚完全是一个被动的安排,去年和朋友一起报名了在泰国南部边境勿洞的越野跑,想着没有来过马来西亚,就计划五一先去马来西亚,再从马来西亚陆路入境泰国到达勿洞,参加越野跑。 来马来西亚的第一站是吉隆坡,一到吉隆坡就感受到了热带城市的闷热,后面在吉隆坡呆了两天,慢慢了解了这座城 …
读「寻路阿富汗」 佩服作者,徒步在冬季横穿阿富汗,这其中的危险和艰辛难以想象。作者写到巴布尔大帝对自己冒险故事的讲述,“有一种令人难忘的质朴风格。他的经历都是充满危险的,但他从不强调这一面。相反,他专注于他所遇到的人,通过对具体个人的攀画以展示社会整体。”,而作者自己又何尝不是这样,专注于徒步过程 …
写给自己的 2023 年度总结 伴随着疫情防控政策的结束,在 2022 年的年底,我们对 2023 年充满了期待,期待又可以自由地出行,期待经济又会像之前一样快速增长,期待大家又会变得对未来充满期许。现在回头看来,有些期待变成了真实,也有一些期待又成了到了对 2024 年期待。 旅行 在 2022 年的年底,我 …
读“21 世纪资本论” “芒格之道”里面芒格推荐的一本书,揭示了当前世界的财富不平等的现场以及背后基本问题,也给出了建议的解决方案。 作者在本书中使用了几个主要的资本主义国家的几百年间的数据,通过详细的统计数据来证明自己的观点,而不仅仅是一些感性地论证,这也让本书的观点的可靠性显得特别高。 作者在本书中 …
芒格之道 看这本书的时候一直在想,不会在我看书的过程中,芒格去世了吧,幸好我看完芒格还活着,不幸的是,看完这本书不久之后,芒格就去世了。 看芒格的书,学习到的东西还是不少的,有些道理之前就知道,不过是在不断地加强这方面,比如,在教育子女上,最主要的言传身教,而不是一直是说教。 另外也有一些 …
走向仙那都 上都(Xanadu)这个地方,在西方的语境下比在中国的语境下是一个更加令人着迷的地方,Xanadu 一次出现在了西方的各种文学,小说,游戏,电影中,提到 Xanadu,在西方人心中的感觉就像中国人心中的“桃花源”一般。 在“从大都到上都”这本书中,罗新老师除了描写了从大都到上都的 …
🏔️甘南宁夏内蒙之旅 这个暑假女儿心心念念想要去内蒙古,而老婆看到小红书上甘南的照片,又想要去甘南转一转,我们索性带上几个朋友来了一次甘南宁夏内蒙的八日之行,作为司机,几乎每天都在开车,高速公路,夜晚没有路灯的乡道,崎岖的山路,开车的经验倒是增加了不少。 这次的旅行收获颇丰,无论是自然风光还是人文景 …
金钱心理学 本书的作者的很多理念和有知有行的孟岩的投资理念几乎如出一辙啊,我怀疑所有的被动基金的投资人可能都有这样的一套理论,还是挺有意思的。 总结这套理论的几个要点: 从很长的历史尺度上来看,经济是在持续地上行的。 但是从短期来看,经济经常在剧烈的波动,表现在股市上也是在剧烈的波动。 总结 …
🚗山西古建筑之旅 地下文物看陕西,地上文物看山西,山西应该是全中国古建筑密度最高的一个省份。这次趁着报名了太原马拉松,便多请了一天的假,在山西来了为期两天的自驾古建筑之旅。两天的时间对于山西来说,实在是太短了,只能潦草地看几个古建筑而已,不过也够粗略地领略一下山西古建筑之美了,剩下的只好后面有机会 …
🇹🇭泰国游记 三年的疫情,总算是告一段落,终于趁着五一,带着老婆和女儿去了一趟泰国。 说起来,我很早便想去泰国,至今在书柜中还有一本 Lonely Planet 泰国的书躺着。在 19 年之前,泰国是很多人出国游玩的首选地之一,大家的想法是三亚实在太贵了,不如去东南亚玩。 这次去泰国的第一站是 …
登山物语 本书详尽记录了梅里山难,并由纪录片卡瓦格博的作者撰写。作者花费大量时间对梅里山难进行调研,并采访了幸存者、幸存者的家属以及当地村民,包括雨崩村和明永村的居民等。从当时的情况看,梅里山难的发生似乎存在着一些必然性。村民们遵循藏传佛教传统,认为雪山不可攀登,而登山队则有强烈征服未登峰 …
宁波两日 作为一个生在浙江,长在浙江,一直生活在浙江的浙江人,浙江的很多地方我都没有去过。每次往返温州与杭州,都会经过宁波,但是却从没在宁波逗留过,这次趁着周末,顶着高温,带着老婆,女儿去了一趟宁波。 到了宁波,没吃午饭,直奔保国寺,如果你是古建筑爱好者,肯定不会错过保国寺,保国寺始建于东 …
将大金 VRV 中央空调接入 Apple Home 自从装修安装了大金中央空调,就一直想要把中央空调接入到家里的智能家居系统中,但是一方面觉得自己动手担心搞坏,找人来搞又太贵,另一方面又懒得搞,就一直拖着。最近刚好入了 Apple TV,一个朋友又推荐了一个闲鱼上卖VRF 空调控制器的商家,可以相对便宜地买到空调控制器,就想着干脆 …
Java 19 Structured Concurrency 前一篇文章介绍了 Java 19 的 Virtual Thread,有了 Virtual Thread,一些 Java 应用的吞吐可以得到很高的提升。这一篇文章会介绍一下 Java 19 的 Structured Concurrency,我认为一旦 Structured …
Java 19 Virtual Thread 预览 Java 19 在最近的 Early Access 版本中带来了 Virtual Thread 的预览版本,所谓的 Virtual Thread,就是协程,相信玩过 Golang 的同学对于 Golang 中的 Goroutine 肯定非常熟悉,我也碰到过一些应用,因为追求高吞 …
偶上西径山 昨天去了青山湖之后,便在酒店看书,这次出来带了单读 30 期,刚好读到任宁和枪枪 19 年 10 月份去日本熊野古道徒步那篇,心生羡慕,想着等可以出国之后一定要去走一趟熊野古道。天气预报今天应该是下雨,本来是打算早早退房回家躺平,起来后却发现是大晴天,刚好青山湖旁边就是西径山, …
青山湖闲晃 最近上海以及北京的这波疫情,导致很难出远门去玩。不过在杭州周围还是有一些可以游玩的地方,离杭州市区不远的青山湖就是一个不错的去处。 青山湖位于临安,是一个大型的人工湖,和千岛湖类似,都是兴建水库形成的,青山湖铺了非常不错的自行车道,骑着自行车,可以环湖一周。 虽然我也带了自行 …
理性佛教 「纳瓦尔宝典」是最近中文圈比较火的一本“商业书籍”,特别是科技圈子里,很多人都在讨论。实际读下来,这本书并不像一本真正的书,而是一本“纳瓦尔语录”,「纳瓦尔宝典」把纳瓦尔在 Twitter 以及 Podcast 上的言论集结成册,整本书的结构性没有这么强,读起来就像在读一条接着 …
中之道 在开车的时候,在睡觉之前,在洗澡的时候,我们经常出现走神的情况,在脑子中不断地想象着未来发生的事情,要是面试不通过怎么办,女儿的考试怎么办,诸如此类。假设这是你的朋友在你旁边喋喋不休地说着这些无畏的担心,你肯定觉得他有点儿神经质,非常地聒噪,他说的这些事情是多么地荒唐,然而,这就 …
消费主义迷思 我们生活在一个消费主义盛行的时代,购物狂欢节一年到头从不间断,各种各样的商品不断推陈出新,满减规则连设计者都难以理解。时代中的我们消费了一批批商品,我们也在被这些商品所定义,通过消费这些商品,我们在建构我们的身份认同,如果一个程序员有一把 HHKB,周围的其他人多半觉得他还是有 …
蛤蟆先生去看心理医生 今天看完了假期的最后一本书「蛤蟆先生去看心理医生」,「蛤蟆先生去看心理医生」是风靡英国的心理咨询的入门书籍,本书通过故事的方式来向读者介绍了心理咨询的过程,里面的角色来自于同样是英国的著名童话「柳林风声」,不过即使没有看过「柳林风声」,也不影响看这本书。 这本书讲述了蛤蟆在陷入 …
索拉里斯星 今天看完了波兰科幻作家莱姆的代表作「索拉里斯星」,假期的看书计划完成了四分之三。 索拉里斯星不同于我看过的很多太空科幻故事,那些故事不过是套着太空的外壳,内核却都是地球文明本身,这些外星文明虽然有自己的文化,外星人有自己的外形,有自己的思维方式,但是都是以人类历史上的文明为蓝本 …
我们依旧身处美好时代 大年初一,看完了这个春节假期计划的第二本书:「置身事内」,还剩下两本就达成了这个假期的目标了,指日可待。 这本书同样是去年非常热门的一本书,副标题是中国政府与经济发展,讲得是我们国家的经济发展的故事,书的内容非常浅显易懂,当然讲得也没有这么深入,所以豆瓣上很多学经济学的人对这本书 …
跟小狗浅浅学理财 这个春节假期计划看完四本书,春节假期的第一天花了几个小时就看完了第一本书小狗钱钱,看起来这一个假期四本书的任务可以轻松完成了,😃。 去年下半年,我在不同的渠道上听了不少人推荐了小狗钱钱这本书,也谈钱公众号,有知有行,多抓鱼的年度榜单等等。作为一本写给小朋友的理财入门书,这本书非常 …
生活对你意味着什么 继之前看了岸见一郎的「被讨厌的勇气」之后,最近又看了阿德勒的「自卑与超越」,相比于「被讨厌的勇气」的易读性与浅显易懂,「自卑与超越」通过大量的案例阐述了个体心理学的理念,让人理解起来更加深刻。 本书在一开始便解释生活的意义。在儿童时期,在生命的最初的四五年间,儿童就会根据其生活的 …
从运动五分钟开始 随着年龄跨过三十,每年体检的异常指标也原来越多,脂肪浸润,结节,肚子也越来越大,眼看着就要变成了“油腻的中年大叔”,这实在是我不想成为的样子。 过去一年,通过力量训练,跑步,椭圆机,户外徒步等运动,我的各种身体指标都在好转,脂肪浸润没有了,结节也没有了,身上的肌肉明显地多了起 …
简评 Proxyless Service Mesh 最近 Google 的 gRPC 团队支持了 Istio 的 Control Plane,并把这种架构称之为 Proxyless Service Mesh,国内很多公司也上了类似的架构,采用 Istio 的 Control Plane 来对接 bRPC,Dubbo 等 RPC 框 …
被讨厌的勇气--勇气心理学 最近看了一本有点儿鸡汤的心理学的书,是岸见一郎和古贺史健合著的“被讨厌的勇气”,整本书以一个青年和一个哲学家对话的形式来逐步阐述了阿德勒的心理学,因为是对话的形式,所以整本书的可阅读性非常高,以至于我觉得都有点儿鸡汤了,但是这些“鸡汤”的确有一定的道理,又有阿德勒这个心理学大师 …
在 Apple M1 上构建 SOFABoot 最近间接得到一个社区同学的反馈,我们的开源项目 SOFABoot 在 Apple M1 上构建测试不通过。刚好我最近换了 M1 芯片的 MacBook Pro,就在本地尝试构建测试了一下,在经过一个小时左右的尝试之后,最终将 SOFABoot 成功在 M1 上测试通过了,这里记录 …
「创新者的窘境」读后感 第一次听到创新者的窘境这本书,是在听 PPTV 的创始人姚欣的一个课上。最近大概花了两周的空闲时间看了一下这本书,真的觉得相见恨晚。 创新者的窘境这本书提出了一个问题,在面临破坏性的技术变革的时候,为什么很多管理者非常优秀,工作非常认真负责,但是其企业最终会失败。 往往,破坏性技 …
带着三岁女儿爬山 作为一个平时工作都比较晚下班的程序员,陪女儿的时间是实在太少了,我又比较宅,周末如果只是带着娃在家里的话,大眼瞪小眼,是一件挺无聊的事情,所以希望小朋友能够多出去玩,和外面的世界有更多的互动。 当然,去外面玩的话有很多选择,现在杭州的每一个商场都有一层是为小朋友准备的,包括各种培 …
「最后的生还者:第二篇章」游戏体验 经过了将近两个月的时间,终于把顽皮狗最新的作品「最后的生还者:第二篇章」(简称 TLOU2)通关了,我订阅的播客列表里面也有很多关于 TLOU2 的讨论,包括机核的以及硬影像的,为了能够有完整的游戏体验,我一直都把这几期的播客放到了最后听,这个应该是今年玩得最认真的一个游戏了。 …
JDK13 新特性之 Dynamic CDS 一年多以前,我写过一篇文章Java 10 新特性之 AppCDS,文章的最后有一个结论: 虽然 AppCDS 号称可以支持自定义的 Classloader,但是我试了一个 SpringBoot 的应用,发现对于没有在 -classpath 中指定的 JAR 包中的类,并不会有效 …
新西兰游记 前段时间工作忙得飞起,一直想着找个时间可以出去放松一下,逃离下钉钉的轰炸。另外从和老婆结婚以来,一直都没有和她一起出国玩过,也想趁着这次机会,弥补一下这个空白。为什么要选择新西兰呢,一方面是因为知道它是魔界的取景地,风景非常优美,另一方面在网上看过皇后镇的照片,看起来就像人间天堂 …
闪之轨迹 4 玩后感 从入手闪之轨迹 4 到现在应该有大半年的时间了,平时并没有什么时间可以用来玩游戏,只有周末几个小时的时间,所以通关速度比较慢,我一直以来对于游戏都非常感兴趣,也希望将自己体验过的一些游戏的感受给写下来,在玩游戏方面,我绝对不是一个资深的玩家,更多写的是一些个人的感受,大部分都是 …
SpringBoot on Kubernetes 本文将从创建一个 SpringBoot 的应用开始,详细讲述如何将一个 SpringBoot 的应用部署到本地的 Kubernetes 集群上面去。 创建 SpringBoot 应用 首先,我们需要创建一个 SpringBoot 的应用, …
Java 10 新特性之 AppCDS Oracle 昨天公布了 Java 10 的 GA 版本,Java 10 里面除了本地变量类型推断之外,还扩展了原来的 CDS 的能力为 AppCDS。 什么是 CDS CDS 的全称是 Class-Data Sharing,CDS 的作用是可以让类可以被预处理放到一个归档文件 …
Cloud Native Infrastrcuture 阅读笔记 这是假期读的第二本书,以下是对本书的阅读的内容的一些总结: 就 Cloud native 这个词来说,已经被市场人员到处在用了,就跟 Microservice 一样,很难清晰地去定义到底什么是 Cloud native。在本书中,作者提到的 Cloud native 其实包含了两 …
「法国妈妈育儿经」阅读笔记 浅浅出生快半个月了,这半个月的时间基本上没有睡好觉,刚好在豆瓣上看到一个友邻分享了看完这本书的一些看法,挺有意思的,于是花了几个小时的时间看了一下。 本书将的是一位美国妈妈移居法国后,在法国的各种育儿的经历。主要的内容是在法国,爸爸妈妈们是如何培养孩子的,其中不乏拿美国来进行对 …
Intellij IDEA 插件开发 --- 一次 JVM Crash 问题的解决 虽然今天遇到的不是一个有什么技术含量的问题,但是国内做这块的人太少了,觉得还是需要多分享分享,至少可以帮助新人走一些弯路,^_^ 前几天手贱升级了 macOS Sierra,本来看到 Intellij IDEA 在 macOS Sierra 下面只有一个触摸板异常灵活的问题,觉得 …
JVM 对 NoClassDefFoundError 的“缓存” 问题 今天在排查一个线上的问题,线上的一个应用在初始化一个类的静态字段的时候出现了 NoClassDefFoundError,并且在导致 NoClassDefFoundError 出现的根本原因消失后,后续再次尝试初始化这个类的时候, …
该死的 ^M ^M,神奇的字符!相信很多人写 Shell 脚本的时候都被这个字符坑过,我自己也至少被坑过两次。最近周围的好几个小伙伴又被 ^M 坑,花了好几个小时检查脚本的错误,结果发现是 ^M 导致的。所以写了这篇文章讲一下什么是 ^M,当 ^M 出现的时候一般会伴随着什么样的现象,出现了我 …
Intellij IDEA 的一些使用技巧 所有的这些功能都是在 Intellij IDEA 14 中测试的,其他的版本不一定适用 打开类的直接定位到某一行 在 Mac 下,IDEA 默认的打开类的快捷键是 Command+O,不过这个快捷键也有一些技巧。 第一个是可以在打开类的时候直接跳到某一行,比如下面这样: …
为什么我讨厌小米 「多看阅读」一直是我最喜欢的阅读器,没有之一,在多看阅读上买的书也不少了,绝佳的用户体验,「多看阅读」甩出豆瓣阅读、唐茶等 N 条街。 不过,今天在多看阅读上看书的时候,却弹出了这样的东西: 多看在读者阅读书籍的中间弹出了这样的东西,并且不止弹出了一次,过个几分钟又弹出一次。我觉 …
Guice 集合注入 Guice 的初学者在使用 Guice 往一个类中注入一个集合注入的时候,肯定有感觉到非常地不自然(这里的不自然我觉得一定程度上是不符合 Guice 给人的初印象),由于最近在项目中也在使用 Guice,所以在这里对 Guice 的集合注入做一个记录。 一、使用 Guice 的扩 …
利用 JUnit 的 Rule 对 Log4j 的输出进行测试 最近在写框架的测试代码的时候,有需求要对 Log4j 的输出进行测试(依赖 Log4j 的输出来进行测试,这一点本身可能得深思一下),之前也有对 stdout 和 stderr 进行测试,用了一个叫做 system-rule 的包: …
一些关于单元测试的思考 最近在开发公司的集成测试框架,有一些关于单元测试的体会,写一个博客记录一下想法。 为什么要写单元测试? 这个问题,已经有无数的关于技术的书、文章去阐述了,不断地强调单元测试的重要性。比如单元测试可以让你在软件开发的早期阶段发现 Bug,而不必到集成测试的时候才发现等等。不过,对于 …
关闭 Tomcat 的 TLD 扫描的功能 背景 Tomcat 作为 Servlet 规范的实现者,它在应用启动的时候会扫描 Jar 包里面的 .tld 文件,加载里面定义的标签库,但是,我们在开发的时候很多都不是采用 JSP 作为 Web 页面的模板的,很多都是使用 Velocity 之类的模板引擎,自然而然,为了加快应 …
Java 8 之 default method 如果进度正常,新版本的 Java,Java 8 将在三月份发布,Java 开发人员期待已久的 lambda 也将在 Java 8 中得到支持。目前,Java 8 的早期版本已经可以在 Java 的网站上下载到了,Intellij IDEA 也已经在其最新的版本支持了 Java …
转让自用 13 寸 MacBook Pro 已经出售,谢谢 转让自用的 13 寸 MacBook Pro,2009 年年中的款,型号 MB990,入手时间 2010 年初,使用时间三年不到,除了电池的续航能力有所下降,其他没有出现任何问题,内存我自己升级到了 8 G,平时的开发也都是用这台开发(你知道开个 Eclipse …
Google Guava 之 EventBus Google 的 Guava 库是一个 Java 程序员必须了解的库,它提供了一些非常强大的功能,比如函数式风格的集合操作,Cache Builder 等等的功能,另外 Google Guava 还提供了一个非常方便的观察者模式的实现:EventBus。 …
发泄快感 前一段时间特别喜欢上知乎,觉得还是一个挺有意思的网站,同类的国外网站有 Quora,不过我英语不太好,所以平时还是喜欢逛逛知乎,但是最近逛知乎的时候发现一个问题,里面的有一些的问题的高票答案其实不是在回答问题,而是在发泄自己的情感,而这些答案往往还能够得到高票(历史上的煽动家大概 …
jvmtop 介绍和实现分析 简介 jvmtop 是一个分析工具,顾名思义,它是一个针对 jvm 的 工具,展示的方式和 unix 的 top 命令相似。 jvmtop 的项目地址是:jvmtop,安装 jvmtop 除了项目地址上的方式以外,还可以通过 jenv 安装:jenv install …
在更大的世界遇见更好的自己 今天和朋友聊天,说起眼见的问题,以前在业务团队的时候大家都奔着业务而去,完成业务上的需求,最多了解一下所用到的框架,鲜有关注业界的开源软件的动态。 而到了中间件团队,所有人都得规划、实施、推广自己的产品,如果只是做一些平庸的事情,那实在对不起你所在的团队,所以只能硬着头皮去花时 …
代码之美 今天的工作基本上就是在重构实习生写的 JS 代码,改的昏天暗地,他们基本把整个工程的 JS 代码都放到了一个文件中,代码中一会儿以空格缩进,一会儿以 tab 缩进,到处都是不必要的变量,我的代码洁癖又犯了,忍不住直接进行了重构,对 JS 进行模块化的拆分,每一个模块都有相对独立的 …
乐观错觉与悲观现实 近日在读阿兰•德波顿的「写给无神论者」,里面提到基督教的人性本恶的观点给人带来的好处,当你对一件事情的结果期望并不高的时候,那么当结果出现一点好处的时候,你就会感到很快乐;相反,当你对一件事情有着过高的期望,最后结果并不令人满意的时候,你就会感到失落,绝望。 德波顿这样捧高悲 …
Git flow 分支管理模型简介 有一次和 @imsoz 在聊天的时候,他给我介绍了一个叫做 Git flow 的分支管理模型,我听了很有兴趣,于是昨天花了一点时间去了解了一下。 Git flow 分支模型 Git flow 是一个分支模型,它提供了一个经过实践检验的分支管理的模型。整个分支模型的工作图大概是下面 …
Java Bean 的布尔类型属性获取问题 Velocity 对 Java Bean 中布尔类型的属性的获取问题 今天朋友遇到一个问题,是 Velocity 下面一个 Boolean 类型的变量在模板上没有办法输出,我大致简化一下这个问题,现在我们有一个简单的 Java Bean: public class …
致加西亚的信--一本应该留在过去的书 我承认这次我又冲动了,竟然买了一本这样的一本书,本以为应该是一本不错的书,看完了却发现就是「读者」上面的那些小故事的档次啊。果然下决定看一本书之前还是得去豆瓣上稍微看一些书评,这不,一不小心又看了一本励志的、成功学的书,让人好郁闷不是。 当然,如果「致加西亚的信」真的是那种成功 …
理想的下午 每个人都有自己理想的下午,有些人喜欢在家里宅着躺在床上,被子病了得有人照顾不是?有些人喜欢在一个秋季的阳光明媚的下午,约几个好友爬山登高,流一把汗,呼吸呼吸新鲜的空气。有些人喜欢把家里打扫的干干净净,然后美滋滋地看上一部喜欢的电影。 而我的理想的下午,不在家,那必须是个安静的地 …
Spring 事务的传播特性 最近工作中涉及到了一个分布式事务的产品,这个产品是在 Spring 的事务上做的,我对其中涉及到的 Spring 的事务的传播特性不是很了解,所以今天花了一个下午的时间认真了解了一下,写了一堆的测试代码。 进入正题,Spring 的事务的传播特性分为以下的七种: …
从 JVM 中 dump class 的几种方法 前几天在 HotCode 的用户群里面,有同学问起“如何将 JVM 中的 class dump 出来”,当时我下意识的回答就是“可以在 JVM 启动的时候挂一个 agent 上去,然后通过 Instrumentation API 在 class 加载的时候做拦截,把类 dump …
「Sed & Awk」阅读笔记之 Sed 高级命令 上一篇文章中,我介绍了一下 sed 的基础,包括执行方式、地址选择器以及基本命令,在这一篇文章中,我们继续来了解一下 sed 的高级命令,之所以称它们为高级命令,是因为这些命令会改变 sed 的执行流,废话不说,我们来看看这些命令吧: 高级命令 N (Next) 这里要介绍的第一 …
「Sed & awk」阅读笔记之 sed 基础 之前写的一篇文章有提到采用 sed 来匹配不包含连续字符串的行,平时在做日志分析的时候也经常要用到 sed,但是仅仅用了 sed 的字符串替换的功能,没有系统地去学习过 sed 用法,这次找到一本叫「sed & awk」的书,便花时间对 sed 做了系统的学习。 sed 的执行方 …
再论如何匹配不包含连续字符串的行 在前一篇文章中,我讨论过如何使用使用零宽断言来匹配不包含连续字符串的行,这个方法采用了零宽断言这种不怎么常见的正则表达式用法,虽然行之有效,但是总归是个麻烦的方法,而且,零宽断言很多的正则表达式解释器都不支持,用 grep 的话,得加上 -P 参数,让 grep 采用 Perl …
使用零宽断言来匹配不包含连续字符串的行 最近在工作中遇到一个问题,有 N 个字符串,需要用正则表达式去过滤掉不包含某一个特定连续字符串(比如abc)的字符串。 在网上搜罗了一大把,找到了在 Perl 5 的正则表达式中有零宽断言这个东西,非常强大,先来了解下零宽断言倒是是什么? 简单的说,零宽断言是查找在某些内容之前或 …
cURL 使用简介 cURL 这个神器相信很多人都已经用过,简单地说,cURL 就是一个和服务器端通信的工具,至于用什么协议,cURL 支持各种各样的协议,包括 HTTP,FTP,SMTP 等等协议,可以说是应有尽有。 cURL 的可用的参数非常非常多,你能想到的基本上都有,不过一般使用的就那么几个 …
Java 并发编程之 ConcurrentHashMap 此篇文章是作者两年前发布在黄金档的文章。 ConcurrentHashMap 是一个线程安全的 Hash Table,它的主要功能是提供了一组和 HashTable 功能相同但是线程安全的方法。ConcurrentHashMap 可以做到读取数据不加锁,并且其内部的结构可以让其在 …
Java 并发编程 J.U.C 之 Condition 此篇文章是作者两年前发布在黄金档的文章。 在上一篇中,我们了解了下 J.U.C 的锁的获取与释放的过程,这个过程主要通过在 A.Q.S 中维持一个等待队列来实现,其中我们也提到了,在 A.Q.S 中除了一个等待队列之外,还有一个 Condition 队列, …
Java 并发编程 J.U.C 之锁的获取与释放 此篇文章是作者两年前发表在黄金档的文章。 上一篇文章中,我们对 J.U.C 的一些大概的情况做了了解,在这一篇文章我们将来以 ReentrantLock 为例,来分析一下锁的获取和释放的过程,让大家能够对锁的获取和释放的整体过程有一个了解。 一、 …
Bash Job Control 这两天在给 HotCode 写测试脚本,其中用到了 Bash 的任务控制功能,说白了就是把一个任务放到后台,拉到前台之类的操作,这里做一下总结。 开启任务控制 首先,如果要在 Bash 脚本中使用 Bash 的任务控制功能,必须先执行下面这个命令: set -m 这个命令的意思其 …
成就达成:4clojure 题目全破! 经过了一个多月的努力,终于将 4clojure.com 上面的的题目全部解出了,经过这段时间不断地用 clojure,对 Clojure 也有了一些基本的认识,目前让我觉得 clojure 强大的地方在于: 和命令式语言完全不同的编程方式,编程过程就像是不断地数据转换的过程,它给 …
贡嘎全线徒步穿越 -- Part Two 贡嘎全线穿越第一篇见:http://blog.khotyn.com/blog/2013/05/07/gongga-hiking-part-one/ Day Four 昨晚睡得非常舒服,一扫了昨日的疲惫,可是天公不作美,山上的云看起来很厚,有点担心今天能否看到贡嘎主峰。一行人吃过了 …
Clojure 如何判断一个序列中是否存在某个元素 最近一直在看 Clojure,经常碰到的一个问题是怎么判断一个序列中是否存在某个元素。对于这个问题的第一反应就是用contains?来判断,但是contains?的第二个参数是key而不是元素的值,对于 vector 或者 array 这样的数据结构不能做判断: user=> …
贡嘎全线徒步穿越 -- Part One 清明节在家宅了三天,非常地不舒服,某日在内网看到了贡嘎徒步的召集贴,脑袋一热就报名了,前期买了很多的装备,做了一些准备,期间还四川还发生了地震,差点退缩了,不过最后还是出发了。 Day One 前一天从杭州飞到成都,一大早从成都出发,海拔一路上升,到康定进行了一些补给,到了一个叫 …
杂事儿 一、坚持 最近颇为得意的几件事儿,便是年后坚持做了几件事儿,每天背一点英语单词,每天写日记。 背单词我是通过「拓词」这个应用来背的,但是这段时间坚持下来,没有特别好的效果,这个背单词的方法不是正确的方法,背了以后你只能照着「拓词」给出的答案来选,而很难直接给出单词的意思,更不用说 …
Clojure 学习笔记:生命游戏 本周继续在看「Clojure Programming」这本书,这本书的第三章讲的是 Clojure 的集合和数据结构,作为这章的结束,作者举了一个「生命游戏」的例子来讲解 Clojure 数据结构的使用,作者一共提供了三种方式来解这个生命游戏,其中前两种方式比较好理解,最后一种方 …
Clojure 学习笔记:开始 一、 为什么学 Clojure Clojure 一直是我想去学习的一门语言,从去年开始就想学,但是我一直忍着没学,没学的原因一方面是想看一看自己是不是三分钟热度,过了一段时间就不再对它感兴趣了。另一方面,我更想去多学一些计算机底层的技术,因为我自认为基础并不太好,未来会成为个人发 …
北壁 这是一部登山者必看的电影,根据真实故事改编,讲述了几个登山者挑战艾格峰北壁的故事,历史上曾有多人试图从北坡爬上艾格峰,但是在 1938 年之前都失败了,这部电影讲述的就是其中最著名的一个悲剧。 电影的精彩之处在于基本还原了故事的事实,特别是最后只有 Toni 一个人幸存下来,悬在 …
使用 POI 解析 Excel 的几个注意点 最近在写一个解析 Excel 的程序,需要把从前端上传上来的 Excel 程序解析成 JSON 格式返回给前端,期间也试过 jxl ,不过它只支持到 Excel 2003。后来转而使用 apache 的 POI,作为初次使用者,使用过程中遇到了不少的问题,在这篇博客中记录一下: …