- 博客(54)
- 资源 (3)
- 收藏
- 关注
原创 glibc sprintf源码梳理(上)
尝试阅读sprint源码glibc 版本2.110. sprintf和snprintfsprintf和snprintf的是字符串格式化方法,可将格式化数据写入字符串中。snprintf规定了写入字符串的最大长度,避免字符串长度溢出sprintf和snprintf方法定义在libio/stdio.h中,其声明和方法参数说明如下:/* __s : 字符数组指针,存储拼接后的字符串 __format: 字符串,规定了字符串格式 ... : 可变参数,填充format中的值
2022-03-04 11:28:19
1971
原创 Debian 11 gnome 桌面设置显示图标
一. 查看Linux内核版本命令1、cat /proc/version2、uname -a二. 查看Linux系统版本的命令:1、lsb_release -a,即可列出所有版本信息:2、cat /etc/issue三. gnome桌面图标显示安装相关插件apt install gnome-shell-extension-desktop-icons打开插件设置Activities=>Extensions=>Desktop Icons 打开设置完成后桌面可以放置文件文件夹
2021-12-10 15:45:17
10215
6
原创 c++基础-头文件相互引用与循环依赖问题
本文主要分析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.
2021-10-16 16:52:38
19842
3
原创 C++ 字符串拼接 源码研究
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,
2021-06-20 19:23:15
1471
原创 创建Amazon EC2虚拟机 部署后端服务器(Node,Tomcat)
这里写自定义目录标题创建Amazon EC2虚拟机安装Node并启动服务器创建Amazon EC2虚拟机Amazon云服务AWS (Amazon Web Services)有一个新用户免费试用1年的活动,不过只能创建有限制的实例。主要步骤是注册和创建虚拟机实例,注册需要一张信用卡,创建实例也是傻瓜式教程,需要注意的细节:免费账号的限制免费账号创建实例有限制,虚拟机的配置,可以使用的...
2019-07-24 00:05:10
1366
原创 Android shell 劫持实验 (Kali虚拟机, Adb, MSFvenom, Apktool, drozer ...)
这里写自定义目录标题Android劫持实验1.实验设置与工具下载2.安卓设备发现和adb访问3. AndroidManifest.xml文件获取与解析4. 修改apk包 调用短信接口5. 构建恶意app获取shell链接总结Android劫持实验这个实验的主要目的是通过kaliVM进行各种操作控制 Android 设备的尝试。1.实验设置与工具下载需要的工具和下载链接:Virtualbo...
2019-06-06 22:20:56
9082
原创 求图的连通子图 python 使用 networkx (BFS, DFS)
本来这个问题应该是放在并查集里面一起说明,不过并查集篇幅比较大,就单独把这个问题拿出来了。并查集的问题也可以转化为图的连通子图问题。给一个图G,返回它的所有不连通的子图。1. 使用networkx包求图的所有不连通的子图主要使用connected_components()方法。下面是一个例子。import networkx as nximport matplotlib.pyplot as...
2019-04-25 20:41:19
27765
4
原创 并查集问题
并查集(Union-find or Disjoint-set) 问题是一个很有趣现实中很常见的问题,也并不是一个能够无脑解决的问题。首先贴上一个讲解详细的帖子https://blog.youkuaiyun.com/guoziqing506/article/details/78752557什么是并查集问题?举个例子:有一个元素集合{A, B, C, D, E, F, G},元素之间的关系是{AB, BC...
2019-04-25 20:29:00
8658
原创 iOS富文本(NSAttributedString)---尽力弄全了
把简书文章搬过来 最近浮躁,毛线都没写,不断有人关注点赞我,必须总结点干货了。项目上要加载html格式的文本,学习一下富文本相关内容。1.加载HTML标签文本因为解析的数据里面有html标签,就使用下面的代码把字符串转换成data,初始化时再用HTML类型,转换为富文本。 NSMutableAttributedString * attrStr = [[NSMutableAttributedStri
2016-07-11 16:47:35
28206
1
原创 iOS高德地图使用-搜索,路径规划
最近赶项目,好久没更新。抽出时间把高德地图的搜索和路径规划整理一下 项目中想加入地图功能,使用高德地图第三方,想要实现确定一个位置,搜索路线并且显示的方法。耗了一番功夫,总算实现了。一、配置工作1.申请key访问 http://lbs.amap.com/dev/key/ 在高度地图第三方开发平台申请一个key,注册账户,新建应用,这个没什么门槛。 得到这个key 提示一下,这个key对应的
2016-05-06 11:52:57
4762
原创 iOS个人整理43-第三方开发平台的使用--环信、ShareSDK和科大讯飞
很多时候我们需要使用一些第三方平台提供的功能,当然自己也可以写,如果够牛逼。一、环信即时通信的第三方有很多,融云、Leancloud等,都可以帮助我们快速实现扣扣微信这样的即时聊天功能,以及附带的登录注册等功能。环信怎么用: 1.这次开发者账号 2.创建应用 3.下载SDK,这里要注意,下载对应的平台和版本 4.导入SDK到工程,并根据要求导入相应的依赖库 5.配置工程,
2016-04-15 21:11:14
1474
原创 iOS个人整理42-FMDB
创建FMDatabas对象时参数为SQLite数据库文件路径,该路径可以是一下三种方法之一1.文件路径。该文件路径无需真实存在,如果不存在会自动创建2.空字符串@”“,表示会在临时目录创建一个空的数据库,当FMDatabase连接关闭时,文件也会被删除。3.NULL。将创建一个内在数据库,同样,当FMDatabase连接关闭时,数据将被销毁FMDB的使用//得到沙盒地址方法-(NSString*)
2016-04-15 21:10:01
1916
原创 iOS个人整理41-多媒体-音视频播放
如果要音乐支持后台播放  在AppDelegate.m的didFinishLaunch方法里面写下面 //支持后台播放 AVAudioSession *session = [AVAudioSession sharedInstance]; [session setCategory:AVAudioSessionCategoryPlayback error:nil];
2016-04-15 20:12:22
1182
原创 iOS个人整理40-定位和地图
CLLocationManager 定位的基础信息CLLocation 某个位置的地理信息CLLocationCoordinate2D 存放经纬度结构体CLGeocoder 地理位置编码和反编码的类CLPlacemark 地标
2016-04-15 20:09:36
1118
原创 iOS个人整理39-cocoaPods的使用
安装cocoaPodscocoaPods是Ruby实现的,用它必须有Ruby环境1.安装Ruby环境打开终端,(1) gem sources --remove https://rubygems.rog/ 这句是移除原来的资源地址,因为这地址被墙,访问不了(2) gem sources -a https://ruby.taobao.org/ 这句话是设置新
2016-04-15 19:31:40
581
原创 iOS个人整理38-贝塞尔曲线和帧动画结合
贝塞尔曲线帧动画//关键帧动画-(void)layerKeyFrameAnimation{ //画一个path UIBezierPath *path = [UIBezierPath bezierPath]; [path moveToPoint:CGPointMake(-40, 100)]; [path addLineToPoint:CGPoint
2016-04-09 10:24:06
14026
原创 iOS个人整理35-即时通信1 XMPP openfire 登录注册
即时通信(Instant Messaging),就是扣扣,微信它有多种实现方式,如XMPP、环信、融云等。XMPP(XML,Messages,Presence,Protocol)是基于可扩展标记语言(XML)的协议,可以用于即时通信。XMPP是开源的,分布式的网络架构,有良好的扩展性,安全性
2016-03-29 21:24:56
1203
原创 iOS个人整理34-在Mac上写PHP
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可以
2016-03-28 21:49:48
1196
原创 iOS个人整理33-GCD----多线程优化
一、GCDGCD(Grand Central Dispatch)是Apple开发的一种多核编程技术。主要用于优化应用程序以支持多核处理器GCD提供函数实现多线程开发,性能更高,功能更强大首次发布在Mac OS X 10.6,iOS 4以上也可用//定义一个回调函数void function(void* str){ printf("回调函数 %s\n",str
2016-03-28 11:45:28
14813
原创 iOS个人整理30-网络请求Session与Connection
NSURLRequestCachePolicy 缓存策略1> NSURLRequestUseProtocolCachePolicy = 0, 默认的缓存策略,如果缓存不存在,直接从服务端获取。如果缓存存在,会根据response中的Cache-Control字段判断下一步操作,如:Cache-Control字段为must-revalidata,则询问服务端该数据是否有更新,无更
2016-03-21 10:20:10
9568
原创 iOS个人整理29-JSON与xml文件解析(dom/SAX解析)
一、JSON与XML的优缺点XML与JSON共同点:1.格式统一,符合标准2.容易与其他系统继续远程交互,数据共享比较方便缺点:1.XML文件格式文件庞大,格式赋值,传输占用带宽2.服务器端和客户端都需要花费大量的代码来解析XML,不论服务器还是客户端都使代码变得异常复杂不易维护3.客户端不同浏览器直接解析XML的方式不一致,需要重复编写很多代码3.服务器端和客户端...
2016-03-18 22:27:55
2085
原创 iOS个人整理28-CoreData,数据表关系,数据库迁移
Core Data是一个功能强大的层,位于SQLite数据库之上,它避免了SQL的复杂性,能让我们以更自然的方式与数据库进行交互。Core Data将数据库行转换为OC对象(托管对象)来实现,这样无需任何SQL知识就能操作他们。
2016-03-16 10:09:19
2869
原创 iOS个人整理27-SQLite3和基础的sql语句,bind,blob
一、SQLite3SQLite是iOS开发普遍用的数据库,占用资源非常少 ,最初设计目标是用于嵌入式系统,在嵌入式设备中,值需要几百K内存。在iOS中使用SQLite时,需要加入libsqlite3.0.tbd依赖,并引入sqlite3.h头文件。基础的sql语句这个太基础了,但是不搞后台的也只能略知皮毛,不用还记不清楚。整理下方便用的时候忘了看。在终端中SQL
2016-03-15 22:29:38
4632
转载 iOS 高效添加圆角效果实战讲解
iOS 高效添加圆角效果实战讲解原文链接http://www.cocoachina.com/ios/20160301/15486.html本文是投稿文章,作者:bestswifter圆角(RounderCorner)是一种很常见的视图效果,相比于直角,它更加柔和优美,易于接受。但很多人并不清楚如何设置圆角的正确方式和原理。设置圆角会带来一定的性能损耗,如何提高性
2016-03-14 19:38:55
1240
原创 iOS个人整理26-沙盒机制和文件管理NSFileManger,文件对接NSFileHander
一、沙盒机制1.什么是沙盒通俗的说,就是讲一个应用程序的所有的非代码文件放在一个文件夹里(沙盒),应用程序只能从该文件系统读取文件,不能去其他地方访问。2.打开模拟器的沙盒目录点击finder----点击菜单栏的前往----按住alt,出现了隐藏的资源库选项----点击资源库----developer----CoreSimulator----Devices,然后发现这里
2016-03-11 20:01:19
721
原创 iOS个人整理25-瀑布流效果
一、UICollection瀑布流现在好像挺流行,怎么实现呢用UICollectionView咯,还是先说这个集合视图吧这个继承于UIScrollView,可以滚动,UICollectionView上面也可以添加cell,但不用于UITableView,它可以设置cell的列和行,形成2维结构就像这样 二、瀑布流什么是瀑布流!?就是这样
2016-03-10 09:13:33
2225
1
原创 iOS个人整理23-可视化编辑2-StoryBoard,segue跳转,可视化自定义cell
xib和StoryBoard的对比相同:都属于IB编程的方式,可以快速创建GUI不同:xib侧重于单文件编辑,storyBoard侧重于多页面关联。storyBoard可以直观看到页面之间的逻辑,并且所有页面跳转逻辑均可在-(void)prepareForSegue:(UIStoryboardSegue*)segue sender:(id)sender方法中完成方便界面间数据统一管理。这里还有一个问题,如果界面过多,可以放在不同的storyBoard里,逻辑更加清晰,渲染也更快。根据新的storyB
2016-03-08 10:02:00
2949
原创 iOS个人整理19-UITableViewController和UITableView的编辑
一、UITableViewControllerUITableViewController是继承于UIViewController中的一个类,只不过比UIViewController中多了一个属性tableView。也就是说UITableViewController是自带table的视图控制器。它的self.view 是UITableView二不是UIView。dataSource和
2016-03-02 09:06:27
1457
原创 iOS个人整理15-UIImagePickerController,照片选择器
一、UIImagePickerControllerUIImagePickerController是系统提供的用来获取图片和视频的接口获取的途径为相机,图库,相册分为以下几个步骤:1. 初始化UIImagePickerController 类;2. 设置UIImagePickerController 实例的数据来源类型(下面解释);3. 设置代理;4. 如果需要做图片修改
2016-01-30 09:01:24
4374
原创 iOS个人整理16-标签视图控制器--UITabBarController
一、UITabBarController微信底部那一排 微信、通讯录、发现、朋友圈,就是UITabBarController它上面的控制的四个视图控制器是平级的,一般情况下将self.window.rootViewController设置为UITabBarController然后在UITabBarController上面添加UINavigationControllerUINavig
2016-01-29 19:32:57
820
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人