Terminus

Give time to civilization, not to civilization

0%

每日一记(1)

设计系统时,如何正确高效地运用并发是一个比较难的问题。以我个人的经验看,大概可以分为以下几个原则:

  • 多读单写,单个线程修改,多条线程读取(一般采用队列方式),适用于读多写少的场景;
  • 多读多写;多条线程同时读写。这种场景比较复杂,可以采用锁或者hash机制;

Linux strace 命令

简介

strace(trace system calls and signals)命令是linux系统下的一款调试利器,用来跟踪进程执行时的系统调用和所接收的信号。 在Linux世界,进程不能直接访问硬件设备,当进程需要访问硬件设备(比如读取磁盘文件,接收网络数据等等)时,必须由用户态模式切换至内核态模式,通过系统调用访问硬件设备。strace可以跟踪到一个进程产生的系统调用,包括参数,返回值,执行消耗的时间等。

阅读全文 »

今天开始,深入学习golang语言,记录下来以备后用。

变量

变量定义

  • var用于定义变量,类型放在变量名后面,变脸定义之后会被初始化为零值。
    1
    2
    var x int
    var y = false
  • 可以一次定义多个变量,包括不同初始值定义不同类型
    1
    2
    var x, y int
    var a, s = 100, "abc"
    阅读全文 »

Palindrome Number

问题描述

Determine whether an integer is a palindrome. An integer is a palindrome when it reads the same backward as forward.

阅读全文 »

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:

1
2
3
Input: (2 -> 4 -> 3) + (5 -> 6 -> 4)
Output: 7 -> 0 -> 8
Explanation: 342 + 465 = 807.

阅读全文 »

#

  • 阿曼·阿尔钦
    • 经济学研究的是在什么样的情况下,人能够存活下来,而如果条件发生了改变,人们存活的情况又会发生怎样的改变。

006讲 亚当·斯密的人性观

  • 人性自私推动社会进步;
  • 人性自私,同时具有同情心和爱心;
  • 人的爱心有限,随着距离拉远而减弱;
  • 仅靠爱心不够,陌生人互助需要市场协调。市场是一个陌生人和陌生人打交道的地方,是一个陌生人服务陌生人的地方。
  • 人际互动二分法:小圈子靠爱心,大世界靠市场;不要再家庭、朋友圈里斤斤计较,过分讲究市场规则,也不要好在市场上强求陌生人表现出不切实际的爱心;
阅读全文 »

正己,Java工程师。

如何阅读一本书,读书笔记

本文记录《如何阅读一本书》的摘要笔记。

实用型书阅读方法

四个问题:

  • 这本书在谈什么,做出大纲架构;
  • 找出作者的共识,主旨和论述;
  • 内容是真是的吗?
  • 这本书与我何干?