自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

艺海拾贝

编程是门艺术

  • 博客(57)
  • 资源 (3)
  • 问答 (2)
  • 收藏
  • 关注

原创 我经历过的那些奇葩用户体验(持续更新中。。。)

1、CSDN问题现象:登陆账号以后会跳转到一个很奇葩的“我的CSDN”界面,整个界面仿微博设计,但内容却莫名其妙,且整个界面色调单一,使用体验极差。评论:作为一个计算机行业的门户网站,居然会出现这么业余的设计,我有点不敢相信。2、陆金所苹果手机端APP问题现象:登陆->我的账户->持有中->点击任意已经持有项目->点击继续投资,此时并不会进入该项目的投资界面,而会进入所有产...

2016-05-08 00:58:19 4864

原创 CSS中flex和inline-flex的区别

CSS中flex和inline-flex的区别就是块级元素和行内块元素的区别

2023-11-03 10:58:29 421

原创 C++并发编程实战2.6程序问题解答

C++并发编程实战

2022-09-19 11:14:30 1176 1

原创 人格分裂的IT人

IT人的矛盾有的时候让人觉得有点近乎于人格分裂了。首先最有名也是最流行的就是“面试造核弹,入职拧螺丝”。面试的时候感觉自己要是不会在深山老林里徒手造个计算机、写个编译器、花一个周末创造一门语言,感觉你都不好意思和面试官理直气壮的说自己干了啥。IT人也是最会夸大自己业绩的人,明明花了好几个月,熬夜熬到头秃只做了最简单的一个东西,渐渐的口传心授就变成了“某某大牛闲着没事花了几秒钟完成了某某牛逼功...

2020-03-28 12:30:23 314

原创 JS __proto__ prototype constructor概念解析

prototype、__proto__与constructor解析__proto__这是个属性,不管函数还是对象都有__proto__指示的是对象的上层关系,永远指向父类如果是一个函数那__proto__指向的就是Function如果是一个对象那__proto__指向的就是Object说说函数在说prototype之前,需要先了解下函数(function)在JavaScript...

2020-03-27 11:22:33 229

原创 有道云笔记Marddown格式下的数学符号输入

两种方法:第一种:```mathS(N)=\frac{1}{(1−p)+(\frac{p}{N})} ``````math此处是数学公式```第二种:`$S(N)=\dfrac{1}{(1−p)+(\dfrac{p}{N})}$``$这里是数学公式$`...

2019-06-20 10:44:57 3334 1

原创 git fatal: reference is not a tree错误处理

当checkout遇见“fatal: reference is not a tree”的错误时,按如下步骤处理1、git checkout 切换至主分支2、git pull 更新主分支至最新版本3、checkout分支代码当分支代码版本大于主分支代码版本时,会出现如上错误,此时更新主分支代码即可。...

2018-11-19 18:48:04 35028 3

原创 算术右移(right arithmetic shift)逻辑右移(right logical shift)算术左移和逻辑左移(left logical shift)

算术右移:数字向右移动,左边补符号位。Windows中支持的函数为:Int64ShraMod32逻辑右移:数字向右移动,左边补0。Windows中支持的函数为:Int64ShrlMod32算术左移:数字向左移动,右边补0。这个Windows并未提供相应函数。逻辑左移:数字向左移动,右边补0。Windows中支持的函数为:Int64ShllMod32。总结:算术移动,补的是符号位(除左移外),逻辑移...

2018-04-10 13:20:49 11095

原创 Windows下C++的异常处理

异常处理分两种,一种是语言的异常处理,这个异常处理是由语言的语法标准规定的,任何平台通用,只要编译器支持;一种是系统的异常处理,这个是由系统提供的,不是语言的特性,而是平台的特性,Windows下的系统异常处理,放到Linux下就没法使用了。语言的异常处理,是用于处理语言本身的一些问题,如指针为空、如除数为0,之类的。这没什么多说的,

2017-11-24 19:05:15 659

原创 如何在Win32的虚拟机下安装Android Studio

安装前的准备工作:1、下载Android Studio,推荐下载网址:https://developers.google.cn/,这是国内可以访问的谷歌开发网站,IDE一定要去这个网站下载,网络上其他资源,可能会因为版本不匹配的原因,导致各种其他问题;2、下载Android SDK,推荐下载

