Ricky Blog

Make small but daily progress!

Go Clean Xml

Cleaning XML Data Before Unmarshaling in Go

很多人其实都不喜欢解析xml,但是无奈实际工作中总会遇到xml数据需要解析,如果你特别不幸,你还会遇到无效的 Unicode 字符,这会导致解析器阻塞,就像我最近做的那样: XML syntax error on line 12: illegal character code U+0014 网上搜罗了一圈,先上代码,看下如何解决 bt := []byte(string...

Docker 奇淫怪巧

你可能不知道的 docker 命令的奇淫怪巧

Intro 分享一些可能会用到的一些简单实用却可能是你不知道的 docker 命令 dangling images build 自己的 docker 镜像的时候,有时会遇到用一个甚至多个中间层镜像,这会一定程度上减少最终打包出来 docker 镜像的大小,但是会产生一些tag 为 none 的无用镜像,也称为悬挂镜像 (dangling images) 列出所有的 dang...

Quick Deep Into Mysql Index

mysql how to use index

原文参考 老叶茶馆 一、前言 在MySQL中进行SQL优化的时候,经常会在一些情况下,对MySQL能否利用索引有一些迷惑。 譬如: 1.MySQL 在遇到范围查询条件的时候就停止匹配了,那么到底是哪些范围条件? 2.MySQL 在LIKE进行模糊匹配的时候又是如何利用索引的呢? 3.MySQL 到底在怎么样的情况下能够利用索引进行排序? 4.今天,我将会用一个模型,把这些问题都一...

Download Files From Linux Server

command download files from linux server

Server 端输入以下命令,回车 python -m SimpleHTTPServer 浏览器打开 ip:0000 即可下载

理解 RESTful 架构

RESTful API 设计指南

理解RESTful 架构 一种软件架构风格、设计风格,而不是标准,只是提供了一组设计原则和约束条件。 它主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。 越来越多的人开始意识到,网站即软件,而且是一种新型的软件。 这种“互联网软件”采用客户端/服务器模式,建立在分布式体系上,通过互联网通信,具有高延时(High Latency)、高并...

聚簇索引 b+tree

浅谈聚簇索引和非聚簇索引

概念 MySQL就普遍使用B+tree实现其索引结构 MyISAM的是非聚簇索引 B+Tree的叶子节点上的data,并不是数据本身,而是数据存放的地址。 主索引和辅助索引没啥区别,只是主索引中的key一定得是唯一的。这里的索引都是非聚簇索引。 InnoDB使用的是聚簇索引 InnoDB的数据文件本身就是索引文件,B+Tree的叶子节点上的data就是数据本身,k...

CGI FAST-CGI PHP-FPM

CGI、FastCGI和php-fpm的概念和区别

概念 CGI CGI(Common Gateway Interface)全称是“通用网关接口”,WEB 服务器与PHP应用进行“交谈”的一种工具,其程序须运行在网络服务器上。CGI可以用任何一种语言编写,只要这种语言具有标准输入、输出和环境变量。如php、perl、tcl等。 CGI: 通俗的讲,cgi是为了保证web server传递过来的数据是标准格式的,也就是定义协议 Web ...

Memory Disk Register Cpu

内存 硬盘 寄存器

简单描述一下自己的理解 硬盘是网络的缓存(你想想,你都走网络请求了,还比你读取本地磁盘数据要快呢) 内存是硬盘的缓存(这个可以理解,内存的操作的确比硬盘快的多的多) 寄存器是内存的缓存(寄存器是距离cpu更近的一个区域,但是空间极小,速度极快,比内存快好几个量级) 参考堆栈资料

Process thread coroutines

进程 线程 协程

概念 1、进程 进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单位。每个进程都有自己的独立内存空间,不同进程通过进程间通信来通信。由于进程比较重量,占据独立的内存,所以上下文进程间的切换开销(栈、寄存器、虚拟内存、文件句柄等)比较大,但相对比较稳定安全。 2、线程 线程是进程的一个实体,是CPU调度和分派的基本单位,它是比进程更小的...

PHP 引用传递可变参数

如何通过PHP中的引用传递可变参数的参数?

前言 PHP有一个可变参数的传参方式,但是,如果是这种方式接受的参数,其实是拷贝了一份,无法做到传指针也就是PHP里面的地址 PHP里面无法打印变量指针(目前我没有找到方法打印) 可变参数传参过去,如何做到传递地址呢? 先上一个列子,如果传递地址 <?php $fn1 = function (&$a, &$b) { ...