- 博客(52)
- 收藏
- 关注
原创 C++数组的概念
C++数组的概念_微学苑概括地说:数组是有序数据的集合。要寻找一个数组中的某一个元素必须给出两个要素,即数组名和下标。数组名和下标惟一地标识一个数组中的一个元素。数组是有类型属性的。同一数组中的每一个元素都必须属于同一数据类型。一个数组在内存中占一片连续的存储单元。如果有一个整型数组a,假设数组的起始地址为2000,则该数组在内存中的存储情况如图5.1所示。图 5.1
2017-02-07 21:23:33 937
原创 C++变量和常量
变量和常量是用来在程序中表示数据的。常量是指取值在程序的执行过程中始终保持不变的量,又分为文字常量(Literal constant)和常变量(也称“符号常量”)。本节将分三小节来介绍。变 量◆ 变量:在程序中是指可以改变值的量。◆ 变量名:用于标识变量的标识符。而且变量必须用标识符进行标识。◆ 变量的类型:变量有类型之分,如整形变量、字符变量等。◆ 变量的说明
2017-02-07 17:13:38 640
原创 C++ while和do while循环
在人们所要处理的问题中常常遇到需要反复执行某一操作的情况。这就需要用到循环控制。许多应用程序都包含循环。顺序结构、选择结构和循环结构是结构化程序设计的3种基本结构,是各种复杂程序的基本构造单元。因此程序设计者必须熟练掌握选择结构和循环结构的概念及使用方法。用while语句构成循环while语句的一般形式如下:while (表达式) 语句其作用是: 当指定的条件为真(表达式为非0)时
2017-02-07 12:43:33 13606
原创 《新手养成记》--第一篇 iOS手机号正则判断和获取验证码
今天是农历初九,开通一个新博客开启新的一年,同时也是对自己的过去做一个告别。介绍一下博主自己,资深iOS屌丝男,今天写这个博客就是刻意拉低逼格的,前两年写的博客为了装那什么,故意写的高大上,其实呵呵哒。。。年假的几天帮以前一个同事去培训班代了几天课,所以就写一些简单的例子,助这些新人早日能够成熟起来。 相信很多同行都做过电商项目,开发阶段很多人为了自己测试方便,就不去写正则判断,结果项目
2017-02-06 20:13:30 353
原创 git详解
git详解git是从android出现,就作为版本管理工具。由于很多人从svn开始使用,简单的check in & check out操作,很难理解和适应通过命令行操作的git的管理。所以很多人继续使用图形界面的git管理工具,尤其android studio自带git的图形操作界面,使得很多人懒得学习和掌握git的具体运行规则。从而导致很多分支冲突,管理混乱的情况。以下是笔者写的一篇关于
2017-02-06 12:38:28 584
原创 Linux文件权限及用户管理
/etc/passwd文件与 /etc/shadow文件/etc/passwd文件/etc/passwd文件主要存放登录名、UID等用户相关信息,用户登录密码存放在/etc/shadow文件中。例子:root:x:0:0:root:/root:/bin/bashftp:x:14:50:FTP User:/var/ftp:/sbin/nologinroot : x : 0 : 0
2017-02-05 23:33:25 232
原创 java中的代理模式_0
代理模式在某些情况下,一个客户不想或者不能直接引用一个对象,此时可以通过一个称之为“代理”的第三者来实现间接引用。代理对象可以在客户端和目标对象之间起到 中介的作用,并且可以通过代理对象去掉客户不能看到 的内容和服务或者添加客户需要的额外服务。简单来说代理模式就是通过一个代理对象去访问一个实际对象,并且可以像装饰模式一样给对象添加一些功能。静态代理所谓静态代理即在程序运行前
2017-02-05 19:38:26 266
原创 gulp源码解析(二)—— vinyl-fs_0
在上一篇文章我们对 Stream 的特性及其接口进行了介绍,gulp 之所以在性能上好于 grunt,主要是因为有了 Stream 助力来做数据的传输和处理。那么我们不难猜想出,在 gulp 的任务中,gulp.src 接口将匹配到的文件转化为可读(或 Duplex/Transform)流,通过 .pipe 流经各插件进行处理,最终推送给 gulp.dest 所生成的可写(或 Duplex/T
2017-02-05 15:43:28 378
原创 twemproxyRedis协议解析探索——剖析twemproxy代码正编
这篇文章会对twemproxyRedis协议解析代码部分进行一番简单的分析,同时给出twemproxy目前支持的所有Redis命令。在这篇文章开始前,我想大家去简单地理解一下有限状态机,当然不理解也是没有问题的,有限状态机仅仅能帮助我们更好地理解twemproxyRedis协议解析代码部分。 redis 协议这边我们首先需要简单介绍一下redis协议。参考自https://redis.
2017-02-04 23:08:24 208
原创 Java动态代理深入解析
要想了解Java动态代理,首先要了解什么叫做代理,熟悉设计模式的朋友一定知道在Gof总结的23种设计模式中,有一种叫做代理(Proxy)的对象结构型模式,动态代理中的代理,指的就是这种设计模式。在我看来所谓的代理模式,和23种设计模式中的“装饰模式”是一个东西。23种设计模式中将它们作为两种模式,网上也有些文章讲这两种模式的异同,从细节来看,确实可以人为地区分这两种模式,但是抽象到一定高度后,
2017-02-04 19:28:31 276
原创 Awesome Chrome 插件集锦
子曾曰:“工欲善其事,必先利其器。居是邦也。”——语出《论语·卫灵公》;其后一百多年,荀子也在其《劝学》中倡言道:“吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。**君子生非异也,善假于物也**”。远从石器时代开始,先贤无不据此而行;时至今日,已将具器的职
2017-02-04 15:33:24 295
原创 纯css3实现美化复选框和手风琴效果(详细)
关键技术点和原理:原理就是把 checkbox或 radio 给隐藏掉 ,然后给选框 绑定一个label标签。然后用label标签作为容器,在里面放一个:before或一个after用before模拟选框的框,用after来模拟选框的填充通过.magic-checkbox:checked + label:after {/*选框被选中时 显示after填充*/ dis
2017-02-04 11:43:29 668
原创 从零开始学C#——基本语法(二)
基本语法(菜鸟系列学习教程)C#,又名Csharp,天朝喜欢叫C井。C#是一种面向对象的编程语言。在面向对象的程序设计方法中,程序有各种相互交互的对象组成。相同种类的对象通常具有相同的类型,或者说,是在先沟通那个的class中。例如,以Rectangle(矩形)对象为例,它具有length和width属性。根据设计,它可能需要接受这些属性值,计算面积和详细细节。让我们来看看一个
2017-02-03 22:48:20 3579
原创 Linux 服务器设置成支持中文
Linux 服务器设置成支持中文由于服务器默认是不支持中文的。所以一般需要单独设置一下。检查本机已有的语言包locale -a默认是没有中文的,所以会显示:C C.UTF-8 POSIX en_US en_US.iso88591 en_US.utf8安装语言包首先是修改locale.gen文件sudo vim /etc/locale.gen将zh_CN.GB
2017-02-03 18:13:20 383 1
原创 PHP 精度计算引发的灾难性Bug
在维护一个比较老的金融项目时,发现精度的计算简单粗暴,先来看一下代码片段:if($accountInfo['account_money'] < $repayMoney ){ rollback(); return false;} 如上代码片段变量所示,上面的代码主要是比较帐户余额及还款数,两者均为双精度浮点
2017-02-02 16:08:19 425 2
原创 Salesforce使用truncate清空数据库
如果想快速的清空MySQL中的表,可以使用Truncate命令。Truncate能够快速的,对数据进行无差别的清空。在Mysql中使用truncate的语法是TRUNCATE TABLE [Table Name];在Salesforce中同样提供了Truncate功能。不过只是提供一个按钮,并不提供任何代码及API调用Truncate的方式。所以正确的应用场景,应该只是用来快速
2017-02-01 14:03:26 403 2
原创 2016年我只做了两件事——努力工作和努力找工作
***有关生活篇2016年度总结,请移步微信公众号JackieZheng查看历史消息***努力工作 我很感激,每次在绩效考核的时候,从老大那边都是收到了大量的正反馈。能够得到同事和领导的认可,这是一种金钱不能比拟的幸福。老大为我们提供了足够轻松自由的工作环境,作为相互信任的另一方,我们对待工作也必是全力以赴,保质保量的完成手头上的任务,我一直认为这是一个令人愉悦的良性生态圈。 14
2017-01-31 20:43:14 379
原创 Awesome Chrome 插件集锦
子曾曰:“工欲善其事,必先利其器。居是邦也。”——语出《论语·卫灵公》;其后一百多年,荀子也在其《劝学》中倡言道:“吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远;顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里;假舟楫者,非能水也,而绝江河。君子生非异也,善假于物也”。远从石器时代开始,先贤无不据此而行;时至今日,已将具器的职能,发挥
2017-01-30 19:48:10 225
原创 [热拔插] 轻量级Winform插件式框架
写在前面的话对于大神,Winform这种“古董玩具”,实在没太多“技术性”可言了,然而『好用才是王道』,本文不以技术为卖点,纯属经验之谈,欢迎交流拍砖朴素版UI 开发初衷由于本人所在公司不定时需要开发各种OA、数据处理小工具,需求各式各样,杂七杂八,有临时性需求开发的,有长期使用且要不定时更新的,功能一般只有一两个。又因应用不通用,所以不利于统一整合到某单一系统中,如
2017-01-30 11:33:15 511
原创 【算法整理】听说你写的算法很牛?-优质算法衡量标准探讨
引文我有个朋友有算法强迫症,每次一看到别人写的算法,就有上去改的冲动,不然就会偏头疼,主要症结在于他认为别人写的算法不好,但是什么的算法可以评判为好,什么样的算法可以评判为不好?最近为了治愈他,我特地写了这篇文章。算法的衡量从两个方向出发:时间复杂度和空间复杂度。本文主要是不讲具体算法,只将算法的衡量,重点讲解如何衡量算法的复杂度,解决平时见到的XX算法时间复杂是O(logn)O(logn
2017-01-29 10:03:08 645
原创 EntityFramework Core 1.1有哪些新特性呢?我们需要知道
前言在项目中用到EntityFramework Core都是现学现用,及时发现问题及时测试,私下利用休闲时间也会去学习其他未曾遇到过或者用过的特性,本节我们来讲讲在EntityFramework Core 1.1中出现了哪些新特性供我们使用。EntityFramework Core 1.1新特性探讨DbSet.Find在EF 6.x中也有此方法的实现,在EF Core 1.1中也同
2017-01-28 16:33:04 2502
原创 我的2017
梦想再小也有被实现的价值,距离上一次规划已经一年了,转眼都成过眼云烟,这一年有很多的收获,也有很多的不足,在此做一个记录,愿和大家共勉。 关于儿子2016年1月6日,初为人父,从此我的人生变的有些不同了,儿子成了一家人生活的中心,我第一次被一个小人折腾的死去活来,辛酸和快乐成了我生活最好的代名词。还记得第一次见他的时候,平生第一次百感交集,那种惊喜、感动、迷惘和快乐,汇织了一副完美
2017-01-27 21:33:05 192
原创 [nRF51822] 16、nRF51822的随机数生成器,及随机数生成器的一些知识(可以帮您补补随机数发生器的知识)
1、前言随机数生成器在通信、加密、图像传输等领域应用广泛,且一般起到关键性作用。我在最近设计的一个近场射频通信协议的碰撞避退算法的过程中,便对此有深深体会。 2、伪随机数发生器随机数发生器一般包括伪随机数发生器和真随机数发生器。伪随机数发生器的伪随机序列是由数学公式计算产生,如果生成随机数的算法确定了,那么这个随机数序列也就确定了。所以从数学意义上讲,伪随机数并不随机,序列本身也必
2017-01-27 13:38:02 465
原创 I-O模型浅析_0
引入首先来说一下进程: 进程在就是一段执行中的代码,他是由一条条指令和数据组成的一个具有生命周期的有头有尾的实体。进程根据权限大体上可以分为两类:用户进程 和 内核进程。 这两者的主要区别在于权限不同。用户进程无法直接访问I/O设备,如果用户进程想要访问I/O设备,需要调用内核提供的接口,由内核进程对I/O设备进行操作,读取其中的数据到内核空间,然后将数据从内核空间移动到用户空
2017-01-26 18:33:01 296
原创 用Mockito测试SpringMVC+Hibernate_0
用Mockito测试SpringMVC+Hibernate译自:Spring 4 MVC+Hibernate 4+MySQL+Maven integration + Testing example using annotations2017-01-19 目录:1 目录结构 2 pom.xml3 Testing Controller Layer 3.1 com.webs
2017-01-26 10:13:01 539
原创 【转】常见英语单词前缀
1.表示否定意义的前缀 1)纯否定前缀 a-, an-, asymmetry(不对称)anhydrous(无水的) dis- dishonest, dislike in-, ig-, il, im, ir, incapable, inability, ignoble, impossible, immoral, illegal, irregular ne-,
2017-01-25 11:02:59 471
原创 JVM内存模型
网上对于JVM内存模型讲解的博客很多也很详细,这里就不再进行详细介绍了,只当做学习的一个总结或者记录。这里先看一张整体的示意图: 这里主要分为五大块,分别是:本地方法栈、方法区、java堆、程序计数器和java栈。其中重点是方法区、java堆和java栈。下面就把各个区域的性质总结一下:(说明,下面的只是结论,没有详细的对各个内存块进行详细深入的介绍,有兴趣的可以看一下《深入理解j
2017-01-24 16:07:55 177
原创 支付宝 Android 版使用的开源组件
支付宝 Android 版使用的开源组件前言:花了点时间整理了 支付宝 Android 客户端使用的开源组件,给需要的同学.在你不知道用什么开源框架的时候可以作下参考,毕竟支付宝是阿里的重量级产品,产品的稳定性是第一,在你的实际项目中引用成熟稳定的开源组件是很有利于日后维护的.当然,如果看到你不熟悉的开源库,你可以点击我整理的Github链接,学习或者了解对于你自己都是有帮助的.
2017-01-23 20:48:00 348
原创 游戏开发之在UE4中编写C++代码控制角色
当你运行我们上次做完的项目,你可能会意识到我们移动的摄像机还是默认的那个摄像机,这个默认的摄像机可以自由飞翔。这一节,我们要使得开始的角色是我们的一个Avatar类的实例对象,并且使用键盘控制我们的角色。一 创建游戏模式类首先我们要明白什么是GameMode?GameMode包含了各种各样的游戏规则和让游戏引擎描述这个游戏是怎么玩的。1. 创建游戏模式的步骤如下:1) 点击文件 -
2017-01-23 12:32:53 5962
原创 详细的KVO总结,包括基本改变,使用案例,注意点.看我就够了!
概述KVO全称Key-Value-Observing,也叫键值监听,是一种观察者设计模式.提供了一种机制,当指定的对象的属性被修改后,对象就会收到一个通知.也就是说每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者.优势:可以降低两个类(业务逻辑和视图控制的类)之间的耦合性.也就是说可以很容易的实现视图组件和数据模型的分离.当数据模型的属性值改变之后作为监听器的视
2017-01-22 17:49:10 379
原创 .Net多线程编程—使用Visual Studio 2012进行调试
1 相关概念1)栈帧C语言中,每个栈帧对应着一个未运行完的函数。栈帧中保存了该函数的返回地址和局部变量。栈帧也叫过程活动记录,是编译器用来实现过程/函数调用的一种数据结构。2)单步执行与单步函数执行单步执行又被称为逐语句执行,单步函数执行又被称为逐过程执行。单步函数执行不会进入函数体。3)主线程不会显示在Parallel Tasks 窗口中,因为主线程不是任务。但它会显示在
2017-01-22 11:28:56 585
原创 ASP.NET Core MVC-WebAPi如何构建路由?
前言本节我们来讲讲ASP.NET Core中的路由,在讲路由之前我们首先回顾下之前所讲在ASP.NET Core中的模型绑定这其中有一个问题是我在项目当中遇见的,我们下面首先来看看这个问题。回顾ASP.NET Core模型绑定我们有这样一个场景:修改个人资料中的各个属性,此时每个属性的值的类型肯定是不一样的,所以我们将值定义为object,如下model。 public
2017-01-21 19:16:53 7671
转载 前端工作流,Grunt上手指南
目前最新的版本是 C# 7.0,VS 的最新版本为 Visual Studio 2017 RC,两者都尚未进入正式阶段。C# 6.0 虽说出了一段时间,但是似乎有许多园友对这一块知识并不了解,如拼接字符串的 $ 符号,在此,小06 NTFS文件系统介绍人献上拙作一篇《C# 6.0 的知识梳理》,祝大家在新的一年里:年年有今日,岁岁有今朝,月月涨工资,周周中彩票,天天好心情,日日好运道,白天遇财神,
2016-12-25 23:24:24 179
转载 java中关键字volatile的作用
用在多线程,同步变量。 线程为了提高效率,将某成员变量(如A)拷贝了一份(如B),线程中对A的访问其实访问的是B。只在某些动作时才进行A和B的同步。因此存在A和B不一致的情况。volatile就是用来避免这种情况的。volatile告诉jvm, 它所修饰的变量不保留拷贝,直接访问主内存中的(也就是上面说的A) =========================分割线1===========
2016-12-25 23:22:16 159
转载 fuzz 技术验证移动端 app 的健壮性
app发布后经常容易出现各种诡异的crash, 这些crash固然可以通过各种崩溃分析服务去定位. 但是的确很影响用户体验. 在crash分类中有一类是后端接口引发的. 比如常见的引发app crash的原因接口自身变更, 接口失效或者超时, 比如用户进地铁接口格式变更. 字段缺失接口内容变更, int string格式搞错了. 某些字段原本是有值后来就变成了null 一旦出了问题
2016-12-25 23:21:50 809
转载 git学习(二):查看状态和具体改动
git diff readme.txt以readme.txt为例,可以看readme.txt的改动情况,但对于二进制文件来说不能知道具体的情况,只能知道改动的长度 所以推荐用文本编辑器utf-8编码对其进行文本编辑改动后添加提交git add git commit没有任何文件匹配的error
2016-12-25 23:21:25 194
转载 将数据临时存储起来,避免重复计算
* CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上。使用户可就近取得所需内容,解决 Internet网络拥挤的状况,提高用户访问网站的响应速度。CDN的关键技术主要有内容存储和分发技术。* 实现原理:CDN广泛采用各种缓存服务器,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的缓存服务器上,由缓存服
2016-12-25 23:19:16 319
转载 沙箱模式为什么要把window做为参数传进去?
沙箱模式为什么要把window做为参数传进去? 1. 有利于代码压缩,因为原生的内置对象无法被压缩,使用形参接收后,形参是可以被压缩的 2. 实现隔离的思想,外界不直接去使用内部的东西,内部也不直接去访问外部的任何东西! 3. 沙箱的参数不都是window,而是如果要在沙箱内部使用沙箱外部的东西就需要把该东西当做参数,传递进沙箱内部!
2016-12-25 23:18:48 344
转载 eval(符合js语法规范的字符串) 函数:
* 功能:将字符串转化为代码并执行;* 1.eval与Function()的共同点:将字符串转化为代码; 2.不同点:Function()转化成代码之后是函数,需要手动调用才能执行,eval()会直接执行* Function与eval的问题 1.需要预解析,执行效率问题 2.安全性问题(如果别人输入的内容符合规范,可以进行跨站脚本攻击xss) 3.eval会将json字符串中的{}当做代码段处理,
2016-12-25 23:17:49 407
转载 函数及函数优化
1.1 函数声明: function 函数名(){}1.2函数表达式: var 函数名 = function(){};1.3构造函数: var 函数名 = new Function(参数1,参数2,函数体); 1. 不传参数创建出来的是空函数. 2. 一个参数:函数体(字符串). 3. 传多个参数的情况:(字符串). 例:简单的求两个数和:
2016-12-25 23:17:19 315
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人