莫一哲

现在很少听李志的歌了,有人说,是现在的生活没那么苦了,可是,也许我们早已经习惯生活的苦了,致敬,逼哥的歌 2018-03-08 13:49 by fifsky

十年,Go!

从十年前的Asp版到现在的Go版本,这个博客见证了这十年的的技术变迁,也见证了我技术的成长,Go版本算是学习Go的一个拙作,源码在github上,有兴趣的可以fork下,希望对你有帮助

https://github.com/fifsky/goblog

技术文章迁移

由于工作原因,今年开始采用nodejs编写了大量代码,因此开始喜欢上这门语言,加上对markdown的偏爱,决定开始采用markdown来记录技术笔记,一方面代码高亮比较容易处理,另一方面静态博客逐渐成为主流,所以采用hexo和github pages搭建了技术笔记的博客,这边的技术内容全部删除了,转移到blog.fifsky.com(导航技术栏),目前文章不多,因为之前很多笔记都是记录到Evernote里面了,后面有时间陆陆续续整理分享出来,很多都是自己平时工作遇到的问题,解决方案大多也是google查询到的,分享出来也希望能对新人有所助益。

nodejs中对已加载的模块进行重载

最近开发nwjs的时候,有一个需求需要重新加载nodejs已经加载过的module,在nodejs的机制里面一个module只会加载一次,比如


var api = require("./lib/api");

然后在其他任意地方require这个api模块都不会再重新载入,而是直接从require.cache里面获得,可以console.log(require.cache)查看,既然知道原理,重载就比较容易些了


 //重新加载已经被加载过的nodejs模块
var reload = function (name) {
    var id        = global.require.resolve(name),
        old_cache = global.require.cache[id];
    delete global.require.cache[id];
    try {
        return global.require(id);
    } catch (e) {
        return old_cache;
    }
};
api = reload("./lib/api");


代码比较简单,基本就是delete删除cache,然后重新require


nwjs下编译sqlite3

由于网上查找的资料基本不对,特别是最后还需要手动修改build的文件夹名称,这个也是想当然的解决方法,如果使用原生node命令调试会始终报Error: Module version mismatch. 


OK,具体步骤如下

1、npm install nw-gyp -g

2、git clone https://github.com/mapbox/node-sqlite3.git 到node_module/sqlite3目录下,你也可以不clone直接npm install sqlite3,但是我测试失败,所以只好先下载

3、cd node_module/sqlite3

4、npm install --build-from-source --runtime=node-webkit --target_arch=x64 --target=0.12.3   最后的--target是你的nwjs的版本

build成功之后会生成node_module/sqlite3/lib/binding/node-webkit-v0.12.3-darwin-x64/node_sqlite3.node文件,其实这个时候就已经成功了


但是如果你npm test是通不过的,因为npm test是使用node来执行,而这个模块必须在nwjs里面执行,因此会报module找不到的错误,于是网上的答案就是想当然的把文件目录修改为node-v11-darwin-ia32之类的,这是不对的,目录不需要修改,直接在nwjs代码里面测试sqlite就可以通过了


PS,如果npm install 依旧不能安装成功,可以试试先安装npm install node-pre-gyp -g模块,然后在目录下手动编译


node-pre-gyp rebuild --runtime=node-webkit --target=0.12.3

谣乐队


2013年3月19日,谣乐队成立于宁夏银川。背靠贺兰山,看着黄河奔腾不息的东流,就在这片被人们誉为“塞上江南·鱼米之乡”的热土,我们用朴实无华的音乐描述着家乡的美丽富饶,用动人的旋律讲述美好的童年和对未来的向往,用诙谐幽默的歌词来调侃这个社会中的一些不公平,用积极向上的态度来面对生活中许多无奈和无大改变的事实!


这就是我们—— 一群热爱唱歌热爱音乐,单纯朴实的大男孩。
这就是我们—— 一群生在宁夏、长在宁夏的西北汉子。

这就是谣
谣-我们聆听着童谣走过童年!
谣-我们弹唱着民谣度过青涩的青年时光;
而现在谣为您讲述现实生活的酸甜苦辣!

在线字词典

工作时候老板要我抓取的数据,做完之后感觉还挺清爽的,提供出来给大家使用,收录的词都比较正规,因此不适合用来查询网络用语,应该比较适合老师和学生使用,网站 http://dict.fifsky.com/

