程序员

10本 JavaScript PDF 书籍免费分享

亡梦爱人 提交于 2020-02-08 05:24:49
极力推荐文章:欢迎收藏 Android 干货分享 本篇文章主要分享以下 JavaScript 开发 PDF 书籍 一、JavaScript权威指南 二、JavaScript设计模式 三、JavaScript语言精粹 四、JavaScript语言精髓与编程实战 五、JavaScript Dom编程艺术 六、JavaScript高级程序设计 七、高性能JavaScript 八、编写高质量代码,改善JavaScript程序的188个建议 九、JQuery基础教程 十、JQuery权威指南 一、JavaScript权威指南 PDF书籍获取方法 关注微信公众号: 程序员Android ,回复 JavaScript权威指南 ,即可免费获取。 PDF仅供参考,支持购买正版书籍,请点击下方京东链接,谢谢! 点击查看图书详细信息 二、JavaScript设计模式 PDF书籍获取方法 关注微信公众号: 程序员Android ,回复 JavaScript设计模式 ,即可免费获取。 PDF仅供参考,支持购买正版书籍,请点击下方京东链接,谢谢! 点击查看图书详细信息 三、JavaScript语言精粹 PDF书籍获取方法 关注微信公众号: 程序员Android ,回复 JavaScript语言精粹 ,即可免费获取。 PDF仅供参考,支持购买正版书籍,请点击下方京东链接,谢谢! 点击查看图书详细信息 四

100分程序员的8个习惯

旧城冷巷雨未停 提交于 2020-02-07 07:19:03
慎于说 Yes   在没有搞清楚开发需求、任务工作量、团队期望值之前,100 分的程序员不会轻易答应。特别是对于新人来说,比较急于表现自己,对于同事或者老板的工作安排来者不拒,精神可嘉,方法不可取。承诺太多,会出现自己无法按时完成的情况,即使按时完成,也可能没有达到别人的期望值,长期以往别人对你的失望会越来越多。所以推荐的做法是在接受任务时,多问几个为什么,哪怕招人烦也问题不大,把要做的事情弄清楚,和同事和领导多交流明白,之后再说 Yes 也不迟。    敢于说 No   看起来和第一条雷同,其实细究起来不一样。第二条执行起来比第一条难得多。当遇到明显不合理的要求时,可以考虑拒绝,前提是准备好了全面充分的理由。不要经常说 No,但是一旦说了,就要切中要害。100 分的程序员不会闷头干活,知道自己的定位和团队期望,分清楚哪些是不合理的要求,哪些是合理的要求,然后把明显不合理的要求和领导沟通下,取得支持。    构建自己的知识体系   在信息爆炸的年代,碎片化的知识很多,系统学习的时间越来越少,如果没有自己的知识体系,很容易被淹没在知识的海洋中,而且难以记忆。100 分程序员推荐的做法,通过 Wiki 或者其他知识管理工具构建一个知识框架,大的分类可以包括软技能、架构、语言、前端、后端等,小的分类可以更细化。每周定期把脑海中的东西梳理到管理工具中,让大脑卸下负担,只记住框架

LeetCode - 6 - ZigZag Conversion

六眼飞鱼酱① 提交于 2020-02-07 05:08:22
题目 URL:https://leetcode.com/problems/zigzag-conversion 解法 一、程序员 对于一个程序员来说,肯定是想模拟 ZigZag 的数组,再根据 ZigZag 的位置一行一行的输出。 ZigZag 模拟很简单,首先得出行数和列数,之后模拟 ZigZag 方式:先向下,后对角,都是遇到边界停下。 public String convert(String s, int numRows) { if (numRows == 1) return s; int step = 2 * numRows - 2; int columnRows = (s.length() / step + 1) * (step / 2); char[][] c = new char[numRows][columnRows]; int count = 0, i = 0, j = 0; boolean isDown = true; while (count < s.length()) { c[i][j] = s.charAt(count); count++; if (i == numRows - 1) { isDown = false; } else if (i == 0) { isDown = true; } if (isDown) { i++; } else { i--;

【操作系统】第五章虚存技术

匆匆过客 提交于 2020-02-07 05:02:34
5.1虚拟内存的起因 理想中的存储器: 更大,更快,更便宜的非易性存储器 硬盘的速度远远的慢于内存的执行。 磁带比硬盘的存储容量更加的庞大。 现有的物理内存掉电之后数据还是会丢失的。 以上设计了三种技术: 1)手动覆盖技术:只把指令和数据保存在内存中 2)自动交换技术:将程序导出内存到硬盘上 3)虚拟内存技术(前两种是虚拟内存还没出现的情况下诞生的):以更小的力度把数据导出导入到内存中来,充分的利用了内存空间的手段 5.2覆盖技术 一、覆盖技术的基础 目标: 是在较小的可用内存中运行较大(相对而言的)的程序。常用与多道程序系统,与分区存储管理配合使用。 原理: 把程序按照其自身的逻辑结构,划分为若干个功能上相对独立的程序模块,那些不会同时执行的模块共享同一块内存区域,按时间先后来运行。 必要部分(常用功能)的代码和数据常驻内存; 可选部分(不常用内存)在其他程序模块中实现,平时存放在外存中,在需要用到时才装入内存; 不存在调用关系的模块不必同时装入到内存,从而可以相互覆盖,既这些模块共有一个分区。 二、应用例子 例子一: 1)bc是对等的,相互之间不会调用,所以分在一个区;A调用b的时候,c是不会执行的,所以只需要将b放在内存中即可。 2)def也是对等的,相互之间也不会调用,所以也分在一个区;当C调用e的时候,df通用是不会被调用的,所以也只需要将e放在内存中即可。 例子二:

