- 博客(44)
- 资源 (1)
- 收藏
- 关注
原创 iOS开发经典问题记录
持续更新文章目录Copy/assign/weak/stong/retain使用总结自定义ui控件property使用strong还是weakinfo.plist文件介绍:修改app名称.pch头文件内容 全局共用创建不包含stoaryboard的项目保存透明文件到相册-codexcode设置中文属性无法显示模拟器定时器动画刷帧info.plist文件移动到Supporting Filse报错键...
2019-12-08 15:05:16 572
原创 iOS程序访问服务器-实战篇二
本篇模拟对服务器返回xml数据以及json数据进行解析操作,获取指定值运行apachesudo apachectl -k startxml文件http://localhost/xml.xml<?xml version="1.0" encoding="UTF-8"?><node> <student stuId="1"> <na...
2019-12-08 14:59:26 308
原创 iOS程序访问服务器-实战篇一
为什么不可以直接用iOS程序直接访问服务器上的数据库?,因为app容易被逆向工程破解,数据库账号密码被获取存在信息安全的问题。 并且,客户端一旦发布出去,没有办法及时修改代码。所以需要一个中间件,所谓的web服务器>iOS->web服务器->后台这里完们用的是本地服务器前提:1、启动apache,2、可以访问php页面,3、安装myql。 USE GOOGLE如何访问...
2019-12-08 14:14:00 936
原创 如何用chrome查看表单post提交的数据
例如PUST提交表单后,想查看提交的内容, 用在在客户端上包装数据F12-Network-Headers拉到最下边可以看见username=zhang&password=1拉到下边点击viewsource可以看见提交的post数据...
2019-12-08 13:23:56 27498 3
原创 mac无法访问php页面, 直接下载文件
关于:mac 下开启apache服务却依然 无法访问php页面, 而是直接下载文件php文件内容如下<html><body> <?php phpinfo(); ?></body></html>访问地址如下:localhost/index.php启动apache服务:sudo apachectl -k start重...
2019-12-04 22:19:47 1072
原创 iOS Quartz2D绘图使用篇
Quartz2D使用有兴趣可以贴代码看一下跑的效果,就不一一上图了文章目录Quartz2D使用常用的一些函数栗子????**画线段****画多边形****画圆相关****画文字****绘制小黄人****刷帧****动画❄️飘落****模仿UIImageView****自定义UITextVIew,实现提示文字 placehoader****水印****截图****裁减圆形头像带圆形边框****图片拉...
2019-11-29 10:51:44 348
原创 gcd多线程任务与队列组合分析
文章目录多线程调试常用代码:gcd的任务gcd的队列多线程调试常用代码:[NSThread sleepForTimeInterval:3.0f]; //模拟耗时操作[NSThread currentThread]; //%@打印当前线程序号,主线程师1,一次递增。gcd的任务同步任务: dispatch_sync(queue, ^{});最大的作用是阻塞并行队列的非...
2019-11-29 10:43:49 187
原创 判断网站证书的有效性
输入相关网站url,获取当前的证书信息,与实际证书信息进行比对,判断证书的有效性。#-*-coding:utf-8-*-from OpenSSL import cryptoimport datetimeimport socketimport jsonimport sslimport time####判断以下证书信息##### 国家地区:CN ...
2019-11-27 15:57:08 460
原创 iOS 表情排列
emoji表情排列实现了一个通过不同的数字来控制表情排几列的ui练习demo,并且可通过点击“+”按钮,来随机添加新的表情。图片资源可从git中拉下具体效果如下:具体实现过程:1、创建工程2、给storyboard中拖动一个新控件UISengted Control设置控件属性出现如下函数, 后续再处理- (**IBAction**)indexChange:(UIS...
2019-09-05 22:55:20 468
原创 GCD详解
文章目录Grand Central Dispatch(GCD)1. 什么是GCD2.GCD的API2.1Dispatch Queue是什么?2.2如何获取Dispatch Queue2.2.1通过GCD的API获取 dispatch_queue_create2.2.2Main Dispatch Queue/Global Dispatch Queue2.3dispatch_set_target_qu...
2019-08-26 00:53:21 4553
原创 python Django入门
文章目录python django入门如何创建一个项目1.建立虚拟环境 (python3环境)2.激活虚拟环境3.安装Django4.在django中创建项目5.创建数据库python3 manage.py migrate6.运行项目7.创建应用程序7.1定义模型7.2激活模型7.3 django管理网站8.使用shell查看数据库中存储数据python django入门如何创建一个项目需...
2019-08-26 00:44:46 361
原创 解决:无法打开预编译头文件No such file or directory
用vs开发工具开发串口工程时,编译时报错:无法打开预编译头文件: “Debug\xxx.pch”: No such file or directory,经过一番时间的研究,终于可以编译成功。 通过百度搜索,设置如下:右键选中工程->选择属性菜单->配置属性->c/c++,设置预编译头为“不使用预编译头“。如果可以那就结束。 然并卵 的话 ...
2018-07-24 20:45:09 3696
原创 IPC关于管道读写的四种特殊情况代码示例
管道读写的几种情况: first:写端关闭 读端读完管道数据 再次读返回0 相当于读到EOF second:读端关闭 写端写管道, 收到信号SIGPIPE 导致写进程终止 third:写端没有关闭 读端读完管道数据 再次读 阻塞** fourth:读端没有读管道数据, 当写端写满管道, 再次写, 阻塞下面给出这四种情况对应的代码,可直接运行看情况第一种写端关闭 读端读完管...
2018-05-22 23:19:50 430
转载 从打开电源到开机操作系统启动的全过程
从打开电源到开始操作,计算机的启动是一个非常复杂的过程我一直搞不清楚,这个过程到底是怎么回事,只看见屏幕快速滚动各种提示…… 这几天,我查了一些资料,试图搞懂它。下面就是我整理的笔记。零、boot的含义先问一个问题,”启动”用英语怎么说?回答是boot。可是,boot原来的意思是靴子,”启动”与靴子有什么关系呢? 原来,这里的boot是bootstrap(鞋带)的缩写,它来自一句谚...
2018-05-22 23:06:18 3559 1
转载 五分钟理解一致性哈希算法
每天进步一点点——五分钟理解一致性哈希算法(consistent hashing) 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式...
2018-04-18 14:50:33 161
转载 redis hash(k-value(kv))
原文链接 为什么说reids中的哈希结构是key-value 而value又是一个key-vlaue键值对的存在呢?我们简单举个实例来描述下Hash的应用场景,比如我们要存储一个用户信息表数据,包含以下信息:用户ID为查找的key,存储的value用户对象包含姓名,年龄,生日等信息,如果用普通的key/value结构来存储,主要有以下2种存储方式:第一种方式将用户ID作为查找k...
2018-04-11 19:55:17 2227
转载 redis 五种数据类型及其使用场景
String1、String常用命令:除了get、set、incr、decr mget等操作外,Redis还提供了下面一些操作:获取字符串长度往字符串append内容设置和获取字符串的某一段内容设置及获取字符串的某一位(bit)批量设置一系列字符串的内容应用场景:String是最常用的一种数据类型,普通的key/value存储都可以归为此类,value其...
2018-04-11 19:40:06 167
原创 c++学习笔记(四)参数缺省
缺省有好处也有坏处(二义性),使用的时候需要特别注意#include <iostream>using namespace std;void Foo(int x = 0, int y = 0); //yse 声明缺省void Foo1(int x = 0, int y=0) //yse 直接定义缺省{ y = 3;}void Foo2(int x, in...
2018-04-07 11:24:30 172
原创 c++学习笔记(三)const详解
c和c++const的一点区别c语言中的const 应该叫做 read-only c++中的const 是真正的const * c++const 是真正的const, 不会被指针变量所改变 * 而c语言可以 类似 * const int a = 3; * int *p = (int *)&a; * *p = 5; * 打印会发现 *p = a = 5; * * ...
2018-04-07 11:04:34 202
原创 不小心产生野指针的3种情况
野指针的危害: 野指针不会被你检测到 假如一个指针使用释放后, 没有置为NULL, 那么他还是有指向的 很长时间后, 我们不小心用到这个指针,对其进行判断if(NULL != p){ ...}这种方式知识看似进行了检查,对野指针来说 ,实则是无用的检查 很容易产生错误,所以我们要对野指针产生的几种情况详细了解,避免野指针的产生/* 野指针...
2018-04-06 17:05:47 2340
原创 c++学习笔记(二)隐藏和覆盖详解&简单判断运行结果
c++隐藏和覆盖详解首先隐藏和覆盖是针对基类和子类的两个函数而非同一个类中的函数(那是重载)覆盖: 子类覆盖基类只有一种情况: 同名同参,基类必须有virtual隐藏: 子类隐藏基类同名同参 基类必须无virtual 同名不同参 virtual有无都随意判断运行结果隐藏看指针类型 覆盖看实体类型 重载看参数先不需要理解,只需要记住上面几...
2018-04-06 16:57:58 166
原创 c++学习笔记(一)函数重载的几种情况
c++函数重载的几种情况注意重载只看参数类型和参数个数 与返回类型无关 与返回类型无关 与返回类型无关 /*只能通过参数类型重载, 不能通过函数返回值重载*/#include <iostream>using namespace std;/*int fun(int a){ cout << "int" << endl;}vo...
2018-04-06 16:48:02 1409
原创 tcp连接全过程各种状态详解
简单介绍状态迁移建立连接时的状态变迁断开连接时的状态变迁详细解释CLOSED:LISTEN:SYN_RCVD:SYN_SENT:ESTABLISHED:FIN_WAIT_1:FIN_WAIT_2:TIME_WAIT:CLOSING:CLOSE_WAIT:LAST_ACK:简单介绍LISTEN:侦听来自远方的TCP端口的连接请求SYN-...
2018-03-28 00:47:41 38389 5
原创 source insight 快捷键
source insight 快捷键常用快捷键 Ctrl + F:当前文件内搜索 Ctrl + Shift + F:多文件搜索F3:前一个搜素结果F4:后一个搜索结果Ctrl + H:替换Ctrl + ‘=’:跳转到定义Alt + ‘<’:返回之前的位置Alt + ‘>’:前进到之后的位置Shift + F8:高亮...
2018-03-27 12:55:43 193
原创 学习线程原语
创建线程获取线程ID打印创建错误信息等待线程(类比进程wait)取消线程设置线程分离态比较线程是否相等gcc编译时候需要加 -lpthread (gcc *.c -lpthread)头文件则需要添加 #include<pthread.h>了解线程的每个原语,有助于对多线程编程透彻的理解创建线程Pthread_create(p...
2018-03-26 13:01:56 499
原创 常见tcp/ip网络攻击方式分析
常见网络攻击方式介绍一、 TCP SYN 拒绝服务攻击二、 ICMP 洪水三、 UDP 洪水四、 端口扫描五、 分片 IP 报文攻击六、 SYN 比特和 FIN 比特同时设置七、 没有设置任何标志的 TCP 报文攻击八、 设置了 FIN 标志却没有设置 ACK 标志的 TCP 报文攻击九、 死亡之 PING十、 地址猜测攻击...
2018-03-26 02:23:20 13129 2
原创 异或交换变量及陷阱详解
两数异或相同为0, 不同为1不借助中间变量, 异或操作效率高, 节省空间(嵌入式开发)简单讲解一下其交换过程例如 a = 1; b = 0; (异或按二进制位操作, 这里演示就用简单点数字好了)a = a ^ b;b = a ^ b;a = a ^ b;a = 1 ^ 0 = 1;b = 1 ^ 0 = 1;a = 1 ^ 1 = 0;最终 a = 0, b = 1 达到交换的目的然而这种交换却...
2018-03-23 20:20:13 1577
原创 linux下malloc实际开辟空间大小
测试linux下malloc实际开辟空间的大小 /*malloc参数可为0 但不可以为负*/ //测试本机64位机,只要malloc传的参数小于24(包括0) //则第一次最小分配24字节,不同机器可能会有出入 //若大于24字节, 例如1000,则分配1000或者1000大一点预分配内存/* malloc申请空间实际分配? */#include <stdli...
2018-03-17 23:25:58 4391
原创 dup(应用dup将printf函数重定向到文件当中)
/* printf重定向到某个文件中 *//* dup()函数功能: */#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <string.h>#include <fcntl.h>int main(){ /* 函数: int fd...
2018-03-16 17:55:46 819 2
原创 dup2函数功能详解
如题,如果对dup2函数功能模糊的朋友可以看一看linux下测试。#include <stdio.h>#include <stdlib.h> /*exit函数*/#include <fcntl.h> /*open函数*/#include <unistd.h> /*dup2函数*//**STDIN_FILENO 0 ...
2018-03-16 17:26:52 1074
原创 memcopy和memmove的实现与测试
我们会发现memcopy与memmove不论什么情况下测试结果总是相等这就奇怪了, 网上一查都是说memcopy在内存覆盖的情况下会出错,但是为什么结果总是相等呢?那是因为编译器做了优化笔者亲测windows下和linux平台均做了优化然而我们自己编写不优化的my_memcopy在内存覆盖的情况下会发生错误(见下文)下文将用不优化的函数来测试内存覆盖的问题第一种情况下,拷贝重叠的区域不会出现问题,...
2018-03-16 13:03:44 555
原创 什么是lsof
lsof代表列表打开文件。如果把lsof命令看作“ls + of”,其中ls代表列表,并且代表打开的文件,则很容易记住lsof命令。Linux中的lsof命令在其输出中显示由进程打开的文件的信息如果要快速查看特定进程(或所有进程)已经打开的文件的名称,则可以使用lsof命令。打开的文件可以是常规文件,目录,库,块特殊文件,字符特殊文件,正在执行的文本引用,甚至是流或网络文件。 下面是lsof命令的...
2017-11-28 18:33:15 1328
原创 linux下一些特殊进程
InitKthreaddMigration ksoftirqd Watchdogd Events Init Linux下有3个特殊的进程,idle进程(PID=0), init进程(PID=1)和kthreadd(PID=2) * idle进程由系统自动创建,运行在内核态 idle进程其pid=0,其前身是系统创建的第一个进程,也是唯一一个没有通过fork或...
2017-11-28 11:45:43 2572
原创 c语言实现双向循环链表
实现功能部分:/*双循环链表的实现*///基于双链表实现, 大体区别是尾节点后继指向头节点, 头节点的前驱指向尾节点//主要区别还是打印, 插入节点(首 中 尾)前插 后插. 删除节点(首 尾) 需要特别注意#include#include#includetypedef struct Dblink{ int data; //数据域 s
2017-10-14 13:11:52 1109
原创 由一道编程题学会希尔排序
/**SHELL排序程序。 该方法的特征是一个元素与它间隔为J 的元素进行比较或交换然后逐步缩小这个间隔到1为止。J缩小的规律可以是 J<=J/2或J<=(J+1)/2我们取 J<=J/2取整编程。具体地说方法如下对于N个数据首先让J<=INT(N/2)让X[1]与X[J+1]比较假设数组名XX[2]与X(J+2)比较...X[N-J]与X[N]比较若次序颠倒则互相交换。然...
2017-10-11 17:04:14 447
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人