首页 » 软件开发

C/C++产生随机数的方法

       c库伪随机数发生器  rand  srand  大多时候用时间产生随机发生器的seed c++11 引入的伪随机数发生器.随机数抽象成随机数引擎和分布两部分.引擎用来产生随机数,分布产生特定分布的随机数 常用的就是线性均匀分布 uniform_int_distribution uniform_real_distribution阅读全文 »

2017年2月17日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

Python面试总结笔记

       收拾了一下自己学习Python过程中的笔记,将Python面试过程中经常涉及到的一些问题整理出来。没有总结到的知识点,欢迎大家在评论里提出来。  1、Python基本语法  1、@staticmethod 和 @classmethod  Python中有三种方法,实例方法、类方法(@classmethod)、静态方法(@staticmethod)。阅读全文 »

2017年2月15日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

阿里巴巴Java开发手册流出

       1.不要嫌名字长  无论是方法,变量,还是函数的取名,不要嫌弃名称太长,只要能够表示清楚含义就可以了。  2.String[] args而不是String args[],中括号是数组类型的一部分,数组定义如下:String[] args;  在《Thinking in Java》这边书里面,是这么解释的:  大部分开发人员,习惯前一种写法。  前一种写法符合我们的口语化,我们口语通常都说:定义一个阅读全文 »

2017年2月13日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

https与http究竟有何不同

       一、什么是 HTTPS  HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。  https:URL 表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份阅读全文 »

2017年2月6日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

后端成长之路:从菜鸟到架构

       有不少初学者问到,我想学习后端,但是又不知道该怎么学,所以我决定把这几年的经验和经历整理成一篇文章,分析后端的路该怎么走,先说明下面仅仅是个人心得,也许与外面的理论有所不同。(文章最后面会附上学习路线地图和一些自己看过的书籍) 后端任务其实是实现接收输入响应输出  后端初接触  后端首先需要学习的是html,css和js,也许你会问做网页不是前端做的事情吗?阅读全文 »

2017年1月17日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

手把手图文教程:快速排序

       一、什么叫快速排序?  通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。  二、排序步骤:  对下列数组进行排序:(22,36,4,51,36,8,44,5,62,14,5,6,32,12)阅读全文 »

2017年1月6日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

微信小程序开发实例(手势解锁)

       手势解锁是app上常见的解锁方式,相比输入密码方式操作起来要方便许多。下面展示如何基于微信小程序实现手机解锁。 整个功能基于canvas实现,首先添加画布组件,并设定样式阅读全文 »

2017年1月6日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

C++实战项目:坦克大战(五)

       上一篇中我们给主战坦克添加了发射炮弹的功能。不过有一个问题,炮弹飞到战场边缘时,自动消失的感觉不太好。我们今天来给炮弹加上一个爆炸的效果。  爆炸功能  爆炸的效果不仅仅用在炮弹上,当坦克被击中后也应该有这么一个爆炸效果。我们给所有的元素都抽象一个爆炸的功能,放在Object类中。阅读全文 »

2017年1月4日
作者:鸡啄米 分类:软件开发 浏览: 评论:3

C++实战项目:坦克大战(四)

       上一篇中,我们添加了可以自动行驶的敌人坦克,今天我们给主战坦克添加最核心的功能——开炮。  第一次重构  既然要开炮,就要有炮弹。我们自然就想到要新建一个炮弹类。为了符合我们之前的设计思想,我们需要给这个新的炮弹类找一个基类。用Tank类作基类貌似不太合适,于是,我们要重构代码。  我们创建一个全新的Object类作为今后程序中所有类的基类。阅读全文 »

2016年12月30日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

C++实战项目:坦克大战(三)

       战场范围  之前我们的坦克从战场的一边走出之后会从另一边重新进入战场。这样不符合我们游戏的定义。我们需要把它们改成遇到战场边就不能再继续向前走了。  主战坦克  修改MainTank.cpp中的Move方法...阅读全文 »

2016年12月27日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

C++实战项目:坦克大战(二)

       这一篇中,我们继续继续进行我们的坦克大战。 位置信息数据结构  在游戏设计过程中,需要记录大量的位置信息,如果仅仅使用(x,y)坐标很容易出错。这一篇中,我们先定义两个简单的数据结构用来保存点和矩形的信息。 在项目中新建Model目录,创建下面四个文件:... 这个头文件创建了一个Point类,有两个成员变量m_x,m_y用来记录一个点的横、纵坐标。阅读全文 »

2016年12月13日
作者:鸡啄米 分类:软件开发 浏览: 评论:3

C++实战项目:坦克大战(一)

       对坦克大战情有独钟是因为大学时候第一次参加程序设计比赛就做的这个游戏。当时用的语言是Java,那个比赛让我悟出了面向对象的强大之处,我也是从那时开始接触设计模式的。对我而言,坦克大战有着非同寻常的意义,所以一定要带大家用C++实现一下。 知识准备 建议大家先看看面向对象编程的三个重要特性,之后再来学习后面的内容。 代码分享 这个项目中的代码会在GitHub上发布,里面的每一个分支对应着简书中的每阅读全文 »