程序员年入百万指南(一)

你说的曾经没有我的故事 提交于 2020-02-07 02:14:05
本文为【程序员年入百万指南】系列之VOL.1 作者:胡嵩 「 认知决定成败 」。我们先来做个小测试: 作为一个程序员,大家觉得自己的收入是由以下哪一个或几个决定的? A. 技术能力 B. 领导赏识 C. 对公司的贡献 D. 公司业绩 正确的答案是 ↓ ↓ ↓ 以 上 全 错 ​ 很多初入职场的同学,我猜都会 选A 。但随着时间的推移,经历了快速成长期,即便在技术上有了很大的提升,加薪也总跟自己无缘。 这时,看到身边有人得到领导赏识,走上管理岗位升职加薪,可能又会 选B 。结果总是遇人不淑,得不到领导的青睐。 而 选C 和 选D 的同学,你们大概是走错片场了,一般只有销售、运营这些直接跟公司收入挂钩的岗位,收入才会明显的和公司业绩搭上关系。 嵩哥从业以来,少说也 招聘过1000+个工程师,搭建过好几个公司的技术职级体系 (鄙人不才,百度现有的技术体系也是我搭的,并且百度的这套体系直接被头条美团等公司直接沿用)。 我可以非常郑重的告诉各位, 没有一个技术岗的薪酬是由以上因素决定的 (别抬杠,注意决定二字)。 真相是 技术岗位的收入取决于该岗位的稀缺性,和其他公司愿意为同等岗位付出的价格 。这两条其实是一回事。 越稀缺、越值钱,这就是市场规律 。 没错,每个求职者和每个招聘者都在玩一个叫劳动力市场的游戏。 招聘者有岗位需求,愿意以一定的代价招到符合岗位要求的人,候选人则出卖自己的技能时间

寒假学习进度六

微笑、不失礼 提交于 2020-02-06 23:44:54
今天看了《梦断代码》的第二章——Agenda之魂,开始我不知道这个单词是什么意思,搜了一下是议程,工作事项的意思。但是理解不了这张名字额意思,看完之后才知道这里的Agenda指的是一个软件,它能接受灵活的输入格式,让用户按照自己的心意去输入各种类型的数据;而它的创建者们制定的规则在现在看起来都难以实现,在当时有一款Agenda这样的软件可以说能算上一个节点了。之后说了将这个软件开源以及人类智慧增长计划来是程序员进入程序帮助程序员编程,程序员更好的改进程序的正循环时代。可这些都没有完美的成功,都因为各种原因失败了,这也算是告诉我们编程不容易,想要开发一款自己心中想要的软件更不容易吧,虽然软件没有真正的成功,但是软件中你想要体现的精神也会一点点渗透进你的心中来影响你。 来源: https://www.cnblogs.com/wyppaa/p/12271531.html

梦断代码-读后感2

孤者浪人 提交于 2020-02-06 21:43:45
第四节 原型与python 在每个编程项目的早期阶段,当团队选择语言和技术,准备切开开发时,这种两难不论就降临了,对元和技术的选择,初识无关大局,重选一可转而变的混凝土班,坚如铁石关系重大,软件的单个新功能发布的出来,让所有人用上需要很长时间,所以程序员通通常常通过所谓用力来测试自己的设计,过来过来,用力是一个假想场景模拟用户需要什么?想怎么用软件?萨奇和乔开始草拟草拟数据结构,使之符合上述用力和其他用力的需要,过了好几个惊喜,他们的答案是可以用一种简单的三段式,没有模型描述,任何事物看起来就像英文单词句中主句动词宾语的结构,好程序员都写什么?艾瑞克芮蒙德在大教堂与集市中写道,而卓越的程序员知道改写什么,没必要重新发明,而df轮子只要搭上顺风车就行,对于程序员来说,如同对于作家,艺术家以及所有那些在白板上一起开始描绘作品人一样项目最有趣的部分,往往是刚开始的时,那时又无无数种可能,敞开着大门而通向痛苦妥协,大门却永远是关着的,软件只能一步一步打解出来,软件不仅要靠自己,还要看自己的优点来赢得客用户,长路漫漫,虽然代码上少,但吉兆于是有一些十分聪明和经验丰富的头脑,正在着手解决他们为之着迷的难题,他们站在其他开源项目的肩头,谁可阻挡?木耳,我不知道 第五节,乐高王国,2002年秋天,技术工业的过山车停在了令人沮丧的轨道最低点,网络股泡沫刚刚消失

