自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (3)
  • 收藏
  • 关注

原创 命令行下获取和更新 Android SDK

列出可选的包android list sdk --extended安装指定的包android update sdk -t build-tools-23.0.3

2016-05-16 20:08:52 606

原创 在Ubuntu下基于QEMU运行XINU OS x86系统

标题有点绕, 其实主要是记录一下这两天折腾的一个结果, 主角是 XINU, 一个比较短小精悍的操作系统, 重点是, 这个操作系统是完整的, 可以在一些平台(包括x86虚拟机)上实际跑起来的一个操作系统, 具体可以看给的链接, 作者是 Douglas Comer, 也就是 TCP/IP网络互联技术 那套书的作者, XINU本身也对应有一本书, 写得很不错, 现在出到第2版了

2015-12-31 21:51:05 2673 2

原创 SSH 免密码登陆的简单办法

直接搜索 "ssh 免密码" 出来的大多是手动添加 .ssh/authorized_keys 的方法,有点繁琐,记得之前看到过简单的一个命令,在这里记下来ssh-copy-id -i ~/.ssh/id_rsa.pub ‘-p PORT username@host’

2015-03-23 16:19:04 492

原创 Mac 下常用的一些快捷健

Terminal.appIntelliJ:command + F12, jump to method

2014-07-24 12:23:57 1554

原创 Ubuntu 12.04 最小安装 gnome fallback 桌面及中文环境

sudo apt-get install --no-install-recommends gnome-session-fallback

2014-04-16 11:59:09 2275

原创 Ubuntu 远程共享当前桌面

/usr/bin/x11vnc -forever -rfbport 5900 -rfbauth ~/.vnc/x11vnc.pa -o ~/.vnc/x11vnc.log -shared -geometry 1360x768 -display :0

2013-11-27 11:18:57 4358

原创 Ubuntu & GNOME 2 下 gvim 右键菜单的定制

Ubuntu 10.04 & GNOME 2.30默认的 gvim 右键行为是一个文件对应一个 gvim 实例,而我习惯的是新开一个 tab所以需要修改菜单的配置文件: /usr/share/applications/gvim.desktop将其中 Exec=... 改为 Exec=gvim -p --remote-tab-silent %F 即可

2012-03-13 10:44:14 1285

原创 Git 技巧记录

一些 Git 命令的备忘git merge --squash    "squash" merge 某分支git reset HEAD^ orgit reset HEAD~1        撤销最后一次提交。git reset --hard HEAD^  撤销最后一次提交并清除本地修改。git reset SHA1          回到SHA1对应的提交状态

2011-09-27 12:32:35 462

原创 About Intellisense in VC++ 10

<br />(微软 VC++ 小组关于 c++ parser 对 intellisense 支持的一些讨论, 比较有意思)<br /> Rebuilding Intellisense<br />Our first design decision involved both accuracy and scalability. We needed to decouple the Intellisense operations that require precise compilation inform

2011-05-13 12:25:00 949

原创 "Designing Qt-Style C++ APIs" 笔记

<br />(一直有听说, Qt 的 API 设计很出色, 这篇文章以前看过, 最近试着用 Qt 做开发, 所以再看一遍)<br /><br />An API is to the programmer what a GUI is to the end-user. The 'P' in API stands for "Programmer", not "Program", to highlight the fact that APIs are used by programmers, who are

2011-02-24 16:17:00 659

原创 关于 c++ 很精辟的一段评论

<br />"You seem to glance of the fact there is no alternative. C++ has it’s flaws but no one is better at what it does. The most interesting software needs to have good performance: search engines, video games, dsp, artificial intelligence, etc. Y

2011-02-16 13:24:00 693

原创 "Essential WPF - Chapter 8 Styles" 阅读笔记

<br />Chapter 8 Styles<br /> <br />8.3 Using Styles for Good, Not Evil<br /> <br />8.3.1 Build Themes, Not Styles<br /> <br />Consequently, generally the best practice is to think of a theme as a “thing” rather than just a collection of styles at the root