2017-11-23 13:26:34 2693 1

原创 关于weakref的用法

在《程序员的自我修养—链接、装载、库》这本书的3.5.5节,讲到了一个知识点:weakref,弱引用。书中在第93页举出的例子发现编译不通过,报错。__attribute__((weakref)) void foo();int main(){ foo();}据网络文档介绍,有四种weakref的用法,我自己试验下来只有三种,还有一种一直报错,没懂怎么用。int y

2017-05-04 13:07:43 2766 1

原创 文件读写整理

不同的系统,不同的语言都有不同的文件读写函数,整理下,太乱了。

2017-03-22 15:24:10 299

原创 各种LPXXSTR之间的互相转换

刚玩Windows下的C++编程,快被逼疯了,各种奇葩LPXXSTR转换,所以决定彻底整理下。先整理下其中涉及的字符定义:然后是各种LPXXSTR的定义:名称含义LPSTRtypedef CHAR *LPSTRLPWSTRtypedef WCHAR *LPWSTRLPCSTRtypedef __nu

2016-08-28 19:18:56 559

原创 CString转string

转换分两种情况,就VS中的配置而言,这两种情况就是宽字符集和UNICODE字符集。宽字符集情况下的转换:CString str = _T("123456");string stdString(str.GetBuffer(0));str.ReleaseBuffer();这种转换网上很常见,基本能搜索到的都是这种转换,并不区分字符集,如果是使用的UNICODE字符集这种转换是会报错的,

2016-08-28 15:24:27 1202

原创 《深入探索C++对象模型》第三章奇怪语句解释

在第三章的3.3节有下面这样一段描述:class Point3d{ private: float x; private: float y; static const int chunkSize = 250; private: float z;};Point3d origin;origin.y = 0.0;那么地址&origin.y将等于:&origin +

2016-06-29 19:38:13 481

原创 关于vptr的一些问题

