• BLOG
  • ARCHIVE
  • X
  • GITHUB
  • ABOUT
  • RSS
  • 2015, 再见

    Jan 9, 2016

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    今天是2016年1月9日, 2015已经离开一周了, 不总结总结2015年事情总是感觉少点什么. 2015, 人生转折后的第一年, 如果没有转折, 可能我现在已经子承父业, 蜗居在小县城挣扎在温饱的生死线上吧.

    如今我成为北京北漂大军的一员, 还不知道2017年我会在中国版图的那座城市.
    今年算是养成了好读书, 不求甚解的坏毛病, 重温了考研四大科目, 计算机基本课程(数据结构, 计算机网络, 操作系统, 计算机组成原理, 算法), 当然课本不再严奶奶之流, 重读一番国外名校的参考书总是有一些额外收获的. 另外, MySQL和MongoDB数据库之流也算有了初步的入门, 回想当年大学数据库老师认真传授知识的态度, 如今是满满的愧疚. 同时, 也学习了一番Redis使用, 然而也只能停留在知道它是单线程事件循环机制, 支持丰富的数据结构并且读写高效使其在缓存领域打下了一片江山.

    ...more
  • 理解RESTful API

    Jan 3, 2016

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    简介

    随着Web开发的不断开发, 低耦合的需求被提上了日程, 催生出了前后端分离的方案. 前后端分离使前端和服务器端相互独立, 细化前后端开发, 于是近几年API架构风行.

    RESTful架构由Roy Fielding在一篇博士论文中提出. `REST, 即Representational State Transfer的缩写, 中文可以译为表现层状态转化

    • 表现层可以理解为资源的表现层, 资源在网络通信中无处不在, 一段文本, 一张图片, 一个文档都是资源, JSON是现在最常用的资源表示格式. (相对于资源, 数据是一种更加抽象的形式)
    • 状态转换可以理解为客户端发起的无状态的HTTP请求, 导致服务器的资源的状态转变, 常用的五种HTTP动词.
    ...more
  • Git操作小记

    Dec 27, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    Git操作清单

    持续更新…

    提交和删除

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    # 使用一次新的commit,替代上一次提交
    # 如果代码没有任何新变化,则用来改写上一次commit的提交信息
    $ git commit --amend -m [message]

    # 重做上一次commit,并包括指定文件的新变化
    $ git commit --amend ...

    # 删除暂存文件, 不删除本地
    $ git rm --cached filename

    # 本地的dev分支推送的远程dev分支(远程没有则创建)
    $ git push origin dev:dev

    # 从远程仓库抓取所有本地没有的内容
    $ git fetch origin

    # 推送, 本地的修改推送到远程remote中的branch分支上
    $ git push (remote) (branch)

    # 选择一个commit,合并进当前分支
    $ git cherry-pick [commit]
    ...more
  • C++实现简单的反射机制

    Dec 17, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    反射机制

    在Python中, 通常RPC中经常看到一种场景, 通过协议解析客户端请求后, 拿到要调用的函数的字符串, 通过字典映射得到对应的可调用的函数, 其中利用了Python解释性语言的特性. 这个特性有一个名字叫反射

    反射是通过一个字符串名来做创建, 调用, 获取信息等操作.

    C++是一种静态语言, 并不支持这种特性, 但是我们可以自己实现这种反射机制.

    ...more
  • Python单元测试和Mock测试

    Dec 12, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    单元测试

    • 测试可以保证你的代码在一系列给定条件下正常工作
    • 测试允许人们确保对代码的改动不会破坏现有的功能
    • 测试迫使人们在不寻常条件的情况下思考代码,这可能会揭示出逻辑错误
    • 良好的测试要求模块化,解耦代码,这是一个良好的系统设计的标志
    ...more
  • Atom开箱指南

    Dec 3, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    简介和安装

    大图

    狗带一个官方简介: Atom是一个现代文本编辑器, 高度可定制而不需要写烦人的配置文件, 另外Github出品必属精品, 现在应该是社区推动了, 我是世界最大男性交友网站的脑残粉…

    • 自带包管理apm
    • 智能补全, 预装文件浏览树
    • 跨平台编辑(好像我在说废话, 有名的Editor都能做到这些
    • 颜控必备, 丰富UI和语法高亮, 还能自己进行配置
    • 听说对前端开发很友好
    ...more
  • 计算机研究生到底该怎么读?

    Nov 27, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    从开始走进久经历史的大学, 我就开始思考一个问题: 计算机研究生到底该怎么读大学. 经过接近一年的沉淀, 我又重新思考这个问题, 或者这次会给自己一个答复

    研究生生涯大多二至三年, 一些外校考入的学生, 在研究生生涯中真正学术科研实践, 满打满算也就是二年(第一年要上课修够毕业学分, 第三年不准备读博的必须准备实习和找工作了), 在师兄的统计中, 大部分的科研时间都是研二短暂的一年(更多的是因为要达到研究生毕业要求)

    三年时间, 不算短不算长, 大概有人生的1/25之一, 可仔细思考一下, 我们想要得到什么, 我们通过科研能够得到什么.

    ...more
  • sed awk学习笔记

    Nov 21, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    由于最近在知乎实习过中不断从大量日志中查找bug的经历, 我决定重新深入学习Shell命令, 以前缺少应用场景导致一些命令并无用武之地.本文主要针对sed和awk做一个简单的学习笔记, 方便以后回顾和再总结

    sed

    Sed其实是一种非交互式的编辑器

    sed命令格式: sed [options] {sed-commands} {input-file}

    ...more
  • Python奇技淫巧

    Nov 14, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    显示有限的接口到外部

    当发布python第三方package时, 并不希望代码中所有的函数或者class可以被外部import, 在__init__.py中添加__all__属性,
    该list中填写可以import的类或者函数名, 可以起到限制的import的作用, 防止外部import其他函数或者类

    ...more
  • Buildout使用小结

    Nov 7, 2015

    本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.

    buildout简介

    Buildout是一个基于Python的构建工具, Buildout主要是为了解决两个问题:

    • 中心化的应用组装和部署
    • 重复的从Python软件发布中组装项目

    通过一个配置文件buildout.cfg, 可以从多个部分创建、组装并部署你的应用, 能够构建一个封闭隔离的开发环境.

    ...more
PREVNEXT

© 2014 - 2026 Andrew Liu, powered by Hexo and hexo-theme-apollo.