跟我一起用C++实现Java Thread库(一)

最近学习Java多线程编程,发现Java标准库中的java.lang.Thread接口定义十分友好简洁,使用起来十分方便。不禁想起之前用C/C++写多线程时的烦恼,总会写一些pthread_*函数。于是萌生了这个念头,希望用C++实现一套类似Java Thread的库,简化以后的C++多线程开发。

2017-08-22 12:50:38

阅读数 322

评论数 0

Linux下容易被忽视的那些命令用法

工作中发现很多同学对于Linux下的命令不太熟悉,尤其是一些功能强大的工具,使用者很少。正所谓工欲善其事,必先利其器。本文总结了Linux下常用命令的用法,希望能够帮助大家提升日常开发的效率。

2017-08-16 16:42:59

阅读数 369

评论数 0

Nginx最新模块—ngx_http_mirror_module分析

最近nginx官网公布了nginx1.13.4最新的ngx_http_mirror_module模块,利用mirror模块,业务可以将线上实时访问流量拷贝至其他环境,基于这些流量可以做版本发布前的预先验证,进行流量放大后的压测等等。本着兴趣笔者调研了其实现原理和使用方式,通过demo的形式展示给读...

2017-08-11 10:58:36

阅读数 1843

评论数 0

深入剖析nginx时间缓存

在服务器开发领域,时间的准确度关系到系统能否正常运行,尤其是当系统中存在超时事件需要处理时。但是系统时间的获取需要一次昂贵的系统调用,作为一款成熟的服务器软件,Nginx是如何优化这部分的性能开销?

2017-08-07 09:57:17

阅读数 288

评论数 0

ORM选型—DataMapper VS ActiveRecord

在web后台开发领域,经常会遇到应用程序操作数据库的场景,目前市面上存在的数据库包括mysql、postgresql、oracle、sqlite等,为了屏蔽不同数据库的差异,产生了ORM(Object-Relation-Mapping),在实现层面,又分为DataMapper和ActiveReco...

2017-07-30 09:13:07

阅读数 4303

评论数 0

自己动手实现promise

大家都知道,异步编程在web领域内越来越多地运用,但异步回调代码的写法十分恶心,逐层嵌套,不便于阅读。为了解决这个问题,js实现了promise模式,但大多数开发者只知道promise的表面用法,不知其底层实现逻辑。笔者采用PHP实现了自己的promise,借着此过程,与大家分享promise的实...

2017-07-22 10:31:11

阅读数 585

评论数 0

深入剖析nginx平滑重启

在服务器开发过程中,难免需要重启服务加载新的代码或配置,如果能够保证server重启的过程中服务不间断,那重启对于业务的影响可以降为0。最近调研了一下nginx平滑重启,觉得很有意思,记录下来供有兴趣的同学查阅。

2017-07-16 20:04:48

阅读数 7032

评论数 0

聊聊服务化

本文适合对SOA和服务化比较感兴趣的同学阅读,需要具备一定的web后台基础知识。

2017-07-16 20:00:52

阅读数 1556

评论数 0

PHP开发web程序的两种模式

从执行流程上来看,所有程序可以分为同步程序和异步程序。众所周知,同步程序流程清晰,开发友好,容易上手,相比之下异步程序的优点在于程序并发度高,资源能够得到充分利用。于是出现了一些基于协程调度的框架,兼具同步程序和异步程序的优点。对应到php领域,除了传统的LAMP/LNMP同步开发模式,还出现了类...

2017-07-16 19:58:32

阅读数 3359

评论数 0

PHP HTTP客户端-Guzzle原理解析

在PHP后台开发过程中,经常会遇到模块间需要通过HTTP通信的情形。PHP语言本身只提供了socket操作的接口,并未提供HTTP相关操作的接口。许多现有的实现采用curl扩展充当HTTP Client与HTTP Server通信,但仍需自己封装curl的接口。有鉴于此,本文介绍一款流行的PHP ...

2017-07-16 19:55:59

阅读数 5121

评论数 0

php 异步websocket客户端实现

php 异步websocket客户端

2017-06-15 21:35:29

阅读数 4860

评论数 0

composer autoload原理浅析

最近读了一点laravel的代码,里面用到composer,感觉其中的autoload机制有点诡异,翻阅源码,有所得,故记载之。 使用composer下载包之后,需要require "vendor/autoload.php",所以就从入口文件着手。 1.autoload.p...

2016-10-16 19:21:51

阅读数 1670

评论数 0

composer原理与使用简介

说到php,难免会触及到composer,尤其像laravel、CI这样的框架,随处可见composer的身影。 在使用上,composer只需要一个文件即可,composer.phar。此文件可在https://getcomposer.org/composer.phar上下载,当然,也可以采用...

2016-10-16 18:41:24

阅读数 2926

评论数 0

linux异步IO浅析

知道异步IO已经很久了,但是直到最近,才真正用它来解决一下实际问题(在一个CPU密集型的应用中,有一些需要处理的数据可能放在磁盘上。预先知道这些数据的位置,所以预先发起异步IO读请求。等到真正需要用到这些数据的时候,再等待异步IO完成。使用了异步IO,在发起IO请求到实际使用数据这段时间内,程序还...

2016-09-17 20:23:54

阅读数 552

评论数 0

未释放互斥锁线程退出

#include #include pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; void *f(void *args) { pthread_mutex_lock(&mutex); printf...

2016-09-17 18:31:35

阅读数 1939

评论数 0

binlog,redo log,undo log区别

1. binlog是MySQL Server层记录的日志, redo log是InnoDB存储引擎层的日志。 两者都是记录了某些操作的日志(不是所有)自然有些重复(但两者记录的格式不同)。 2. 选择binlog日志作为replication我想主要原因是MySQL的特点就是支持多存储引擎,为了...

2016-09-15 21:52:19

阅读数 1525

评论数 0

Linux Shell 文本处理工具集锦

find 文件查找grep 文本搜索xargs 命令行参数转换sort 排序uniq 消除重复行用tr进行转换cut 按列切分文本paste 按列拼接文本wc 统计行和字符的工具sed 文本替换利器awk 数据流处理工具迭代文件中的行、单词和字符 本文将介绍Linux下使用Shell...

2016-08-31 21:09:25

阅读数 328

评论数 0

xtrabackup热备一致性原理

xtrabackup作为innodb的hotbackup工具,由percona公司开发,因开源,热备份和物理备份而 在mysql中部署广泛,详情的说明可见之前的博客讨论.   在物理级别热备份主要的一大挑战就是在文件级别数据块不一致.我们知道innodb的单个page大小 由inno...

2016-08-28 15:51:55

阅读数 1112

评论数 0

java8安装

echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu xenial main" | tee /etc/apt/sources.list.d/webupd8team-java.list echo "de...

2016-08-23 09:11:11

阅读数 519

评论数 0

PHP命名空间(Namespace)的使用详解

对于命名空间,官方文档已经说得很详细[查看],我在这里做了一下实践和总结。 命名空间一个最明确的目的就是解决重名问题,PHP中不允许两个函数或者类出现相同的名字,否则会产生一个致命的错误。这种情况下只要避免命名重复就可以解决,最常见的一种做法是约定一个前缀。 例:项目中有两个模块:article和...

2016-08-14 21:23:26

阅读数 275

评论数 0

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