《代码大全2》读书笔记 Week3】的更多相关文章

代码的未来读书笔记<二> 3.1语言的设计 对Ruby JavaScript Java Go 从服务端client以及静态动态这2个角度进行了对照. 这四种语言因为不同的设计方针,产生了不同的设计风格. Header client 服务端 动态 Html5 Ruby 静态 Java Go 静态动态 静态:无需实际执行,仅依据程序代码就能确定结果. 动态:仅仅有到了执行时才干确定结果.只是不管不论什么程序,或多或少都包括的动态的特性. 动态执行模式 执行中的程序能识别自身,并对自身进行操作.对程…
<代码大全2>第六.七章 作者在第六章中从抽象数据类型(Abstract Data Type)出发阐释类(class)的概念,给出创建类的原因以及创建高质量的常涉及的设计问题.抽象数据类型(ADT)是指一些数据以及对这些数据所进行的操作的集合,ADT是一个比类更基础的概念,类由ADT出发得到扩展,或者说,类是ADT的实现形式之一.ADT概念是与本书前文中的整体抽象概念一脉相承的,使用ADT可以隐藏实现细节,更容易提高性能,让程序更具有自我说明性(self-explanatory),这都是从管理…
在android开发中找出当前界面对应的Activity,步骤如下: 新建一个BaseActivity继承自Activity,然后在BaseActivity中重写onCreate()方法,通过getClass().getSimpleName()获取当前实例的类名,并通过Log打印出来.代码如下: public class BaseActivity extends Activity { protected void onCreate(Bundle savedInstanceState){ supe…
这本书买了好久了,除了刚到手的那几天翻看了一下以外,竟然到今天都没有看过.突然想要写一个shell脚本,发现什么也不会,是时候开始学习了,今天先把最简单的一章再看一遍顺便做一些笔记,明天继续后面的! man命令用来访问存储在Linux系统上的手册页面.在想要查找的工具的名称前面输入man命令,就可以找到那个工具相应的手册条目. 如果你是新接触bash shell,可能一开始会觉得手册页并不太有用.但是,如果养成了阅读手册的习惯,尤其是阅读第一段或是DESCRIPTION部分的前两段,最终你会学到…
一.何谓黑客? 黑客,在我们大多数普通人眼里,就是入侵计算机的人,通常还与干坏事挂钩.而书中告诉我们,这 并不是它的真正含义.而要想理解这本书,就要首先理解什么是黑客. 黑客这个词最初起源时,完全是一个正面的词.黑客(hacker),就是完成hack的人.而hack的字典解释是砍木头,解决一个计算机问题,就像砍倒一颗大树.用理查德•斯托尔曼的话说:“出于兴趣而解决某个难题,不管他有没有用,这就是黑客.”这句话也表明了黑客的三个标准,即好玩.高智商.探索精神. 而根据另一本介绍黑客的书里的“黑客伦…
ADT abstract data type 抽象数据类型 要理解面向对象编程,就要先理解ADT这个概念.不懂ADT的程序员开发出来的类只是名义上的"类"而已--只是单纯的把一些相关的数据和子程序堆砌在一起.然而要在深入理解ADT之后,程序员就能够写出在一开始很容易实现.日后也易于修改的类来 ADT指的仅仅是一个对象和其对应需要的操作这样的逻辑结构,这样的抽象思维,忽略底层实现.这样可以使得调用者更加的透明化且代码更加易于理解,注意,ADT抽象应该选择更加高级的概念进行抽象,这样才更加…
当用户登录终端的时候,通常会启动一个默认的交互式shell.系统究竟启动哪个shell,这取决于用户配置.一般这个shell都是/bin/shell.默认的系统shell(/bin/sh)用于系统shell脚本,如那些在系统启动时运行的脚本. 用于登录某个虚拟控制器终端或在GUI中运行终端仿真器时所启动的默认的交互shell,是一个父shell.在CLI提示符后输入/bin/bash命令或其他等效的bash命令时,会创建一个新的shell程序.这个shell程序被称为子shell. 使用$ps…
更多的bash shell命令 想检测进程,需要熟悉ps命令的用法.ps命令好比工具中的瑞士军刀,它能输出运行在系统上的所有程序的许多信息.默认情况下,ps命令只会显示运行在当前控制台下的属于当前用户的进程. $ps -ef 如果想查看系统上运行的所有进程,可用-ef参数组合.(-e:显示所有进程,-f:显示完整格式的输出) top命令能够实时显示进程的信息. 在Linux中,进程通过信号来通信.进程的信号就是预定义好的一个消息,进程能识别它并决定忽略还是做出反应.进程如何处理信号是由开发人员通…
第一章:初识Linux 1.linux可划分为四个部分:内核.GNU工具.图形化桌面环境.应用程序 2.内核主要负责:系统内存管理.软件程序管理.硬件设备管理.文件系统管理 3.内核的系统内存管理,有用到交换空间(虚拟内存) 4.内核的软件程序管理,有5个运行级数. 5.shell属于GNU工具 6.GUN是由开源组织贡献的开源程序 7.linux有完整的核心发行版.特定用途的发型版(ubuntu).liveCD测试发行版(U盘启动)三类…
很多好的编程做法都能减轻你的大脑灰质细胞(指脑力)的负担. 将系统"分解",是为了使之易于理解("设计的层次"). 进行审查.评审和测试正是为了减少人为失误.如果你从不犯错,就无须复审自己的软件.但要知道,人的智力是有限的,所以应和他人沟通,来提高软件质量. 将子程序编写得短小,以减轻大脑负荷. 基于问题而不是低层实现细节来编程,从而减少工作量. 通过各种各样的规范,将思路从相对繁琐的编程事务中解放出来. 编程生涯成熟的部分标志就是发展出一种不屈不挠的诚实感.通常表…