代码改变世界

操作系统这门课的学习中得到的思想启发

2010-12-14 23:17 by Aga.J, 768 阅读, 0 推荐, 收藏, 编辑
摘要:1 抽象:是管理复杂性的一个关键,好的抽象可以将任务分为两个可管理的部分: 1 有关抽象的定义和实现 2 随时用这些抽象解决问题 (这与程序设计中的“抽象”概念类似,使得对象的实现和接口分离) 2 如果某个事物的创建和撤销的代价过大,而且经常需要执行这类的操作,那么可以使用“标识为不可用”的方法来实现 3 进程调度算法:First Come First Serve , Shortest Job First , Shortest Remaining Time First , Round Robin 4 封装:没有存储器抽象的时候,直接访问物理内存,造成对物理内存依赖性大,对物理内存的操作细节需要 阅读全文

软件架构实践(Software Architecture in Practics)学习笔记

2010-12-04 22:47 by Aga.J, 1215 阅读, 0 推荐, 收藏, 编辑
摘要:1 多个开源产品可以拿来分析其架构,如eclipse,万维网,2 需求并不能决定架构,架构是一种高层设计,最重要的是,架构的设计受到很多方面的影响,这些带来影响的因素(技术,商业,社会,涉众的需求,开发组织的结构或者本质—例如开发组织的商业目标和技术特点等,设计师的经验水平,等)也是我们进行架构设计时需要考虑的,同时也可以帮助我们很好的分析一个(商业产品的)架构。要注意到,完成一个架构的设计会带给前面所提到的因素一定的反馈,得到一定的收获。3 架构商业周期Architecture Business Cycle:软件架构是技术,商业和社会等诸多因素作用的结果,而软件架构的存在又反过来会影响技术, 阅读全文

通过Flick手势来旋转3D模型的windows phone应用

