2018-09-03 阅读笔记

最近本风流才子重出江湖,不做朋友圈段子手,决定开始好好写文章了,大家好好看好好学吧!
近半年来收集了一系列大厂技术 blog,断断续续在小本本上写了一些笔记,是时候整理一下了,争取日更。

PostgreSQL 调参

原文链接
摘要:PostgreSQL 默认的配置并没有为应用做特殊的优化,然而有许多参数是有优化空间的,譬如:

  1. shared_buffer
    PostgreSQL 有两级缓存,自己的缓存 shared_buffer 和内核缓存。为了在什么烂机器上都能跑,shared_buffer 的默认值设的很小。调节 shared_buffer 会非常有效。推荐值是系统内存的 25%

  2. wal_buffers
    WAL = write ahead log,预写式日志,From Wiki

    在使用WAL的系统中,所有的修改在提交之前都要先写入log文件中。log文件中通常包括redo和undo信息。假设一个程序在执行某些操作的过程中机器掉电了。在重新启动时,程序可能需要知道当时执行的操作是成功了还是部分成功或者是失败了。如果使用了WAL,程序就可以检查log文件,并对突然掉电时计划执行的操作内容跟实际上执行的操作内容进行比较。在这个比较的基础上,程序就可以决定是撤销已做的操作还是继续完成已做的操作,或者是保持原样。

    在这些日志被写入磁盘之前有这个 buffer,如果并发连接很多,可以调大

  3. effective_cache_size
    给 PostgreSQL 一个 disk caching 的估计,如果实际能使用的其实很大,然而估计值很小,那么性能就会受损失

  4. work_mem
    可以用来 in memory sort 的内存大小,如果 query 经常有 in memory sort,可以优化

  5. maintenance_work_mem
    预留来 VACUUM, RESTORE, CREATE INDEX, ADD FOREIGN KEY,ALTER TABLE 这种事的内存,调大可以优化这些任务

  6. synchronous_commit
    2 中提到了 WAL,synchronous_commit 控制 commit 之前是否等所有的操作写进了 WAL,是一个性能上的取舍。

  7. checkpoint_timeout,checkpoint_completion_target
    Issue 一个 checkpoint IO 代价很高,我们希望尽可能地 smooth,checkpoint_timeout 要尽量短,checkpoint_completion_target 如果我理解正确的话也要尽量短

用 React Native 开发 iOS 的得失

原文链接
优势:

  1. 开发效率高,Debug 容易。和开发 web 一样,修改之后刷新即可见,不需要编译,Chrome 里 F12 即可调试
  2. 不需要太多 ios 知识,React 的知识可以迁移过来
  3. Flex box,一个新的 css module: https://developer.mozilla.org/en-US/docs/Learn/CSS/CSS_layout/Flexbox 很好用

劣势:

  1. React library 升级太快,好多东西 break 了
  2. 因为太新,好多本该内置的功能却需要第三方 library 的支持
  3. 一些动画的坑

总结:It's worth it(不亏)!

Twitch 对 gRPC 框架的改造

原文链接
structured RPC 是好的,老鼠台的道友们之前想用 gRPC,后来发现有问题,原因如下:

  1. 缺少 HTTP 1.1 支持,gRPC 只支持 http2,但是现有很多的 load balancer 之类的只支持 http 1.1
  2. 生成的 runtime 过大,且有时候旧版 client 无法兼容新版 server,会 break 东西(我强烈怀疑他们是不是打开的方法不对)
  3. 生成的 runtime 过大,很难理解,有 bug 很难改
  4. gRPC 只支持 binary 的 payload,直接操作 binary 很不方便

最后老鼠台用 Golang 内置的支持 http 1.1 的 http server,json,以及 protobuf,重新写了一套系统:Twirp,实现了如下约定:

  • The URL is /twirp/twitch.users.email.EmailBoss/UpdateEmail.
  • The HTTP Method is POST, because it’s always POST.
  • The body of the message should be a protobuf UpdateEmailRequest.
  • The body should be encoded either in binary or in JSON.
  • The request should have a Content-Type header set to either application/protobuf or application/json, matching the encoding of the body.
  • The response body will be a protobuf UpdateEmailResponse, encoded in the same way as the request.
  • If there is an error, it will be JSON encoded, including a message and a standardized error code.

感想:有时候一个技术是好的,但是由于 infrastructure 跟不上,可能给你你也用不了……

Uber 使用 NLP 帮助客服处理 ticket

原文链接
随着 Uber 的发展,ticket 数量的增加,人工处理起来很困难了,Uber 实现了一套简单可行的 NLP 方法

  1. 对于每个用户的 ticket,使用 SVD 和 TF-IDF 提取特征
  2. 使用余弦相似性找出前 3 近似的见过的 ticket
  3. 将推荐结果返回给客服人员

感想:简单粗暴的办法,其实在工业界上可以满足一定的需求,并不需要炼丹

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343

推荐阅读更多精彩内容

  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 2,689评论 0 3
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,289评论 0 10
  • Mac OS X 系统的终端内置了MD5和SHA1的校验工具,打开终端,在终端上输入: 或 截图如下:
    dibadalu阅读 10,587评论 0 4
  • 感受:愉快、自在、烦躁 做出的进步:今天一个人带着两娃在家,孩子们非常乖,自己玩耍不打扰我,我有空做家务、看看书。...
    单宁85阅读 244评论 0 0
  • 端午节,中饭后恋恋不舍离开家人,踏上回城的旅途。 生活总是有很多出奇不意,旅途的行程,更多小惊喜。 铁轨 分分合合...
    lemei阅读 95评论 0 0