架构之美阅读笔记二

架构是浪费空间的艺术。需要架构师经过缜密的谋划,精心的布置,才能创造出美的艺术。通过阅读本章中对两个“软件城市”的描述,加深了对架构重要性的认识,了解了一些如何构建出美的构架的方法。    经验是最好的老师。当然要善于从别人的经验中汲取经验教训,从别人的错误和成功中汲取教训,可以避免弯路,获取捷径。两个规模相似的系统,都是基于Linux系统的C++语言,并由有经验的程序员兼架构师所编写,
阅读本文

构建之法第六篇读后感

如何组队一起设计一款软件软件设计与实现,如果只在理论阶段讨论实践,就不知道距离实际的目标实现有多远。动手前将设计思路商量好,这会对我们有很大帮助,遇到的问题基本可以解决。构件是软件开发的基石,程序必然会有很多bug,设计软件要能够正视自己的错误,面对一些错误,要有信心解决,这样才能更好地完成一个软件的开发。
阅读本文

Linux输入子系统

1.概述  输入设备是典型的字符设备,一般工作机制是:底层在按键,触摸等动作发生时产生一个中断,然后cpu通过SPIIIC或者外部存储器总线读取键值,坐标等数据,放入一个缓冲区,字符设备驱动管理该缓冲区,而驱动的read接口让用户可以读取键值,坐标等数据。  Linux系统中,输入子系统由输入子系统设备驱动层,输入子系统核心层和输入子系统时间处理层组成。  - 设备驱动层:提供对硬件各寄存器的读
阅读本文

扎实个人技术,注重团队合作(构建之法读书笔记二)

对于1998年以前接触过PC的人来说,求伯君是一个传奇,他是软件个人英雄主义时代的代表之一。从1988年5月开始,求伯君为了编写WPS,将自己锁在了宾馆,和方便面结婚,引爆肝炎三次,每次住院一两个月,在医生的告诫中,他却将电脑放在病床前继续一个人战斗,就这样反复折腾,1989年9月的某天,国内第一款中文字处理软件WPS1.0终于问世。那时的微软还没有推出office。   那是一个个人英雄主义
阅读本文

《构建之法》读书笔记五

第11章:软件设计与实现 设计方法: 分析和设计方法:分析用户需求,根据用户的需求对软件进行设计 图形建模和分析方法:利用图形模型对软件进行分析。   日常管理: 我们在编程时,经常被一些“随机”出现的事情所打扰,最终能够编程的时间只有十分之二三。我们需要分配好我们的时间,使编程的时间尽可能的去增加 第十二章:用户体验 对于一个软件,我们应该站在用户的立场上去使用它,不能仅仅只做到能够运行,还
阅读本文

构架之美读后感5

软件架构不是一成不变的。需要时就改变它。要想做到可以修改,架构就必须保持简单。牺牲简单性的修改要抵制。 XP原则 -- YAGNI(如果你不是马上需要,就不需要去做) 延迟设计决定,知道你必须做出这些决定为止。不要在你还不知道需求的时候就做出架构决定。不要猜测。 必须保持架构品质。只有当开发者们相信它并对它负责时,才能做到这一点。 你的系统应该有一组不错的自动化测试,它们让你在进行根本的架构变更时
阅读本文

SpringMvc常用注解

1、@Controller用于标记一个类,即一个SpringMVC Controller对象,一个控制器类。Spring使用扫描机制查找应用程序中所有基于注解的控制器类。为了保证Spring能找到控制器,需要两件事:在SpringMVC的配置文件的头文件中引入spring-context.使用<context:component-scan/>元素,该元素的功能为:启动包扫描功能。例:<cont
阅读本文

我眼中的Linux设备树(Device tree)

概述 设 备树(Device tree)是一套用来描述硬件属相的规则。ARM Linux采用设备树机制源于2011年3月份Linux创始人Linus Torvalds发的一封邮件,在这封邮件中他提倡ARM平台应该参考其他平台如PowerPC的设备树机制描述硬件。因为在此之前,ARM平台还是采用 旧的机制,在kernel/arch/arm/plat-xxx目录和kernel/arch/a
阅读本文

Java基础与提高干货系列——Java反射机制

学习Java的同学注意了!!!  学习过程中遇到什么问题或者想获取学习资源的话,欢迎加入Java学习交流群,群号码:456544752  我们一起学Java! 前言 今天介绍下Java的反射机制,以前我们获取一个类的实例都是使用new一个实例出来。那样太low了,今天跟我一起来学习学习一种更加高大上的方式来实现。 正文 Java反射机制定义 Java反射机制
阅读本文

《构建之法》第五章读后感

团队团队的特点:1.团队有一致的集体目标,团队要一起完成这个目标。一个团队的成员不一定要同时工作。2.团队成员有各自的分工,互相依赖合作,共同完成任务。软件团队的模式:1.主治医师模式首席程序员“主刀”(负责处理主要模块的设计和编码),其他成员“为主刀医师服务”(从各种角度支持他的工作)。2.明星模式主治医生模式运用到极致,可以蜕化为明星模式。3.社区模式社区很多志愿者参与,每个人参与自己感
阅读本文

《构建之法》-6