2010-11-22 19:36 by Aga.J, 1744 阅读, 0 推荐, 收藏, 编辑
摘要:前面一篇文章中(Windows phone 手势,鼠标-学习笔记 )介绍了windows phone内和手势有关的API信息,目的就是为了完成这篇文章的旋转3D模型。在这里我把在3D模型的实例化过程中的视角矩阵和投影矩阵等封装到一个叫相机camera的类中,这个类很简单class Camera { Matrix view; Matrix projection; public Camera() { } public void initializeCamera( GraphicsDeviceManager graphics) { view = Matrix.CreateLookAt(new Ve. 阅读全文

3D物体拾取及XNA实现(转)

2010-11-21 23:37 by Aga.J, 869 阅读, 0 推荐, 收藏, 编辑
摘要:最近在做到和3D模型的拾取有关的东西,找到了这篇不错的文章,加上自己的修改,基本解决了鼠标点击3D模型获取3D模型的坐标点的问题。所以转过来记录下。拾取原理拾取主要用来表示能过鼠标在屏幕上单击来选中某个3D模型,然后就可以获取这个模型信息,同时也可以对这个模型进行编辑。 拾取算法的主要思想是:得到鼠标点击处的屏幕坐标,通过投影矩阵和观察矩阵把该坐标转换为通过视点和鼠标点击点的一条射入场景的光线,该光线如果与场景模型的三角形相交,则获取该相交三角形的信息。 拾取的具体过程如下: 1.使用获取鼠标当前状态。 2.把屏幕坐标转换为屏幕空间坐标。 屏幕中心是(0, 0),屏幕右下角是 (1*(屏幕宽. 阅读全文

Windows phone 手势,鼠标-学习笔记

2010-11-13 19:29 by Aga.J, 1712 阅读, 2 推荐, 收藏, 编辑
摘要:1 首先是最原始的鼠标2维位置获取 Mouse.GetState(); 返回原始的触摸位置信息,当然这里的触摸指的是MouseState.LeftButton在被按下的状态,获取到的值会放在MouseState.X和MouseState .Y中,注意到这个函数获取的只是单一的触摸点击信息,要同时获取多个不同点击点的信息(也就是多点触控的操作),要使用TouchPanel.GetState(这个后面会说到) 代码例子MouseState ms=Mouse.GetState();If(canDrop && ms.LeftButton == ButtonState.Pressed) 阅读全文

这是一篇说给自己听的文章,吹我多牛

2010-11-04 22:30 by Aga.J, 346 阅读, 0 推荐, 收藏, 编辑
摘要:先不从大一开始吧,没时间,以后有空再吹。 2010.11.4 今天去上操作系统的实验课,在Linux上编写一个shell程序,实验前完全不知道是什么,到那里后,我看了看实验要求,很快就对整个实验怎么做有了方法,其他同学都在困惑,问啊问,怎么做啊,都没有实验步骤,我已经写好了代码,找老师过来看,老师说很好,那时候估计就我一个人写好代码,最后很快的我运行成功了,实验的第一部分结束,其他同学还在问老师问他,这个参数是怎么传进去的啊?等等。其实每次做实验(就算是电子电路那种动手的实验)(上次编译原理的实验也是)我都会第一个完成,不知道为什么,只要看了一点实验要求的内容,很快完全不懂的东西就变得懂了。. 阅读全文

Windows Phone XNA api学习笔记

2010-11-04 16:39 by Aga.J, 474 阅读, 0 推荐, 收藏, 编辑
摘要:相关的背景知识就不说了,比如使用XNA开发的整个流程是怎样? Update函数里面放的主要是什么等等,这篇笔记还是放点和api有关的东西,方便近期开发的使用。一 Vector2 XNA使用相同的Vector2结构来保存2维的坐标系中的点和2维向量(这不同于使用Point来保存点),所以对向量和点的操作都可以直接使用Vector2类型的变量来完成。DistanceSquare() //返回向量(x,... 阅读全文

<转>java实现MP3解码器和迷你播放器

2010-10-11 21:39 by Aga.J, 2019 阅读, 0 推荐, 收藏, 编辑
摘要:最近因需要mp3解码的资料,从师兄那得到了下面这篇很好的文章,最后的迷你播放器在配置上会出现小bug,聪明的同学自己解决咯,哈哈 原文链接:http://lfp001.javaeye.com/blog/739585(一)用JAVA编写MP3解码器——前言文章分类:Java编程 【内容提要】 《用JAVA编写MP3解码器》系列文章将对JAVA实现MP3解码的技术细节作介绍,本着开源的精神,文中给出完整的MPEG 1.0/2.0/2.5 Audio Layer I/II/III 解码的JAVA源代码。在哈夫曼解码、逆量化和重排序、多相合成滤波等模块中采用了卓有成效方法来提高程序运行效率;采用了I. 阅读全文

开学已经6个星期了。。。

2010-10-09 00:01 by Aga.J, 308 阅读, 0 推荐, 收藏, 编辑
摘要:大三开学已经6个星期了,这六个星期除了完成学生研究计划的一些任务和修改修改一个程序的代码结构外,基本没干什么大事,大三的课都是专业课,不知道为什么,我也开始认真的学起来了,或许是觉得专业课需要学得扎实点,不可以像以前那样学习了,最后才来抱佛脚(但是成绩还挺不错。。)但是这样就浪费了很多时间,没办法学习别的专业知识或者进行一些什么开发。 太久没动手打打代码觉得好有罪恶感,一直都在进行着其他能力的培养,例如IT项目管理,而IT项目管理的老师说:“别死抱着技术不放”,更是迷惑了我的心,哈哈。 项目开发有时候已经不是以前那样单纯的写代码了,有时候根本就写不了代码,因为没找到解决问题的方法,好想写。。. 阅读全文

看着这个实例,一起来学重构吧!

2010-08-17 18:54 by Aga.J, 2136 阅读, 1 推荐, 收藏, 编辑
摘要:浏览jake的blog时看到这样一篇文章30 Days of .NET [Windows Mobile Applications] - Day 01: Minutes to Midnight Countdown(午夜倒数器),题目非常吸引人,我点了进去,看到原来这是jake翻译一个叫Chris Craft的人的系列文章,看完了jake这篇文章后,我也去了Chris Craft的blog看了这篇原文,下载了源代码,代码很简单,就一个timer_Tick的函数把所有程序逻辑都搞清楚了,就是计算我们离今天的结束还有多少小时,多少分钟,多少秒,然后一个一个的列举在form上。下面就是timer_Ti. 阅读全文