左旋异构

Something interesting


  • 首页

  • 分类

  • 标签

  • 归档

gRPC completion queue笔记

发表于 2018-11-30 |

gRPC介绍

gRPC源自Google内部RPC项目Stubby。Stubby这个项目支撑了谷歌内部所有的应用和系统,Google云中全平台百亿次每秒的请求量,提供了C++,Java,Python和Go的API,但是因为和内部工具紧密结合所以并不适合开源。这个项目为后面的开源积累了伸缩性、性能和API经验。

gPRC的特点主要有:

  • 跨语言跨平台框架
    • gRPC提供了C、Java和Go版本的原生实现
    • C++, C#, Node, ObjC, Python, Ruby, PHP通过封装C语言gRPC实现
    • 支持 Linux, Android, iOS, MacOS, Windows 多个平台
  • 通过HTTP/2 + TLS通信
    • 撬动目前使用的网络协议和基础组件
    • 通过多线程框架流式发送公用一个连接,高效使用TCP
    • 原生支持加密双向流式通信

跨平台

其中C/C++的实现主要目标是高通量、低延迟与可伸缩性,同时减小外部依赖。

Completion Queues enable notification of the completion of asynchronous actions.

Completion Queues and Threading in the Async API
Right now, the best performance trade-off is having numcpu’s threads and one completion queue per thread.

ARTS Week-2

发表于 2018-11-26 | 分类于 ARTS |

第二周,

Alogrithm

题目—Add Two Numbers

You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.

You may assume the two numbers do not contain any leading zero, except the number 0 itself.

Example:

Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
Explanation: 342 + 465 = 807.
阅读全文 »

ARTS-1

发表于 2018-11-23 | 分类于 ARTS |

前言

ARTS 是「左耳朵耗子」发起的活动,每周至少做一个 leetcode 的算法题,阅读并点评至少一篇英文技术文章,学习至少一个技术技巧,至少分享一篇有观点和思考的技术文章。坚持至少一年!(也就是:Algorithm、Review、Technique、Share 简称 ARTS)

阅读全文 »

Git团队合作开发流程

发表于 2018-11-23 | 分类于 软件之路 |

0x00 背景

很多小伙伴的代码都借由git做版本控制和协同开发,但不管是小团队任务还是个人开发,大多都是简单通过不同分支去控制开发任务。但是当团队大起来、人员多起来,各种开发者随手建立的分支四处横飞,简单的基于分支的协作管理方式就不够用了。今天介绍下Git团队合作的一个工作流程。

阅读全文 »

Mac OSX配置PHP+VS code开发环境

发表于 2018-11-09 | 分类于 软件之路 |

0x00 背景

最近需要调试一段PHP代码,多年没有碰过世界上最好的语言的我想直接用Mac上现成的VS code环境调试下,以为很好配置的环境结果用了三个晚上才算完成,所以记录下这一路来遇到的大坑。

阅读全文 »

查看日出日落方位

发表于 2018-09-24 | 分类于 生活随想 |

今天除了中秋之外,又到了一年一度的太阳出现在正西方向的日子。

由于中国北方城市坐北朝南的特点,一堆大佬发出了各种特别棒的楼宇照片。

可以通过这个网站查看日落方位,合理规范拍照构图。

(没有长焦镜头的我默默躺平了)

使用crontab自动同步hexo博文

发表于 2018-09-03 | 分类于 软件之路 |

自己的博客使用了hexo,代码托管在bitbucket上,为了充分利用自己的服务器,自己又是self hosted的一个hexo服务。这样的神奇配置造成和我一样使用这套配置的人非常的少。最近这段就遇到了一个比较独特的需求。

需求

在本地编写一个博客文档。编写完之后commit并push到代码仓库。剩下的各种事情交给自动化脚本,自己博客上即可查看最新的文章。

阅读全文 »

JS中的不同复制类型

发表于 2018-08-05 | 分类于 软件之路 |

Node.js项目调试中实习生表示遇到了一个肥肠神奇的状况:将object push到array中,修改object,array中的内容也随之修改了。

询问前端的小伙伴之后第一次发现了原来还有浅复制和深复制的概念。

浅拷贝(shallow copy)

拷贝原对象的引用,这是最简单的浅拷贝。

这个有点像c中的指针复制。$.extend({}, obj); Array.prototype.slice()和Array.prototype.concat()都会返回一个数组或者对象的浅拷贝。
这次事情中的操作便是用了push复制了一个object,但object中的次级内容都是直接复制的引用。

深拷贝(deep copy)

深拷贝也就是拷贝出一个新的实例,新的实例和之前的实例互不影响。即可以避免浅拷贝中的问题。

$.extend(true, {}, ...)、Object.assign({}, ...)以及利用JSON.stringify和JSON.parse都可以实现深拷贝

GCC更改realse版本

发表于 2018-06-15 | 分类于 软件之路 |

一个调试记录

阅读全文 »

[转]vim正则表达式

发表于 2018-06-12 | 分类于 软件之路 |

遇到的实际问题为匹配 [default=xxx]这个字段,其中xxx不一定是什么。
最开始用贪婪模式匹配不成功,后来发现需要用.{-}非贪婪匹配。

1
:%s/ \[default=.{-}\]//gc
阅读全文 »
1…345…8
汨罗

汨罗

72 日志
9 分类
74 标签
GitHub
© 2016 — 2023 汨罗
由 Hexo 强力驱动
|
主题 — NexT.Gemini v5.1.4