假期即将结束,《构建之法》的阅读也即将告一段落,希望化成指导,帮助我实践。  下学期必为一场苦战,加油!  软件团队的所有相关人员都需要处理、了解需求信息,如果在处理的过程中有误解和遗失,就会导致开发过程中的问题,以致最终产品不能满足用户的需求。我们要给事物建造出一个“模型”,描述事物、事物的属性、事物之间的关系以及各个事物之间的信息传递。  操作越简单,当然用户体验的感觉越好做软件要思考我们
阅读本文

《构建执法》读书笔记五

软件团队的所有相关人员都需要处理、了解需求信息,如果在处理的过程中有误解和遗失,就会导致开发过程中的问题,以致最终产品不能满足用户的需求。我们要给事物建造出一个“模型”,描述事物、事物的属性、事物之间的关系(静态的)之间依赖一定的规则流动,用DED工具。上述图形建模方法各有特点,很不方便,统一的表达方式是UML。我们之前学的建模语言。       用户体验要素中从用户的角度考虑问题,需要有“同理心
阅读本文

读书笔记五

第十二章:用户体验    用户对产品的第一印象是非常重要的,所以要尽量让用户在第一次使用时,少花时间在对他没有价值的部分,并且尽量花最少的时间让用户了解软件的基本功能并学会使用。需要站在用户的角度考虑问题,要为用户考虑,思考用户的角度上使用软件他会希望这个软件的使用以及各功能之间连接,界面划分是怎样的。如果用户长期使用,这个软件时越来越让用户觉得便利还是麻烦。要一直记住用户的选择。不能让用户犯简单
阅读本文

《构建之法——现代软件工程》读书笔记之——需求分析

人们为了解决实际的问题,需要软件来解决人们的需求。人们的需求有很多,那么如何清晰的了解人们的需求,就显得十分的重要,所以会产生用户的需求分析。 如何了解用户的软件需求呢?1.获取和引导需求软件团队需要找到软件的利益相关者,了解和挖掘他们对软件的需求,引导他们表达出软件的需求。软件团队需要设身处地的为用户着想,引导出需求。2.分析和定义需求这是指对从各个方面获取的的需求进行规整,定义需求的内涵,从各
阅读本文

《大型网站技术架构:核心原理及案例分析》阅读笔记04

第四章:架构师  1.架构师领导艺术  2.网站架构师职场攻略    软件的开发就是为了解决现实问题,网站架构师需要解决开发过程中多方面的事情才能实现软件的设计。但是在工作的不断深入,我们会发现自己的能力其实远远不够,和高手还差的远。这就需要我们在工作中学习,不断提高自己的经验与技术。发现问题、寻找突破,提出问题、寻求支持,解决问题、达到绩效,经过不断的学习,自身的进步,我们的层次也会有所提升,最
阅读本文

第三次作业-四则运算软件

相同部分  2) 描述实现设计思路 使用rand函数随机生成四个数字和三个运算符号,并分别储存在两个数组中。 括号在算式中的位置情况有六种,随机选择其中的一种情况,引用计算结果函数。 在计算结果函数中用if条件语句分辨判断三个符号,若三个符号中没有除号,结合括号情况直接计算得结果;若有除号,写出分子和分母的表达式,再引用一个函数完成分数化简。 用户输入答案与程序计算结果相比较,完成输出。3. 你们
阅读本文

什么是UI设计?UI设计师和网页美工有什么区别?

什么是UI设计?UI设计师和网页美工有什么区别? 有时候我们经常会把美工和UI设计师会混淆,觉得UI设计的就是搞美工的,用ps或者ai随便做做就可以了。说实在的如果这么说还真的委屈了UI设计师。那么UI设计师和网页美工到底有什么区别呢?而明白区别的你该怎么提升自己的技术呢? UI设计师:UI其实是用户界面(User interface)的简称 ,而用户界面是指人和机器互动过程中的界面。
阅读本文

数据结构算法题-链表

1.输入一个链表的头结点,从尾到头反过来输出每个结点的值。链表结点定义如下:struct ListNode{      int       m_nKey;      ListNode* m_pNext;};分析:这是一道很有意思的面试题。该题以及它的变体经常出现在各大公司的面试、笔试题中。接下来的想法是从头到尾遍历链表,每经过一个结点的时候,把该结点放到一个栈中。当遍历完整个链表后,再从栈顶开始输
阅读本文

构建之法第三四五章读后感

一个优秀的软件工程师都需要和团队的合作,所以通过这几章的阅读,对自己的编程的规范等有了一定的认识,也学会了一个优秀的软件开发人员应当具备的素质。软件开发流程不光指团队的流程,还包括个人开发流程,因为软件团队是由个人组成的。在团队的大流程中,是每一个具体的在做,开发、测试、用户界面设计,管理、交流工作。因此,个人在团队中也有独立的流程。成为软件工程师所要具备的条件,分别是:1.积累软件开发相关知识,
阅读本文

读后感第一章

软件=程序+软件工程软件工程(软件企业=软件+商业模式)第一章中区别除了程序和工程的概念程序基于算法与数据结构之上,软件开发的安全性往往是极为重要的,数据的完整性,软件人员的规范会极大影响用户的体验。软件大致分为系统软件和应用软件,这就有了开发过程中的几点难题:复杂 易变 不可见 服从 非连续。而软件的更新目的就是添加新功能来满足用户体验。软将工程的核心部分:构建管理、源代码管理、软件设计、软件测
阅读本文