本来新年第一篇博文理应是2017年的总结。客观+主观原因,一直拖着难产不出。近期工作这边有需求,APP这块一个独立的业务搭建一个迷你小后台。既然是迷你小后台,应该找不出Express+Mongo以外更好的选择了吧。node和mongo结合,最通用的就是mongoose这个库,操作使用都很便利,简单。在这里笔记总结一下
more >>本来新年第一篇博文理应是2017年的总结。客观+主观原因,一直拖着难产不出。近期工作这边有需求,APP这块一个独立的业务搭建一个迷你小后台。既然是迷你小后台,应该找不出Express+Mongo以外更好的选择了吧。node和mongo结合,最通用的就是mongoose这个库,操作使用都很便利,简单。在这里笔记总结一下
more >>因为RN开始接触React,JSX相比HTML,更加简明。由于All in JS,如果在编写React代码的时候不注重代码的规范和整洁。后期维护起来会相当的痛苦。
正如文章所说:编程也是艺术行为,当我们丝毫代码复用、变量命名时,就是在进行艺术的思考。
more >>快速开发一个web接口,应该没有比Express+mongoDB更快/更简单的组合了。这里简单总结一些使用nodeJs的mongoose模块链接和操作mongoDB。
基于nodejs快速、开放、极简的web开发框架,怎么安装就不在赘言。这里要说的是如果使用node命令启动server,每次修改文件都需要Ctrl+c非常麻烦。这里可以使用nodemon自动重启,监听路由和响应内容.十分方便
1 | npm install -g nodemon |
Express的一些特性:
使用起来非常简单,半个小时不到就能上手
Mac的话,安装mongoDB非常简单
1 | brew install mongodb |
搞定.
通过命令后台启动
1 | mongod --config /usr/local/etc/mongod.conf |
之后再开一个终端窗口
就证明mongo安装成功咯。
more >>unhappy with redux? try mobx
相比上手/操作及其繁琐的Redux,用Mobx做状态管理,最直观的感受是爽爆了。
Mobx是一个非常直观的状态管理库,使用非常简单。通过Mobx,使react 关注的状态(state)到视图(view)的问题。而 mobx 关注的是状态仓库(store)到的状态(state)的问题。
废话不多说,这里通过一个最最简单的例子来感受基于RN的Mobx。
more >>说道函数式编程,JS这边Redux是代表中的代表。
以Redux的reducers函数为例,它是标准的纯函数,这里举个最简单的例子,说明为什么要用纯函数:
首先是源码
1 | unction posts( |
如果我们不用return,在reducer内修改旧的state变量。变为不纯的函数,是这样的。
more >>半路出家搞RN,还是有必要学习学习原生的东西,最近在看Swift语法。这里杂乱的记一下。
(2017.11.3 ·水立方)
let关键字和var关键字分别表示常量和变量
Swift是一种let关键字和var关键字分别表示常量和变量
Swift是一种非常简洁的语言,其允许开发者省略分号,自动换行来分割语句,同事也支持在一行中编写多句代码
如果需要改变变量的值,直接对变量再赋值即可。需要注意:所复制的类型必须和变量的类型保持一致。
more >>巨硬提供的一套热更新策略。使用CodePush 可以进行实时的推送代码更新。CodePush 作为一个中央仓库,开发者可以推送更新 (JS, HTML, CSS and images),应用可以从客户端 SDK 里面查询更新。
CodePush开源了react-native版本,react-native-code-push托管在GitHub上。
在公司开发的APP上,上周集成了热更新。碰到了一些小bug,热更新搞一哈,悄悄地把问题改掉咯。免去了发版的烦恼。(仅限于JS bundle部分,要是修改了原生,使用了link操作。还是得老老实实发版)
more >>tag:
缺失模块。
1、在博客根目录(注意不是yilia根目录)执行以下命令:
npm i hexo-generator-json-content --save
2、在根目录_config.yml里添加配置:
jsonContent: meta: false pages: false posts: title: true date: true path: true text: true raw: false content: false slug: false updated: false comments: false link: false permalink: false excerpt: false categories: false tags: true