class ZooAnimal{ public: ZooAnimal(); virtual ~ZooAnimal(); virtual void rotate(); protected: int loc; String name;};class Bear:public ZooAnimal{ public: Bear(); ~Bear(); void

2016-05-29 22:15:34 1018 1

原创 自实现strcpy函数

int MyStrlen(const char * pStr){ int iCount = 0; while (*(pStr+iCount) != '\0') { iCount = iCount + 1; } return iCount;}void * MyStrcpy(char * const pDest,const char * pSrc){ char *pDestT

2016-03-17 23:21:57 351

原创 《大话数据结构》之快速排序

#include #include #include #define MAX_LEN 256typedef struct{ int iInput[MAX_LEN]; int iLength;}SqArr;void swap(SqArr *pToSwap,int iFirst,int iSecond){ if (iFirst != iSecond) { pToSwap

2016-02-27 02:32:45 762

原创 《大话数据结构》之归并排序

#include #include #include #define MAX_LEN 256typedef struct{ int iInput[MAX_LEN]; int iLength;}SqArr;int Output(SqArr *pSqToPrint){ int iLoop; for(iLoop=1;iLoopiLength;iLoop++) { pri

2016-02-26 15:06:26 544

原创 《大话数据结构》之堆排序

所谓的堆,实际是排序后的完全二叉树。完成这个算法需要掌握排序后的完全二叉树的一些特性:1、按层数,从上往下,依次为第一层,第二层,。。。,第n+1层。第n+1层的数据,一定大于(大顶堆)或小于(小顶堆)第n层的数据。2、如果对一棵有n个节点的完全二叉树(其深度为不大于㏒2ⁿ的最大整数+1)的节点按层序编号(从1到不大于㏒2ⁿ的最大整数+1层,每层从左到右),对任一节点(1≤i≤n)有

2016-02-24 14:53:05 694

原创 函数的重载、覆盖、隐藏

函数的覆盖(override)必须同时满足:1、基类函数必须是虚函数2、发生覆盖的两个函数要分别位于派生类和基类中;3、函数名称与参数必须完全相同函数隐藏:派生类中有与基类同名的函数(不考虑参数是否相同)函数的重载(overload):1、同一个类中2、函数的参数类型、参数个数不同,才能构成函数的重载。排除掉默认参数后比较PS:在重载时,要注意函

2016-01-28 02:33:29 320

原创 VS2008如何启动和调试多个项目

1、需要将两个程序写在同一个解决方案下2、调整项目依赖关系,右击解决方案选择“项目依赖项”,设置项目依赖关系可以查看“生成顺序”3、右击解决方案,选择“属性”,设置多项目启动4、启动项目即可

2016-01-16 14:03:26 2960

原创 《Unix环境高级编程》之popen函数使用

#include int main(){ int nRead = 0; int nWrite = 0; FILE *fd = NULL; char strRead[1024]; fd = popen("ls -l ","r"); /* nRead = read(fileno(fd),strRead,sizeof(strRead)); while(0 != nRead)

2016-01-12 14:58:49 380

原创 《大话数据结构》之分段查找

我所谓的分段查找包括:二分查找、插值查找、Fibonacci查找。三者都是不断的缩小查找范围的查找方法,只是在每次缩小多少范围上有所区别。二分查找:最简单,每次一刀切,切一半,相对于其他两种方法显得很笼统,但是适配性不错,没有特殊限制。int Binary_Search(int *a,int n,int key){ int low,high,mid; low = 1; hi

2015-12-07 15:26:08 423

原创 《大话数据结构》之二叉树的四种遍历

二叉树的遍历共分四种:前序遍历、中序遍历、后序遍历、层序遍历。除层序遍历以外,所谓的前序、中序、后序,是按父节点所处位置的不同来划分的。父节点在两个子节点的中间,那就是中序,在两个子节点的前面那就是前序。此外二叉树对子节点的遍历都是先左后右的。(如果说,男左女右的话,那么可以认为这样有点重男轻女,这个思想在国外也是有的(*^__^*) 嘻嘻……)以上面这个二叉树为例。前序遍

2015-12-01 11:13:34 769

原创 《大话数据结构》之Kruskal算法

需要先对边按权重排序,或者每次要查找最小权重的边。同时用类似于数组链表的方式,记录每个顶点之间的连接关系。因为需要避免形成环路。typedef struct { int begin; int end; int weight;}Edge;int Find(int *parent,int f){ while(parent[f]>0) { f = parent[f]; }

2015-11-27 15:29:52 678

原创 《大话数据结构》之Prim算法

Prim算法作用是构造连通网的最小代价生成树。算法思想:以任意一个点开始,找权值最小的一条边,将此边和两个顶点加入最小生成树集合,以最小生成树的点集合中的每一个点为起点,找寻终点不在集合中的权值最小的边,并将结果加入集合,重复这个操作,直至所有的点都已经加入集合。相关数据定义:/*图的邻接矩阵表示*/typedef char VertexType;typedef int Edg

2015-11-26 15:39:26 781

原创 《大话数据结构》之广度优先遍历

广度优先遍历:以点开始,逐层遍历,类似于二叉树的层序遍历。借助队列实现。相关变量和数据结构定义:/*图的邻接矩阵表示*/typedef char VertexType;typedef int EdgeType;#define MAXVEX 100#define INFINITY 65535typedef struct { VertexType vexs[MAXVEX];

2015-11-26 14:33:55 591

原创 《大话数据结构》之图的深度优先遍历

深度优先遍历:以一个点开始,遍历他的每一个子树,类似于二叉树的前序遍历。利用递归实现。图的邻接矩阵表示相关数据类型:/*图的邻接矩阵表示*/typedef char VertexType;typedef int EdgeType;#define MAXVEX 100#define INFINITY 65535typedef struct { VertexType vex

2015-11-26 14:09:32 507

原创 《大话数据结构》之关键路径算法

关键路径算法是在AOE网中找出完成所有活动耗时最长的路径的方法。程序中涉及的结构:typedef char VertexType;typedef int EdgeType;//邻接节点结构typedef struct EdgeNode{ int adjvex; EdgeType weight; struct EdgeNode *next;}EdgeNode;//顶点节

2015-11-25 14:52:22 838 1

原创 《Unix环境高级编程》学习之编写守护进程

编写规则:1、调用umask将文件模式创建屏蔽字置为一个已知值(通常是0),因为屏蔽字会阻碍某些权限,影响保护进程的执行;2、调用fork,然后父进程exit,保证当前进程不是进程组组长;3、调用setsid,创建一个新的会话;4、再次调用fork,退出父进程,保证守护进程不是会话首进程,这样调用open重定向标准输入、标准输出、标准错误时,就不会被分配终端;

2015-10-07 23:06:18 665

原创 《大话数据结构》之静态链表

#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int Status;typedef int ElemType;#define MAXSIZE 1000typedef struct{ ElemType data; int cur;}Component;Component StaticLin

2015-09-24 16:34:16 715

原创 《大话数据结构》之单链表

#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int Status;typedef int ElemType;#define MAXSIZE 20typedef struct { ElemType data [MAXSIZE]; int length;}SqList;typedef st

2015-09-24 16:25:00 559 1

原创 IOS版本回退操作教程

网络上搜索这个标题会搜到大片雷同文章,但实际操作性是特别差的,有的根本没有用!经过我多方整合终于摸索出了一套行之有效的步骤。1、登陆相应网址查询要升级的固件是否开放验证(网址:http://api.ineal.me/tss/status),这个是很重要的一步,如果苹果不开放验证,升级过程中会报3194的错误,不管怎么改host文件都是没有用的只有Signing这个字段是YES的

2015-09-20 23:48:50 38854 1

原创 Linux编辑类命令

cut命令cut:裁剪字符,以行为单位。cut -d '分隔字符' -f 选取范围按分隔字符将字符串分为多段,并选取指定段注:1、分隔字符仅可为一个;2、若需选取多段,以逗号分隔多个段 如:cut -d ':' -f 3,53、段号从1开始cut -c 起始位置-终止位置选取以行的从起始位置到终止位置之间的字符(包含)终止位置可以不指定,直接为空,表示选

2015-08-25 16:31:11 423

原创 openat函数的用法示例

《Unix环境高级编程》的第三章和第四章出现了大量的以at结尾的函数,如openat、fstatat等,书中只是粗略的说明了下,没有实际的例子让人很难懂。int openat(int dirfd, const char *pathname, int flags, mode_t mode);我初看的时候有如下几个疑问:1、按函数原型明显是要给一个目录的文件描述符,可是打开目录用的事ope

2015-08-20 01:23:34 12495 6

原创 Linux文件系统学习

Linux常见文件系统ext2(linux second extended file system)Linux文件系统包含三个组成部分:inode、data block、super block。super block:记录此文件系统的整体信息,包括inode/block的总量、使用量、剩余量、以及文件系统的格式与相关信息等inode:记录文件的属性,一个文件占用一个inode,保存此文

2015-08-11 16:26:40 439

原创 《Unix环境高级编程》学习之用户

Unix下涉及的用户共有四个。实际用户:当前实际登陆的用户,取自登陆文件。有效用户:实际执行或访问文件的用户,通常与实际用户相同。设置用户:是一个标记,并非真实的用户。当执行文件时,将进程的有效用户设置为文件所有者的用户ID。保存的设置用户:一个临时变量性质的用户,在实际用户和有效用户之间切换,适用于执行命令过程中所需的用户权限切换。下面以两个情景为例:设有用户A、

2015-07-19 23:53:16 425

原创 《Unix环境高级编程》学习之Unix标准

常见的标准共有三个:ISO C、POSIX、SUS。ISO C:是C语言标准,是开发语言标准,与任何系统均无关。POSIX:全写是Portable Operating System Interface。是操作系统的接口标准,在后期有包括ISO C这个C语言标准。SUS:全写是Single Unix Specification。是POSIX.1的超集,定义了一些附加接口,扩展了POSIX

2015-07-19 23:21:49 443

原创 Shell脚本学习之逻辑判断

Shell脚本的if语句、循环语句中都会有一个逻辑判断式。逻辑判断式用于各种条件的判断,除非程序是流水账,否则是一定会用到逻辑判断的,可见其重要性。Shell的逻辑判断,我目前所知共有两种:1、test命令,可以结合命令执行结果变量($?)或者&&以及||来实现不同条件走不同分支2、[ 条件判断 ],这种方式常用于if语句和while语句中参数

2015-07-17 10:27:38 3356 1

阿里技术--不止代码

阿里分享技术文档,阿里内部大神撰文描述职业发展,为迷茫的程序员解惑

2018-07-25

DIV属性文档

老师上课的时候发的关于DIV的属性总结文档,应该有用。

2012-10-20

Css属性文档

css的属性总结,可能还不是很全面,是老师上课的时候发的资源。

2012-10-20

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除