作者:AlbertWen
添加时间:2017-10-27 10:02:50
修改时间:2025-11-15 23:54:43
分类:
13.C/C++/Rust
编辑
1、 管道概述及相关API应用
1.1 管道相关的关键概念
管道是Linux支持的最初Unix IPC形式之一,具有以下特点:
- 管道是半双工的,数据只能向一个方向流动;需要双方通信时,需要建立起两个管道;
- 只能用于父子进程或者兄弟进程之间(具有亲缘关系的进程);
- 单独构成一种独立的文件系统:管道对于管道两端的进程而言,就是一个文件,但它不是普通的文件,它不属于某种文件系统,而是自立门户,单独构成一种文件系统,并且只存在与内存中。
- 数据的读出和写入:一个进程向管道中写的内容被管道另一端的进程读出。写入的内容每次都添加在管道缓冲区的末尾,并且每次都是从缓冲区的头部读出数据。
作者:AlbertWen
添加时间:2017-10-27 09:52:27
修改时间:2025-11-07 18:28:18
分类:
11.PHP基础
编辑
一、基本约定
1、源文件
(1)纯PHP代码源文件只使用 <?php 标签,省略关闭标签 ?> ;
(2)源文件中PHP代码的编码格式必须是无BOM的UTF-8格式;
(3)使用 Unix LF(换行符)作为行结束符;
(4)一个源文件只做一种类型的声明,即,这个文件专门用来声明Class, 那个文件专门用来设置配置信息,别混在一起写;
作者:AlbertWen
添加时间:2019-03-31 00:30:57
修改时间:2025-11-01 13:14:22
分类:
15.OpenResty_Lua
编辑
大家在使用 Lua 的时候,一定会遇到不少和 nil 有关的坑吧。有时候不小心引用了一个没有赋值的变量,这时它的值默认为 nil。如果对一个 nil 进行索引的话,会导致异常。
作者:AlbertWen
添加时间:2018-06-04 23:20:05
修改时间:2025-11-15 18:38:39
分类:
08.Java基础
编辑
配置仓库
在maven的settings.xml文件里的mirrors节点,添加如下子节点:
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>https://maven.aliyun.com/repository/public</url>
</mirror>
作者:AlbertWen
添加时间:2017-10-26 14:21:09
修改时间:2025-11-11 09:50:45
分类:
18.系统设计/UML建模
编辑
如题:如何设计业务模块返回结果的结构?
一个业务函数/方法执行后,对外输出数据的结构通常有以下几种:
1、返回数字,如 成功时返回 0,失败时返回 -1,有的还会用一个全局变量输出错误信息:
<?php
class UserLogic extends \Think\Model {
protected $error;
/**
* 更改用户名称
*
* @param int $userId 用户ID
* @param string $userName 用户名
* @return int -1: 操作失败, 0: 操作成功
*/
public function updateUserName($userId = 0, $userName = '') {
if (empty($userId)) {
$this->error = '用户ID不能为空';
return -1;
}
if (empty($userName)) {
$this->error = '用户名不能为空';
return -1;
}
$where = array(
'userId' => $userId
);
$data = array(
'userName' => $userName
);
$res = $this->where($where)->save($data);
if ($res !== false) {
return 0;
}
return -1;
}
}
作者:AlbertWen
添加时间:2017-10-29 10:24:50
修改时间:2025-11-14 22:00:18
分类:
21.Golang编程
编辑
Glide 是 Golang 的 Vendor 包管理器,方便你管理 vendor 和 verdor 包。类似 Java 的 Maven,PHP 的 Composer。
主要特性:
-
简单管理依赖
-
支持 versioning packages,包括 Semantic Versioning 2.0.0 支持
-
支持 aliasing packages (e.g. for working with github forks)
-
Remove the need for munging import statements
-
支持所有 go 工具
-
支持 VCS 工具和 Go 支持:git、bzr、hg、svn
-
支持定制本地和全局插件 (see docs/plugins.md)
-
仓库缓存
作者:AlbertWen
添加时间:2017-10-27 09:47:24
修改时间:2025-11-04 03:49:36
分类:
13.C/C++/Rust
编辑
一、什么是管道
如果你使用过Linux的命令,那么对于管道这个名词你一定不会感觉到陌生,因为我们通常通过符号“|"来使用管道,但是管理的真正定义是什么呢?管道是一个进程连接数据流到另一个进程的通道,它通常是用作把一个进程的输出通过管道连接到另一个进程的输入。
举个例子,在shell中输入命令:ls -l | grep string,我们知道ls命令(其实也是一个进程)会把当前目录中的文件都列出来,但是它不会直接输出,而是把本来要输出到屏幕上的数据通过管道输出到grep这个进程中,作为grep这个进程的输入,然后这个进程对输入的信息进行筛选,把存在string的信息的字符串(以行为单位)打印在屏幕上。
作者:AlbertWen
添加时间:2018-12-23 21:25:36
修改时间:2025-11-12 17:55:08
分类:
08.Java基础
编辑
单独的 T 代表一个类型 ,而 Class<T> 代表这个类型所对应的类,Class<?> 表示类型不确定的类
作者:AlbertWen
添加时间:2018-07-12 12:36:26
修改时间:2025-11-14 14:52:10
分类:
21.Golang编程
编辑
作者:AlbertWen
添加时间:2018-04-15 12:01:28
修改时间:2025-11-11 12:00:36
分类:
招聘/面试/总结
编辑
岗位要求:
1、本科以上学历,互联网公司背景,一年以上工作经验,有过大型网站设计开发或高访问量业务开发经验;
2、具备良好的需求分析能力和设计能力,善于主动推动项目进展并最终落地;
3、JAVA基础扎实,理解IO、线程、集合等基础框架,对JVM原理有一定的了解;
4、熟悉Spring 、 Spring Boot 、 MyBatis 等开源框架;
5、熟悉分布式系统原理和设计,熟悉Redis 、Activemq 、Zookeeper等开源项目,能合理进行技术选型,善于解决问题;
6、喜欢钻研新技术,热衷于分享。