在程序员的眼里,客户是这样使用他们开发的软件

我曾经说过,程序员不是一般的人,是具有某种超能力的人。但问题是,程序员往往意识不到自己的这种特异功能,在他们的眼里,会认为自己很普通,跟常人一样,所以,程序员能做到的事情,其他人——比如他们的客户/软件用户——也应该很容易做到。但事实上,由于大部分人——绝大部分人(包括软件开发公司的客户/购买软件的用户)——都是电脑小白(对电脑知识/计算机知识/软件知识知之甚少的人)。一个对于程序员来说很显而易见的软件操作,换成让客户来操作,就会出现各..

4.2 ES6 迭代器

Iterator Iterator 是 ES6 引入的一种新的遍历机制,迭代器有两个核心概念: 迭代器是一个统一的接口,它的作用是使各种数据结构可被便捷的访问,它是通过一个键为Symbol.iterator 的方法来实现。 迭代器是用于遍历数据结构元素的指针(如数据库中的游标)。 迭代过程 迭代的过程如下: 通过 Symbol.iterator 创建一个迭代器,指向当前数据结构的起始位置 随后通过 next 方法进行向下..

1.11 反编译APK获取代码&资源

本节引言 ”反编译Apk“,看上去好像好像很高端的样子,其实不然,就是通过某些反编译软件,对我们的APK进行反编译,从而获取程序的源代码,图片,XML资源等文件;不知道你有没有这样做过,看到一个别人的一个APP界面做得很精美,或者你看上别人的图片素材,简单点的,我们可以下载别人的APK,然后改下后缀名,改成xxx.zip,然后解压: 笔者随便解压了一个APK: 我们可以打开res目录,获取里面的图片素材 但是,这种方法,获..

PHP开发工具

关于PHP的开发工具其实网站上可以搜索到非常多,对于初学者来说,太多的选择反而不知道怎么去选。 本文是基于window平台上,针对PHP初学者定制了一套非常好用的开发工具。 PHP 开发工具其实包括以下四种: PHP服务器组件。 PHP IDE(Integrated Development Environment,集成开发环境)。 MySql管理工具 文本编辑器 PHP服务器组件 PHP服务器组件非常多有Wa..

4.1 ES6 函数

函数参数的扩展 默认参数 基本用法 [mycode3 type='js']function fn(name,age=17){ console.log(name+','+age); } fn('Amy',18); // Amy,18 fn('Amy',''); // Amy, fn('Amy'); // A..

1.9 Android程序签名打包

本节引言: 第一章的倒数第二节,本节给大家介绍的是如何将我们的程序打包成Apk文件,并且为我们的Apk签名! 上一节中已经说了,我们后续的教程使用的IDE是Android Studio,所以本节讲解的也是AS(后面都这样 简称吧)下对项目进行打包签名! 1.什么是签名,有什么用: Android APP都需要我们用一个证书对应用进行数字签名,不然的话是无法安装到Android手机上的,平时我们调试运行时到手机上时,是AS会自动..

HTML5 Canvas类库 : ZRender

一个轻量级的Canvas类库,MVC封装,数据驱动,提供类Dom事件模型,让canvas绘图大不同! Architecture MVC核心封装实现图形仓库、视图渲染和交互控制: Stroage(M) : shape数据CURD管理 Painter(V) : canvas 元素生命周期管理,视图渲染,绘画,更新控制 Handler(C) : 事件交互处理,实现完整dom事件模拟封装 shape : 图形实体,分而治之的图形策..

如何摧毁程序员的效率?

下面是一幅在网上广为流传、关于程序员工作效率的图片: 辛普森爸爸也许会说:这很有趣,因为事实正是如此。 我还没有搞清楚保持高效的诀窍,主要是因为我从没有一贯的高效。周思博(Joel Spolsky)曾在他的一篇博客中说过: 有时我什么事都干不了。 当然,我走进办公室,到处闲逛,十秒钟就检查一次电邮,看网页,甚至干些不用脑子的事,比如支付美国运通的账单。但就是不会回到写代码的流程上来。 这样的低效症一发作一般都要持续一两天。但在我的职业..

3.2.4 ES6 数组

数组创建 Array.of() 将参数中所有值作为元素形成数组。 [mycode3 type='js']console.log(Array.of(1, 2, 3, 4)); // [1, 2, 3, 4] // 参数值可为不同类型 console.log(Array.of(1, '2', true)); // [1, '2', true] // 参数为空时返回空数组 con..

1.10 基数排序

基数排序是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。 1. 基数排序 vs 计数排序 vs 桶排序 基数排序有两种方法: 这三种排序算法都利用了桶的概念,但对桶的使用方法上有明显差异: 基数排序:根据键值的每位数字来分配桶; 计数排序:每个桶只存储单一键值; 桶排序:每个桶存储一定范围的数值;..

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

点我查看本站打赏源码!

忘记密码?

如何获取邀请码?

关闭