#Java夜未眠# 读书笔记
微博上的蔡学镛是个有趣的家伙,有条微博这样写道:
“记得十多年前我的第一本书出版时,我隔几天就到书店微服出巡,看看状况。当看到有人拿起我的书时,我内心的口白:"英明英明,你可真识货呀!" ... 当有人放回我的书,我内心的口白酸溜溜的:"显然不是个懂书的人"
”
本人很惭愧,至今没看过蔡学镛的任何书籍(可能有误打误撞的,但绝对没认真看过),难怪至今与Java无缘。为了减轻负罪感,特地搜索了下蔡学镛的著作,决定从《Java夜未眠》看起。
本人看电子书要比纸质书要快很多,一边滚动鼠标,一边用眼睛一目十行,给我一种满足感。当然,有些不感兴趣,或者关系不大的段落,文章,我就直接跳过了。如果对以下内容感兴趣,还是请看原版吧。
蔡学镛的学习之道
1. 理论基础扎实——数据结构,程序语言,操作系统
2. 不好高骛远
3. 先深后广
4. 兴趣导向
5. 抢先学好有前瞻性的技术
6. 学习优秀而有独到之处的技术
7. 通常看英文技术资料
8. 在一定阶段之后,看书胜于写程序
9. 需要十多年的基类
如何进入程序设计领域
1. 把工作、学习,和娱乐结合在一起,时间就会是别人的三倍。
2. 慎选程序语言,一旦选定就要执着。A Jack of all trades is master of none.
3. 加强英文阅读能力
4. 求人之前,先求自己
5. 多写程序
6. 向上延伸,向下延伸,向旁延伸
上:对象导向分析设计,Design Patterns,Refactoring,以及软件工程
下:内部底层的运作机制,如数据结构,操作系统原理,计算机组织与结构
旁:学习不同领域应用的API,如多媒体,数据库,分布式计算
7. 持之以恒
职业敏感度
如何培养?让自己暴露在大量相关的信息下是最自然的方式。设置首页为相关领域的页面,订阅mailing list
走出你的成功之路
成绩并非凭空而来
软件产业的知识经济
专业知识可以分为四个层次:
1. Know-What --- cognitive knowledge
2. Know-How --- advanced skills
3. Know-Why --- system understanding
4. Care-Why --- 自发性的创意
必须自问自己在哪个层次
Java学习之道:
1. 学习Java的原理
2. 学习Java语言。——《The Java Language Specification》,《Inside the Java Virtual Machine》
3. 学习面向对象的思维。1. 多看相关的书,特别是涉及模式和重构方面。2. 多观摩别人的程序(Java API的设计与实现)3. 多写程序
4. 学习API,规划好学习路径
5. 学习开发工具的用法
该学什么程序语言
1. Web Page Script Language,比如JavaScript
2. Interpreted Language,比如Perl,Python,Ruby,REBOL
3. Hybrid Language,比如Java,C#,介于解释性语言和编译型语言之间
4. Compiling Language,比如C/C++,真正想成为程序高手都应该懂C/C++
5. Assembly Language
如果没有程序基础,可以从上到下依次学习
语言、平台、链接库
C语言 stdio链接库
平台链接库和语言链接库都有同一个功能,选择平台链接库更安全
平台的链接库导致程序在不同平台上编译之后不一定能运行,Qt语言将各个主要平台的链接库抽象出一个共通的链接库,如果C++语言只使用标准C++链接库和Qt链接库,程序重新编译后就可以在不同平台上执行。
Java不仅将链接库统一起来,更将平台统一起来,这样程序就可以不同重新编译,可以直接执行。但是,多了一层JVM,牺牲了一部分性能。
Design Pattern
pattern:只要是一再出现的事物,就是pattern。
面向对象软件开发的程序可以分为OOA(面向对象分析),OOD(面向对象设计),OOP(面向对象实现)。在OOD阶段所采取 的pattern就是design pattern.
提早建立Design Pattern的知识
软件产业的大洪水
1. 不重视研发 2. 不重视专利 3. 不重视软件工程
软件工程
CMM 1 initial 2 repeatable 3 defined 4 managed 5 optimized
相关文章:

asp.net 控制页面css样式
asp.net 控制页面css样式fontDiv.Style["display"] "none";fontDiv.Style["display"] "";转载于:https://www.cnblogs.com/qiantuwuliang/archive/2009/06/02/1494709.html

腾讯AI Lab负责人张潼离职,张正友或接替其位
来源 | 网易智能 刚刚,据知情人士透露,腾讯人工智能实验室 AI Lab 主任张潼已经从腾讯离职,未来将重返学术界。 关于该消息,腾讯方面目前尚无回应。 网易智能独家获悉,AI Lab接手人是机器人实验室的张正友。 有消息…

