一.前面的话 在动笔之前,一直很纠结到底要不要继续完成这个工具,因为上次给它码代码还是一年多之前的事情,参考自己动手写工具----XSmartNote [Beta 2.0],这篇博文里,很多园友提出了宝贵的意见.最后决定吸收园友的建议把这个工具重构一下.首先给它换了个名 称,XSmartNote.因为各种自身的原因,并没有完成这个工具的基本功能,只是实现了基本的框架.最近有点时间就搞了一下,权当做打下基础.本来想用B/S结构来重新搞一下,毕竟园子里有很多大牛都是专注于ASP.NET MVC,但仔…
一.前面的话 在上一篇自己动手写工具----XSmartNote中,我简单介绍了这个小玩意儿的大致界面和要实现的功能,看了一下园子里的评论,评价褒贬不一,有人说“现在那么多云笔记的工具”,“极简版evernote”,我想说的是,别人的工具再好用,终究不是自己写的,其实写这个的目的,一方面是锻炼自己的技术能力,在coding的时候,或多或少会遇到一些问题,在解决这些问题的过程中,技术能力就会有所提升:另一方面,写这个东西还有自己个人原因,可以随时记录一些繁杂的知识点,通过给这些知识点打上标签,可以…
一.背景 有个朋友是在他们单位的市场部,手里的策划文案以及PPT,少则数百,多则上千,多年下来也是一笔不可小觑的财富,每一次新的策划都可以从以往的文案或PPT中“拿来主义”,有着很好的借鉴意义,但是这么多的材料,如果挨个翻看还不得累死.我们知道每个Word或者PPT打开至少要4秒钟(我的电脑是这样,配置不赖),那几百个下来什么也不用做了,时间都在打开这些材料中度过了.而记录这些东西,又不需要花费专门的精力,只要想记下来,copy,paste,加上标签便于检索就OK啦~于是这个小玩意儿就产生啦~\…
一.前面的话 上一篇中基本实现了简单的签到任务,但是不够灵活.在上一篇自己动手写工具----签到器的结尾中,我设想了几个新增功能来提高工具的灵活程度,下面把新增功能点列出来看看: (1)新增其他的进程任务: (2)任务按照进程进行分类:用IE就是执行IE的任务,与其他(如资源管理器等)无关: (3)每执行完一个任务关闭任务窗口: (4)对签到性质的任务进行”已签到“过滤: (5)实现执行的任务列表自定义: (6)另外实现任务的可视化: 还是先来看看效果图: 二.签到器的改进 在上一个版本中,(自…
一.写在前面 最近公司没有什么项目,想通过项目练练手的机会也没有,只能自己学习了,因此空下来的时间也挺多的,就打开网页看看吧,哎,一打开就让签到(像什么百度知道啊.百度云盘啊之类的),我签到的目的是获取积分,便于下载资料^_^,真是烦的很,要是有个工具能帮助我全自动处理该有多好,想着想着大概的思路就出来了,无非就是开启进程,传入参数,确定坐标,点击.OK啦啊哈哈~ 起来码砖了……好了,不闲聊了,干活,先上效果图.(我对win7的毛玻璃界面情有独钟……^_^)                   …
一.前面的话 在上一篇博文自己动手写工具----XSmartNote [Beta 3.0]中,用到了若干个自定义控件,其中包含用于显示Note内容的简单的Label扩展控件,用于展示标签内容的label扩展控件,还有包含自定义事件的含checkbox的控件.自定义控件的好处就是其灵活程度很高,不但可以扩展控件的外观,还可以扩展控件的事件,甚至从底层拦截Windows消息进行处理,这也是我喜欢自己写控件的原因.至于自定义控件的几种形式在这里就不说了,有兴趣的小伙伴可以百度一下,下面来看看这些控件的…
前言  最近在用Polymer封装纯数字的输入框,开发过程中发现不少坑,也有很多值得研究的地方.本系列打算分4篇来叙述这段可歌可泣的踩坑经历: <动手写个数字输入框1:input[type=number]的遗憾> <动手写个数字输入框2:起手式--拦截非法字符> <动手写个数字输入框3:痛点--输入法是个魔鬼> <动手写个数字输入框4:魔鬼在细节--打磨光标位置> HTML5带来的福利-input[type=number] <input id=&quo…
将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第11篇,我尽量每周四篇 第4章 第一条指令ori的实现 前面几章介绍了非常多预备知识,也描绘了即将要实现的OpenMIPS处理器的蓝图,各位读者是不是早已摩拳擦掌,迫切希望一展身手了,好吧,本章我们将实现OpenMIPS处理器的第一条指令ori,为什么选择这条指令作为我们实现的第一条指令呢?答案就两个字--简单.指令ori用来实现逻辑"或"运算,选择一条简单的指令有助于我们排除干扰.将注意力集中在流水线结构的实…
原文链接:[原创]NT系统信息察看工具 : NtInfoGuy 对于windows的内部,我们有太多的东西需要了解,认知.我们非凡的.从不知足的探求本性驱使我们要 拨开迷雾得见青天.太多的木马,病毒,Rootkit隐藏在系统中,这需要我们去侦查.洞悉.对于一些系统程序员来说,了解当前NT系统的内部状态,信息同样也是相当有用和重要的. 虽然目前有不少这样的小工具, 但是它们都只是涉及到系统信息的各个不同子集.在这样一个背景下非常有必要有一个可以查看NT系统完整状态信息的工具,于是NtInfoGuy…
学习编程也有一年半载了,从来没有自己动手写过东西,都是利用搜索软件找代码,最近偶发感慨,难道真的继续做码农??? 突发奇想是不是该自己动手写点东西,可是算法.逻辑思维都太弱了,只能copy网上的代码,所有就从简单的写起,以后会不定期的推出! 下面是我本周业余时间写的 ASP.NET 分页,以不同的方式去实现最终的结果,先给大家看效果图 1.这是最满意的一个分页功能(看图片是不是特别像博客园首页的分页),并且是异步实现: 2.这个是最开始写的一个分页,按钮用的是button (见笑了): 3.这个…
我们会继续上传新书<自己动手写处理器>(未公布).今天是第十条.我每星期试试4 从本章開始将一步一步地实现教学版OpenMIPS处理器.本章给出了教学版OpenMIPS的系统蓝图,首先介绍了系统的设计目标,当中具体说明了OpenMIPS处理器计划实现的5级流水线. 3.2节给出了OpenMIPS处理器的接口示意图,及各个接口的作用. 3.3节简单解释了各个源码文件的作用.最后描写叙述了OpenMIPS处理器的实现方法,读者将发现本书给出的实现方法与现有书籍的方法全然不同,更加易于理解.便于实践…
好久没有写博客了,今天闲下来将之前未完成的表达出来. 在之前的文章自己动手写spring容器(2)中完成了对spring的依赖注入的实现,这篇将会介绍spring基于注解的依赖注入的实现. 在一般的Java开发中,最常接触到的可能就是@Override和@SupressWarnings这两个注解了.使用@Override的时候只需要一个简单的声明即可.这种称为标记注解(marker annotation ),它的出现就代表了某种配置语义.而其它的注解是可以有自己的配置参数的.配置参数以名值对的方…
本篇是<自己动手写把"锁">系列技术铺垫的最后一个知识点.本篇主要讲解LockSupport工具类,它用来实现线程的挂起和唤醒. LockSupport是Java6引入的一个工具类,它简单灵活,应用广泛. 一.简单 俗话说,没有比较就没有伤害.这里咱们还是通过对比来介绍LockSupport的简单. 在没有LockSupport之前,线程的挂起和唤醒咱们都是通过Object的wait和notify/notifyAll方法实现. 写一段例子代码,线程A执行一段业务逻辑后调用w…
将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第五篇,我尽量每周四篇         通过上一章的介绍,读者应该知道CPU内部有一些主要的电路,比方:译码电路.运算电路.控制电路.此外另一些寄存器等.这些电路怎么实现呢?当然能够通过一大堆分立的元器件实现,实际上在2008年,美国加州的游戏开发人士Steve Chamberlin就自己制造了一款8位CPU,耗时18个月,花费1000美元,总共使用了1253条线缆,如图2-1所看到的,Steve Chamberlin为它起了一个十…
本篇是<自己动手写把"锁">系列技术铺垫的最后一个知识点.本篇主要讲解LockSupport工具类,它用来实现线程的挂起和唤醒. LockSupport是Java6引入的一个工具类,它简单灵活,应用广泛. 一.简单 俗话说,没有比较就没有伤害.这里咱们还是通过对比来介绍LockSupport的简单. 在没有LockSupport之前,线程的挂起和唤醒咱们都是通过Object的wait和notify/notifyAll方法实现. 写一段例子代码,线程A执行一段业务逻辑后调用w…
将陆续上传本人写的新书<自己动手写处理器>(尚未出版),今天是第六篇.我尽量每周四篇 2.3 Verilog HDL简单介绍 本书实现的OpenMIPS处理器是使用Verilog HDL编写的,所以本章接下来的几节将介绍Verilog HDL的一些基本知识.包含语法.结构等.由于本书并非一本讲授Verilog HDL的专门书籍,所以此处介绍的内容并非Verilog HDL的所有,仅仅是一些基础知识.以及在OpenMIPS处理器实现过程中会使用到的知识. 读者假设对Verilog HDL有进一步…
将陆续上传本人写的新书<自己动手写CPU>(尚未出版).今天是第13篇.我尽量每周四篇 4.4 MIPS编译环境的建立 OpenMIPS处理器在设计的时候就计划与MIPS32指令集架构兼容,所以能够使用MIPS32架构下已有的GNU开发工具链.本节将说明怎样安装使用GNU开发工具链以及怎样制作Makefile文件.从而以更加方便.快捷.自己主动的方式对測试程序进行编译.并得到指令存储器ROM的初始化文件inst_rom.data. 4.4.1 VisualBox的安装与设置 GNU工具链要安装…
Spark是主流的大数据处理框架,具体有啥能耐,相信不需要多说.我们开门见山,直接动手写大数据界的HelloWorld:WordCount. 先上完整代码,看看咋样能入门. import org.apache.spark.SparkConf import org.apache.spark.SparkContext object WordCount { def main(args: Array[String]) { val conf = new SparkConf() conf.setAppNam…
自己动手写reg注册表文件 2015-01-12 20:23 1161人阅读 评论(1) 收藏 举报  分类: 玩转Windows应用层编程(12)  版权声明:本文为博主原创文章,未经博主允许不得转载. REG文件实际上是一种注册表脚本文件,双击REG文件即可将其中的数据导入到注册表中.通过约定的格式,我们可以利用REG文件直接对注册表进行任何修改操作,而且它对注册表的操作可以不受Regedit.exe被禁用的限制,因此功能更为强大.灵活:此外,由于REG文件可以用任何文本编辑器/(如记事本/…
欢迎关注我的公众号"彤哥读源码",查看更多源码系列文章, 与彤哥一起畅游源码的海洋. (手机横屏看源码更方便) 问题 (1)自己动手写一个线程池需要考虑哪些因素? (2)自己动手写的线程池如何测试? 简介 线程池是Java并发编程中经常使用到的技术,那么自己如何动手写一个线程池呢?本文彤哥将手把手带你写一个可用的线程池. 属性分析 线程池,顾名思义它首先是一个"池",这个池里面放的是线程,线程是用来执行任务的. 首先,线程池中的线程应该是有类别的,有的是核心线程,有…
(手机横屏看源码更方便) 问题 (1)自己动手写的线程池如何支持带返回值的任务呢? (2)如果任务执行的过程中抛出异常了该怎么处理呢? 简介 上一章我们自己动手写了一个线程池,但是它是不支持带返回值的任务的,那么,我们自己能否实现呢?必须可以,今天我们就一起来实现带返回值任务的线程池. 前情回顾 首先,让我们先回顾一下上一章写的线程池: (1)它包含四个要素:核心线程数.最大线程数.任务队列.拒绝策略: (2)它具有执行无返回值任务的能力: (3)它无法处理有返回值的任务: (4)它无法处理任务…
动手写一个简单的Web框架(Werkzeug路由问题) 继承上一篇博客,实现了HelloWorld,但是这并不是一个Web框架,只是自己手写的一个程序,别人是无法通过自己定义路由和返回文本,来使用的,所以在这篇博客中,将实现一个简单的路由自定义功能 首先引入werkzeug中的两个工具,分别是Map,和Rule,需要通过以下代码引入 from werkzeug.routing import Map, Rule 这两个可以完成路由定义和匹配的基本实现,其次,还引入到werkzeug中的Reques…
60行自己动手写LockSupport是什么体验? 前言 在JDK当中给我们提供的各种并发工具当中,比如ReentrantLock等等工具的内部实现,经常会使用到一个工具,这个工具就是LockSupport.LockSupport给我们提供了一个非常强大的功能,它是线程阻塞最基本的元语,他可以将一个线程阻塞也可以将一个线程唤醒,因此经常在并发的场景下进行使用. LockSupport实现原理 在了解LockSupport实现原理之前我们先用一个案例来了解一下LockSupport的功能! imp…
自己动手写ls命令--Java版 介绍 在前面的文章Linux命令系列之ls--原来最简单的ls这么复杂当中,我们仔细的介绍了关于ls命令的使用和输出结果,在本篇文章当中我们用Java代码自己实现ls命令,更加深入的了解ls命令. 代码实现 文件操作的基本原理 如果我们使用Java实现一个简单的ls命令其实并不难,因为Java已经给我们提供了一些比较方便和文件系统相关的api了,困难的是理解api是在做什么事儿! 事实上这些api都是操作系统给我们提供的,然后Java进行了一些列的封装,将这些操…
之前看到奋斗前辈和时不我待前辈的自己动手写ORM系列博客,感觉讲解的通俗易懂,清晰透彻.作为一个菜鸟,闲来也想着自己写一个ORM,一来加深自己对 ORM的理解,以求对EF,NHibernate等ROM框架的使用能更加轻车熟路.二来也可在写ORM之时熟悉反射的应用场景,反射的优缺点,优化方 法,Lambda表达式,表达式树等.,对自己也是一个不错的锻炼. ORM的原理也就表映射,反射,拼接sql,缓存,Lambda进行方法调用.网上有很多源码参考和原理讲解,对着敲一敲完成一个简易的ORM并不是什么…
序言 本章作为自己动手写插件的第一篇文章,会尽可能的详细描述一些实现的方式和预备知识的讲解,随着知识点积累的一点点深入,可能到了后期讲解也会有所跳跃.所以,希望知识点不是很扎实的读者或者是初学者,不要跳读.因为在这里即使是你已经掌握的知识,重新的阅读也会使你的记忆更加的深刻.还有作者才疏学浅,如果有什么地方讲解错的话,希望各位能够斧正.另外,博主近期发现有某些人未经本人的允许,私自引用本人的文章.更离谱的是还没有标注署名和来源,在此,特此声明,本系列教程为博主与[博客园]共同所有,如需引用请注明…
Python - 动手写个ORM 任务: 模拟简单的ORM - Object Relational Mapping 为model添加create方法 代码很简单,直接上 字段类型类 class Field(object): """docstring for Field""" def __init__(self, field_type, default, max_length, * arg): super().__init__() self.def…
自序 编译原理与技术的一整套理论在整个计算机科学领域占有相当重要的地位,学习它对程序设计人员有很大的帮助.我们考究历史会发现那些人人称颂的程序设 计大师都是编译领域的高手,像写出BASIC语言的BILL GATES,SUN的JAVA之父等等,在编译上都有很深的造诣.曾经在世界首富宝座上稳坐多年的比尔.盖茨也就是从给微机编写Basic语言编译器起家 的,也正是这个BASIC编译器为比尔·盖茨和保罗·艾伦的微软帝国奠定了基础.正是这个编写Basic语言编译器的经历,开启盖茨的辉煌职业生涯. 编译器是…
将陆续上传新书<自己动手写CPU>,今天是第47篇. 9.7 ll.sc指令实现思路 9.7.1 实现思路 这2条指令都涉及到訪问链接状态位LLbit,能够将LLbit当做寄存器处理,ll指令须要写该寄存器,sc指令须要读该寄存器.同一时候,与对通用寄存器的訪问一样,对LLbit寄存器的写操作也放在回写阶段进行. ll指令在訪存阶段要读取数据存储器中指定地址的数据.还要设置对LLbit寄存器的写操作,写入的值为1,这个写操作会通过MEM/WB模块传递到回写阶段,终于实现对LLbit寄存器的写.…
将陆续上传本人写的新书<自己动手写CPU>.今天是第30篇.我尽量每周四篇 亚马逊的销售地址例如以下.欢迎大家围观呵! http://www.amazon.cn/dp/b00mqkrlg8/ref=cm_sw_r_si_dp_5kq8tb1gyhja4 China-pub的销售地址例如以下: http://product.china-pub.com/3804025 北发的销售地址例如以下: http://book.beifabook.com/Product/BookDetail.aspx?Pl…