golang.md
了解该语言的基本数据类型,基本语法和主要语言构造;主要数学运算符和print函数的使用,达到能够写课后习题水平;print函数: 一共有4种 123import ("fmt")fmt.Printf("%d", 1) 基本语法: 变量使用v
了解该语言的基本数据类型,基本语法和主要语言构造;主要数学运算符和print函数的使用,达到能够写课后习题水平;print函数: 一共有4种 123import ("fmt")fmt.Printf("%d", 1) 基本语法: 变量使用v
了解该语言的基本数据类型,基本语法和主要语言构造;主要数学运算符和print函数的使用,达到能够写课后习题水平;print函数: 一共有4种 1234567window.alert("this is window.alert");document.getEle
硬件配置硬件配置可参见gitlab官方的硬件配置手册 ,以下是简单翻译: 硬盘gitlab的需要的硬盘的容量是根据仓库的数量来决定的。一般来说如果一台服务器只跑gitlab的话,40G的硬盘是足够的。 CPU 1核的CPU能够支撑100个用户,但是gitlab应用会比较慢,因为所
《UNPv2》当中说了“共享内存是可用IPC形式当中最快的。一旦这样的内存区映射到共享它的进程的地址空间,这些进程间数据的传递就不再涉及内核。这里说的不涉及内核的含义是:进程不再通过执行任何进入内核的系统调用来彼此传递数据。显然,内核必须建立允许各个进程共享该内存区的内存映射关系
概述其实进程之间的消息队列的通信方式说白了就是一个消息链表,有足够写权限的进程能够往队列中放置消息,有足够读权限的进程可从队列中取走消息。再泛化一点,数据库Mysql也可以用于进程间的通信,一个进程往Mysql当中写数据,另外的进程从Mysql当中读数据。 对于linux的Sys
protobuf自描述消息在上一篇文章当中我讲到了使用protobuf来序列化消息便于发送,那么如果直接把我的rapidmsg用在我的消息队列当中就是这样的情况: 12345678910111213141516171819202122232425long messageId =
想法:将protobuf产生的消息格式化成System V 消息队列能够使用的形式,也就是这种形式: 1234567#define _MYMSG_BUFFER_ 8192struct rapidMsg { long messageId; //
上一篇文章简单地介绍了System V的消息队列。但是如果只是简单的封装一下系统调用,这种学习方法我觉得没有任何的意义。我觉得既然说到了消息队列,那么进一步就应该谈一谈消息的结构。在上文当中消息队列的模板是: 1234struct msgbuf { long mtyp
这系列博客是《UNPv2》的复习。《UNPv2》讲述的是非网络IPC的机制,而UNPv1讲述的socket编程是网络IPC的机制。 当然简单地封装一下系统调用来组成接口我觉得对于学习根本就没有任何的意义,说的直白一点就是谁不懂封装啊?所谓的消息队列就是要研究一下消息应该如何传递,
[俄]波诺玛廖娃 这是我小时候的故事。我遇见了一个魔法师。 “请你把我变成一个大人。” “这是为什么?”魔法师感到很奇怪。 “因为我的脚够不到自行车的脚蹋板。” “那好吧,”魔法师说,“不过,你先得猜个谜语:一早醒来就没个完的是什么?” “没个完?这准是奶奶的唠叨吧!