Yuqian Ma

45 posts

Phantomjs 开启子进程

phantomjs是一个headless浏览器。 因为它自带page,webserver模块,一开始我误以为它是类似浏览器的一个东西;实际上比作node更为合适:它是单线程的。 场景: phantomjs内部有一个待渲染page,外部通过webserver与之交互。 问题: 内部的page可能出错、超时,导致渲染失败 因为是以server运行,不会自己关闭。 现有机制是加了一个心跳包,让其自己超时关闭。但是这个方案有一个非常大的问题:phantomjs是单线程的,当page出错,导致死循环,它自己不能再执行其他任务了。 查阅api,发现phantomjs还带了一个有趣的功能:开子进程 遂如下实验: 开启: ../phantomjs process.js 2333 1 参数为:1. port;2. 是否是父进程,如不是,则初始化内部一个page(有一个10s while)。 测试: ~curl'127.0.

js动画——加速度

Object是个dom,动起来就是改变定位。 CSS模拟 所以从top: 0到top: 100px就算运动了?当然不是,真实世界中的物体,任何移动都需要时间。CSS3加入了transition。所以最简单的模拟运动,是设置好transition-duration,比如设置为1s,那么0移动到100px,速度就是100px/s。结合transition-timing-function(在Chrome中可以直接看到对应时间曲线),可以模拟有加速度的object了。 这样做,起始和结束都是确定的,要做一些菜单等交互的缓动,绰绰有余。但是如果要结合控制,比如,控制一个球的运动,该怎么做呢?不断改变结束位置?但是transition-duration确定了,移动100px和移动200px都是1s?显然,需要js出场了。 js计算运动 让我们再回顾一下屏幕上模拟运动的方式:计算机是离散的,为了模拟连续世界,在两个离散量之间加入更多中间量。也就是说,套用微积分的概念,我们要对这个过程进行微分。 先来一个匀速运动:还是0-100px,1s。不失一般性,

滚轮缩放图表

做过的东西没多久就要忘记。还是写一写吧。最近为了练习原生js、ES2015,写一个线图chart。 滚轮缩放原理很清楚,对应放大-缩小就可以了。具体实现的过程还挺有趣的。 对于图表来说,即改变一下数据-图形的映射关系。再查查MDN上wheel event: https://developer.mozilla.org/en-US/docs/Web/Events/wheel 文中也给出了浏览器兼容方案。MDN还有一篇文章详述各浏览器值的不同:https://developer.mozilla.org/en-US/docs/Web/Events/mousewheel。 不考虑兼容性,按着这样简单的原理和愉快的API,按着demo中前面select放大的方式随便写了一个。然后发现了一个问题: 错误缩放示例 功能是实现了,但是不太对劲啊。 哪里不对劲呢?没按鼠标指针所在位置缩放。 果然随便写一个不行了。那搞个方程吧……~!@#¥%……&

The Economist网站去除浏览限制插件

《经济学人》网站对未注册用户有文章篇数限制。可以启用浏览器的“隐身浏览”选项无限制浏览。 当然这样没有历史记录。写了一个Chrome小插件,这样不用隐身浏览也可看文章。 点击下载:TEHelper 注:因为是自制插件,需要手动安装: 地址栏输入 chrome://extensions/ 勾选“开发者模式” 将“TEHelper.crx”拖入浏览器窗口 出现询问窗口,点击“添加” 安装后刷新一下或重新打开浏览器即可无限制浏览。 原理:删除特定Cookie。 仅供学习,请勿用于其他目的。

落雨

对住南边的人来说,冬季里的潮湿实在让人生厌。幸好渥太华干得很。但到了快三月,这里也仍旧会飘雪。紧致晶莹,倒也不坏。就是要让人想起下雨的苏州了。 这季节少些颜色。过了冬,都还没醒的模样。却抵不住小雨。春天的雨下起来是不会停的,停了也潮润着。外头还有些凉,但到底后头漾着春风呢,少穿些也不碍。哦不,我们是讲究捂的。但自己捂得住,细雨里的景致捂不住。只要下过一阵,角落的绿色全漫出来了,着了水,嫩得钩眼;平日里没什么精神的石板也油亮油亮的。你待在旁边看,人来车往间打下的水滴,溅在石板路上,凹槽里积水映出的柳丝影子,一时乱了样子。可比屋檐下的石板有趣得多;柳梢上的绿色有些难捉摸,雨水润,怕是明天去看就要繁密许多。最好看的就是这几日稀瘦了。 春天的雨绵润,夏天就爽气多了。本来一点动静都没有,才听到轻微的声响,遽然全落到这里。直打在屋顶上,树叶上,地上。

