<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[i96jie的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/i96jie</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; i96jie]]></copyright><item><title><![CDATA[python mysql  error : OperationalError: (2059, <NULL>)]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/103754808</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/103754808</guid><author>i96jie</author><pubDate>Sun, 29 Dec 2019 16:24:55 +0800</pubDate><description><![CDATA[因为mysql8.0密码加密的问题，mysql8.0对用户密码的加密方式为caching_sha2_password,

在mysql中修改

&gt;alter user 'root'@'localhost' identified with mysql_native_password by 'yourpassword'

&gt; flush privileges
...]]></description><category></category></item><item><title><![CDATA[操作系统]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/100868589</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/100868589</guid><author>i96jie</author><pubDate>Sun, 15 Sep 2019 23:57:20 +0800</pubDate><description><![CDATA[线程共享资源

线程进程

虚拟内存 物理内存

临界区域和互斥锁的区别

自旋锁

CAS&amp;原子操作
]]></description><category></category></item><item><title><![CDATA[数据库mysql、redis]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/100868234</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/100868234</guid><author>i96jie</author><pubDate>Sun, 15 Sep 2019 23:40:12 +0800</pubDate><description><![CDATA[链表归并

数据库隔离级别

redis缓存击穿、缓存雪崩、缓存穿透

redis底层数据结构

rehash

hash slot

一致性哈希

aof，rdb

RESP

redis常见面试

raft

mysql三大范式

mysql s x is ix

acid

隔离级别

数据定义语言DDL，数据操纵语言DML，数据查询语言DQL，数据控制语言DCL。

sql优化

sql执...]]></description><category></category></item><item><title><![CDATA[sql语句总结]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/100799206</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/100799206</guid><author>i96jie</author><pubDate>Fri, 13 Sep 2019 13:57:22 +0800</pubDate><description><![CDATA[CREATE DATABASE database_name  创建数据库。

CREATE TABLE 表名称
(
列名称1 数据类型,
列名称2 数据类型,
列名称3 数据类型,
....
)
创建数据库中的表。






QL 约束

约束用于限制加入表的数据的类型。

可以在创建表时规定约束（通过 CREATE TABLE 语句），或者在表创建之后也可以（通过 ALTER TAB...]]></description><category></category></item><item><title><![CDATA[tcpdump以及linux的一些默认端口]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/100535046</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/100535046</guid><author>i96jie</author><pubDate>Wed, 04 Sep 2019 11:21:56 +0800</pubDate><description><![CDATA[1.HTTP协议代理服务器常用端口号：80/8080/3128/8081/9098

2.SOCKS代理协议服务器常用端口号：1080

3.FTP（文件传输）协议代理服务器常用端口号：21

4.Telnet（远程登录）协议代理服务器常用端口号：23

HTTP服务器，默认端口号为80/tcp（木马Executor开放此端口）

HTTPS（securely transferring web ...]]></description><category></category></item><item><title><![CDATA[归并排序]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/100513673</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/100513673</guid><author>i96jie</author><pubDate>Tue, 03 Sep 2019 10:51:01 +0800</pubDate><description><![CDATA[void merge(vector&lt;int&gt;&amp; v, int s, int mid, int e)
{
	int i = mid + 1;
	int j = s;
	vector&lt;int&gt; tmp;
	while (s &lt;= mid &amp;&amp; i &lt;= e)
	{
		if (v[s] &lt;= v[i])
		{
			tmp.push...]]></description><category></category></item><item><title><![CDATA[近几天面试总结]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/100125036</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/100125036</guid><author>i96jie</author><pubDate>Wed, 28 Aug 2019 23:30:52 +0800</pubDate><description><![CDATA[1、cpp

malloc

小于128k, 使用brk函数，堆顶会有一个enddata指针记录堆区位置，从而在虚拟内存地址空间中创建内存

真正使用时，还要将其通过映射变成物理地址。

程序第一次读写这块内存后，发生缺页中断（访问的页不在主存，需要操作系统将其调度），这时，才会分配给他物理页。

大于128k

使用mmap，在堆和栈之间分配内存。

free

mmap创建的直接munmap
...]]></description><category></category></item><item><title><![CDATA[glog]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/99292417</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/99292417</guid><author>i96jie</author><pubDate>Mon, 12 Aug 2019 11:35:09 +0800</pubDate><description><![CDATA[版本0.3.5

1、安装


git clone https://github.com/google/glog.git
cd glog 
./configure &amp;&amp; make &amp;&amp; make install

出现recipe for target 'logging_unittest' failed

先安装gflag


git clone https://g...]]></description><category></category></item><item><title><![CDATA[进程与线程]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/96288364</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/96288364</guid><author>i96jie</author><pubDate>Wed, 17 Jul 2019 11:59:28 +0800</pubDate><description><![CDATA[综述

进程是具有一定独立功能的程序关于某个数据集合上的一次运行活动，进程是系统进行资源分配和调度的一个独立单位.


线程是进程的一个实体，是CPU调度和分派的基本单位，它是比进程更小的能独立运行的基本单位.线程自己基本上不拥有系统资源,只拥有一点在运行中必不可少的资源(如程序计数器,一组寄存器和栈)，但是它可与同属一个进程的其他的线程共享进程所拥有的全部资源.



同一进程下线程管理
...]]></description><category></category></item><item><title><![CDATA[libco协程库]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/96104774</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/96104774</guid><author>i96jie</author><pubDate>Tue, 16 Jul 2019 10:54:52 +0800</pubDate><description><![CDATA[//64 bit
extern "C"
{
	extern void coctx_swap( coctx_t *,coctx_t* ) asm("coctx_swap");
};




struct coctx_t
{
#if defined(__i386__)
	void *regs[ 8 ];
#else
	void *regs[ 14 ];
#endif
	size_t ss_size...]]></description><category></category></item><item><title><![CDATA[智能指针]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/95981427</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/95981427</guid><author>i96jie</author><pubDate>Mon, 15 Jul 2019 17:32:34 +0800</pubDate><description><![CDATA[1.unique_ptr

对对象有独有权，不能有另外的unique_ptr指向这个对象。

无法拷贝赋值对象，也无妨通过值传递到函数。

只能通过移动，来对资源的管理权限进行转移，转移后，原指针就不再拥有资源。


unique_ptr&lt;int&gt; u_i; //创建空智能指针
u_i.reset(new int(3)); //"绑定”动态对象  
unique_ptr&lt;int&...]]></description><category></category></item><item><title><![CDATA[Linux磁盘与文件系统管理]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/95614301</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/95614301</guid><author>i96jie</author><pubDate>Fri, 12 Jul 2019 16:32:23 +0800</pubDate><description><![CDATA[面（Side）、磁道（Track）和扇区（Sector）



MBR简介：

MBR（Main Boot Record 主引记录）位于整个硬盘的 0 磁道 0 柱面 1 扇区。

在总共 512 字节的主引导扇区中，而它被分成三部分，MBR、DPT以及结束标志。

MBR 只占用了其中的 446 个字节，

另外的 64 个字节交给了DPT（Disk Partition Table 硬盘分区表...]]></description><category></category></item><item><title><![CDATA[ROS相关]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/95461168</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/95461168</guid><author>i96jie</author><pubDate>Thu, 11 Jul 2019 15:15:01 +0800</pubDate><description><![CDATA[ROS基础

https://blog.youkuaiyun.com/shuaiwangcsdn/article/details/74548378





Publisher Subscribe

消息队列的浅谈：

https://blog.youkuaiyun.com/handsome_for_kill/article/details/81984428





Callbacks

A "callba...]]></description><category></category></item><item><title><![CDATA[git 上传、更新]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/95348983</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/95348983</guid><author>i96jie</author><pubDate>Wed, 10 Jul 2019 16:32:32 +0800</pubDate><description><![CDATA[把这个目录变成git可以管理的仓库
git init
把文件添加到版本库中
get add .
把文件提交到仓库
get commit -m 'first vision'
关联到远程库
git remote add origin ……(远程地址)
获取远程库与本地同步合并
git pull -rebase origin master
把本地库的内容推送到远程
git push -u origin...]]></description><category></category></item><item><title><![CDATA[进入apollo docker]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/95197249</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/95197249</guid><author>i96jie</author><pubDate>Tue, 09 Jul 2019 15:05:08 +0800</pubDate><description><![CDATA[bash docker/scripts/dev_start.sh

bash docker/scripts/dev_into.sh

bash apollo.sh build


source cyber/setup.bash


docker attach apollo_dev_root

//docker ps
//docker attach f182859ccc98 
//f182859...]]></description><category></category></item><item><title><![CDATA[cmake使用]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/94734432</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/94734432</guid><author>i96jie</author><pubDate>Fri, 05 Jul 2019 14:47:29 +0800</pubDate><description><![CDATA[编写文件 CMakeLists.txt 并将其与 main.cpp 放在 同一个目录下:


PROJECT(main)
CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
#限制最低版本
AUX_SOURCE_DIRECTORY(. DIR_SRCS)
#将当前目录中的源文件名称赋值给变量 DIR_SRCS
ADD_EXECUTABLE(main ${DIR_SRCS})
#...]]></description><category></category></item><item><title><![CDATA[opengl 摄像头移动]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/94398645</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/94398645</guid><author>i96jie</author><pubDate>Mon, 01 Jul 2019 17:17:55 +0800</pubDate><description><![CDATA[glm::lookAt(eye, center, up)

eye实际上就是摄像机的位置
center摄像机画面中心的位置
up就是上轴


glm::vec3 eye = glm::vec3(x1,y1,z1);
glm::vec3 center = glm::vec3(x, y, z);
glm::vec3 up = glm::vec3(0, 1, 0);
glm::vec3 View = ...]]></description><category></category></item><item><title><![CDATA[c++11常用特性]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/90293245</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/90293245</guid><author>i96jie</author><pubDate>Sat, 18 May 2019 19:15:08 +0800</pubDate><description><![CDATA[目录



一、atomic

1、std::atomic_flag

2、std::atomic

二、std::thread

三、std::condition_variable

四、右值引用

五、std::function、std::bind

六、Lambda表达式

一、atomic

1、std::atomic_flag

atomic_flag 一种简单的原子布尔类型，只支持...]]></description><category></category></item><item><title><![CDATA[c++中的一些问题]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/90293062</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/90293062</guid><author>i96jie</author><pubDate>Fri, 17 May 2019 14:52:01 +0800</pubDate><description><![CDATA[持续更新中……

1、const和static能否一起使用

在修饰一个类的成员函数时，不能一起使用。

原因：

C++编译器在实现const的成员函数的时候为了确保该函数不能修改类的实例的状态，会在函数中添加一个隐式的参数const this*。

static类数据成员是与类关联的，但不与该类定义的对象有任何关系。即static不会像普通类数据成员一样每一个类对象都有一份，全部类对象是共享一...]]></description><category></category></item><item><title><![CDATA[多路I/O转接服务器(一)：poll & epoll]]></title><link>https://blog.youkuaiyun.com/i96jie/article/details/89373841</link><guid>https://blog.youkuaiyun.com/i96jie/article/details/89373841</guid><author>i96jie</author><pubDate>Thu, 18 Apr 2019 20:52:55 +0800</pubDate><description><![CDATA[poll

poll和select类似，它将用户传入的数组拷贝到内核空间，然后查询每个fd对应的设备状态，如果设备就绪则在设备等待队列中加入一项并继续遍历，如果遍历完所有fd后没有发现就绪设备，则挂起当前进程，直到设备就绪或者主动超时，被唤醒后它又要再次遍历fd。

主要函数和结构：


int poll(struct polled *fds, nfd_t, nfds, int timeout)
...]]></description><category></category></item></channel></rss>