分类目录归档:未分类

C语言指针笔记

C语言指针是难点,是必须要攻克的堡垒。

看C语言的资料,指针是绕不过去的,这里记录自己对指针的理解。

一、感性认识指针。
0、有如下C代码,存为point.c文件

#include <stdio.h>

int main()
{
	int num = 1;
	int *point;

	point = &num;

	// %p表示输出地址
	printf("&num = %p | point = %p | *point = %d \n", &num, point, *point);
}

继续阅读

编译器cc、CC、gcc、g++区别

看C语言经典教材《C程序设计语言》中,Linux下编译C代码用的是cc, 广为人知的C编译器的gcc, 还有CC、g++那么有啥差异呢

一、cc是Unix下C语言编译器,是c compiler的缩写。
cc是付费的。所以Unix的两个孩子Linux和Mac OS上的cc都是软连接。
0、Linux下(这里测试用的是Centos)

[root@izj6cfhaw27k49x8usszs3z ~]# which cc
/usr/bin/cc
[root@izj6cfhaw27k49x8usszs3z ~]# ls -l /usr/bin/cc
lrwxrwxrwx 1 root root 3 Jul 22  2018 /usr/bin/cc -> gcc
[root@izj6cfhaw27k49x8usszs3z ~]# which gcc
/usr/bin/gcc

可见,cc是gcc的软连接
继续阅读

PHP生成二维码传到页面的坑

PHP生成二维码

最近做页面保存长图的功能,长图底部需要附带页面地址二维码,之前没搞过二维码相关的实现,在Google上搜索一番,发现了两个现有的轮子phpqrcode扩展和qr-code扩展。

对比发现phpqrcode很多年没有维护了,最终选择了qr-code。
注:如果使用phpqrcode可以参考PHP基于phpqrcode类生成二维码

使用qr-code生成二维码很容易,参考这篇文章PHP生成二维码
继续阅读

H5页面生成长图实践总结

最近这一两年,长图分享突然悄无声息的兴起了。刚在产品上增加了这一功能,发现确实是一种极好的分享传播方式。
生成的效果图太长,下拉在文末可以查看到

结合之前的调研,以及尝试走不通的路,以下整理了这个功能点相关的方案,希望提供你有用的参考。
继续阅读

浅谈Trie

提到敏感词过滤,经过简单思考,你没有想到Trie的话,那么你就不要思考了,这篇文章很适合你。如果你想到了,这篇文章也不失一篇很好的参考。

有经验的开发者都会说到用字典树来实现敏感词检测过滤等功能,字典树即本文所谈论的对象Trie。

他的别名除了字典树,还有很多:前缀树、单词查找树、键树。跟很多人一样,我也格外喜欢前缀树(Prefix Tree)这个昵称。
继续阅读

Hive和JSON_UNESCAPED_UNICODE

这篇记录是为了纪念自己的无知和自以为是。

给数据部门提供了一个json格式的HTTP接口, 直接使用php函数json_encode($data)处理数据,返回的数据中包含中文,结构如下:

echo json_encode($data);

{"code":1000,"msg":"succ","data":{"list":[{"pid":"6","video_keys":"\u90fd\u633a\u597d","type":"1"},{"pid":"5","video_keys":"\u7535\u89c6\u5267\u77e5\u5426\u77e5\u5426\u5e94\u662f\u7eff\u80a5\u7ea2\u7626","type":"1"}],"total":6}}

对方的技术希望返回的数据直接是汉字,我自己请求了一遍接口, 因为Chrome装有json解析插件JSONView,curl请求也使用了json解析插件jq, 都格式化好了,看到的结果如下:
继续阅读

梦回河西走廊

19年春节去河洛和开封走了走,穿梭在这片曾经为多朝都城的地方,不仅感概历史不再是教科书上简洁的文字,不再是史书上丰富的故事,历史是脚下实实在在的土地,历史是曾经缓慢流过这里的一段段时光。
继续阅读

压测工具之ab

一、介绍
0、导语
最早接触的压测工具就是ab, ab是ApacheBench的简称,是Apache HTTP服务器基准测试工具,当然也可以测试其他服务器。

1、安装
Linux和Mac系统一般自带Apache, 所以可以直接在终端使用ab命令。Windows系统或其他没有安装的系统,请自行安装。

2、ab参数
ab的具体描述和参数,请参考官网ab, 或者直接man ab查看。
继续阅读

SVN常用命令整理

经常用Git, 偶然碰到SVN管理的项目,往往又需要从头熟悉一遍SVN的命令,特记录下常用的SVN命令。

注:以下记录基于macOs自带svn命令。
一、svn管理项目开发。
0、安装svn colordiff。
工欲善其事必先利其器,命令行下的colordiff是非常有必要的

brew install colordiff
svn diff | colordiff 出现色彩

或者修改配置, 直接使用svn diff

echo 'diff-cmd = colordiff' >> ~/.subversion/config 

当然设置别名也行
继续阅读