delphiwcdj的专栏

Good Programmers are made, not born. (Weinberg) | github.com/gerryyang | 微信订阅号 tencentgerryyang...

Effective C++ - Inheritance and Object-Oriented Design

Effective C++ - Inheritance and Object-Oriented Design 前言:OOP面向对象编程(继承,单一继承,多重继承,public/protected/private,virtual/non-virtual,继承的查找规则,virtual函数是最佳选...

2017-10-31 22:45:13

阅读数 292

评论数 0

Effective C++ - Implementations

C++实现中需要注意的一些问题。

2017-09-28 08:55:03

阅读数 374

评论数 0

Redis简单入门

一提起数据库,大多数人可能想到的主要是Oracle,MySQL以及Microsoft SQL Server这三大巨头。但除了这三巨头外,很多新兴的数据库也慢慢进入开发者的眼帘。比如最近越来越火的搜索引擎式数据库Elasticsearch。DB-engines上可以看到近期数据库的一个使用排名情况。...

2017-08-06 18:30:35

阅读数 477

评论数 0

Effective C++ - Designs and Declarations

前言:软件设计,是令软件做出你希望它做的事情的步骤和做法。通常以颇为一般性的构想开始,最终演变成十足的细节,以允许特殊接口的开发。这些接口而后必须转换为C++声明式。而如何实现良好C++接口的设计和声明呢?通常的一个准则是:“让接口容易被正确使用,不容易被误用”。Make interfaces e...

2017-07-23 22:25:38

阅读数 371

评论数 0

C++11系列——函数对象(Function Object)

之前总结过一篇Boost之高阶函数——函数对象,介绍了几个用于处理函数对象的 Boost C++ 库。而目前C++11的标准库std已经提供了函数对象的一些功能。根据wiki可以知道Higher order funciton的定义如下: In mathematics and computer ...

2017-06-29 00:36:29

阅读数 1015

评论数 0

Effective C++ - Resource Management

前言:如何有效运用C++,包括一般性的设计策略,以及带有具体细节的特定语言特性。知道细节很重要,否则如果疏忽几乎总是导致不可预期的程序行为(undefined behavior)。本文总结对于如何使用C++的一些建议,从而让你成为一个有战斗力的C++程序员。以对象管理资源 在资源管理中小心copi...

2017-04-30 23:21:09

阅读数 285

评论数 0

Effective C++ - Constructors, Destructors, and Assignment Operators

Effective C++ - Constructors, Destructors, and Assignment Operators 前言:如何有效运用C++,包括一般性的设计策略,以及带有具体细节的特定语言特性。知道细节很重要,否则如果疏忽几乎总是导致不可预期的程序行为(undefined...

2017-03-31 22:40:33

阅读数 425

评论数 0

Effective C++ - Accustoming Yourself to C++

前言:如何有效运用C++,包括一般性的设计策略,以及带有具体细节的特定语言特性。知道细节很重要,否则如果疏忽几乎总是导致不可预期的程序行为(undefined behavior)。本文总结对于如何使用C++的一些建议,从而让你成为一个有战斗力的C++程序员。

2017-02-04 21:49:04

阅读数 367

评论数 0

高并发实时后台服务技术架构杂谈

高并发实时后台服务设计杂谈 摘要:双十一剁手节、新年微信红包、游戏限时营销活动等场景都离不开一个可靠和稳定后台服务,针对高并发(每秒上万的QPS),低延迟(毫秒级应答)的业务场景,后台架构是否合理对业务的成败以及用户体验起到了至关重要的作用。本文根据笔者已有的工作经验总结一些可参考的实时高并发...

2017-02-01 17:51:08

阅读数 3567

评论数 0

MySQL数据导入 — LOAD DATA

启动MySQL客户端(通过–local-infile=1选项)和服务器端(通过修改配置文件)都需要指定可以从LOCAL导入数据,例如:/mysqld_safe --datadir=/data/mysqldata --skip-grant-tables --local-infile=1例子原始数据:...

2017-01-08 18:57:54

阅读数 666

评论数 0

Linux的线程创建限制

导言:现网有个版本上线一段时间后,通过SSH重新登陆时显示Cannot allocate memory错误,结果只能通过重启机器来恢复服务。通过分析发现是新的版本引入一个bug,某个进程会不停地创建新的线程,那么问题是Linux下一个进程可以创建多少个线程,从而会导致这个错误出现。 问题重现,通过...

2016-12-11 11:43:21

阅读数 659

评论数 1

分布式锁调研

分布式锁调研分布式锁调研 数据库锁 Redis实现分布式锁 SETDEL Redlock ZooKeeper Etcd导言:分布式锁,是控制分布式系统之间同步访问共享资源的一种方式。调研目标是找到一种合适的DLM (Distributed Lock Manager)方法,主要考虑性能和可用性。下面...

2016-11-17 15:28:24

阅读数 587

评论数 0

Introduction to coroutine

导言:本文是在小组内的一个分享,介绍协程实现的几种方法和优化策略,对比GoLang中goroutine实现方式及调度器的设计,与常见后台服务器设计模式对比,使用协程的优劣分析。 some questionsQ1: multitasking ? time-sharing (1960s,volu...

2016-10-14 09:54:51

阅读数 1013

评论数 0

Linux IPC之内存映射mmap()

导言:如何使用mmap()系统调用来创建内存映射,它可以用于IPC以及其他很多方面。 概述mmap()系统调用,在调用进程的虚拟地址空间中创建一个新内存映射。映射分为两种: 文件映射(内存映射文件) 将一个文件的一部分直接映射到调用进程的虚拟内存中。一旦一个文件被映射之后就可以通过在相应的内存区...

2016-10-11 22:54:25

阅读数 1677

评论数 1

Linux IPC之POSIX共享内存

导言:System V共享内存和共享文件映射,允许无关进程共享内存区域以便执行IPC通信。但这两种技术都存在一些不足:1. System V共享内存模型使用的是键和标识符,这与标准的UNIX I/O模型使用文件名和描述符的做法是不一致的,这种差异意味着使用System V共享内存段需要一整套全新的...

2016-09-17 21:05:27

阅读数 837

评论数 0

Linux IPC之System V共享内存

导言:共享内存允许两个或多个进程共享物理内存的同一块区域(段)。由于一个共享内存段会成为一个进程用户空间内存的一部分,因此,这种IPC机制无需内核介入。所有需要做的就是让一个进程将数据复制进共享内存中,并且这部分数据会对其他所有共享同一个段的进程可用。与管道或消息队列要求发送进程将数据从用户空间的...

2016-09-11 22:37:31

阅读数 798

评论数 0

Linux IPC之管道和FIFO

导言:管道是UNIX系统上最古老的IPC方法,管道提供了一种优雅的解决方案:给定两个运行不同程序的进程,在shell中如何让一个进程的输出作为另一个进程的输入?管道可以用来在相关(一个共同的祖先进程创建管道)进程之间传递数据。FIFO是管道概念的一个变体,它们之间的一个重要差别在于FIFO可以用于...

2016-08-31 23:16:21

阅读数 2459

评论数 0

MySQL读书笔记-安装初始化操作

导言:本文主要记录MySQL在Linux服务器上安装时,一些关键操作和步骤。 安装 RPM 优点:简单 缺点:不灵活,缺少个性化设置 二进制 优点:优化版本 缺点:安装比RPM麻烦 源代码 优点:个性化 缺点:需要知道如何构建 # 创建必要的组和拥有者 groupadd mysql u...

2016-08-24 23:28:41

阅读数 744

评论数 0

Linux IPC之Socket网络编程I/O多路复用相关模型及区别

导言:大部分程序使用的I/O模型(传统的阻塞式I/O模型)都是单个进程每次只在一个文件描述符上执行I/O操作,每次I/O系统调用都会阻塞直到完成数据传输。但是,有些场景需要: 以非阻塞的方式检查文件描述符上是否可进行I/O操作。 同时检查多个文件描述符,看它们中的任何一个是否可...

2016-08-22 23:59:29

阅读数 1688

评论数 0

网络工具之netstat

导言:netstat可以显示系统中Internet和UNIX域套接字的状态,当编写套接字程序时,netstat是个非常有用的调试工具。 关于netstat的具体用法,请查看具体手册man netstat。例如,一些常用选项:# 显示所有套接字的信息 -a# 只显示监听套接字的信息 -l# 显示进程...

2016-08-21 19:57:41

阅读数 799

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