Author: xnnyygn

  • Protected: 6月求职小记

    There is no excerpt because this is a protected post.

  • 7月小结

    两个星期前提交了离职申请。小结的内容其实也是关于换工作的。 现在的工作辞职原因不太好细讲,除非和G或者大学同学,不过归类下就是钱不够或者干得不爽。具体的就算了,类似fenng也是说一些不痛不痒的理由,深层的原因其实大家都有顾忌。个人的最后工作日在下个月,也就是8月的第一个星期。辞职流程没有想象中那么复杂,主管和HR各谈一场,两个上上主管谈都没谈,剩下的就是最后一天还电脑之类的了,也算是给我现在的工作画了个句号。 提申请的时候,老实说看到提示说“不能退回”时有点犹豫,这是我第一次辞职,职业生涯上的第一次。相比刚毕业很开心地进入现在公司,现在在工作的处理上沉稳了很多。对自己想要的,不喜欢的,希望得到的,感兴趣的开始有了具体的想法。突然想到之前在知乎上看到一个拿到大小公司offer犹豫该去哪家的时候,我现在的选择可能不会看对方大小,而且看对方的环境。固然公司的title能帮你获得更多的尊重,甚至影响到下一份工作,但是核心仍旧是在你的能力以及发展空间上。 这个月另外一件事情是心血来潮买了个单反。虽说是配合《纽摄》用的,但是不能不说能换工作对自己也有好处,之前的压力太大了。另外还希望单反能让G开心,并且在之后的工作上派上用处。

  • 第一个单反以及摄影学习

    第一个单反以及摄影学习

    虽然在几个月之前就买了《纽摄》,但是到本周开始的时候才下定决心买一个照相机,而且是单反。要说原因的话,是课程内容越上越觉得我不能继续“纸上谈兵”下去,也不能用手机相机凑合,所以找了导购文章下单买了个单反。这点上来说,我不是为了单反买单反的那种。 单反选的是Nikon D7000,据说是现在性价比最高的一款,虽然是APC(俗称半幅,也有戏称殘副),但是有肩屏,还有电动马达(即可以操作AF-S类型的镜头)。 哎,貌似摄影的人攀比心很重。还有不知道是哪个不负责任无前提的人说的“买你承受范围内最贵的”,不友好也明显不考虑新手的接受度。好多牛头,狗头,套头之类的俗语,崇尚一步到位。还有全幅与半幅之类的争论,我只是要一款性价比高的,所以选的是有一个焦距18-105mm,f/3.5~5.6G VR镜头的套机款。 拿到机器之后,虽然我已经知道了光圈,快门等参数,但是不会拍……这就和我去年拿着朋友的顶级索尼微单但是除了按快门完全不会用一样了嘛。在自己摸索装了镜头(第一次装镜头我没对安装点就装进去了我太佩服自己了),装了电池和SD卡之后,不会开机……好吧,其实D7000有本厚达300多页的说明书,找到了开机的部分,然后在所有都是auto(肩屏上基本所有都是auto,对焦模式AF-A,WB-A,释放模式auto,AF模式auto等,闪光灯也是自动的)拍了第一张照片。 《钮摄》上册在前三章讲了基础的光圈、焦距、快门、聚焦、景深之后,就开始讲胶片了。作为一个没相机的人来说有点心痒痒想要拍来试试,但是真正拿到时这么得手忙脚乱是没想到的。而且现在的数码相机特别是单反,操作比想象中要复杂很多,从说明书的厚度就可以看得出来。比如说光圈,我后来才知道G型镜头是没有光圈环的,但是可以调整释放模式到A(光圈优先),然后调整光圈值大小。还有聚焦,既然是AF的镜头,就有自动聚焦的能力,自动聚焦有很多参数,比如模式,聚焦点等。这些都需要了解,毕竟实际没有让你有那么时间调整聚焦。 学习的方式就是拿着D7000的说明书看,我花了大约三天才看完。除了知道相机的附件很多之外,也知道了诸如包围,白平衡,ISO感光度,曝光测量等内容。这部分内容对我来说还是很有用的。看完当天拿着相机操作起各种参数,想要改善之前晚上照相始终不好的问题。 释放模式A(光圈优先),先调整到最大光圈,套头为18mm广角下的f/3.5,不开闪光灯,自动测光下快门差不多1/2.5,在安全快门 1/3.5(光圈值)之上,不得不考虑增加ISO感光量,比如从100到400,同时开启房间里所有的灯,这样才得到几张还不错的照片,相比场景模式夜景下曝光还是亮一些。想起前一天晚上手残上M,怎么调光圈,快门(纯理论派的做法,哈哈)都没法拍出眼前的场景。果然看了说明书才能驾轻就熟啊。 今天中午也拍了一些风景和人像。老实说套头在夜景下光圈确实不够,需要更多光源,在阴天的房间也是。这不表示这是一颗完全不可用的镜头(18-105mm,G型,AF-S,VR,ED这些都是实打实的,在光线不错的环境非常好),只是我觉得需要一颗标准大光圈头来弥补光线不好的场景。另外还有备用电池啊,替换掉好差的三脚架,买一块针对玻璃、水面反光的偏振镜(难以理解把UV镜当镜头保护的想法)等。接下来主要是磨练基础技术还有继续学习《纽摄》。

  • [2015-07-14]晨写-关于选课程序

    早上5点多醒来,最后的梦是关于一个选课程序的。趁还有点印象,记录点自己的想法。 大学时候的选课程序,感觉很玄,而且用这东西有时候需要靠运气。规则如下 课程时间段不能重叠 每个班的人数有上限 允许选了之后再退 班级内貌似会按照GPA、年级等排序,所以你有选不了的可能 班级人数较少时在会被解散,你需要重新选(悲剧) 部分课程是强制需要选的,比如游泳课 选择系统看似很简单,规则还挺多的,特别是一些特殊规则,触发条件各不相同。接下来是回想和吐槽大学的那个选课系统的时间。 貌似那个选课系统是之前一个学长写的?通信的?后来去西门子了?其实我是来拉仇恨的,为啥不是计算机系,自己系的人不争气啊。 这个系统偶尔会出现刷到别人课表的情况,现在想想就是脏数据,至于怎么脏法,还要看表结构设计。其实就是没怎么弄事务吧? 一个班级在最多50个人现有49人的情况下,2个人同时选结果会如何?这是我大学时候一直思考的一个问题,其实现在想想,乐观锁/悲观锁,套事务都可以,大学这点人数分散到课程的并发量其实没你想得那么大。再不行,改成提交选课申请,内部按照GPA,年级等规则在定时任务中安排,也就避免了这种并发问题,当然选课的模式和感觉就完全不同了。 突然想起了大学时候貌似数学系出了一个选课工具,现在想想,用DLX就可以了嘛,就是课程时间不能重叠。还是计算机系的人不争气,被理论派占了风头,计算机的学霸也没看到写程序多好的。 吐槽完毕。让我现在写个选课程序?我估计是不愿意了,太学生气了,又不是刚毕业的时候。不过想想当时作为计算机系人的傲慢还有固执,之后都不会再有了呢,不管你原来是什么系的,现在都只是程序员一个,就当是怀旧和自嘲吧。

  • [java]apache httpclient timeout waiting for connection

    本文是公司内一个问题的分析记录。涉及的框架为apache的commons-httpclient 3.x。 问题特征 无法从连接池中获取连接,异常描述为timeout waiting for connection netstat看到连接状态为CLOSE_WAIT 目标服务器ping得通,甚至curl等方式亦可以获取结果

  • nodejs/gulp学习小记

    以下是这两天学习gulp的笔记。因为gulp需要nodejs环境,所以我同时也学习了一点nodejs的使用。 gulp是一个前端构建工具,同类型的有grunt,也是基于nodejs环境的。这些构建工具的主要用途是压缩CSS/JS,混淆JS,添加banner,MD5内容哈希,图片spirit等。以前可能依赖在工程发布时用后端的编程语言或者其他脚本语言比如python编写的脚本,现在有了服务端js,准确来说,可以用表达为js的执行环境之后,出现了这些用js来表达的构建工具。 顺便说一下个人对于nodejs的理解。用js来表达的特点使得前端开发人员无学习成本地使用这个执行环境。不过js语法表达的限制使得node不太可能构建通用的服务端程序,换句话说nodejs有适合的领域,也有不太适合的领域。原先用其他语言实现的服务端功能不太可能完全照搬到nodejs上。当然现在大部分公司肯定存在异构语言的开发环境,对于受众主要是前端的场景来说,用js表达更有优势。 回到gulp上。在学习了一点npm(node的包管理器,类似ruby的gem)之后,得到如下结论。 1. 如果你要可执行的命令,执行npm install -g ,比如gulp 2. 如果你要给项目添加依赖,执行npm install –save-dev ,比如gulp-md5-plus, etc

  • sinatra/activerecord/grape小试

    以下是最近今天学习sinatra等框架的使用笔记。 sinatra 参考文档 http://www.sinatrarb.com/intro.html 个人感觉类似Spring MVC,主要学习了 URL映射 参数 静态文件 模板处理(ERB) 变量传递

  • 日本多次往返旅游签证使用小记

    上周日坐CA930到浦东机场,结束了我第一次没有单独申请签证直接使用日本多次往返签证的过程。因为网上关于这个签证的第二次使用没有太多资料,考虑了下我还是记录下我的经历,希望对各位有用。 今年(2015年)差不多1月19日的时候,出台了一个日本多次往返签证的新的申请档位:10w+年薪去过1次日本。去年(2014年)的时候我和公司里的同事组团15人去过大阪,而且那次旅游签证申请的话就要求10w+的收入证明。其实这个档就是说你只要去日本旅游过一次,就可以申请这个多次往返签证了。 但是携程等大型网站上你是看不到这个签证的,仍旧只有25w年薪这一档,所以一开始我以为是没法申请的。不过后来我在taobao上搜,发现了一家叫做“途易旅游”的OTA,这家可以申请这个新的10w多次往返签证。于是乎我就申请了这家,中间客服反应有多慢我就不提了,最终签证下来了就好。 拿到的签证与之前拿到的单次旅游签证不同,有一个MULTIPLE字样。同时10w档的多次往返第一次必须是冲绳,想要不是冲绳你必须满50w,这个数目是人都会觉得离谱。为了避免麻烦,签证和这次冲绳旅游是让旅行社一起办的。冲绳的旅游之前发过,总的来说海滩不错,不过和国内三亚感觉一样费钱,四天5万就没了,相比之下这次去东京,四天才2万不到,单指交通。 第一次使用10w档的多次往返必须要去冲绳,而且回来后要把护照上的签证页复印件,登机牌,冲绳酒店的住宿证明发给旅行社,让旅行社的人交给大使馆。这样才算是激活了你的多次往返签证。

  • [DSL]模式匹配与请求跳转

    [DSL]模式匹配与请求跳转

    具体上次撰写博客有一段时间了。这段时间内自己学些了很多,想了很多,尝试去理解了很多。结果之一是不管这个博客是为了什么而建立的,我还是把自己的技术思考记录下来。 本文描述是自己在工作中实现的一种DSL。DSL是个人今天年初左右才决定的发展方向,只是在具体工作中使用还是第一次。希望这可以作为自己在技术上选择性发展的一个好的开端。 由于是工作中开发出来的一种DSL,所以不会讲太具体的业务场景,而是以技术设计与实现为主。 本DSL的设计目的的核心如题,模式匹配和请求跳转。结合起来就是按照某种业务规则以模式匹配的方式决定请求是否跳转。更直接的一种表达方式是if else决定是否要redirect,只是这段if else是用DSL定义的。 使用DSL定义规则的好处在于更清晰地展现跳转的条件,避免技术实现给业务规则辨识带来的”噪音”,特别是复杂的跳转规则。其次是快速支持规则的变化,比如易变(不管是运行时易变,还是需求期易变)的规则,附带的另外一个好处是如果业务上需要动态定义的话,DSL可以快速支持,不再需要通过数据库设计,配置等传统方式。

  • [Java]运行时动态改变日志级别

    其实这不是什么神奇的trick,只是很多人包括我在一直以来使用Java的日志框架比如log4j时没有意识到可以动态改变日志级别。如果你看到别人这么写了的话,很快就会转变观念的,我也是。 https://github.com/xnnyygn/dynamic-log-level 这个github是我整理的log4j动态改变日志级别的代码以及测试,有兴趣的可以参考下。 个人觉得这个trick可以用的地方还是程序员给自己开“后门”,特别是查线上问题时。由于很多人打印日志的级别的convention不一致。比如我喜欢非常详细的输入参数和输出结果用DEBUG,但是有些人就喜欢打INFO。一些复杂的逻辑有些人打了十几八行的INFO级别日志,看得我心烦,这帮人打INFO就像喝水一样……所以有些时候临时改变日志级别可能是有用的。不过从开发上来说,没有很好地统一日志级别规范,没有重视CR,是导致这个问题的主因,但是作为程序员要给自己留一手,比如动态改变日志级别之类的。