2016年12月7日
作者:鸡啄米 分类:软件开发 浏览: 评论:8

三层架构和MVC那点事儿

       据说在上个世纪40年代, 有个叫IBM的公司宣称, 全世界只需要5台计算机就够了! 当时的人们肯定预料不到未来蓬勃发展的PC, 更想不到人们对计算有着多么大的需求。 那时候电脑是一个称为 哑终端 的东西, 这个东西可怜到只能用来发送、接收和显示字符, 不能安装程序, 没有复杂的交互, 即使是这样, 还只能是少数人有机会去使用。 但是,这个哑终端和一个无所不能的庞然大物相连接阅读全文 »

2016年12月5日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

手机移动端HTML5 Canvas的幸运大奖盘特效

       这是一款基于jquery和HTML5 Canvas的幸运大奖盘特效。该幸运大奖品特效支持移动端,它通过动态构造Canvas元素来生成大奖盘,并通过jquery代码来随机获取奖品。 使用方法 HTML结构 抽奖用的大转盘使用图片来制作,开始时它们被隐藏。整个抽奖大奖盘放置在一个容器中,控制容器的大小即可以控制奖盘的大小。阅读全文 »

2016年11月28日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

详解PHP的执行原理和流程

       简介 先看看下面这个过程: 我们从未手动开启过PHP的相关进程,它是随着Apache的启动而运行的; PHP通过mod_php5.so模块和Apache相连(具体说来是SAPI,即服务器应用程序编程接口); PHP总共有三个模块:内核、Zend引擎、以及扩展层; PHP内核用来处理请求、文件流、错误处理等相关操作阅读全文 »

2016年11月23日
作者:鸡啄米 分类:软件开发 浏览: 评论:1

十几年程序员生涯带给我的几点感悟

       眼瞅着毕业快15年了,15年间从一个刚毕业的菜鸟,成长为技术骨干,做到架构师的职位,回头看看,当年听取亲戚的一句话,误入计算机行业,看来并没有走错,编程虽然枯燥辛苦,但是如果真的感兴趣,你就能体会到其中的乐趣,并且获得可观的回报。 1.好奇心  刘慈欣在《朝闻道》中描绘过这么一个情节:在古老的非洲大陆上,有个原始人无意中抬头仰望星空,凝视的时间稍微长了一些阅读全文 »

2016年11月18日
作者:鸡啄米 分类:软件开发 浏览: 评论:3

为Java说几句公道话

       有些人问我,在现有的语言里面,有什么好的推荐?我说:“Java。”他们很惊讶:“什么?Java!” 所以我现在来解释一下。 Java超越了所有咒骂它的“动态语言” 也许是因为年轻人的逆反心理,人们都不把自己的入门语言当回事。很早的时候,计算机系的学生用Scheme或者Pascal入门,现在大部分学校用Java。这也许就是为什么很多人恨Java,瞧不起用Java的人。阅读全文 »

2016年11月14日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

看前端技术趋势 展望前端未来

       让我们先看看一些技术亮点~~。 前端在可见的未来 Vue.js ,如果你在使用Vue.js,那么你更应该找到相当的自信了,现在它已经被列入了评估期了。Vue.js是一个简单易上手的框架,并且相当的轻量,在最近的这段时间里,它发挥得相当的出色。 可惜,宝宝现在在用Angular.js 和 Angular 2,毕竟我现在是开发混合应用的。阅读全文 »

2016年11月9日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

用JS写一个连连看小程序

       思路 1. 决定内容区域的大小和图片种类数量 图片应该放多少行,多少列。必须是偶数 整个区域应该是在图片外多围上一圈,也就是行数和列数都应该比图片的多1  放多少对图片,一对两张。注意对数不能超过所有图片总数  2. 根据行列数来创建两个必要的数组  一个数组保存所有小格子的行数和列数 阅读全文 »

2016年11月8日
作者:鸡啄米 分类:软件开发 浏览: 评论:0

我用 Python 写了一个颜色色值转换的小工具

       需求说明  公司的 UI 设计小哥,已经转用 Zeplin 很久了。Zeplin 的设计稿展示页面的颜色色值使用十进制的 RGB 表示的,在 Android 中的颜色表示大多情况下都需要十六进制的 RGB 表示。我的数学没有好到直接看到十进制就可以心算得到十六进制的结果,所以我需要一个工具,输入十进制的 RGB ,得到十六进制的色值,最好可以方便复制。 Zeplin 的颜色色值显示示例阅读全文 »

2016年10月27日
作者:鸡啄米 分类:软件开发 浏览: 评论:0