- 博客(142)
- 收藏
- 关注
转载 从技术博客到技术日记
最近已经从写技术博客慢慢转移到写技术日记。这里是技术日记的地址:http://joyeecheung.github.io/diary/。写技术日记的缘由和一些感受最近已经坚持记了快两个月的技术日记,感觉比技术博客写起来更有意思:用日记的形式来写,落下一天就会觉得浑身难受,所以更有动力。原来写博客的时候只要一个月有一两篇就满足了,现在写日记每天都有动力去找新的题材,发现更大...
2015-06-05 23:27:00
217
转载 在Windows/Ubuntu下安装OpenGL环境(GLUT/freeglut)与跨平台编译(mingw/g++)
GLUT/freeglut 是什么? OpenGL 和它们有什么关系?OpenGL只是一个标准,它的实现一般自带在操作系统里,只要确保显卡驱动足够新就可以使用。如果需要在程序里直接使用OpenGL,会有很多非常恶心的预备工作要做,而且可能还要专门为平台的差异写一些代码。要跳过这些工作,可以用一个utility库,直接使用它提供的函数,就不用操心那些细节了。这样的库新一点的有GLEW,...
2015-03-03 11:11:00
884
转载 用 Python 通过马尔可夫随机场(MRF)与 Ising Model 进行二值图降噪
前言这个降噪的模型来自 Christopher M. Bishop 的 Pattern Recognition And Machine Learning (就是神书 PRML……),问题是如何对一个添加了一定椒盐噪声(Salt-and-pepper Noise)(假设噪声比例不超过 10%)的二值图(Binary Image)去噪。原图 -> 添加 10% 椒盐噪声的图:...
2015-02-01 00:42:00
1860
转载 逆转序列的递归/尾递归(+destructuring assignment)实现(JavaScript + ES6)
这里是用 JavaScript 做的逆转序列(数组/字符串)的递归/尾递归实现。另外还尝鲜用了一下 ES6 的destructuring assignment + spread operator 做了一个更 functional 的版本(只支持数组)。正确性能通过测试(参见 放在我 Github 上的 demo,顺手写了一个小小的测试框架),不过效率就要打问号了——特别是用了 ES6...
2015-01-11 03:59:00
193
转载 跟随 Web 标准探究DOM -- Node 与 Element 的遍历
写在前面这篇没有什么 WebKit 代码的分析,因为……没啥好分析的,在实现里无非就是树的(先序DFS)遍历而已,囧哈哈哈……在WebCore/dom/Node.h , WebCore/dom/ContainerNode.h 和 WebCore/dom/Element.h 以及对应的 .cpp 里看两眼就行了。下面这些属性一般都作为了私有变量直接放在了对象里(按照命名规范基本都叫m_...
2014-12-17 08:01:00
106
转载 跟随标准与Webkit源码探究DOM -- 获取元素之querySelector,querySelectorAll
使用CSS选择器获取元素 -- querySelector,querySelectorAll(HTML5)标准W3C Selector API Level 1为Document,DocumentFragment和Element追加了querySelector和querySelctorAll,原型为Element? querySelector(DOMString selecto...
2014-11-26 12:35:00
106
转载 跟随标准与Webkit源码探究DOM -- 获取元素之getElementsByClassName
按照类名获取元素 -- getElementsByClassName(HTML5)标准WHATWG 在Document与Element上均有定义,原型 HTMLCollection getElementsByClassName(DOMString classNames),并定义了匹配算法和类名的提取算法,注意这里是先从参数里提取出类名作为一个set,然后再开始匹配的。其中指明...
2014-11-26 12:33:00
108
转载 跟随标准与Webkit源码探究DOM -- 获取元素之getElementsByTagName
按照标签名获取元素 -- getElementsByTagName标准DOM 1在Element和Document两个interface中均有定义,原型NodeList getElementsByTagName(in DOMString tagname),指明按照先序遍历遇到的顺序排列,不会抛出任何异常,参数"*"返回对应document或者element下所有元素。注意这里...
2014-11-22 17:35:00
111
转载 跟随标准与Webkit源码探究DOM -- 获取元素之getElementsByName
按照name属性获取多元素 -- getElementsByName标准DOM 1 定义在HTMLDocument Interface 中,原型NodeList getElementsByName(in DOMString elementName),该方法不会抛出任何异常。DOM 2依然定义在HTMLDocument,原型不变,但是新增说明在 HTML4.0 里搜索范围为...
2014-11-22 17:24:00
113
转载 跟随标准与Webkit源码探究DOM -- 获取元素之getElementById
按照ID获取元素 -- getElementById标准DOM 1,定义在HTMLDocument Interface 中,原型Element getElementById(in DOMString elementId),当不存在拥有对应ID的元素时返回null,该方法不会抛出任何异常。DOM 2,移动到了Document(原HTMLDocument的Parent Int...
2014-11-22 17:21:00
90
转载 原生DOM探究 -- NodeList v.s. HTMLCollection
涉及获取元素的主要API在获取原生DOM元素的时候,主要涉及这几个DOM API(链接为Living Standard):Node及对应集合NodeListElement(继承Node)及对应集合HTMLCollectionDocument(继承Node)注:计划取代NodeList和HTMLCollection的Elements目前并无广泛实现基础知识 ...
2014-11-01 23:07:00
68
转载 XeLaTeX下如何以原大小显示PNG
在XeLaTeX里直接使用\includegraphics{test.png}这样的命令引入PNG,可能会发现图片直接被缩放到占满文档宽度,这是因为PNG这种bitmap类型的图片里通常不会带上metadata,因此就自动能放多宽放多宽。解决办法有用Imagemagick之类的工具给PNG图片加上metadata;在TeX代码中手动设定图片大小。但是,LaTeX里的宽...
2014-10-18 23:21:00
216
转载 JS黑魔法之this, setTimeout/setInterval, arguments
最近发现了JavaScript Garden这个JS黑魔法收集处,不过里面有一些东西并没有说得很透彻,于是边看边查文档or做实验,写了一些笔记,顺手放在博客。等看完了You don't know JS讲this和prototype的部分,说不定又会再写一点。函数名字是可选的通常用匿名函数的地方,匿名函数也是可以带名字的(ES3开始)。便于debug时提供点额外信息/递归。...
2014-10-11 04:46:00
127
转载 sicily 1198. Substring (递归全排列+排序)
DescriptionDr lee cuts a string S into N pieces,s[1],…,s[N]. Now, Dr lee gives you these N sub-strings: s[1],…s[N]. There might be several possibilities that the string S could be. For example,...
2014-09-28 20:09:00
90
转载 sicily 1046. Plane Spotting(排序求topN)
DescriptionCraig is fond of planes. Making photographs of planes forms a major part of his daily life. Since he tries to stimulate his social life, and since it’s quite a drive from his home to t...
2014-09-28 20:04:00
92
转载 sicily 1051. Biker's Trip Odomete
DescriptionMost bicycle speedometers work by using a Hall Effect sensor fastened to the front fork of the bicycle. A magnet is attached to one of the spokes on the front wheel so that it will lin...
2014-09-28 19:59:00
77
转载 sicily 1176. Two Ends (Top-down 动态规划+记忆化搜索 v.s. Bottom-up 动态规划)
DescriptionIn the two-player game "Two Ends", an even number of cards is laid out in a row. On each card, face up, is written a positive integer. Players take turns removing a card from either ...
2014-09-26 22:08:00
197
转载 sicily 1035. DNA matching
DescriptionDNA (Deoxyribonucleic acid) is founded in every living creature as the storage medium for genetic information. It is comprised of subunits called nucleotides that are strung together i...
2014-09-24 23:05:00
78
转载 关于组织自定义皮肤/主题的一点思考
写这篇随笔的动机是之前实习的时候出了自定义皮肤的需求,但是由于整个项目一开始前端基础就没打好,导致很多地方根本无法由前端程序猿控制,最后需要后端进行大量的重复劳动。在实习期间通勤的时候我一直在看Pro CSS for High Traffic Websites,结合里面的经验加上自己的思考就有了这篇随笔。在前端开发中,标题栏、按钮、图标等元素经常需要使用图片来展现样式,并且...
2014-09-24 01:48:00
121
转载 JavaScript: The Evil Parts - 1
最近在看JavaScript框架设计,在讲解类型判定的时候提到了一些“匪夷所思的情况”,不过没有明说都是什么时候会出现这些情况。自己玩儿了一下,写写随笔吧。不过可能除了我找到的,还有会其他时候会出现这些诡异的现象2333问题:在JavaScript中,什么时候会出现a !== aa == b && b != aa == !aa == b &a...
2014-09-18 23:57:00
72
转载 [笔记] 几个前端bug的解决方案
jQuery UI下被拖动的元素上飘症状出现在几乎所有浏览器里。使用 1.10.x 的draggable,在滚动栏下移(即非处于页面顶部)的时候拖动draggable的元素,它会向上跳一段距离。解决办法是将jQuery UI 1.10.x的_convertPositionTo() 和 _generatePosition() 换为1.9.2的或者设置父元素的position为absol...
2014-09-10 02:10:00
100
转载 关于node.js的模块查找顺序(require.resolve())
前几天社团群里有人问了阿里秋季前端笔试的一道题,想起来以前在官方文档看到过查找模块的算法,干脆自己写一写……官方的require.resolve实现在这里. 因为我只是想看看查找过程,所以就直接把会被找的路径console.log出来看看而已。代码放在了我的github gist上:https://gist.github.com/joyeec9h3/74262a250b3e880c7...
2014-08-28 15:37:00
282
转载 normalize.css阅读笔记
最近在被各种浏览器的CSS兼容折磨,所以看了看normalize的源代码来了解一些常见的浏览器间不一致的CSS渲染问题……源代码在这里text-size-adjust用法参见Apple的文档和MDN的文档iOS设备旋转后可能会自动调整字体大小(e.g. 竖着的时候是14px,横着就自动调整成20px)。将这个属性设置为100%后Safari就会不会自作主张调整大小。设...
2014-08-28 13:53:00
109
转载 IE8/9的几个前端bug解决方案
最近做的东西需要兼容IE……啊真是令人忧伤……解决低版本IE的buggy inline-block低版本的IE只对本身inline的元素能用inline-block,而本身为block的元素需要设为inline。此外,如果想要让这个buggy的inline-block生效,还需要让元素具备hasLayout,常见的方法是设置zoom。如果想绕过低版本IE又保持对其他浏览器的兼容,...
2014-08-25 17:24:00
82
转载 关于HTML5 boilerplate 的一些笔记
最近在研究HTML5 boilerplate的模版,以此为线索可以有条理地学习一些前端的best practice,好过在W3C的文档汪洋里大海捞针……啊哈哈哈……开头的IE探测与no-js类是什么?Modernizer探测到浏览器启用了js的时候会将.no-js替换成.js,这样在CSS里可以为禁用js或者启用js的浏览器添加额外的规则,像这样.no-js xx {...
2014-08-24 21:53:00
115
转载 Ant, JUnit以及Sonar的安装+入门资料
Ant感觉是个和Make/Grunt类似的东东,build一个项目用的。安装很容易,跟装JDK类似,就是解压->设环境变量->没了。注意装之前要先确认Java装好了(有点废话)。下载地址在这里,找到Current Release of Ant,有三种压缩包可以选。win下一般选zip,linux下一般选第二或第三个,下完之后解压到你平时放第三方软件的目录。懒得用浏览器...
2014-07-30 11:33:00
134
转载 java学习笔记 6
Interface与继承不同,interface为一个类指明的是what it does而不是what it isJava中的多重继承多用implement多个interface代替(逻辑上来讲,一个is a很多的类的类通常用can do很多interface来表达会更合理)interface起名通常用-able的形容词,所以谓语应该是is,写起来的时候用implemen...
2014-07-30 05:16:00
70
转载 java学习笔记 5
随手看到了这篇关于Java到底哪里出了问题的文章,笑傻了23333“Java developers just can’t help themselves it seems - give em an inch, and next thing you know you’re looking at a OO hierarchy 15 layers deep and instanti...
2014-07-25 21:44:00
77
转载 java学习笔记4
OOP对象有三个要素behavior接口是怎样的,有什么方法/field可以用?state调用方法的时候,对象会有什么反应?只有通过调用方法才能改变一个对象的stateidentity对象之间如何区分?类的三大关系dependenceuses-a在方法里用到的类(方法的local ...
2014-07-21 23:11:00
79
转载 java学习笔记3
I/O输出用System.out的方法,输入是不是用System.in呢?答案是…………NO!我去……普通输入可以用Scanner类,它属于java.util,所以用之前要import java.util.*;用法是Scanner in = new Scanner(System.in);然后用这个Scanner对象的方法来读读一...
2014-07-17 01:13:00
63
转载 java学习笔记 2
关于raw type刚好在预习龙书,就把官网上提供的那份java写的前端代码拖了下来看看。导入eclipse,发现有一堆warning,其中一个是Reference to generic type Hashtable<K, V> should be parameterized。google之,发现了一篇不错的讲解:What is a raw type and wh...
2014-07-16 01:29:00
128
转载 Java学习笔记 1
安装JDK以前搭hadoop的时候给ubuntu装过,学algorithms的时候给win装过……还都是JDK7,总之不用再装了=___,=这里是个不错的教程:How to Install Oracle Java on Ubuntu Linux 和配套的升级教程:How to Upgrade Oracle Java on Ubuntu Linux安装eclipse以前入门...
2014-07-14 23:00:00
72
转载 用python + openpyxl处理excel(07+)文档 + 一些中文处理的技巧
最近要帮做RA的老姐写个合并excel工作表的脚本……源数据是4000+个excel 工作表,分布在9个xlsm文件里,文件内容是中英文混杂的一些数据,需要从每张表中提取需要的部分,分门别类合并到多个大的表里。寻觅工具确定任务之后第一步就是找个趁手的库来干活。 Python Excel上列出了xlrd、xlwt、xlutils这几个包,但是它们都比较老,xlwt甚至不支持...
2014-07-14 03:52:00
931
转载 用python + hadoop streaming 编写分布式程序(三) -- 自定义功能
又是期末又是实训TA的事耽搁了好久……先把写好的放上博客吧相关随笔:Hadoop-1.0.4集群搭建笔记用python + hadoop streaming 编写分布式程序(一) -- 原理介绍,样例程序与本地调试用python + hadoop streaming 编写分布式程序(二) -- 在集群上运行与监控使用额外的文件假如你跑的job除了输入以外还...
2014-07-14 00:20:00
94
转载 操作系统作业答案整理
期末复习的时候把操作系统的作业的答案整理了一遍,顺手放上博客吧。题目基本来自Operating System Concepts,答案基本上不是来自instructor's manual就是自己整理的。What is the microkernel? What are the advantages and disadvantages of using the microker...
2014-07-08 17:57:00
3796
转载 [笔记]用gdb调试core dump
总是隔一段时间才写一次C++,有些东西老是用完就忘了……记一下如何用gdb来调试core dump免得到时候又忘记。首先需要设置core file的大小,默认是0所以不设不会生成core file$ ulimit -c unlimited然后在编译的flag里加上-g -rdynamic把动态静态符号表都弄过来然后$ make...
2014-06-29 03:56:00
88
转载 [VBA]批量替换PPT里的字体颜色
不知道为什么计组老师的大量课件字体是伤害视力的亮蓝色……看久了眼睛疼,想把颜色替换成保护视力一点的灰色,但是找了N久也没找到在图形界面上直接操作的方法,于是在MSDN上晃了晃,Google了一下,写了个VBA小脚本,只替换选定颜色,这样可以保留红色或者其他颜色的高亮,顺便把让人分心的花花背景也干掉。Sub ReplaceColor()Dim shape As shape...
2014-06-25 03:14:00
1425
转载 用python + hadoop streaming 编写分布式程序(二) -- 在集群上运行与监控
写在前面相关随笔:Hadoop-1.0.4集群搭建笔记用python + hadoop streaming 编写分布式程序(一) -- 原理介绍,样例程序与本地调试用python + hadoop streaming 编写分布式程序(三) -- 自定义功能为了方便,这篇文章里的例子均为伪分布式运行,一般来说只要集群配置得当,在伪分布式下能够运行的程序,在...
2014-05-30 02:53:00
109
转载 用python + hadoop streaming 编写分布式程序(一) -- 原理介绍,样例程序与本地调试...
相关随笔:Hadoop-1.0.4集群搭建笔记用python + hadoop streaming 编写分布式程序(二) -- 在集群上运行与监控用python + hadoop streaming 编写分布式程序(三) -- 自定义功能MapReduce与HDFS简介什么是Hadoop?Google为自己的业务需要提出了编程模型MapReduce和分布式...
2014-05-28 21:22:00
130
转载 Hadoop-1.0.4集群搭建笔记
这篇文章介绍的是简单的配置Hadoop集群的方法,适合实验和小型项目用,正式运行的集群需要用更正规的方法和更详细的参数配置,不适合使用这篇文章。相关随笔:用python + hadoop streaming 编写分布式程序(一) -- 原理介绍,样例程序与本地调试用python + hadoop streaming 编写分布式程序(二) -- 在集群上运行与监控用py...
2014-05-27 23:42:00
84
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人