<commit_before>---
layout: post
author: 咕咚
title: "2018 年终总结"
description: "算是回顾吧"
author: gudong
tags: 年终总结
categories: blog 
---
![](<https://ws1.sinaimg.cn/large/0079McHKly1fyq24lf0vjj33402bsu0x.jpg>)

<figcaption class="caption">北京动物园游水的鸭子、天鹅们</figcaption>

2018 年的最后一天带孩子还有爸妈去了北京动物园。

天气不是很晴朗，但是风很小，在动物园里看了大熊猫、大象还有一些小猴子。他对动物看上去兴趣不大，直到后来看到了在水里嬉戏的鹅、鸭子等，他才去主动拿东西逗他们玩，不过同时也是第一次带父母去动物园，带父母逛逛动物园也是很好的一件事。


下面说说我的 2018。

###学习 Vue、WebPack 等前端技能

在工作之初曾有过一段“野鸡”的前端开发的经历，但是那时对前端开发了解并不多，而现在前端变化很快，这几年陆续听到了很多前端框架，所以今年年中有一段时间正好公司内部有一个需求，需要自己写一个前端页面，其中已有的 UI 是用 Vue 写的，所以自己便开始边学边用，把 Vue 用了起来。同时为了了解 Webpack 打包技术，后来便找了一个视频教程去学习了 Vue 以及 Webpack 打包技术。

这里特别感谢慕课网的那个老师，这是教程地址 - [Vue\+Webpack打造todo应用\-慕课网](https://www.imooc.com/learn/935)，老师讲的特别好，结合一个简单的网页 TODO 应用，老师完整的开发完了这个项目，我也跟着老师敲完了项目。

### 开发柳叶清单

柳叶清单-[https://gudong.name/list](https://gudong.name/list/#/)

在学完 vue 还有 webpack 后，我终于可以把自己长久的一个想法实现了-**实现一个类似 Trello 网页清单程序 **。利用 Vue 技术做 UI 很轻松，但是没有后端数据库等支持，所以自己找了 [Leancloud](https://leancloud.cn/) ，它提供[云函数](https://leancloud.cn/docs/leanengine_webhosting_guide-python.html)机制，所以我可以很方便的去用它做后端的事，它极大的简化了柳叶清单的后端工作。

后端选择了 Python 语言进行支撑开发，柳叶清单所有的请求接口都是自己实现，这在 leancloud 中实现非常 easy，试想如果一开始让自己搭建一个服务器环境并部署，我觉得很可能会跪，柳叶清单也不会完成。再次感谢 leancloud。

### 玩转后端

不知道为什么，一直以来自己都想尝试后端开发，总感觉它有魔力一样，所以今年在开发柳叶清单时，自己便花了不少时间去写后端的代码。

我是用的 Flask 框架去编写后端的  API，如清单的登录、注册、添加、删除、更新清单等，自己还对代码结构优化了好几次，代码后来也被自己开源了，严格的说我只是把他放在了 github。

[maoruibin/waishuo: 歪理歪说](https://github.com/maoruibin/waishuo)

在开发完柳叶清单，后来梳理了所有 API ，并把它们整理，然后把 API 开放了处理，尽管现在还没人用我写的清单 API。

[柳叶清单开放 Api \| 咕咚](https://gudong.name/2018/09/07/todo-api.html)

leancloud 还支持定时函数，所以开发在开发清单时，我想每天把清单的用户、最新数据都给自己用邮件的形式定时发给自己，就用了定时函数干了这个事。甚至自己还做了一个定时监控程序，用于监控 EOS 的价格，以便自己做波段操作，后来也是被自己玩废了，短线伤不起。

总体来说，做了四五年的前端 Android 开发后，感觉后端开发更有魔力，它的想象力更大更丰富。

### 工作

今年陆续做了不少微博首页相关的功能，其中影响最大的是首页 Tab 管理重构，其实只是把前人写死的 tab 顺序做到了动态配置，支持任意的 Tab 排序，嗯嗯，今天微博首页更新了，很多用户还[吐槽发布器找不到了](https://weibo.com/1988264545/H9KVPwapq)（被移动到了右上角）,视频签被独立了一个 Tab。<commit_msg>Update 2018-12-31-2018-summary.markdown<commit_after>---
layout: post
author: 咕咚
title: "2018 年终总结"
description: "算是回顾吧"
author: gudong
tags: 年终总结
categories: blog 
---
![](<https://ws1.sinaimg.cn/large/0079McHKly1fyq24lf0vjj33402bsu0x.jpg>)

<figcaption class="caption">北京动物园游水的鸭子、天鹅们</figcaption>

2018 年的最后一天带孩子和爸妈去了北京动物园。

天气不是很晴朗，但是风很小，在动物园里看了大熊猫、大象还有一些小猴子，他对动物看上去兴趣不大，直到看到了在水里嬉戏的鹅、鸭子。

下面说说我的 2018。

### 学习 Vue、WebPack 等前端技能

在工作之初曾有过一段“野鸡”的前端开发的经历，但是那时对前端开发了解并不多，而现在前端变化很快，这几年陆续听到了很多前端框架，所以今年年中有一段时间正好公司内部有一个需求，需要自己写一个前端页面，其中已有的 UI 是用 Vue 写的，所以自己便开始边学边用，把 Vue 用了起来。同时为了了解 Webpack 打包技术，还找了一个视频教程去学习了 Vue 以及 Webpack 打包技术。

这里特别感谢慕课网的一个老师，这是教程地址 - [Vue\+Webpack打造todo应用\-慕课网](https://www.imooc.com/learn/935)，老师讲的特别好，结合一个简单的网页 TODO 应用，老师完整的开发完了这个项目，我也跟着老师敲完了项目。

### 开发柳叶清单

柳叶清单-[https://gudong.name/list](https://gudong.name/list/#/)

在学完 vue 还有 webpack 后，我终于可以把自己长久的一个想法实现了- ** 一个类似 Trello 网页清单程序 ** 。利用 Vue 技术做 UI 很轻松，但是没有后端数据库等支持，所以自己找了 [Leancloud](https://leancloud.cn/) ，它提供[云函数](https://leancloud.cn/docs/leanengine_webhosting_guide-python.html)机制，所以我可以很方便的去用它做后端的事，它极大的简化了柳叶清单的后端工作。

后端选择了 Python 语言进行支撑开发，柳叶清单所有的请求接口都是自己实现，这在 leancloud 中实现非常 easy，试想如果一开始让自己搭建一个服务器环境并部署，我觉得很可能会跪，柳叶清单也不会完成。再次感谢 leancloud。

### 玩转后端

不知道为什么，一直以来自己都想尝试后端开发，总感觉它有魔力一样，所以今年在开发柳叶清单时，自己便花了不少时间去写后端的代码。

我是用的 Flask 框架去编写后端的  API，如清单的登录、注册、添加、删除、更新清单等，自己还对代码结构优化了好几次，代码后来也被自己开源了，严格的说我只是把他放在了 github。

[maoruibin/waishuo: 歪理歪说](https://github.com/maoruibin/waishuo)

在开发完柳叶清单，后来梳理了所有 API ，并把它们整理，然后把 API 开放了处理，尽管现在还没人用我写的清单 API。

[柳叶清单开放 Api \| 咕咚](https://gudong.name/2018/09/07/todo-api.html)

leancloud 还支持定时函数，所以开发在开发清单时，我想每天把清单的用户、最新数据都给自己用邮件的形式定时发给自己，就用了定时函数干了这个事。甚至自己还做了一个定时监控程序，用于监控 EOS 的价格，以便自己做波段操作，后来也是被自己玩废了，短线伤不起。

总体来说，做了四五年的前端 Android 开发后，感觉后端开发更有魔力，它的想象力更大更丰富。

### 工作

今年陆续做了不少微博首页相关的功能，其中影响最大的是首页 Tab 管理重构，其实只是把前人写死的 tab 顺序做到了动态配置，支持任意的 Tab 排序，嗯嗯，今天微博首页更新了，很多用户还[吐槽发布器找不到了](https://weibo.com/1988264545/H9KVPwapq)（被移动到了右上角）,视频签被独立了一个 Tab。
{'fraction_non_alphanumeric': 0.1251916198262647, 'fraction_numerical': 0.02810424118548799, 'mean_word_length': 8.642857142857142, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 18, 'lorem ipsum': 0, 'www.': 2, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3733157', 'n_tokens_mistral': 3126, 'n_tokens_neox': 3536, 'n_words': 203}