2011-02-10 15:26:00 491

原创 "Essential WPF - Chapter 7 Actions" 阅读笔记

<br />Chapter 7 Actions<br /> <br />Up to now we have focused on the output side of the platform, looking at how an application is built up from controls that use visuals to display and layout to position everything.<br /> <br />Now we can start to look at

2011-01-21 13:10:00 683

原创 "Essential WPF - Chapter 6 Data" 阅读笔记

<br />Chapter 6 Data<br /> <br />在 WPF 中, 数据绑定是一个核心的概念.<br /> <br />6.1 Data Principles<br /> <br />Most applications are built to display or create some type of data.<br /> <br />6.1.1 The .NET Data Model<br /> <br />A data model describes the contract be

2011-01-20 09:41:00 536

原创 "Essential WPF - Chapter 5 Visuals" 阅读笔记

<br />(WPF 设计师讲述 WPF 框架设计思路的书, 非常不错. 之前看了一半, 一直想要看完, 刚好最近有项目界面决定采用 WPF, 捡起这本书, 继续学习)<br /> <br />Chapter 5 Visuals<br /> <br />WPF 是个界面框架, 而界面, 是通过图形描绘出来的. <br />因此, 这一章讲的是 WPF 图形绘制机制, 同时也是上层界面搭建的基础.<br /> <br />5.1 2D Graphics<br /> <br />WPF 的 2D 图形绘制分为

2011-01-14 16:27:00 579

原创 一个简单的 .Net Vim 引擎 LibNVim 开发记录 (三)

<br />几个问题:<br />Edition 对 Motion 类型的依赖通过接口来识别是否多此一举?<br />'f' 类的移动与 'j', 'w' 的移动是否需要区分开来?<br /> <br />状态机越来越复杂, 怎么维护?<br />尽量用 if { } else if { } else { } 结构, 提供清晰的逻辑划分, 当然, 层数多了, 阅读与查找会不方便,  需要权量一下(这个时候, LibNVim 体现了它的价值 ;)<br /> <br />项目改名<br /> 还是尊重人家的命

2011-01-10 17:49:00 599

原创 一个简单的 .Net Vim 引擎 LibNVim 开发记录 (二)

<br />之前介绍了开发的起因, 目标, 下面将转入实际的设计过程.<br /> <br />初始架构<br /> <br />设计一个可移植的插件引擎, 有一个思路比较好:<br />预先定义一个抽象的目标环境(IVimHost), 这个环境中包含了一组行为明确的操作接口(即 API).<br />引擎通过访问这些接口与外界环境交互, 从而避免对某个具体环境的依赖.<br /> <br />LibNVim 的整体架构, 即是按照这个原则组织.<br /> <br />模块划分<br /> <br />程

2011-01-06 15:41:00 843

原创 一个简单的 .Net Vim 引擎 LibNVim 开发记录 (一)

