摘要:
这学期Web程序设计的课程设计是班级站点,使用的是ASP.NET,所以我决定使用ASP.NET MVC来完成这个题目。 先是完成了一个小小的东西--注册界面: 要做到这样的页面其实非常简单,只要一个fieldset就行,关键是警告消息也就是验证这里。 MVC为数据注解提供了很多便利,要做到上面的效果,只要在model中相关的属性字段添加数据注解就行: public class User { [HiddenInput(DisplayValue = false)] public int UserID { get; set; } [Required... 阅读全文
摘要:
在任何框架中,对于数据库的使用都是一个重点,因为我们使用的数据大部分都是存储在数据库中。ASP.NET MVC对数据库提供了非常好的支持,尤其是当我们在开发中,可以使用实体框架(Entity Framework)进行代码优先(Code-First)的开发工作。 所谓的代码优先,需要和模型优先或数据库优先一起讨论。简单点讲,模型优先就是我们必须先设计model,然后通过模型生成数据库的结构,数据库优先就是我们在已有的数据库上设计model。这样的理解是很粗鄙的,但有关数据库的讨论需要很深厚的基础知识作为储备,鉴于本人的水平,这里不便展开。代码优先是MVC"约定优于配置"的表现 阅读全文
摘要:
最近开始在某个项目中实习,充分认识到了自己的不足,包括能力和性格等各种方面的缺陷。如何快速掌握开发环境,如何与其他程序员沟通交流,如何准确知道分配给自己的模块具体实现的功能等等,都是大问题,更重要的是,自己不能仅仅只是写代码而已,还要清楚自己的代码的应用环境,别人是怎样用的,自己应该提供哪些接口。这就属于扩展性的问题,不是一个新手能够马上明白的,但却是我们是否能够“脱农”的关键。废话不多说,本文讲诉的是我在项目中使用到的新知识---android数据库的操作。以前并没有任何关于android数据库的开发经历,所有的东西都是现学现用,所以特意总结一下。 如果想要在android中使用数据库,使. 阅读全文
摘要:
做音乐播放器,有时会要求EQ均衡器,但android默认的样式是水平的,这时就需要费点心思了。 先是实现默认SeekBar样式的EQ均衡器: 这是4.0以上默认样式的SeekBar,2.3或以下就像是进度条一样。 要实现这样的效果,其实并不难,先贴上源码:public class MainActivity extends Activity { private MediaPlayer mMediaPlayer; private Equalizer mEqualizer; private LinearLayout mLayout; @Override public... 阅读全文
摘要:
刚踏进编程的大门,就已经知道两道菜鸟很难逾越的大门:算法和设计模式。算法得看是哪个领域,用于解决什么样的问题,越是复杂的问题,算法自然就会越复杂。至于设计模式,道理很浅显,因为它们是编程领域中智慧和经验的结晶,而程序员的天性就是想要更加简单的解决问题。可惜的是,这种经验并不是菜鸟一开始就能学习到的,就像是RPG游戏中的神级装备,角色本身也必须具有一定的等级和能力才能使用。但所有大的东西都是从小的方面积累起来,多思考,多尝试,练怪练多了,等级自然就会上去了。 观察者模式的出发意图很简单:定义对象间的一对多依赖,这样当一个对象的改变状态时,它的所有依赖者都会收到通知并自动更新。 依赖是面向对象编. 阅读全文
摘要:
最近在做一款android手机上的音乐播放器,学习到了很多东西,像是Fragment,ActionBar的使用等等,这里就先介绍一下歌词同步的实现问题。 歌词同步的实现思路很简单:获取歌词文件LRC中的时间和歌词内容,然后在指定的时间内播放相应的内容。获取不难,难就在于如何在手机屏幕上实现歌词的滚动。 先上效果图: 先从最基本的读取歌词文件开始:public class LrcHandle { private List<String> mWords = new ArrayList<String>(); private List<Integer> mTimeL 阅读全文
摘要:
五一前后一直在忙安卓的东西,直到现在终于有机会喘口气了,于是就抽空写了这篇博文,来记录我之前学习MVC一周后所写的小例子:搜索淘宝商品并对商品进行价格筛选。 先上开始界面: 这个界面的源码如下:@{ ViewBag.Title = "主页";} <script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script> <script src="@Url.Con 阅读全文
摘要:
排序算法是最常见的笔试题目,几乎所有的笔试和面试都会考到,因为它体现的就是程序员的算法基础。可惜的是,作为一名菜鸟,而且还是即将面临毕业的大三菜鸟,这方面的修养还真是不足,所以,在这里整理一下自己收集到的排序基础知识,以备需要的时候可以查阅。 先介绍插入排序。1.直接插入排序 直接插入排序(straight insertion sort)的原理是这样的过程: 每次从无序表中取出第一个元素,把它插入到有序表的合适位置,使有序表仍然有序。实际的过程像是这样: 对于序列:46 58 15 45 第一次:[46] 58 15 45 第二次:[46 58] 15 45 第三次:[15 46 58] 4. 阅读全文
摘要:
在面试java工程师的时候,这道题经常被问到,故需特别注意。 Java中的所有类,都需要由类加载器装载到JVM中才能运行。类加载器本身也是一个类,而它的工作就是把class文件从硬盘读取到内存中。在写程序的时候,我们几乎不需要关心类的加载,因为这些都是隐式装载的,除非我们有特殊的用法,像是反射,就需要显式的加载所需要的类。 Java类的加载是动态的,它并不会一次性将所有类全部加载后再运行,而是保证程序运行的基础类(像是基类)完全加载到jvm中,至于其他类,则在需要的时候才加载。这当然就是为了节省内存开销。Java的类加载器有三个,对应Java的三种类: Bootstrap Loader //. 阅读全文
摘要:
已经大三了,开始为明年的工作而奔波,这里收集一些面试和笔试的题目。下面是jsp的一些基础知识。 jsp(Java Server Pages)是在传统的网页HTML文件中插入java程序段和jsp标记,从而形成jsp文件,类似于ASP。用jsp开发的web应用的好处就和java一样,是跨平台的。jsp的特点就是所有的操作都是在服务器端执行,客户端得到的仅仅是结果,这样就能大大降低了对客户浏览器的要求,即使客户浏览器不支持java,也可以访问jsp网页。 介绍完jsp后,接下来就是一些常见的jsp面试和笔试题目。1.jsp:include,jsp:forward两种跳转方式分别是什么?有什么区别. 阅读全文