频频霸榜的Python,竟遭开发者嫌弃!
在刚刚过去的 2018 年里,要说最热门的科技领域是哪一个?毋庸置疑的是,人工智能必排在前列;而要论编程语言界,最流行的编程语言是谁?那非 Python 莫属。2018 年 8 月,根据一年一度的 IEEE Spectr…

#每天一种设计模式# 观察者模式
系统常常会出现这种情况: 每一个部分需要知道整体的状态。比如Excel中,当你修改了一个单元格的值,可能横列的sum需要改变,纵列的sum需要改变,根据这个单元格做的图需要改变,是否被修改的按钮需要激活... 如…

el-input怎么绑定回车事件
在 Vue 2.0 中,为自定义组件绑定原生事件必须使用 .native 修饰符:<el-input v-model"queryForm.skuName" placeholder"请输入商品名称" keyup.enter.native"skuNameSearch"></el-input> 转载于:https://www.…

DOS命令大全(经典收藏)
http://wuhua.javaeye.com/blog/32374 net use \\ip\ipc$ " " /user:" " 建立IPC空链接 net use \\ip\ipc$ "密码" /user:"用户名" 建立IPC非空链接 net use h: \\ip\c$ "密码" /user:"用户名" 直接登陆后映射对…

Ruby Metaprogramming
Ruby使用者对attr_accessor一定不会陌生。 class Aattr_accessor :num end 等效于: class Adef numnumenddef (value)num valueend end 在类的定义中,attr_accessor定义了num的读写方法,只用了一行代码就生成了两个实例方法,很…

四川大学线下编程比赛第一题:数字填充
四川大学线下编程比赛第一题:数字填充公布公司:有 效 期:CSDN 2014-09-27至2015-09-26 难 度 等 级:答 题 时 长:编程语言要求:120分钟C C Java C#题目详情peter喜欢玩数字游戏。但数独这种游戏对他来说太简…

Google AI骗过了Google,工程师竟无计可施?
作者 | 若名 出品 | AI科技大本营 如果你通过 Google 搜索购买演唱会门票或者注册论坛账号,系统会提示你必须点击几个图框、音频或者移动鼠标等操作来确认是人类在操作验证而不是机器人。 其背后的验证机制就是 CAPTCHA(验证码),…

用高中数学理解AI “深度学习”的基本原理
本文作者尚俊霖,全职产品经理,业余自学机器学习。最近开始写硬核科普,欢迎关注公众号欠拟合(ID:Underfit)。Google 研发了十年自动驾驶后,终于在本月上线了自动驾驶出租车服务。感谢“深度学习”技术&#…

Linux I2C工具查看配置I2C设备【转】
转自:http://blog.chinaunix.net/uid-26895763-id-3478882.html 在處理音訊相關的問題時,我通常會找個方法來讀寫codec中register的值。幸好linux上也有這樣的工具 – i2c tools。先到lm-sensors下載soure code,然後cross compile成arm的執行…

Ruby之类定义
介绍几种不常见的类定义方法: 1. Struct PersonStruct.new(:name,:age,:sex)pPerson.new("liyuchun")puts p Struct生成一个仅仅包含数据属性的类。但是你可以在这个类的基础上扩展: PersonStruct.new(:name,:age,:sex)class Persondef …

引用 引用 引用 学会求知 学会共处 学会做人 学会做事
◆学历不等于能力和水平,学校学到的在社会能用上的只有15%,而在社会能学到85%。◆世上很多发生的事必有其原因,必有其结果,必有其收获。◆心态归零,天道酬勤。◆老板是私营企业家,赚了小钱是自己的…

python写一个通讯录step by step V3.0
python写一个通讯录step by step V3.0 更新功能: 数据库进行数据存入和读取操作 字典配合函数调用实现switch功能 其他:函数、字典、模块调用 注意问题: 1、更优美的格式化输出 2、把日期换算成年龄 3、更新操作做的更优雅 准备工作 db准备…

#每天一种设计模式# 模板方法
《松本行弘的程序世界》对模板方法(Template method)的说明非常清晰: 在父类的一个方法中定义算法的框架,其中几个步骤的具体内容则留给子类来实现。 比如一个用于公司欢迎同事的程序: class Adef initializename "jinbin"word …

如何更好地玩转GitHub?
本文作者黄昱俊,国资企业投资部总经理,主要负责投资部门建设、投资流程管理、投后资源管理。历经10年,从医疗器械研发工程师到投资管理的蜕变,业余尝试ETF量化投资。 本文介绍如何在GitHub上更新Fork以及PullRequest给源项目。 在…

System Center Data Protection Manager 2007补助说明
在 DPM 服务器上配置 Windows 防火墙 1. 在 Control Panel(控制面板)中,单击 Windows Firewall(Windows 防火墙)。2. 在 General(常规)选项卡中,验证是否已开启 Windows 防火墙&am…