葛帅

“老马,你说这样行吗?” 电话里的语气一如既往,问题却让我不太适应。我一边回答,一边望向窗外。 葛帅姓葛,单名一个“俊”。不要问他长相。因为他会摆着pose主动问: “老马,这样帅不帅。” 高中时我的智商正在自由滑翔,无暇顾及这种简单的问题。不过他旁边卷子做得飞快的天慧也不回答。我想沉默应该是个逼格比较高的做法。 此时葛帅已经把我拉进“星际γ(GaMa)公司”。这公司名称有我一半,也没让我出资,我想就先挂着吧。 我和葛帅一直有资金往来——主要是往,对我来说。 他第一次欠我钱是个意外。彼时“星际γ”还没成立,我一边要解决作业、思考人生;一边要把本来应该用来看暗恋女生的时间投入到和前桌这个多动症患者的斗争中。 有天他又犯病,顺手碰到我课桌上的衣服里的MP3,翻开来,顿时来了兴致,于是高兴地对我说: “老马,衣服里的MP3打不坏。” 我不知道该回答他什么好,那时的我认识有限,决策失误。

美食记

梅菜扣肉 五花肉焯水再小火20分钟。拿出趁热涂老抽上色。 锅底薄油,小火慢煎滗油,四面都炸一下着金黄色。冷后切块。 梅菜洗净。肉汤加生抽、老抽、冰糖、梅菜,煮开。小火熬制15分钟。 将肉码入碗中,肉皮朝下。上铺梅菜。大火隔水蒸半小时至一小时,倒去碗中油水,再蒸。 自己做的时候煎炸没有炸好,涂了蜂蜜稍炸就焦了;时间尚早蒸了很多次,倒了两次油。 最后忘记勾芡了- -!   从只会煮粥到各种菜的记录: 红烧肉 糖醋排骨 你猜…… 玉米排骨汤 鲜肉月饼 黄瓜塞肉 番茄虾仁 鸡蓉蘑菇玉米粥 蘑菇鸡蛋羹 香煎鳕鱼 虾仁蘑菇玉米粥

零成本自制触控笔

触控笔这种东西谁会特意去买啊= = [不过有一支玩玩还可以画画嘛] 哦那我也不会去买…… 不过昨天洗完手拿纸巾擦干净后顺便擦下手机屏,发现虽然隔得很远它也动了。不知道为什么以前都没发现,忽然觉得可以做支简陋的触控笔吧。 潮湿纸巾可触控 折捏成柱状一样好用 当然于此也勉强可以算……但是这样很不稳定用一会儿就散了。 然后…………………… 来根吸管! 材料-吸管 纸巾呢,擦一遍湿手正好,不用全湿。或者你觉得这样什么的话……拿沾满水的纸巾随便洒满材料纸巾好了。 材料-湿润过的纸巾 请不要全湿,不然在屏幕上留下水渍。 神马你说为什么不用湿巾……因为~~~我没有……而且那个东西不是水也不知道一直擦屏幕好不好啊o(╯□╰)o纸巾最常见了对不对~ 剪一小段吸管,纸巾自己研究合适的叠法,尽量保证头部光滑,样品如下: 自制触控笔样品 对没错手要触碰到尾部,所以吸管不要太长,这样就可以用了~ 你问我还有两根呢,我试过了太细不好用……需要研究下触摸最小面积。 做完以上我就扔了去吃饭了,晚上回来又随手塞了一支真是没成本啊o(╯□╰)o 哎来试试画画嘛。 话说我以为能压力感应粗细的呢,后来发现这些APP要么手动调节的,

