<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[abcx3261的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/abcx3261</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; abcx3261]]></copyright><item><title><![CDATA[CentOS7.4设置开机自启某个程序]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/125578416</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/125578416</guid><author>abcx3261</author><pubDate>Sat, 02 Jul 2022 22:04:45 +0800</pubDate><description><![CDATA[CentOS7.4设置开机自启某个程序]]></description><category></category></item><item><title><![CDATA[数据结构和编程语言关系]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/124312199</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/124312199</guid><author>abcx3261</author><pubDate>Thu, 21 Apr 2022 08:17:41 +0800</pubDate><description><![CDATA[数据结构其本身是和语言无关的，也就是说数据结构只有一个版本，至于应该选择哪一个语言进行学习，可以就个人爱好与善长决定。C，C++，Java都是不 错的选择。数据结构和语言的关系就像数学定理和描述它的自然语言一样，你可以用中文表达勾股定理，也可以用英文，法文或者世界上任何一种语言表达它，但是 世上只有一个勾股定理。当然，如果任何一种语言你都不会，那将无法学好数据结构的。如果你打算今后都用C语言，那么可以认为数据结构是C语言的加强和发 展。
...]]></description><category></category></item><item><title><![CDATA[linux下的文件分析工具 -- nm]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/122542663</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/122542663</guid><author>abcx3261</author><pubDate>Mon, 17 Jan 2022 16:26:49 +0800</pubDate><description><![CDATA[linux下的文件分析工具 -- nm

什么是nm

nm命令是linux下自带的特定文件分析工具，一般用来检查分析二进制文件、库文件、可执行文件中的符号表，返回二进制文件中各段的信息。

目标文件、库文件、可执行文件

首先，提到这三种文件，我们不得不提的就是gcc的编译流程：预编译，编译，汇编，链接。


	目标文件:常说的目标文件是我们的程序文件(.c/.cpp,.h)经过预编译，编译，汇编过程生成的二进制文件,不经过链接过程，编译生成指令为：

	gcc(g++) -c file.c(file..]]></description><category></category></item><item><title><![CDATA[centos图形界面的开启和关闭]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/120899545</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/120899545</guid><author>abcx3261</author><pubDate>Fri, 22 Oct 2021 09:38:12 +0800</pubDate><description><![CDATA[一般来说centos主要用于服务器端，所以很少开启图形化界面，但是有时候为了工作方便也会偶尔开启图形界面，下面就让简单谈谈如何开启图形化界面，

当然简化安装是没有这个程序的需要自行安装，可以yum安装下

CentOS作为服务器的操作系统是很常见的，但是因为需要稳定而没有很时髦的更新，所以很少做为桌面环境。在服务器上通常不需要安装桌面环境，最小化地安装 CentOS（也就是 minimal CentOS）就可以了。不过在最小化安装的 CentOS 中通过 YUM 来安装桌面环境也是非常方便的。

...]]></description><category></category></item><item><title><![CDATA[sed匹配多行替换]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/110198536</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/110198536</guid><author>abcx3261</author><pubDate>Thu, 26 Nov 2020 17:47:32 +0800</pubDate><description><![CDATA[sed匹配多行替换

sed-i'/aaa/{:a;n;s/123/xyz/g;/eee/!ba}'yourfile

如题：
aaa
123
123
123
123
123
eee
怎么匹配aaa~eee（开始结束字符串确定），然后替换123这样的

先匹配aaa，匹配到后执行大括号里的语句。

n 读取下一行

s/123/xyz/g 将123替换为xyz，全局替换，同一行中出现几次替换几次

:a设定跳转标签a

/eee/!ba 若当前行匹配不上eee，则跳转到标签a处继续执行，构成一个...]]></description><category></category></item><item><title><![CDATA[Kinect传感器的硬件组成]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/89518806</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/89518806</guid><author>abcx3261</author><pubDate>Thu, 25 Apr 2019 16:30:19 +0800</pubDate><description><![CDATA[1.3.1　Kinect的结构组成

《Kinect人机交互开发实践》第1章Kinect简介，本章将介绍Kinect的基本概念及其发展历程，并简要剖析其结构功能以及体感交互技术的原理。最后还会对Kinect for Windows的应用领域进行概览和展望。本节为大家介绍Kinect的结构组成。

1.3　Kinect体感交互技术原理

初看Kinect，你或许只看到了3个小摄像头，那么Kinect...]]></description><category></category></item><item><title><![CDATA[Python __iter__()迭代器]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/88966547</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/88966547</guid><author>abcx3261</author><pubDate>Tue, 02 Apr 2019 11:15:26 +0800</pubDate><description><![CDATA[__iter__():迭代器，生成迭代对象时调用，返回值必须是对象自己,然后for可以循环调用next方法

next():每一次for循环都调用该方法（必须存在）



class A(object):
    def __init__(self,num):
        self.num = num
        self.start_num = -1
    
    def __ite...]]></description><category></category></item><item><title><![CDATA[python 生成器和迭代器]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/88953694</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/88953694</guid><author>abcx3261</author><pubDate>Mon, 01 Apr 2019 18:02:56 +0800</pubDate><description><![CDATA[本节主要记录一下列表生成式，生成器和迭代器的知识点

　　列表生成器

　　首先举个例子

现在有个需求，看列表 [0，1，2，3，4，5，6，7，8，9]，要求你把列表里面的每个值加1，你怎么实现呢？

方法一（简单）：


			1

			2

			3

			4

			5

			6

			7

			8

			9
			
			
			info=[0,1,2,3,4,...]]></description><category></category></item><item><title><![CDATA[Python yield 使用浅析]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/88874554</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/88874554</guid><author>abcx3261</author><pubDate>Thu, 28 Mar 2019 17:55:24 +0800</pubDate><description><![CDATA[您可能听说过，带有 yield 的函数在 Python 中被称之为 generator（生成器），何谓 generator ？

我们先抛开 generator，以一个常见的编程题目来展示 yield 的概念。

如何生成斐波那契數列

斐波那契（Fibonacci）數列是一个非常简单的递归数列，除第一个和第二个数外，任意一个数都可由前两个数相加得到。用计算机程序输出斐波那契數列的前 N 个数是一...]]></description><category></category></item><item><title><![CDATA[Python 类中方法的内部变量，命名加'self.'变成 self.xxx 和不加直接 xxx 的区别]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/88872667</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/88872667</guid><author>abcx3261</author><pubDate>Thu, 28 Mar 2019 16:50:25 +0800</pubDate><description><![CDATA[如果不加self，表示是类的一个属性（可以通过“类名.变量名”的方式引用），加了表示是类的实例的一个属性（可以通过“实例名.变量名”的方式引用）。
比如：
In[17]:classTest(object):
....:val=1
....:
....:def__init__(self):
....:self.val=2
...]]></description><category></category></item><item><title><![CDATA[linux screen 命令详解]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/88841268</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/88841268</guid><author>abcx3261</author><pubDate>Wed, 27 Mar 2019 12:00:05 +0800</pubDate><description><![CDATA[linux screen 命令详解

一、背景

系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器，经常运行一些需要很长时间才能完成的任务，比如系统备份、ftp 传输等等。通常情况下我们都是为每一个这样的任务开一个远程终端窗口，因为它们执行的时间太长了。必须等待它们执行完毕，在此期间不能关掉窗口或者断开连接，否则这个任务就会被杀掉，一切半途而废了。

二、简介

GN...]]></description><category></category></item><item><title><![CDATA[Python杂谈: __init__.py的作用]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/88790273</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/88790273</guid><author>abcx3261</author><pubDate>Mon, 25 Mar 2019 12:00:17 +0800</pubDate><description><![CDATA[我们经常在python的模块目录中会看到 "__init__.py" 这个文件，那么它到底有什么作用呢？



1. 标识该目录是一个python的模块包（module package）

　　如果你是使用python的相关IDE来进行开发，那么如果目录中存在该文件，该目录就会被识别为 module package 。

2. 简化模块导入操作

　　假设我们的模块包的目录结构如下：




...]]></description><category></category></item><item><title><![CDATA[python的复制，深拷贝和浅拷贝的区别]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/88743289</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/88743289</guid><author>abcx3261</author><pubDate>Fri, 22 Mar 2019 15:55:25 +0800</pubDate><description><![CDATA[在python中，对象赋值实际上是对象的引用。当创建一个对象，然后把它赋给另一个变量的时候，python并没有拷贝这个对象，而只是拷贝了这个对象的引用

一般有三种方法，

alist=[1,2,3,["a","b"]]



（1）直接赋值,默认浅拷贝传递对象的引用而已,原始列表改变，被赋值的b也会做相同的改变

&gt;&gt;&gt; b=alist
&gt;&gt;&gt; print ...]]></description><category></category></item><item><title><![CDATA[Python 迭代器 & __iter__方法]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/88742227</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/88742227</guid><author>abcx3261</author><pubDate>Fri, 22 Mar 2019 15:21:14 +0800</pubDate><description><![CDATA[转载自http://blog.youkuaiyun.com/bluebird_237/article/details/38894617

迭代器就是重复地做一些事情，可以简单的理解为循环，在python中实现了__iter__方法的对象是可迭代的，实现了next()方法的对象是迭代器，这样说起来有点拗口，实际上要想让一个迭代器工作，至少要实现__iter__方法和next方法。很多时候使用迭代器完成的工作使...]]></description><category></category></item><item><title><![CDATA[ubuntu 查看隐藏文件的两种方法]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/88682252</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/88682252</guid><author>abcx3261</author><pubDate>Wed, 20 Mar 2019 10:38:53 +0800</pubDate><description><![CDATA[解决方案：

方案一，若使用桌面可视化窗口，进入该待显示的文件路径，进入ctrl + h ，则显示隐藏文件

方案二，若使用命令行，则使用命令：ls -a 显示所有文件，也包括隐藏文件
...]]></description><category></category></item><item><title><![CDATA[杀死GPU进程并释放显存]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/88655587</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/88655587</guid><author>abcx3261</author><pubDate>Tue, 19 Mar 2019 10:01:43 +0800</pubDate><description><![CDATA[kill -9 PID 可用于杀死GPU进程

若杀死进程后显存仍然占用，可用命令fuser -v /dev/nvidia* 查找占用GPU资源的PID，然后执行kill -9 PID结束进程，这样就可以释放内存了。
...]]></description><category></category></item><item><title><![CDATA[tensorflow checkpoint文件的版本]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/88537654</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/88537654</guid><author>abcx3261</author><pubDate>Wed, 13 Mar 2019 17:37:03 +0800</pubDate><description><![CDATA[根据官方的说明，checkpoint有两个版本：1和2

在0.12版本tensorflow更新了checkpoint版本，默认情况下写入和读取的checkpoint都是新的V2版本，新版本能够在restore过程中显著降低内存峰值。

两种版本模型保存方式如下：


更多关于0.xx版本和1.0以上版本的区别请看：https://blog.youkuaiyun.com/hfutdog/article/det...]]></description><category></category></item><item><title><![CDATA[tf.split()函数的用法]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/88223201</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/88223201</guid><author>abcx3261</author><pubDate>Wed, 06 Mar 2019 10:56:33 +0800</pubDate><description><![CDATA[在tensorflow 的代码里经常看到tf.split()这个函数，今天来扒一扒这个API的用法


tf.split(
    value,
    num_or_size_splits,
    axis=0,
    num=None,
    name='split'
)

Splits a tensor into sub tensors.

If num_or_size_splits ...]]></description><category></category></item><item><title><![CDATA[pip安装其他软件注意事项]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/88053980</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/88053980</guid><author>abcx3261</author><pubDate>Fri, 01 Mar 2019 12:14:12 +0800</pubDate><description><![CDATA[当pip指向pip3时，有时候要安装python2的软件，这时候可以用pip2 install xxxxx

例如：安装virtualenv时，可以这样：pip2 install virtualenv
]]></description><category></category></item><item><title><![CDATA[ubuntu 中python2和python3分别是pip2，pip3，pip指向问题]]></title><link>https://blog.youkuaiyun.com/abcx3261/article/details/87918282</link><guid>https://blog.youkuaiyun.com/abcx3261/article/details/87918282</guid><author>abcx3261</author><pubDate>Mon, 25 Feb 2019 15:53:10 +0800</pubDate><description><![CDATA[        因为python2和python3版本不兼容的原因，所以很多系统上避免不了转python2 和python3。 pip 有时候指向pip2；有时候指向pip3。在我的电脑上，pip和pip3 都指向了python3.。为了让pip指向python2， pip3 指向python3.需要做一些简单的修改：

命令如下：which pip

一般情况下会显示：

/home/feng/...]]></description><category></category></item></channel></rss>