Learning Path
浏览 开发笔记 相关教程与章节。
社区笔记、经验文章、测验题库与零散教程入口。
教程
1237
1 别抱怨了.准备好漫长的征程,或者晾在一边赏鸟去吧 对于真正希望成为一名优秀的程序员的人,希望成为专家,成为究极人物的人,如果真的值得去做,那么投入十年进去,并不算什么,对吗? 第一步就是吞下这颗子弹。接受这个过程将不止花去十年,而是一生的追求。只因为你想去做它,才去做它。如果一个人不情愿做某事,他是不会成为它的专家的。 2 写很多很多的代码 同时写许多许多的代码。不一定是好的代码。很长时间内,你写的代码都不是好的代码。好的代码,好..
1、Web 程序员需要了解哪些知识点 Web应用程序主要是运行在浏览器上,我们平时打开的网页就是一个 Web 程序,常见的 Web 技术有: HTTP FTP POP3 SMTP TCP IP protocols HTML XML Coldfusion ASP JSP PHP ASP.NET 2、浏览各式各样的网站 在我们通常使用的浏览器中如 Chrome,Firefox 可以按下 F12 按键(或者右击鼠标=》查看源码)来查看网..
统计方法: 1、选择10个软件工程师收入最高国家(数据来源-哪个国家程序员挣得最多?) 2、比较在这些国家的生活成本(数据来源:Eardex) 3、使用'Big Mac Index'来呈现可以购买有能力的工程师数量(The Economist) 4、使用'幸福指数'(来源: happyplanetindex) 5、使用以下彭博社的报道: 最佳承压:国家 最长寿:国家 健康福利:国家 ..
我不能算是一个很优秀的程序员,但这个问题我已经反复思考了五年了。跟大家分享一下我的看法:首先, 我认为答案绝对不是 '只要写很多年代码就好了“。我面试过不少有10年经验,代码却写的很糟糕的程序员。经验很保贵, 但只靠经验是不够的。就像下棋一样,假如你用心研究,复习,不断挑战自己,也许可以成为一名大师。但不断用懒散的方式去玩棋,下20年也只是一个'臭棋篓子“。我觉得比较有用的进步方式:1. 学会看代码大多数程序员都只愿..
Python 非常易学,强大的编程语言。Python 包括高效高级的数据结构,提供简单且高效的面向对象编程。 Python 的学习过程少不了 IDE 或者代码编辑器,或者集成的开发编辑器(IDE)。这些 Python 开发工具帮助开发者加快使用 Python 开发的速度,提高效率。高效的代码编辑器或者 IDE 应该会提供插件,工具等能帮助开发者高效开发的特性。 这篇文章收集了一些对开发者非常有帮助的,好用的 10 款 Python ..
如果你正打算购买一部新的智能手机(这也许是你的第一部智能手机),如何把钱花好让自己满意就显得非常重要。而选择智能手机其实很大一部分都是在选择操作系统。如果你正纠结于iOS、Android或Windows Phone之间不知道买哪个才好,那么最近国外科技网站DigitalTrends就专门将三大主流操作系统的各个方面进行了横向的对比,针对每一项功能和类别都会选出优胜者,希望能够帮助你买到自己称心如意的智能手机。 性价比 提到价格,苹果..
大数据工程师必备技能图谱, 点击查看大图:..
1. 位运算概述 在现代计算机中,所有数据都以二进制形式存储,即 0 和 1 两种状态。计算机对二进制数据进行的运算(如加、减、乘、除)被称为位运算,即对二进制数的每一位进行操作的运算。 为了更好地理解位运算,举个简单的例子:假设我们有如下代码进行两个整数的加法运算: int a = 35; int b = 47; int c = a + b; 计算机会将这两个整数转换为二进制形式,然后进行加法运算: 35: 0010 0011 47..
下载 PDF 文档..
什么是区块链? 从字面上看:区块链是由一个个记录着各种信息的小区块链接起来组成的一个链条,类似于我们将一块块砖头叠起来,而且叠起来后是没办法拆掉的,每个砖头上面还写着各种信息,包括:谁叠的,什么时候叠的,砖头用了什么材质等等,这些信息你也没办法修改。 从计算机上看:区块链是一种比较特殊的分布式数据库。分布式数据库就是将数据信息单独放在每台计算机,且存储的信息的一致的,如果有一两台计算机坏掉了,信息也不会丢失,你还可以在其他计算机上查..
在 Bootstrap 四周年纪念日上(8月19日)发布了Bootstrap 4内测版,下面让我们来看下Bootstrap 4做了哪些更新!! 从Less迁移到Sass: 现在,Bootstrap已加入Sass的大家庭中。得益于Libsass,Bootstrap的编译速度比以前更快; 改进网格系统:新增一个网格层适配移动设备,并整顿语义混合。 支持选择弹性盒模型(flexbox):这是项划时代的功能——只要修改一个Boolean变量..
一七年的跳槽旺季又开始了,尽管到处吹着资本寒冬的风,尽管每天看着各种公司关于欠薪、CEO跑路、大型公司按比例裁员的信息,但是不可否认这些消息都已经阻止不了程序员那颗躁动不安的心了。 图文无关 很多老板不理解程序员为什么要离职,简单的归咎于招来的人没有契约精神,每个程序员自视甚高。甚至于认为年后离职的程序员都是道德上存在缺陷的人,简单的认为公司给了双休,给了年终奖,给了弹性上班时间,给了加薪及各种福利都留不住的程序员离职心意的..
在开始学java的时候老师讲到继承的时候,总是喜欢用一个例子来讲解,那就是画图,这里有一个画笔,可以画正方形、长方形、圆形(这个大家都知道怎么做吧,我就不解释了)。但是现在我们需要给这些形状进行上色,这里有三种颜色:白色、灰色、黑色。这里我们可以画出3*3=9中图形:白色正方形、白色长方形、白色圆形。。。。。。到这里了我们几乎到知道了这里存在两种解决方案: 方案一:为每种形状都提供各种颜色的版本。 方案二:根据实际需要对颜色和形状进..
本文转载自51CTO(ID:weixin51cto),作者:熊小妹 老板发消息说 明天带条鱼来观察 结果 …… 1、Java程序员版 2、PHP程序员版 3、C 程序员版 4、C++程序员版 5、Python程序员版 6、.NET程序员版△ 7、Js等前端程序员版 8、Go程序员版 9、MATLAB程序员版..
更确切的说,这边文章应该是程序员眼里的IE浏览器,我相信如果你是程序员,应该不会选择使用IE浏览器,如果你还在使用IE浏览器,应该还不是个程序员(哈哈。。。开个小玩笑)。好吧废话不说了,接下来我们通过几张图片来看看程序员眼里的浏览器到底是一个怎样的形态: 如果浏览器是一种枪 想法有点不一样 如何区分 HTML 和 HTML5 成长的烦恼 主流浏览器的用户群..
从7月底发布到现在,仅仅一个月,Windows 10就交出了一份出色的答卷:占领了全球5.33%的份额,超越只有3.45%的Windows 8,成为全球第五大操作系统。 除此之外,权威统计机构StatCounter还给出了一份浏览器市场报告,结果显示,8月份,Windows 10全新浏览器Edge,尚未有实质性的份额——榜单上甚至都没有它的名字。 这听起来有些不可思议,此前微软高管还宣布,截止目前全世界已经有超过7500万台设备安装..
冒泡排序(Bubble Sort)是一种简单的排序算法,它通过重复地遍历待排序的列表,比较相邻的元素并交换它们的位置来实现排序。该算法的名称来源于较小的元素会像“气泡”一样逐渐“浮”到列表的顶端。 1. 算法步骤 比较相邻元素:从列表的第一个元素开始,比较相邻的两个元素。交换位置:如果前一个元素比后一个元素大,则交换它们的位置。重复遍历:对列表中的每一对相邻元素重复上述步骤,直到列表的末尾。这样,最大的元素会被“冒泡”到列表的最后。..
桶排序(Bucket Sort)是一种分布式排序算法,它将待排序的元素分配到若干个桶(Bucket)中,然后对每个桶中的元素进行排序,最后将所有桶中的元素按顺序合并。桶排序的核心思想是将数据分到有限数量的桶中,每个桶再分别排序(可以使用其他排序算法或递归地使用桶排序)。 桶排序是计数排序的升级版。它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定。为了使桶排序更加高效,我们需要做到这两点: 在额外空间充足的情况下,尽量..
一、前言 今天我们讨论一下 Builder 建造者模式,这个 Builder,其实和模板模式非常的像,但是也有区别,那就是在模板模式中父类对子类中的实现进行操作,在父类之中进行一件事情的处理,但是在 Builder 模式之中,父类和子类都不用关心怎么处理,而是用另一个类来完成对这些方法的有机组合,这个类的职责就是监工,规定了到底要怎么样有机的组合这些方法。在监工类(Director)中,将父类组合进去,然后调用父类的操作来抽象的实现一件..
1、定义以及 UML 建模图 将一个复杂的对象的构建与它的表示分离,是的同样的构建过程可以创建不同的表示。 2、使用场景: 多个部件或者零件,都可以装配到一个对象中,但是产生的运行结果又相同。 产品类非常复杂,或者产品类中调用顺序不同产生了不同的作用。 初始化一个对象特别复杂,如使用多个构造方法,或者说有很多参数,并且都有默认值时。 3、核心类 (1) 抽象产品类 computer。 (2) Builder 抽象 Builder..
又到了“香烟啤酒方便面,辣条饮料火腿肠”的春运季,在你挤上火车享受列车员“腿收一下”的温暖关怀前,车票到手了吗?搞定下面这些,让你抢票时更任性。 1. 一张直观的购票日历。今年春运期间的火车票提前 60 天预售,除夕当天的车票 12 月 21 日开抢。 2. 掌握天时。自 11 月 28 日起, 8:00 至 18:00 期间每个整点和半点都有新票起售。每天的 12 点和 23 点是“回笼票”出现几率最高的时间段,可以碰碰运气..
字节(Byte)是计量单位,表示数据量多少,是计算机信息技术用于计量存储容量的一种计量单位,通常情况下一字节等于八位。 字符(Character)计算机中使用的字母、数字、字和符号,比如'A'、'B'、'$'、'&'等。 一般在英文状态下一个字母或字符占用一个字节,一个汉字用两个字节表示。 字节与字符: ASCII 码中,一个英文字母(不分大..
原则:尽可能控制对数据的修改,如果可以预测某个数据不会或不应该被改变,就要对其控制,而不要期望使用这个数据的调用者不会改变其值。 如果参数在使用过程中被意外修改,将会带来不可预知的结果,而且这种错误很难被检查到,所以我们在设计方法参数的时候,要充分考虑传递引用类型参数或者引用方式传递引用类型参数可能带来的后果。 如果一个数据在传递过程中不能被改变,就要在构建这个对象的时候就使其值(字段或属性)不被改变。 一、对于简单的参数的控制..
我一直以为 assert 仅仅是个报错函数,事实上,它居然是个宏,并且作用并非“报错”。 在经过对其进行一定了解之后,发现 assert() 的用法像是一种“契约式编程”,在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个 if 语句: if(假设成立) { 程序正常运行; } else { 报错&&终止程序!(避免由程序运行引起更大的错误) } ..