<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Yang_137476932的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Yang_137476932</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Yang_137476932]]></copyright><item><title><![CDATA[计算机网络：自顶向下方法 笔记]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/124915612</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/124915612</guid><author>Yang_137476932</author><pubDate>Sun, 22 May 2022 23:55:00 +0800</pubDate><description><![CDATA[计算机网络：自顶向下方法 笔记一级目录二级目录三级目录
一级目录

二级目录
三级目录

]]></description><category></category></item><item><title><![CDATA[程序员的自我修养—链接、装载与库 笔记]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/124800630</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/124800630</guid><author>Yang_137476932</author><pubDate>Wed, 18 May 2022 13:03:19 +0800</pubDate><description><![CDATA[程序员的自我修养—链接、装载与库 笔记目标文件静态链接编译和链接过程动态链接装载过程函数调用过程系统调用过程堆栈
目标文件
静态链接
编译和链接
过程
动态链接
装载
过程
函数调用过程
系统调用过程
堆栈

...]]></description><category></category></item><item><title><![CDATA[正则表达式、grep、sed、awk]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/123455690</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/123455690</guid><author>Yang_137476932</author><pubDate>Sun, 13 Mar 2022 14:19:51 +0800</pubDate><description><![CDATA[正则表达式



grep
grep ’patten‘ filename
-i：在搜索的时候忽略大小写

-n：显示结果所在行号

-c：统计匹配到的行数，注意，是匹配到的总行数，不是匹配到的次数

-o：只显示符合条件的字符串，但是不整行显示，每个符合条件的字符串单独显示一行

-v：输出不带关键字的行（反向查询，反向匹配）

-w：匹配整个单词，如果是字符串中包含这个单词，则不作匹配

-Ax：在输出的时候包含结果所在行之后的指定行数，这里指之后的x行，A：after

-Bx：在输出的时候包含结果所在]]></description><category></category></item><item><title><![CDATA[Mysql知识点总结]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/122807024</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/122807024</guid><author>Yang_137476932</author><pubDate>Mon, 07 Feb 2022 19:47:04 +0800</pubDate><description><![CDATA[mysql总结Mysql概述体系结构存储引擎InnoDB存储引擎插入缓冲两次写自适应哈希索引异步IO刷新临界页MyISAM存储引擎日志文件错误日志重做日志（redo log）回滚日志（undo log）二进制日志（binlog）慢查询日志查询日志InnoDB存储结构InnoDB逻辑存储结构InnoDB物理存储结构约束索引B+树索引聚集索引clustered index辅助索引Secondary IndexB+树索引的分裂Cardinality联合索引回表查询索引覆盖优化器哈希索引全文检索倒排索引锁锁的类型一]]></description><category></category></item><item><title><![CDATA[线程同步--信号量 互斥锁 条件变量]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/122557455</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/122557455</guid><author>Yang_137476932</author><pubDate>Tue, 18 Jan 2022 13:28:20 +0800</pubDate><description><![CDATA[C++线程同步--信号量 互斥锁 条件变量线程同步的方式信号量互斥锁条件变量封装三类线程同步
线程同步的方式
信号量
linux sem 信号量是一种特殊的变量，访问具有原子性， 用于解决进程或线程间共享资源引发的同步问题。
用户态进程对 sem 信号量可以有以下两种操作：
等待信号量
当信号量值为 0 时，程序等待；当信号量值大于 0 时，信号量减 1，程序继续运行。
发送信号量
将信号量值加 1
通过对信号量的控制，从而实现共享资源的顺序访问。
信号量 和互斥锁的区别在于：互斥锁只允许一个线程进入临界区]]></description><category></category></item><item><title><![CDATA[C++类内静态变量初始化]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/117231323</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/117231323</guid><author>Yang_137476932</author><pubDate>Mon, 24 May 2021 20:29:22 +0800</pubDate><description><![CDATA[C++类内静态变量初始化非const staticconst static
IDE:VSCODE
GCC:6.3.0
非const static
均需在类外初始化
//string
#include&lt;iostream&gt;
#include &lt;string&gt;
using namespace std;
class A
{
public:
       static string a;
};
 string A::a="666";
int main()
{
    cout&lt;&lt;A]]></description><category></category></item><item><title><![CDATA[Linux 进程间传递文件描述符]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/116457002</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/116457002</guid><author>Yang_137476932</author><pubDate>Thu, 06 May 2021 16:52:28 +0800</pubDate><description><![CDATA[Linux 进程间传递文件描述符进程表文件描述符表父子进程传递文件描述符
进程表
参考https://zhuanlan.zhihu.com/p/56251739
进程（程序）开始运行时，由Linux系统调用自己的系统函数，在内存中开辟task_struct结构体，又叫进程表。这个结构体的成员项非常多，多达近300个。
task_struct结构体专门用于存放进程在运行过程中，所涉及到的所有与进程相关的信息。
其中，文件描述符表就被包含在了task_struct结构体当中。
在进程运行结束后，进程表所占用的内]]></description><category></category></item><item><title><![CDATA[位运算技巧总结]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/116448085</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/116448085</guid><author>Yang_137476932</author><pubDate>Thu, 06 May 2021 11:34:20 +0800</pubDate><description><![CDATA[位运算技巧总结基本运算性质自身运算与0运算与全1运算与或异或运算率交换律结合律分配律优先级技巧异或取反取int极大极小值取负原地交换操作判断奇偶比较判断符号是否相同第i+1位操作异或去重异或可逆删除最末尾的1个1，用于统计1的个数仅保留最后一个1
基本运算性质
自身运算
a &amp; a = a
a | a = a
a ^ a = 0
与0运算
a &amp; 0 = 0
a | 0 = a
a ^ 0 = a
与全1运算
a &amp; (~0) = a
a | (~0) = ~0
a ^ (~0) =]]></description><category></category></item><item><title><![CDATA[信号量/共享内存进行进程间通信]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/116430160</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/116430160</guid><author>Yang_137476932</author><pubDate>Wed, 05 May 2021 21:13:49 +0800</pubDate><description><![CDATA[这里写目录标题信号量共享内存
信号量
信号量是一种特殊的变量，它只能取自然数值并且只支持两种操作：等待（wait）和信号（signal）。不过在Linux/UNIX中，“等待”和“信号”都已经具有特殊的含义，所以对信号量的这两种操作更常用的称呼是P、V操作。这两个字母来自于荷兰语单词passeren（传递，就好像进入临界区）和vrijgeven（释放，就好像退出临界区）。假设有信号量SV，则对它的P、V操作含义如下：

P(SV)，如果SV的值大于0，就将它减1；如果SV的值为0，则挂起进程的执行。
V(S]]></description><category></category></item><item><title><![CDATA[定时器--Linux高性能服务器编程学习笔记]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/116229689</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/116229689</guid><author>Yang_137476932</author><pubDate>Wed, 28 Apr 2021 18:20:51 +0800</pubDate><description><![CDATA[定时器--Linux高性能服务器编程学习笔记系统定时相关APIsocket选项SO_RCVTIMEO和SO_SNDTIMEOSIGALRM信号基于升序链表的定时器
系统定时相关API
Linux提供了三种定时方法，它们是：

socket选项SO_RCVTIMEO和SO_SNDTIMEO

实例
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;arpa/]]></description><category></category></item><item><title><![CDATA[信号--Linux高性能服务器编程学习笔记]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/116228562</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/116228562</guid><author>Yang_137476932</author><pubDate>Wed, 28 Apr 2021 11:15:00 +0800</pubDate><description><![CDATA[信号--Linux高性能服务器编程学习笔记定义信号概述发送信号信号处理函数linux信号signal系统调用sigaction系统调用信号集函数使用管道统一事件源SIGHURG发送带外数据
定义
信号是由用户、系统或者进程发送给目标进程的信息，以通知目标进程某个状态的改变或系统异常。Linux信号可由如下条件产生：

信号概述
发送信号
Linux下，一个进程给其他进程发送信号的API是kill函数。其定义如下：
#include＜sys/types.h＞
#include＜signal.h＞
int ki]]></description><category></category></item><item><title><![CDATA[poll简单聊天室--Linux高性能服务器编程学习笔记]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/116193920</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/116193920</guid><author>Yang_137476932</author><pubDate>Tue, 27 Apr 2021 10:44:42 +0800</pubDate><description><![CDATA[简单聊天室clientserver
该聊天室程序能让所有用户同时在线群聊，它分为客户端和服务器两个部分。其中客户端程序有两个功能：一是从标准输入终端读入用户数据，并将用户数据发送至服务器；二是往标准输出终端打印服务器发送给它的数据。服务器的功能是接收客户数据，并把客户数据发送给每一个登录到该服务器上的客户端（数据发送者除外）。
client
客户端程序使用poll同时监听用户输入和网络连接，并利用splice函数将用户输入内容直接定向到网络连接上以发送之，从而实现数据零拷贝，提高了程序执行效率
#defin]]></description><category></category></item><item><title><![CDATA[STL algorithm/numeric 函数总结]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/116147040</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/116147040</guid><author>Yang_137476932</author><pubDate>Mon, 26 Apr 2021 17:49:52 +0800</pubDate><description><![CDATA[STL algorithm函数总结一级目录
一级目录

]]></description><category></category></item><item><title><![CDATA[Linux高级I/O函数---Linux高性能服务器编程学习笔记]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/116119338</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/116119338</guid><author>Yang_137476932</author><pubDate>Sun, 25 Apr 2021 11:59:07 +0800</pubDate><description><![CDATA[Linux高级I/O函数---Linux高性能服务器编程学习笔记管道pip函数双向管道socketpair函数重定向函数dup/dup2
管道pip函数
pipe函数可用于创建一个管道，以实现进程间通信。它表现出来的形式将前面每一个进程的输出（stdout）直接作为下一个进程的输入（stdin）。
#include＜unistd.h＞
int pipe(int fd[2]);

pipe函数的参数是一个包含两个int型整数的数组指针。该函数成功时返回0，并将一对打开的文件描述符值填入其参数指向的数组。如果失]]></description><category></category></item><item><title><![CDATA[Linux各种ID及其Linux c接口]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/115874063</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/115874063</guid><author>Yang_137476932</author><pubDate>Mon, 19 Apr 2021 21:34:20 +0800</pubDate><description><![CDATA[Linux 各种ID及其Linux c接口ls -l命令字段1-文件类型字段2-文件权限字段3-目录/链接个数字段4、5-所有者及组字段6-文件大小字段7-修改日期字段8-文件名称，字体颜色用户IDUID、GID与附加组id私有组主要组与附加组进程IDUID、EUID、GID和EGIDPID PPID PGID用户执行进程过程
先介绍下ls -l命令
ls -l命令

字段1-文件类型
“-”表示普通文件；
“d”表示目录；
“l”表示链接文件；
“p”表示管理文件；
“b”表示块设备文件；
“c”表示字符]]></description><category></category></item><item><title><![CDATA[Linux网络编程基础API---Linux高性能服务器编程学习笔记]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/115862581</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/115862581</guid><author>Yang_137476932</author><pubDate>Mon, 19 Apr 2021 16:09:50 +0800</pubDate><description><![CDATA[这里写目录标题Socket API字节序内存对齐socket地址字符串与ip地址转换创建socket命名socket---bind函数监听socket---listen函数接受连接--accept函数发起连接--connet函数关闭连接---close和shutdown发送和接收数据
Socket API
字节序
字节序包括大端序和小端序。
小端字节序：也叫host主机字节序，PC采用。指整数的高位字节存储在内存的高地址处，而低位字节则存储在内存的低地址处。
大端字节序：也叫network网络字节序，网络通]]></description><category></category></item><item><title><![CDATA[C++ STL 常用知识总结]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/114309299</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/114309299</guid><author>Yang_137476932</author><pubDate>Wed, 03 Mar 2021 22:26:35 +0800</pubDate><description><![CDATA[C++ STL 常用知识总结顺序容器迭代器vectorarraystringdequelistforward_list
顺序容器
1. 大部分时候选择vector
2. 随机访问选择vector or deque
3. 空间开销很重要 不使用forward_list or list
4. 头尾插入或删除 deque
5. 中间插入或删除 forward_list or list
迭代器

//iterator 迭代器
list&lt;string&gt;::iterator iter; //iter是lis]]></description><category></category></item><item><title><![CDATA[中文文本分类 传统机器学习+深度学习]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/114272758</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/114272758</guid><author>Yang_137476932</author><pubDate>Mon, 01 Mar 2021 22:14:33 +0800</pubDate><description><![CDATA[中文文本分类
为了完成课程要求，做了一个中文文本分类的简易系统，再此纪录。
使用到的算法：
机器学习：朴素贝叶斯 逻辑斯蒂回归 lightgbm
深度学习：CNN LSTM BERT
深度学习大部分内容使用https://github.com/649453932/Chinese-Text-Classification-Pytorch
机器学习部分自造。
数据集
为了不撞数据，github上随便找的一个头条新闻数据集，地址：https://github.com/BenDerPan/toutiao-text-c]]></description><category></category></item><item><title><![CDATA[使用keras+bert进行房产行业聊天问答匹配]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/109488078</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/109488078</guid><author>Yang_137476932</author><pubDate>Wed, 04 Nov 2020 13:08:42 +0800</pubDate><description><![CDATA[比赛菜鸟，给一个keras版本的bert baseline。
比赛地址：https://www.datafountain.cn/competitions/474
代码地址：https://github.com/WhiteGive-Boy/ccf_beike
代码参考苏大神的keras下bert的使用，其博客https://kexue.fm/archives/6736
贝壳问答匹配给定的数据形式如下：

中文bert预训练模型下载：https://github.com/google-research/bert]]></description><category></category></item><item><title><![CDATA[linux 查看 cpu/gpu 使用率等]]></title><link>https://blog.youkuaiyun.com/Yang_137476932/article/details/105532316</link><guid>https://blog.youkuaiyun.com/Yang_137476932/article/details/105532316</guid><author>Yang_137476932</author><pubDate>Wed, 15 Apr 2020 12:33:48 +0800</pubDate><description><![CDATA[cpu:

top



%us：表示用户空间程序的cpu使用率（没有通过nice调度）
%sy：表示系统空间的cpu使用率，主要是内核程序。
%ni：表示用户空间且通过nice调度过的程序的cpu使用率。
%id：空闲cpu
%wa：cpu运行时在等待io的时间
%hi：cpu处理硬中断的数量
%si：cpu处理软中断的数量
%st：被虚拟机偷走的cpu
注：99.0 id，表示空闲CPU，即C...]]></description><category></category></item></channel></rss>