编程零基础做程序员,该怎么学习?首先要学习什么?

柔情痞子 提交于 2020-02-06 19:58:18
编程零基础做程序员,该怎么学习?首先要学习什么? 众所周知程序员是21世纪比较吃香的工作。程序员工资高还不需要和复杂的社会打交道。那么作为一个零基础,什么都不懂的人该怎么成为一名程序员?当程序员需要学什么?下面就来分析下。 零基础的我该如何学习? 如果想做一个程序员,在没有基础的情况下,买书自学是一个办法,但是大多数人会因为没有相关的基础知识,导致看书看得一知半解,因为有不同的语言,不同的开发环境,在你不了解的时候,买的书不一定合适。笔者是一个Java出身的程序员,学习编程有什么学习问题或者关于Java学习的路线的话可以找我交流。 比较速成的办法还是去报名一个培训班,系统的学习一下基础知识,然后选择一个发展方向,再具体的针对性的买点书籍来学习。 遇到不懂的问题的时候,尽量少的去百度,谷歌上直接找答案,而是去各种论坛或官方网站了解比较底层的原理,然后思考解决方案,这样才能知其然知其所以然。 程序员是一个不停学习的岗位,你需要每天除了工作以外,花一定的时间了解新的技术或正在使用的技术的原理,这样才能一直提高,不然,可能会被淘汰。 在你了解代码以后,你还需要了解逻辑,就等于你要熟悉你所从事的这个领域及行业,比如你做教育,那就要熟悉教育行业的业务,做财务,就要熟悉财务的逻辑,这样才能写出好的代码。 首先要学习什么? 我觉得可以先选一门简单的语言进行学习,这样可以先对编程有一个初步的认识

《大量编程带来的快乐和烦恼》(2010/06/20)

亡梦爱人 提交于 2020-02-06 19:58:13
程序员成长阶段面临的工作就是编程而且是大量编程。这和以往自娱自乐式的编程是完全不一样的。这个时候的编程是职业的,是和薪水以及被用户认可的软件联系在一起的。编程少了则无法深入体会到各种快乐和烦恼。 程序是程序员创造出来的产品。当然程序越多,说明程序员生产能力越强。据统计,一到三年之间,程序员一般可能要编写 5 万到 20 万行代码(包括编写后删除了的)。很多程序员都不太清楚自己从业后到底编写了多少行代码,如果真的有心统计一下,自己绝对会被吓一跳。从代码行数来说明程序的工作量还只是机械的统计方法,很多程序代码很少,但是花的时间却是很多,含金量很高。 程序员马不停蹄、加班加点编制了大量的程序,他们快乐吗?如果没有快乐,难道他们真的只是为了薪水这样不快乐的工作吗?如果有快乐,他们难道真的以乐为苦,故意喊着工作劳累以博取别人的同情吗? 以我几十年编程经历来看,编程是快乐和苦恼相互交织的一种工作,而且是一种挑战性的、超越自己的工作。对于我来说,其快乐要远大于苦恼,否则,我早就弃它而去了。 编程会给程序员带来快乐。这种快乐有时只能是意会的,是无法用言语、文字表达的。那么编程会给程序员带来什么样的快乐呢? 1、 成就感 我问过很多程序员同样的话题,“编程的最大快乐是什么?”首选的回答几乎都是“成就感”。成就感意味着自己做了一件了不起的事,做了一件非常有用的事,做了一件有价值的事

一个不爱加班iOS程序员的自我修养

本秂侑毒 提交于 2020-02-06 01:25:02
时间 * 效率 = 需求量。 作为一个程序员不加班是不可能的,但避免身体超负荷运转还是能想想办法的。 想要节省点时间,首先如果能劝的动产品经理的话,那👍。不然就得从代码效率入手了。 下面讲讲本人的成长经历。大神就不用在这浪费时间了。 第一阶段:入门阶段 反正用代码堆出来就行了。回头看代码还不如重写一遍来的快。 第二阶段:整理阶段 代码写完后一团乱麻理不出头绪,开始有意识的整理代码。加上前辈指导,代码变得规范。 func不再乱写,一个功能提供一个明确入口,如非必要不增加func。 当然这时候一个controller几千行代码的困扰还没解决~ #pragma mark - 共有方法 - #pragma mark - 视图加载 - #pragma mark - 事件 - #pragma mark - 工具方法 - #pragma mark - xxx功能 - /* 这是xxx功能 */ - (void)xxx功能 { [self 辅助方法1]; [self 辅助方法2]; } - (void)辅助方法1 { } - (void)辅助方法2 { } #pragma mark - 私有方法 - 第三阶段:拆分代码阶段 排列与组合 举例:一个视图拆分多个后组装,一个controller拆成多个后,一个.m里的代码少多了! 第四阶段:设计模式阶段 拆分完代码后开始学会规划代码结构了。良好的设计