苏州大学查期末成绩(已失效)

我们苏大的都知道那个教务系统……呃……一到期末就被玩坏了…… 但是今年这个…… 教务系统没有成绩查询 喂喂喂!这也太进击了吧! 不过成绩肯定在数据库里面没有错,学校不让我们看呢…………………… 难道还真的不看了吗!!!!! (那怎么看呢能不能快一点啊!) o(╯□╰)o不要急嘛我来教大家很简单的(所以这个方法随时失效~)(概括:拖一个书签,非学生账号登陆,点一下书签……done): 看到这个链接:>> 成绩查询 << 把这个叫“成绩查询”的链接拖到书签栏上(IE的话在链接上右击-“添加到收藏夹”) 添加书签 对其实我是广告商…… 打开教务系统请输入!@#$%^登陆(此处省略6+个字符……) 停留在登陆后首页不要动~然后按一下“成绩查询”的书签,会弹出来一个框: 输入学号 (为什么只能输入学号啊……哎让你看看自己的成绩可以了啦!

联想恢复键启动Ubuntu方法

最终效果:小Y电源键进入Win;恢复键进入Ubuntu。 其他联想笔记本也可改造。非联想笔记本因为无对应物理键,不如选单。 在虚拟机使用Ubuntu始终不如物理机;Wubi安装总觉的有些杂。正好小Y备份分区一直闲置,本来是为快速还原系统不用装驱动的,现在感觉甚是浪费。恰好以前也改造过那块分区,在bootmgr下添加grub。所以原理来说应该可以实现双键进入不同系统。 装Win8之后恢复键失效了,要先修复下。 找到这篇文章:[教程] 联想一键恢复7.2绿色安装全过程 非常简单 不用刻盘安装 不用重新分区 如果像我一样原来的已经失效或没有那个隐藏区了,请先看文章中提到的:在win7下修复一键恢复分区的办法 修复需要帖子中提到的联想一键恢复系统7.2镜像。 简单说就是分出新主分区——使用联想工具配置修复——放置所需文件。注意修复时候一定要看到Success。 Success 看帖子里说明,用DiskGenius修改分区隐藏/显示。即分区参数在12/07间换。 然后到此时我还在想把Ubuntu往15G的隐藏分区里装-_-!完全没有意识到Linux才不要NTFS。 既然这样就再分个区吧~注意我们只需要那个分区里的启动部分,所以帖子中\

转Ubuntu!

笔记本自带还原键已经改成了启动Ubuntu,现在一键进入目标系统~ Ubuntu以前虚拟机里用过一点点,现在云概念盛行,系统依赖已经很少了,决定双系统。设置那个按键启动到Ubuntu折腾了好久,目前引导多重,再研究下缩短时间。 实际体验还不错,特别这个字体很好看。但是似乎有点小对眼睛不太好>_< 唯一不爽的就是CPU的风扇声音了。

Jsoup解析nbsp空格乱码

当jsoup遇到“&nbsp”时,解析出来的东西不知道是什么编码的,并非普通空格的样子。直接eclipse复制出来,查看Unicode编码为"FF FE A0 00"。这样我就没法判断到底是不是空格。解决办法是: str.text().equals(Jsoup.parse("&nbsp").text()) 对,就是以其人之道还治其人之身。我们不用知道到底是什么,有没有点零知识证明的感觉╮(╯▽╰)╭ 不过我也想知道那个解析成什么了。

类比程序逻辑

有时候一句话很长所以看不太懂,比如聊聊天对方说: 我好朋友的好朋友的男朋友被我好朋友的好朋友的好朋友抢了 对,第一眼就知道是个狗血的故事,但是我眼睛看花了。 所以我决定把它写成这个形式: I.friend.friend.friend.chase(I.friend.friend.bf); 然后我们来import I.friend.friend.*; 这样就站在了“我好朋友的好朋友”角度观察: friend.chase(bf); 所以如果“我”是“我好朋友的好朋友”的话,“我”遭遇的狗血剧情就是被朋友抢了男朋友…… //end......

You've successfully subscribed to M!