<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[舍本逐末]]></title><description><![CDATA[会变得更好]]></description><link>https://blog.youkuaiyun.com/u010330109</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; u010330109]]></copyright><item><title><![CDATA[glibc sprintf源码梳理（上）]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/123272986</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/123272986</guid><author>u010330109</author><pubDate>Fri, 04 Mar 2022 11:28:19 +0800</pubDate><description><![CDATA[尝试阅读sprint源码
glibc 版本2.11
0. sprintf和snprintf
sprintf和snprintf的是字符串格式化方法，可将格式化数据写入字符串中。
snprintf规定了写入字符串的最大长度，避免字符串长度溢出
sprintf和snprintf方法定义在libio/stdio.h中，其声明和方法参数说明如下：
/*
    __s : 字符数组指针，存储拼接后的字符串
    __format: 字符串，规定了字符串格式
    ... : 可变参数，填充format中的值
  ]]></description><category></category></item><item><title><![CDATA[Debian 11 gnome 桌面设置显示图标]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/121855809</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/121855809</guid><author>u010330109</author><pubDate>Fri, 10 Dec 2021 15:45:17 +0800</pubDate><description><![CDATA[一. 查看Linux内核版本命令
1、cat /proc/version
2、uname -a
二. 查看Linux系统版本的命令：
1、lsb_release -a，即可列出所有版本信息：
2、cat /etc/issue

三.  gnome桌面图标显示
安装相关插件
apt install gnome-shell-extension-desktop-icons
打开插件设置
Activities=&gt;Extensions=&gt;Desktop Icons 打开

设置完成后桌面可以放置文件文件夹]]></description><category></category></item><item><title><![CDATA[c++基础-头文件相互引用与循环依赖问题]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/120800927</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/120800927</guid><author>u010330109</author><pubDate>Sat, 16 Oct 2021 16:52:38 +0800</pubDate><description><![CDATA[本文主要分析C++头文件的相互引用，与类的相互依赖问题
1. C++头文件的相互引用
如果C++头文件相互引用，编译无法通过：
// A.cpp
#include "A.h"

int main()
{
    return 0;
}

// A.h
#include "B.h"

// B.h
#include "A.h"

尝试编译，报错

                 from A.h:1,
                 from B.h:1,
                 from A.]]></description><category></category></item><item><title><![CDATA[C++ 字符串拼接 源码研究]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/118073800</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/118073800</guid><author>u010330109</author><pubDate>Sun, 20 Jun 2021 19:23:15 +0800</pubDate><description><![CDATA[C++字符串拼接有多种方式，不同方式原理和性能会有一些差异，本文进行一个小小归纳对比，如有疏漏错误，欢迎指出。
本文源码解析使用glibc-2.32版本。
C语言字符串拼接
1. 手工拼接操作
char *(char *dest, const char *src, size_t, n)
{
  // 保存头部指针
  char *s = dest;

  // 找到字符串末尾位置
  s1 += strlen (dest);

  // 计算拼接长度
  size_t ss = strnlen (src, ]]></description><category></category></item><item><title><![CDATA[创建Amazon EC2虚拟机 部署后端服务器（Node，Tomcat）]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/97010961</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/97010961</guid><author>u010330109</author><pubDate>Wed, 24 Jul 2019 00:05:10 +0800</pubDate><description><![CDATA[这里写自定义目录标题创建Amazon EC2虚拟机安装Node并启动服务器
创建Amazon EC2虚拟机
Amazon云服务AWS (Amazon Web Services)有一个新用户免费试用1年的活动，不过只能创建有限制的实例。
主要步骤是注册和创建虚拟机实例，注册需要一张信用卡，创建实例也是傻瓜式教程，需要注意的细节：

免费账号的限制


免费账号创建实例有限制，虚拟机的配置，可以使用的...]]></description><category></category></item><item><title><![CDATA[Android shell 劫持实验 (Kali虚拟机, Adb, MSFvenom, Apktool, drozer ...)]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/91045076</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/91045076</guid><author>u010330109</author><pubDate>Thu, 06 Jun 2019 22:20:56 +0800</pubDate><description><![CDATA[这里写自定义目录标题Android劫持实验1.实验设置与工具下载2.安卓设备发现和adb访问3. AndroidManifest.xml文件获取与解析4. 修改apk包 调用短信接口5. 构建恶意app获取shell链接总结
Android劫持实验
这个实验的主要目的是通过kaliVM进行各种操作控制 Android 设备的尝试。
1.实验设置与工具下载
需要的工具和下载链接：
Virtualbo...]]></description><category></category></item><item><title><![CDATA[求图的连通子图 python 使用 networkx （BFS, DFS）]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/89525729</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/89525729</guid><author>u010330109</author><pubDate>Thu, 25 Apr 2019 20:41:19 +0800</pubDate><description><![CDATA[本来这个问题应该是放在并查集里面一起说明，不过并查集篇幅比较大，就单独把这个问题拿出来了。
并查集的问题也可以转化为图的连通子图问题。给一个图G，返回它的所有不连通的子图。
1. 使用networkx包求图的所有不连通的子图
主要使用connected_components()方法。下面是一个例子。
import networkx as nx
import matplotlib.pyplot as...]]></description><category></category></item><item><title><![CDATA[并查集问题]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/89525245</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/89525245</guid><author>u010330109</author><pubDate>Thu, 25 Apr 2019 20:29:00 +0800</pubDate><description><![CDATA[并查集(Union-find or Disjoint-set) 问题是一个很有趣现实中很常见的问题，也并不是一个能够无脑解决的问题。
首先贴上一个讲解详细的帖子
https://blog.youkuaiyun.com/guoziqing506/article/details/78752557
什么是并查集问题？举个例子:
有一个元素集合{A, B, C, D, E, F, G}，元素之间的关系是{AB, BC...]]></description><category></category></item><item><title><![CDATA[iOS富文本(NSAttributedString)---尽力弄全了]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/51882122</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/51882122</guid><author>u010330109</author><pubDate>Mon, 11 Jul 2016 16:47:35 +0800</pubDate><description><![CDATA[把简书文章搬过来 
最近浮躁，毛线都没写，不断有人关注点赞我，必须总结点干货了。项目上要加载html格式的文本，学习一下富文本相关内容。1.加载HTML标签文本因为解析的数据里面有html标签，就使用下面的代码把字符串转换成data，初始化时再用HTML类型，转换为富文本。 NSMutableAttributedString * attrStr = [[NSMutableAttributedStri]]></description><category></category></item><item><title><![CDATA[iOS高德地图使用-搜索，路径规划]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/51330484</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/51330484</guid><author>u010330109</author><pubDate>Fri, 06 May 2016 11:52:57 +0800</pubDate><description><![CDATA[最近赶项目，好久没更新。抽出时间把高德地图的搜索和路径规划整理一下 
项目中想加入地图功能，使用高德地图第三方，想要实现确定一个位置，搜索路线并且显示的方法。耗了一番功夫，总算实现了。一、配置工作1.申请key访问 http://lbs.amap.com/dev/key/ 在高度地图第三方开发平台申请一个key，注册账户，新建应用，这个没什么门槛。 
得到这个key 
 
提示一下，这个key对应的]]></description><category></category></item><item><title><![CDATA[iOS个人整理43-第三方开发平台的使用--环信、ShareSDK和科大讯飞]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/51164778</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/51164778</guid><author>u010330109</author><pubDate>Fri, 15 Apr 2016 21:11:14 +0800</pubDate><description><![CDATA[很多时候我们需要使用一些第三方平台提供的功能，当然自己也可以写，如果够牛逼。一、环信即时通信的第三方有很多，融云、Leancloud等，都可以帮助我们快速实现扣扣微信这样的即时聊天功能，以及附带的登录注册等功能。环信怎么用：
  1.这次开发者账号 
  2.创建应用 
  3.下载SDK，这里要注意，下载对应的平台和版本 
  4.导入SDK到工程，并根据要求导入相应的依赖库 
  5.配置工程，]]></description><category></category></item><item><title><![CDATA[iOS个人整理42-FMDB]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/51164447</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/51164447</guid><author>u010330109</author><pubDate>Fri, 15 Apr 2016 21:10:01 +0800</pubDate><description><![CDATA[创建FMDatabas对象时参数为SQLite数据库文件路径，该路径可以是一下三种方法之一1.文件路径。该文件路径无需真实存在，如果不存在会自动创建2.空字符串@”“，表示会在临时目录创建一个空的数据库，当FMDatabase连接关闭时，文件也会被删除。3.NULL。将创建一个内在数据库，同样，当FMDatabase连接关闭时，数据将被销毁FMDB的使用//得到沙盒地址方法
-(NSString*)]]></description><category></category></item><item><title><![CDATA[iOS个人整理41-多媒体-音视频播放]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/51103944</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/51103944</guid><author>u010330109</author><pubDate>Fri, 15 Apr 2016 20:12:22 +0800</pubDate><description><![CDATA[如果要音乐支持后台播放 
￼ 
在AppDelegate.m的didFinishLaunch方法里面写下面



    //支持后台播放
    AVAudioSession *session = [AVAudioSession sharedInstance];
    [session setCategory:AVAudioSessionCategoryPlayback error:nil];]]></description><category></category></item><item><title><![CDATA[iOS个人整理40-定位和地图]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/51013139</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/51013139</guid><author>u010330109</author><pubDate>Fri, 15 Apr 2016 20:09:36 +0800</pubDate><description><![CDATA[CLLocationManager 定位的基础信息
CLLocation 某个位置的地理信息
CLLocationCoordinate2D 存放经纬度结构体
CLGeocoder 地理位置编码和反编码的类
CLPlacemark 地标]]></description><category></category></item><item><title><![CDATA[iOS个人整理39-cocoaPods的使用]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/50996340</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/50996340</guid><author>u010330109</author><pubDate>Fri, 15 Apr 2016 19:31:40 +0800</pubDate><description><![CDATA[安装cocoaPods


cocoaPods是Ruby实现的，用它必须有Ruby环境

1.安装Ruby环境

打开终端，
(1) gem sources --remove https://rubygems.rog/    这句是移除原来的资源地址，因为这地址被墙，访问不了
(2) gem sources -a https://ruby.taobao.org/  这句话是设置新]]></description><category></category></item><item><title><![CDATA[iOS个人整理38-贝塞尔曲线和帧动画结合]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/51009494</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/51009494</guid><author>u010330109</author><pubDate>Sat, 09 Apr 2016 10:24:06 +0800</pubDate><description><![CDATA[贝塞尔曲线
帧动画


//关键帧动画
-(void)layerKeyFrameAnimation
{
    //画一个path
    UIBezierPath *path = [UIBezierPath bezierPath];
    [path moveToPoint:CGPointMake(-40, 100)];
    [path addLineToPoint:CGPoint]]></description><category></category></item><item><title><![CDATA[iOS个人整理37-Animation动画]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/50972985</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/50972985</guid><author>u010330109</author><pubDate>Wed, 06 Apr 2016 11:23:48 +0800</pubDate><description><![CDATA[动画]]></description><category></category></item><item><title><![CDATA[iOS个人整理36-即时通信2  XMPP 好友列表 聊天信息]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/50975387</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/50975387</guid><author>u010330109</author><pubDate>Wed, 30 Mar 2016 20:14:04 +0800</pubDate><description><![CDATA[即时通信2 好友列表 聊天信息]]></description><category></category></item><item><title><![CDATA[iOS个人整理35-即时通信1 XMPP openfire 登录注册]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/50943093</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/50943093</guid><author>u010330109</author><pubDate>Tue, 29 Mar 2016 21:24:56 +0800</pubDate><description><![CDATA[即时通信（Instant Messaging），就是扣扣，微信

它有多种实现方式，如XMPP、环信、融云等。

XMPP（XML，Messages，Presence，Protocol）是基于可扩展标记语言（XML）的协议，可以用于即时通信。

XMPP是开源的，分布式的网络架构，有良好的扩展性，安全性]]></description><category></category></item><item><title><![CDATA[iOS个人整理34-在Mac上写PHP]]></title><link>https://blog.youkuaiyun.com/u010330109/article/details/50958748</link><guid>https://blog.youkuaiyun.com/u010330109/article/details/50958748</guid><author>u010330109</author><pubDate>Mon, 28 Mar 2016 21:49:48 +0800</pubDate><description><![CDATA[PHP后端基础


安装XAMPP（XML，Apache，MySQL，PHP，Perl）集成环境
安装Coda2，一款适用于Mac电脑的网页编程工具，支持（HTML，PHP，JavaScript，CSS等）
打开XAMPP，启动MySQL和Apache服务器
服务器的地址默认为127.0.0.1，应用程序---XAMPP---htdocs是web的根目录
HTML就不说了，php可以]]></description><category></category></item></channel></rss>