首页
学习
活动
专区
工具
TVP
发布

程序人生

专栏作者
265
文章
283303
阅读量
68
订阅数
被低估的 Deno
这个周末,我一直在把玩 deno 的 rusty_v8 以及 deno_core(录了几个 rusty_v8 的视频,预计四月第二周发)。rusty_v8 是 google v8 engine 的 Rust 零成本封装,而 deno_core 在 rusty_v8 的基础上进一步封装了一些额外的功能。众所周知,v8 是 chrome 内部的 javascript 执行引擎,它优异的 JIT 能力,以及高效的垃圾回收,使得 chrome 成为最快最成功的浏览器。v8 仅仅被用在浏览器中有些暴殄天物,于是十多年前(2009),Ryan Dahl 把 v8 引入了服务端,创建了 node.js —— node 以简单容易上手的编程模型(单线程,异步处理)和大量的前端拥趸一举成为广受欢迎的服务端开发工具;而 3 年前,Ryan Dahl 自我革命,重新用 v8 从零打造 deno,意欲让 deno 成为下一代服务器开发的王者。
tyrchen
2022-05-07
1.1K0
为了一碟醋,我包了两顿饺子
于是我有了三天时间赶我的极客时间「Rust 第一课」专栏的稿子。我想着三天怎么也能交出两篇稿子,结果就周五忙活一天,熬出一篇。
tyrchen
2021-11-10
1.5K1
探索 libp2p:基本知识
自 napster 20 年前以来,p2p 的应用一直层出不穷,一开始主要集中在音视频的文件共享领域。早期的 bitTorrent,电驴,后来的pplive,迅雷,快播等,都是走内容分享的路子。在这里,p2p 主要充当的是点对点下载资源块的角色,至于播放体验的优化,是另一回事。在分光了一段时间后,互联网进入到高带宽 + 海量 CDN 时代,这类的 p2p 软件渐渐式微,越来越小众。原因很简单 —— 通过高速网络和遍布全球各地的 CDN 节点,流媒体音视频的播放体验已经非常优秀,普通用户又何必退而求其次使用体验一般,片源不稳定的 p2p 软件呢(除了特殊需求)?
tyrchen
2021-06-17
3.8K0
透过 Rust 探索系统的本原:网络篇
如今所有的应用程序几乎都离不开网络。从应用开发的角度,绝大多数应用以及其后端系统都工作在应用层:
tyrchen
2021-04-07
8710
透过 rust 探索系统的本原:并发篇
rust 是一门非常优秀的语言,我虽然没有特别正式介绍过 rust 本身,但其实已经写了好多篇跟 rust 相关的文章:
tyrchen
2021-03-17
8780
闲扯比特币套利交易系统的设计
关于比特币套利交易的文章,坊间一搜一大堆,尤以 2014,2015 为甚。那时交易所间价差相当可观,套利的机会很多,躺着赚钱并非难事。如今,套利区间收窄,留在沙场上的估计只剩下大玩家,想要不费力气躺赢机会渺茫。最近帮朋友牵线寻找币圈量化交易的机会,本欲做个打酱油的中间人,事了拂衣去,安安静静做个三河市微胖界扛把子,谁料还是一时技痒,不小心昨夜搭进去六七个小时。 关于如何做套利交易,我就不赘述,大家可以看这篇文章,有内容有故事:https://daily.zhihu.com/story/4831821。 本文
tyrchen
2018-03-29
1.3K0
为什么我们要阅读源码?
程序员每天都和代码打交道。经过数年的基础教育和职业培训,大部分程序员都会「写」代码,或者至少会抄代码和改代码。但是,会读代码的并不在多数,会读代码又真正读懂一些大项目的源码的,少之又少。这种怪状,真要追究起来,怪不得程序员这个群体本身 —— 它是两个原因造成的: 我们所有的教育和培训都在强调怎么写代码,并没有教大家如何读代码 大多数工作场景都是一个萝卜一个坑,我们只需要了解一个系统的局部便能开展工作,读不相干的代码,似乎没用 我常常把写代码和写作进行类比 —— 二者有很多相通之处;但从培养写代码和写作的过程
tyrchen
2018-03-29
7380
如何使用一门新的语言
在去年的文章里,我谈了 如何学习一门新的技术。那篇文章通篇形而上,讲大道理,读者颔首称赞,但回过头来在应用层面还是懵懵懂懂,不明就里。今天,我就我过去三周的经验,讲讲如何以正确的姿势在生产环境中使用一门新的语言。 过去三周,我在疯狂地使用 elixir,做了两个系统,一个是我上文提到的 policy engine,另一个是个尽可能通用的 activity stream / notification system。前者我花了一周,殚精竭虑,写下了 1600 行代码,production ready;后者我写了
tyrchen
2018-03-29
9230
打造属于你自己的乐高积木
夫鹄不日浴而白,乌不日黔而黑 -- 庄周 上面的这句话某种程度来说是不妥的,人性(这也是全体生物进化出的本能)趋利避害,如果不施加外力,很容易走向消极的一面。就拿读书这事来说,幼时父母的板子和棒棒糖,老师的教鞭和小红花,硬是在威逼利诱间引导我们从「咏鹅」一路背到了「从百草园到三味书屋」(否则可能是从「风魔小次郎」一路到「诛仙」)。如今一天工作完毕,心力交瘁,想起一句:「知足者不以利自累也,审自得者失之而不惧,行修于内者无位而不怍」,也能自得其乐;周末远足,心里期盼的是「春草如有情,山中尚含绿」,若偶然经过
tyrchen
2018-03-28
9490
异步处理的脑力游戏
用过 node.js 的同学都知道,它实现了 Observer 设计模式,做了一套类似于 Python 的 event listener,叫 EventEmitter。你可以创建(或者扩展)一个 Ev
tyrchen
2018-03-28
7390
想让服务器跑得快,并不是换个编程语言那么简单
最近一个读者问我:程序君,我是一个经常被你黑的phper,我想学一门新的语言,做服务器开发,看你好像用过好多语言,能推荐一个么?最好是开发效率高,支持并发,性能又好的。 看了这留言,程序君满脸黑线。真是冤枉啊,我和你萍水相逢,何来经常黑你?我只是偶尔调侃一下PHP而已,不敢黑任何一个phper,更不敢黑这「世界上最好的语言」呢。:) 言归正传。推荐一个开发效率高,并行性能好的语言/框架做服务器开发,这个问题有点太宽泛了:nodejs,go,elixir(erlang/otp),clojure,tornado
tyrchen
2018-03-28
9460
[技术产品] 用node-webkit做桌面应用
node-webkit是两周前我才刚刚认识的桌面开发利器。那天程序君写了篇关于github atom的文章,中间有段文字做了大胆的猜测:「这就是Atom最大的亮点!web native。在此之下,less style,coffeescript plugin,nodejs integration都水到渠成。看上去atom的源代码来自chrome —— 我觉得atom很可能是一款以某种方式运行本地web app的浏览器。chrome的源代码base在webkit上(貌似是bsd),所以atom可以任意修改。很可
tyrchen
2018-03-28
1.3K0
[产品技术] Operational Transformation
昨天心情不太好,本来不打算写东西了,但想想坚持了这么久,还是写点什么吧。 最近sharejs升级到了0.7,看文档说整套代码重写了一遍,API基本都变了。想起以前写的teamspark,从meteor 0.3.7到0.5就经历了阵痛,0.5到0.6又是无法运行,费了不少劲才改好的艰难,开源软件没到1.0真是要慎用啊。 最近「业余」(真是非常业余,大块时间都用来写东西了)时间在捣鼓node-webkit。还记得之前我提到过的github atom么?它就是基于一个node-webkit的fork上做出来的。我
tyrchen
2018-03-28
1.3K0
Pipe 之美
Unix 三大宝是 C,file 和 pipe。C的重要性自不必说,如果 Lisp 是编程语言之母,那么 C 就是编程语言他爹。file 是 unix 世界的夸克 —— 在 unix 的哲学里,万事万物皆 file。文件自然是 file,socket 也是 file,各种硬件 device 还是 file。在你我凡俗眼中,这些东西风马牛不相及;在睿智的 unix 先驱们的眼中,他们都是 stream,而 file,是 stream 的容器。 我们翻开词典看看。stream 这个词本意是 a continuo
tyrchen
2018-03-06
1.5K0
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档