Mac下phpstorm配置go的环境变量

常规的在bashrc中定义的环境变量只能在终端中使用,在APP中无法使用,需要建立
vim /etc/launchd.conf

launchctl setenv GOROOT /usr/local/go
launchctl setenv GOPATH /Users/fifsky/go

同时执行上面的命令重启phpstorm就可以使用了,不需要重启系统

然后如果执行的时候出现 No Go Sdk defined for this project,则证明go目录和文件是自己事先建立好的,不是通过File->new Project建立的


此时会自动找到你之前配置好的环境变量

如果通过new Project建立的话,会自动生成三个相对应的目录


这个时候打开test.go,右键执行test.go就可以看到效果了



阿里云

公司这次项目由我全权负责,因此我选择了阿里云,用过一段时间感觉还不错挺稳定的,价格也挺便宜,所以下决心把之前国外的VPS切回到阿里云上,我的站就是一个小博客没啥流量,用阿里云最便宜的配置就够了,刚好RDS最近活动半年免费,OSC128M免费使用,感觉还蛮不错,所以买了一年ECS,接下来就是漫长的备案了,之前之所以不能下决心迁移回来就是懒得备案,想想自己接触WEB以来,从06年就开始备案,光fifsky.com这个域名前前后后都已经备案了3次,每次过不了多久备案号就被莫名其妙的注销了,这次迁移到阿里云之后希望能稳定下来,其实我的网站也没啥内容,我买VPS或者ECS主要是自己折腾,搭建点东西跑跑测试,现在买了mac之后基本上都在自己的vagrant里面折腾了,mac基本不用关机,所以虚拟机基本常年跑着,挺爽,总体来说阿里云还是很值得推荐的,刚刚搭玩环境,趁着域名DNS解析还有效发个博文,嘿嘿,感觉国内访问快很多啊,直接上php5.5.14,lnmp要先安装php5.3再升级php,感觉太麻烦,花了两个小时修改了shell,可以选择不安装mysql,然后安装PHP的时候输入版本号,具体去官网查询就好了,提供下载,需要的自己下载去看看,保留了原来的代码只是添加了installPHPCustom函数


下载地址:centos.sh

回到起点

    2014年5月20日,在这个特别的日子里面,突如其来的情愫让我彻夜未眠,一种想离开上海的冲动一发不可收拾,于是放弃当前的工作毅然决然的回无锡面试了两家公司,机缘巧合兄弟连的李明老师帮我推荐了无锡一家公司,是上海兄弟连28期的学员介绍的工作,面试下来整体感觉不错,感觉团队很有思想,心里已经开始规划以后无锡的生活,回上海的路上给上海的朋友发了一个微信,朋友二话没说要我加入他的团队,一瞬间似乎明白了什么。是的,我们不能割舍的并不仅仅是上海的工作,更重要的是上海的人脉,这些年身边这些朋友给予自己的帮助,一起成长的日子,走了,真的舍得吗?真的可以不管不顾吗?

    

    回上海的路上我下定决心,无论如何重新开始,也一定要在上海扎下根,和老大说明了自己的想法,开始了时隔4年半的求职历程,PPS的朋友纷纷伸出援手,推荐的、直接给offer的,可能是自己内心对技术的一种信念,还是坚持自己找了几家自己中意的公司,忙忙碌碌一个礼拜的时间,所有面试了的公司包括朋友推荐的offer全部拿下,可是迟迟没想好该去哪儿,就在我即将决定做出一个选择的时候老大给我来了电话,最后这个电话帮我做出了最后的决定,推掉了所有的offer,回到起点,不同的是重新用我熟悉的PHP和WEB技术去发挥自己的想法,这次面试经历让我学会了很多,沟通和感恩,感谢所有在此时此刻帮助我的兄弟朋友们,有你们,在上海这座城市我便不再害怕孤独。

易知难

易知难,歌唱演员,80 年代成都艺术圈中非常抢眼的一个女子。“易知难坐在琴房里面,拿着烟灰缸倚靠着钢琴,化完妆以后,慢慢抽烟,墙上挂的是陈逸飞油画的复制品。她想着自己的生活:她要靠拍电视剧挣钱养活在北京舞蹈学院进修的丈夫……渐渐地,她的眼眶满含泪水。” 摘自当时肖全拍摄易知难时的回忆

返回顶部