可伸缩系统的设计模式(译)
Ricky Ho在他的博客中分享了该文章,该文章是一个简单的概括分享,详细的可以参见他博客的其它详细文章。下面主要是意译。 1、Load Balancer:负载均衡 – 由分发者来决定哪个工作者处理下一个请求,这种决定可以基于不同的策略。 “…

Boson_Netsim_6使用方法
使用说明: netsim6.0只有在英文操作系统下才能释放出正确的pdf文件,大家可以到文档中心下载以下3个pdf文件: SequentialLabs.pdf:解压后复制到安装目录下的\MyLabs\ccna_sequential\Sequential Labs (CCNA)\common中覆盖相应的文件…

Ruby之Enumerator类
今天发现了Ruby1.8.6和 Ruby1.9.2的一个不同之处,试运行以下代码: require findputs Find.find("./data").class 在Ruby1.9.2中,最后的结果是Enumerator,而在Ruby1.8.6中,结果则是find: no block given (L…

澎思科技获IDG资本数千万元Pre-A轮融资 推出AI安防全场景软硬件解决方案
1月8日,人工智能安防公司澎思科技宣布完成数千万元 Pre-A 轮融资,该轮融资由 IDG 资本领投,高捷资本、上古资本、洪泰基金跟投。澎思科技表示,此轮融资会更多用来“修炼内功”,进一步夯实公司的技术研发和产品落地能力…

看linux书籍做的一些重要笔记(2011.07.03更新)
(1)制作启动盘 •用户可以用dd,cat,cp等命令自行将这些image文件制作成启动盘。 •例如: •ddif/mnt/cdrom/RedHat/images/bootdisk.img of/dev/fd0 •cp /mnt/cdrom/RedHat/images/bootdisk.img /dev/fd0 •cat /mnt…

C++ Primer 读书笔记 (1)
我的《C Primer》扉页记着购书的日期和地点:C Primer 2009.11.28购于西区求索。那时对于这本厚书一直心怀敬畏,仿佛是眼前的一座大山。那时,虽然已经大四,但是对于面向对象的理解还很肤浅(相当肤浅),只能用C编写一些简…

招聘:兼职ASP 高级工程师
工作职责:1、负责ASP网站设计和页面制作;2、配合运营团队做客户服务支持;3、参与海洋工作室其他相关设计工作。 职位描述: 1. 要求有很强大ASP开发功底;2. SQL Server使用经验;3. 有与策划者和美工合作的习惯;4. 可独立开发&…

GitHub重大好消息:私有仓库可无限制免费创建
作者 | 一一 出品 | AI科技大本营 GitHub 被微软收购之后,第一次公布了有利于广大程序员的好消息。 1 月 8 日,GitHub 宣布无限制的免费为普通用户提供私有仓库服务,这给程序员每年省下了 84 美元。此前,企业要创建私有仓库进行代…

“AI下乡”:华为和袁隆平一起种海水稻,欲改造1亿亩良田
作者| 琥珀 出品| AI科技大本营我们总是无法忘怀“杂交水稻之父”袁隆平的名字,即便后来很多学者对他的成就有所争议。距今,三系杂交水稻的发现已经过去了 50 多年,袁隆平也近 90 岁高龄,但他依然活跃在农业生产一线。想必近日不少…

finecms设置伪静态后分享到微信不能访问怎么处理
finecms设置伪静态后分享到微信不能访问,分享的链接自动增加了一串参数,类似这样的***.html?fromsinglemessage&isappinstalled0,刚开始ytkah没注意,以为是微信屏蔽了不安全网址,后面在论坛上问了一下,…

Access和SQL server开启表间关系,并实现更新或删除母表数据自动更新或删除子表数据...
1.Access开启表间关系,并实现删除母表数据自动删除子表数据: 在Tables等界面 - > 右键 - > Relationships... -> 弹出Relationships窗口 -> 选择需要关联的表 -> 双击Relationships窗口空白位置 -> 弹出 Edit Relationships 窗口 -> 就可以看到Enforce Re…

推荐并简要分析一个silverlight的相册DEMO--ImageSnipper(V2)
下面就是它的一些演示截图。 首先是缩放,旋转和透明处理:然后是文字水印处理:然后是使用Ink的涂鸭:相信做为一个相册(图片浏览)的基本功能已经没什么问题了。下面来看一下这个DEMO的类图ÿ…

Ruby之Tempfile
今天又机会尝试了下Ruby的Tempfile库,相比于自己创建临时文件再删除的方法简便了很多。 require tempfiletmp Tempfile.new("tmp")tmp.path # > /tmp/tmp20110928-12389-8yyc6w 不唯一tmp.write("This is a tempfile") tmp.rewind tmp.read…