1. Bye 2014! Hello 2015!

    2014 过去了,这一年于我来说似乎没有太大的印象。本命年对我的影响似乎不大,但是着实也不小。我不知今年究竟是幸运更多,抑或是不幸更多。但是比起 2013 年,已然是平淡安稳的一年。

    过去的这一年中,我并没有太多的关注自己的技术发展。当初选择 Java 是因为当初恰巧有这样的入行的机遇,而且 Java 又机会比较多、技术相对学过 C 的我来说比较简单。如今算是大半只脚踏入了互联网行业,但是始终工作没有我理想中的那么开心和自如。这一年半做数据项目的时间中,快乐的时间太少。我自然知道未来数据的重要性,数据工作人员的职业发展潜力会很大。但是当初做程序员,我只是希望可以做出有趣的东西,如今这份工作实在谈不上“有趣”,除了和测试妹子们以外,与人的交流也太少,我深深的感觉到自己已经快要长毛了。而且组里给我的机会太少,不知是不是因为我是女生的关系。年中时我看了一些 Android 开发的资料,最终没有下定决心转做移动客户端。最后压垮骆驼的稻草则是,一贯比较自由的公司竟然宣布施行 “996制度”。对魅族深深的失望、对珠海的落后的反感,我终于还是下定了决心不再做 Java 了,也不想再留在魅族 …

    read more
  2. iOS-开发学习日记-20141209

    I.《马上着手开发 iOS 应用程序 (Start Developing iOS Apps Today)》

    使用系统 OS X 10.10,Xcode 6.1.1 进行开发学习,教程中有遗漏的点:

    • Introduction —> Tutorial: Basics 中,Xcode 6.1.1 缺少的 Empty Application 模版可以在这里进行下载:the Missing Templates
    • 串联图(Storyboard)步骤中,Xcode 6 中会出现按照教程中步骤创建完 Storyboard 无法启动模拟器、程序 crash 掉的现象,新创建的这个串联图也并没有教程中所说的“箭头”产生。这是因为默认新创建的 …
    read more
  3. Redis学习笔记

    Redis 介绍

    • Redis 是一种“key-value”的存储,通常被当做一个NoSQL数据库
    • 原子操作:INCR

    基本操作

    • SET 负责永久存储一个数值在指定的键上;SETNX = set if key not exit:

    shell SET key some-value

    • GET 负责读取一个键对应的值:

    shell GET key

    • DEL 操作删除一个key;INCR 自增
    • EXPIRE 定时过期:

    shell EXPIRE key second

    TTL 过期前的剩余时间,返回值是-2则表示key已不存在,-1表示永远不会过期。如果 SET 了key,它的 TTL 会被重置:

    shell …

    read more
  4. MySQL中NULL与空值的区别

    昨天在工作时,出现一个问题:数据库中建表某个字段规定为NOT NULL的,但是插入的相应字段的字符串为""时候,直接插入数据库中,而没有禁止插入。

    在网上查了一下,发现在MySQL中,NULL(空)与 ""意义并不相同:

    使用NULL可以区分“没有输入数据”和“输入空数据”, 差异在于: + NULL的长度就是NULL,空字符串的长度为0 + 一串NULL数据比空字符串优先排序 + COUNT(message)会将空字符串计数进去,但是不会将NULL数据们计入 + 可以使用绑定变量搜索某个空字符串,但是不可以这样搜索 …

    read more
  5. Programming Hive 笔记 (I)

    I. Hive介绍

    • Hadoop中,有一个计算系统MapReduce,将计算任务分解到集群中的服务器上计算,这样可以更有效率的处理大数据的计算;计算系统下面有一个分布式文件系统(HDFS)。那么问题来了:

      怎样把已有的建立在关系型数据库上面的、使用SQL的数据结构,迁移到Hadoop上面呢?

    答案:

    HIVE!

    • Hive使用大家都熟悉的类SQL语言从Hadoop集群中查询数据,让使用者把注意力都放在查询上,而不是其他方面
    • 适合使用Hive的场景:数据仓储应用中——相对静态的数据被分析,不要求快速回应,数据没有频繁的变化
    • Hive不是完整的数据库。Hive的功能被Hadoop和HDFS的限制所限制。
    • Hive不提供一条纪录水平上的update、insert、delete。可以通过查询生成新的表,或者导出查询结果到文件
    • 因为Hadoop是面向批处理的系统,Hive查询延迟更高(因为MapReduce的开销),再小的数据集,Hive查询相比传统DB也要花费更长的时间
    • Hive不提供事务
    read more
  6. 一周总结

    很晚了,我快速的总结下。

    总体来说这周并没有上一周那么专注。上一周可以随时背单词,并且中午学习德语,而且可以专注在自己的项目上很长时间,这周更容易走神,刷网页也比较多。可惜现在必须要熟悉自己的手机,不然我还是更喜欢用原来那个诺基亚的黑白机来抵制自己浪费时间。

    工作不是太忙,所以多了很多时间看b3log的代码。我还是选择去看GAE部分的代码了。b3log用的是他们自己开发的类似Spring MVC的latke框架,并且用了FreeMarker做render渲染前端。这一周我大致明白了这个程序的结构,同时通过看b3log和latke的源代码学习到了不少东西。它们的代码都很漂亮,构架并不复杂很清晰,逻辑性挺强的。通过它和自己手头目前仅有的bi项目和曾经接触过的FM web,感觉自己越来越进步了。

    所以还是要多看代码、自己多写。下面一周就不能再只是看代码了,要开始开发了。

    看了一下,如果要重新改进它的MarkDown编辑器,主要还是在排版CSS上面下功夫,如果重新写一个编辑器,可能也是用JS基于已有的开源编辑器开发,我并不是前端,不知道究竟是不是要花精力去搞这个东西。毕竟现在我后端的东西还不太扎实,还有太多要学习的。但是前端毕竟只是一个过渡性的职业,未来一定不仅仅分前后端的,我要都会才行呀,不如就慢慢学吧。买了一本《写给大家看的设计书》。

    唉,做“全栈工程师”还有太长太长的路要走,现在我只是武侠游戏中刚刚走出山村里面家门的主人公,只有生砍这个招数,想要成为武林中有名声的人物 …

    read more
  7. 妇女节GDG DevFestW行简要记录

    迎着春日依旧料峭潮湿的寒风,我昨日踏进到了位于拱北区域的金山公司的大门。之前在公司内部论坛看到了同事分享的GDG(谷歌开发者社区)珠海针对妇女节的活动(Dev Fest W),于是周六早上我便拉上还没有毕业的实习生妹子一起赶去了。

    珠海并不像北上广深杭那样有着浓厚的互联网氛围,有GDG珠海的分组,让我很是惊讶。到了才知道,珠海group成立还不到两年,牵头人是金山公司里一个有趣的开发者。半个多小时以后,人陆陆续续的来了一部分,大家签到后都落了座,活动也就这样开始了。

    一番对组织和活动的简单介绍后,第一位“讲师”上台了。这是一个很漂亮的姑娘,也是金山的内部员工。她毕业后做过测试,后面转了岗位,做了HR,现在负责员工的培训。我了解到这个环节应该是讲职业规划,也有心听一听过来人的经验之谈。没想到现场调查时,全场几十个男生和女生中,大部分都是大学生,更有不少是大一大二的,而像我一样已经工作的寥寥无几。顿时心中有点讶异和少许的失落。接下来的讲座,讲师并没有谈太多IT业的职业规划,而是更针对“要有职业规划和目标”这个话题展开了略显冗长的论述。

    在她谈到“对未来有目标”时,她提了一个问题:“未来这几年你有什么规划,愿意分享下吗?”在座的没有任何一个人应答,于是我想了下 …

    read more
  8. 个人博客的初尝试

    从上周周末开始搭建自己的blog。选用国人使用Java开发的B3log开源博客系统,因为这样学习成本会小很多。到了昨天终于把它在本地tomcat+mysql环境上、以及GAE上搭建起来。

    B3log

    搭建本地tomcat环境时可参考他们给出的官方文档,因为从github上面扒下来的项目的目录结构和平常的不太一样。

    本地GAE环境还没有搭建起来,因为GAE被墙了,一直在考虑要不要用它,不过BAE最近限制注册,也是个麻烦。服务器上面架设比较简单,直接把b3log的GAE文件夹下面web的文件夹下面的所有文件全部上传(或者打成war包上传)到GAE上自己的application下面(之前要改一下设置,见他们的官方wiki)。

    接下来一周的计划:

    • 利用周末两天看完GAE的相关知识,搭建好本地的GAE环境;
    • 熟悉工程,以及他们自己开发的latke框架。
    • 如果时间够,改进一下或者直接重写一个MarkDown编辑器。前端很丑,但是编辑器好不好用还是很重要的呀。
    read more

« Page 3 / 4 »

links

social