<br />(代码地址: https://github.com/joycode/LibNVim )<br /> <br />动力来自 VsVim, 原因有: <br />1) 一些常用功能没有实现或者并不好用(Ver.0.93) <br />2) 对设计有一些自己的想法 <br />3) VS 2010 基于 MEF 的插件系统为开发新的插件提供了很大的便利(顺便了解下 MEF) <br />4) 最后, 也最重要的是, 可以参考 VsVim 中与 VS 交互的代码部分, 否则, 我自己恐怕没有

2010-12-30 15:14:00 984

原创 "The Design and Evolution of C++" 阅读笔记

<br />周末无事, 想找本有意思的书看, 想起这本, 于是躺在床上翻了起来.<br /> <br />这类讲历史的书, 一向都比较有意思, 尤其是这种当事人亲自来讲述的, 一来可以了解很多东西的来龙去脉, 二来么, 八卦也比较多.<br /> <br />Bjarne 是个很会写文章的人, 大道理一通一通(非贬义 ;), 之前看他的 "TCPL" 就有这感觉. 看过这本自述史兼介绍 C++ 设计过程的书后才知道, 原来是位民间哲学爱好者.<br /> <br />C++ 现在挺不受人待见, 好像是个人都

2010-12-27 11:24:00 3049

原创 "Scalable Multithreaded Programming with Thread Pools" 阅读笔记

<br />(MSDN Magzine 上的文章)<br /> <br />"There are many different ways to distribute your work across multiple cores. One of the easiest and most robust is called task-based programming."<br />"To achieve this state of multicore bliss, you’ll have to r

2010-12-23 15:28:00 660

原创 "The Trouble with Checked Exceptions A Conversation with Anders Hejlsberg, Part II" 阅读笔记

<br />(Anders artima 访谈系列的第二部分)<br /> <br /> "Do the simplest thing possible, but no simpler."<br />最近在规划一些小东西, 发现自己常常无意识的犯下过度设计的错误, 幸好看到这句话, 让我幡然醒悟.<br /> <br />"I'm a strong believer in being minimalistic."<br />这个系列, 七七八八看差不多了, 从中可以看出, Anders 对于 .Ne

2010-12-22 15:34:00 509

原创 Reddit 上关于 Azul's Pauseless Garbage Collector 的讨论

<br />(artima 原文, reddit 上的讨论)<br /> <br />托管环境日益流行, 作为托管中重要环节的 GC, 对性能有比较大的影响, 所以对 GC 机制的一定了解, 还是有必要的.<br /> 原文讨论了他们公司实现 Pauseless GC 的思路, 在 reddit 的讨论中也有一些很精彩的评论, 在此摘抄部分.<br /> <br />rayiner@reddit<br />"There is no such thing as "pauseless" memory

2010-12-21 10:50:00 831

原创 "Contracts and Interoperability A Conversation with Anders Hejlsberg, Part V" 阅读笔记

<br />(Anders artima 访谈系列, 这是第 5 部分)<br /> <br />关于 DLL Hell<br />"The absolute answer, the only way guaranteed to not break anything, is to change nothing."<br />因此 "Versioning is all about relaxing the rules in the right way and introducing leeway.

2010-12-20 10:47:00 495

原创 "My History of Visual Studio" 阅读笔记

<br />(题外话: 比较有意思的系列文章, 回忆了 Visual Studio 的发展历程, 从远古的 DOS 年代, 及 VC 1.0 开始)<br /> <br />My History of Visual Studio (Part 1)<br /><br /><br />"C++ is like that, a lot of things seem easy until you combine them with other things and then they get hard."<br

2010-12-15 13:51:00 420

原创 维护系统旧代码有感

<br />两个成语可以描述我的心情: 战战兢兢, 如履薄冰.<br /> <br />修改前需要反复阅读原有代码, 揣摩程序逻辑.<br />然后想个聪明的, 一致的, 尽可能只造成局部影响的方式给代码打上补丁.<br />之后还需要对补丁影响到的所有代码代码做详尽测试.<br /> <br />尽管如此, 因为缺乏单元测试, 原有代码逻辑复杂, 牵扯东西多, 且代码不够美观(尽管是之前自己写的, 囧oz). <br />所以改完之后还是惴惴不安, 唯恐漏掉什么, 或无意中引入什么.<br /> <br

2010-12-14 14:28:00 560

原创 JDBC 插入时, 取得插入的主键的返回值

<br />(参考了这篇文章)<br /> <br />数据库是 SQL Server 2000<br /> <br />作为数据库菜鸟, 为这个问题头疼了很久, 今天终于痛下决心解决掉, 爬文后得到解决方案, 心中暗爽.<br /> <br />"SQLServer:<br />INSERT INTO tableName (fieldList ...) values (valueList ...) SELECT @@IDENTITY AS aliasName;<br />这一句相当于执行查询操

2010-12-10 16:52:00 2803

原创 Building on Quicksand - Pat Helland, Dave Campbell 阅读笔记

<br />ABSTRACT<br /> <br />"Reliable systems have always been built out of unreliable components"<br /> <br />"There are two implications of asynchronous state capture:<br />1) Everything promised by the primary is probabilistic.<br />2) Applications must

2010-12-09 17:47:00 646

原创 Anders Hejlsberg 比较 C# Generic 与 C++ 的不同

<br />"To me the best way to understand the distinction between C# generics and C++ templates is this: C# generics are really just like classes, except they have a type parameter. C++ templates are really just like macros, except they look like classes

2010-12-08 17:24:00 467

原创 SOA 与分布式

<br />最近读了一些关于分布式的文章, 感觉 SOA 的难点不在于采用什么样的技术, 而在于如何设计一个协作的分布式系统.

2010-12-08 16:27:00 565 1

原创 Taste and Aesthetics - A Conversation with Ken Arnold, Part II 阅读笔记

<br />(题外话: 这是  Ken Arnold 系列访谈的第二篇, 之前的第一篇, 及第三篇)<br /> <br />这篇访谈谈论的是 Taste 与 Aesthetics.<br /> <br />访谈开头, 提问者 Bill Venners 提到了 JINI 的主架构师 Jim Waldo, 并引用了他的一句话, "Much of [building a good team] is just finding people who have the right sense

2010-12-01 16:25:00 584

原创 Perfection and Simplicity A Conversation with Ken Arnold, Part I 阅读笔记

<br />(题外话: 这是  Ken Arnold 系列访谈的第一篇, 之前的"Designing Distributed Systems"是该系列的第三篇)<br /> <br />这篇访谈, 讨论的是设计的问题.<br /> <br />Ken 认为不存在所谓的"完美"的设计, 原因有:<br />1. "One is that all designs take place in context.",  "So part of the reason no perfect design ex

2010-12-01 14:49:00 648

原创 Designing Distributed Systems - A Conversation with Ken Arnold, Part III 阅读笔记

<br />(题外话: 推荐 www.artima.com, 很不错的技术网站, 可能很多同学都知道, 并早已熟读上面的文章了. 恕我孤陋寡闻, 最近因为设计一个尽管很小的分布式系统, 但也遇到了一些棘手的问题, 才按图索骥, 找到了这个网站.)<br /> <br />Designing Distributed Systems - A Conversation with Ken Arnold<br />这是一篇访谈, 讨论的是分布式系统设计.<br />看这篇访谈前可以先看另一篇文章预热(Introd

2010-11-30 18:24:00 583

原创 让里程碑在物理键盘划开时设置屏幕为竖屏

<br />很奇怪的要求, 但我偏偏有这样的需要, 所以可见产品在最终用户手上的用法是千奇百怪的, 难以预料, 就如同里程碑在键盘划出时做出锁定横屏的决定时, 肯定没有预见到我这样的.<br /> <br />言归正传, 虽然默认系统没有提供此功能, 但通过 google, 找到了一篇文章, 正好解决这个问题<br /> <br />鉴于伟大的 GFW 日益博爱的胸怀, 还是把方法复述一遍, 以防万一<br /> <br />方法说起来很简单, 就是模拟物理键盘的划开, 关闭事件, 以达到想要的屏幕模式

2010-10-13 17:22:00 1233

原创 解决 eclipse 启用增强的自动补全后, 在声明变量时对变量名称进行的扰人的补全行为

<br />一直在 Visual Studio 下混, 最近开始写 java, 于是用起了 eclipse, 很多地方都不错<br />但是因为习惯了 vs 下的 "intellisense", 于是在 eclipse 下把补全的触发(Auto activation triggers for Java)由 '.' 改为 'a-zA-Z.', 以模拟之<br />总的来说, 表现与预期一致, 只有一个地方很别扭, 即在声明变量时, ide 会对变量名称触发补全, 而且该补全很容易被误选中, 在实际使用中非

2010-08-25 13:51:00 9917 2

原创 XML Files - The Birth of Web Services 笔记 (二)

<br />之前说到, Web 应用在平台互用方面的巨大潜力, 导致了 Web Service 概念的出现, 但是最初的 Web 应用并不是为这个目的设计的, 所以存在一定的缺陷, 照搬原文说法, 即 "URL-encoding and HTML aren't flexible, powerful, or descriptive enough for most data representation needs"<br /> <br />这些缺点, 主要讲的是 HTML. HTML 作为一个界面布局,

2010-07-22 18:29:00 583

原创 XML Files - The Birth of Web Services 笔记 (一)

<br />因为开发需要, 最近开始研究 Web Service. 在 MSDN 中找到一篇文章 XML Files - The Birth of Web Services, 比较清楚的阐述了 Web Service 的定义, 产生背景, 及涉及的几个主要知识点, 非常浅显易懂, 在此记下心得体会<br /> <br />Web Service 说白了, 就是一种分布式的计算/数据服务, 套用文章中的说法, 叫 Distributed Computing Technology, 这种远端提供服务调用的程

2010-07-05 18:25:00 422

原创 多实例程序(Multiple Instance Application)中窗体调用 ShowDialog() 导致所有实例失去响应的问题, 及解决方案

一个类似 word 的 Multiple Instance Application 程序(简称 A), 使用 Microsoft.VisualBasic 中 WindowsFormsApplicationBase 提供的方法实现, 遇到问题: 其中一个应用程序实例跳出对话框的话, 其他应用程序会因为这个不属于它们的对话框而锁住, 从而失去响应这跟另一种应用场景(简称 B)很像, 即一个主程

2009-12-23 14:22:00 1624 2

原创 匿名方法(暨 lambda 表达式)使用指南

C# 中提供了一些很便利的语法元素, 如匿名方法, 但是如果滥用的话, 往往会引起出乎意料的问题 所以使用时最好遵循一定的规范:1. 考虑匿名方法的使用以不影响代码可读性为前提2. 需要重用的代码, 不应该写在匿名方法中3. 匿名方法(暨 lambda 表达式)参数名称应该与对应的委托一致4. 若需要手动管理委托的引用, 以避免内存泄露, 则不应该使用匿名方法

2009-12-21 11:16:00 430

原创 partial class 仿 xxx.Designer.cs 分组显示的小技巧

直接使用 partial class 的话, 创建的 partial 文件是并排显示的, 而不是像 xxx.Designer.cs 一样 group 于 xxx.cs 下面解决这个问题, 需要手动修改该项目的 .csproj 文件, 为需要 group 的 partial class 文件定义一个 字段 将指定的 partial class 由 改为 ====>

2009-12-17 11:34:00 698

原创 常读常新, 关于架构设计的一些箴言

设计的几大原则:1. 高内聚2. 低耦合2. KISS4. YAGNI 高内聚清晰各模块的功能, 用途, 低耦合减少模块间的互联, 降低系统内部的复杂性, 这 2 点是一个结构核心的价值. KISS 强调设计一个简单的东西, 只有简单才容易变更, 适应新的要求. YAGNI 丢弃不必要的负担, 是保持简单的有力手段.

2009-11-24 17:56:00 469

foursquared source code

google code 上的 foursquared 代码,直接 hg clone 好像不能用了,所以放上来,给需要的同学

2012-03-12

Software Tools in Pascal

来自 J@ppurl, 万分感谢. 上传到 CSDN, 以方便共享. 书不多说什么, 感兴趣的同学自然明白.

2011-02-14

The Elements Of Programming Style 2ed(Kernighan,Plauger)

djvu 格式, 压缩包内附带阅读器, 以前无意中找到的, 上传以供分享 至于书本身, 会下的人想必都已清楚, 就不多说了

2010-02-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除