使用Symfon2开发REST API接口

Submitted by Peniel on Sat, 05/27/2017 - 11:01

头段时间公司网站的手机版本,前端使用React+reduct,后端使用symfony 2.7,这里简短做一下总结。

相关组件(component):

  • 使用symfony的rest版本,symfony-rest-edition (https://github.com/gimler/symfony-rest-edition),使用里面的rest api
  • 用户管理:fosUserBundle,管理用户登陆
  • Oauth: hwi/oauth-bundle,用来实现qq登陆、微博登陆

配置:

需要对rest api的安全,缓存等进行相关设置,详细配置参考官方文档

Undefined

varnish 3实战

Submitted by Peniel on Thu, 05/18/2017 - 11:20

网站大部分内容不会随时改变,可以将不经常改变的内容通过varsnih进行缓存,以减轻服务器的压力。而当后台有新的数据发生变化的时候,可以通过后台自动更新对应的varnish缓存。

1. 安装varsnih sudo apt-get install varnish

2. 配置启动。ubuntu对应的配置文件 /etc/default/varnish

Undefined

Amazon ec2 添加用户

Submitted by Peniel on Tue, 05/09/2017 - 15:22

Amazon EC2不使用用户名和密码登录,需要创建key pair,这里使用liunux的ssh-keygen生成

1. 在本地命令行生成key pair。$ssh-keygen

2. 登录ec2,生成用户账号。$sudo useradd newuser

3. $cd /home/newuser/ && mkdir .ssh && chmod 700 .ssh && touch .ssh/authorized_keys

4. 将本地生成的id_isa.pub内容粘贴到ec2的文件 /home/newuser/.ssh/authroized_keys中。

5. 用户登录 ssh -i ~/.ssh/id_rsa_newuser newuser@ec2-host

6. 添加用户结束。

参考链接:

http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html

Undefined

使用React-Redux开发手机站点 - 1

Submitted by Peniel on Fri, 01/20/2017 - 11:16

准备工作:从github拉去最新的redux,使用example里面的real word作为基础开发环境。https://github.com/reactjs/redux/tree/master/examples/real-world。该环境配置好了一下工具:

  1. react-scripts: 使用create-react-app脚本(https://github.com/facebookincubator/create-react-app),包含了webpack, babel, ESLint等常用开发react配置开发工具
  2. redux-devtools
  3. redux-logger
  4. react-router
  5. react-redux-router
  6. redux-thunk: 用户加载插件,比如http异步请求

 

 

Undefined

精通正则表达式 - 开始

Submitted by Peniel on Thu, 09/22/2016 - 10:27

上周处理一个搜索字符串的小插件,里面涉及到使用正则表达式提取字符串,发现自己虽然知道正则表达式是怎么回事,但是还是无法得心应手的使用,所以决定在正则上回炉锻造,买了一本《精通正则表达式》,目前看了前面两章,思路得到了很好的整理。

正则表达式简单、优美、功能强大、妙用无穷。正则表达式是描述字符串结构模式的形式化表达。计算机程序通过字符串的组合组成千差万别的对象,而这一切大部分都围绕着字符序列,正则表达式有强大的结构表述能力,而描述了结构,就描述了系统。

正则表达式的强大的功能背后是让人会产生畏惧。入门很容易,就像我之前花点时间看一些tutorial就可以初步使用,但是对于复杂的处理需要对正则深入的了解甚至知道其工作原理。

在正则表达式中有字符、元字符,并且元字符在不同的结构种的意义可能会不一样,比如连字符-在结构[]的开始和中间也是一样,量词即重复的个数。转义字符用来显示字符的本来意义。子表达式是表达式的一个分支。

Undefined

Tags:

Ubuntu React Native 环境搭建遇到的坑:Couldn't get the native call queue: bridge configuration isn't available

Submitted by Peniel on Fri, 06/03/2016 - 16:01

首先要确保本地程序已经更新为最新,包括node,npm,java

然后是关于调试手机的时候的权限问题,需要通过设置(https://wiki.cyanogenmod.org/w/Doc:_adb_intro#Secure_USB_debugging

然后是这个问题:

Undefined

React tutorial 小结

Submitted by Peniel on Thu, 06/02/2016 - 10:07

跟着网站的tutorial做了一个评论框,拥有一下功能:
1. 显示评论
2. 提交评论
3. 每隔一段时间自动刷新评论

一共使用代码130多行,可以说比较简介,里面使用到了jQuery的ajax封装,使用marked展示html。

对里面代码的可以重复使用印象深刻,对代码之前的清晰的逻辑关系觉得很棒。如果和之前自己单纯使用jQuery实现相比简洁明了。更加重要的是如果有类似的相关功能各个模块可以轻松实现重用。

里面的数据状态改变之后,对应显示的html会自动更新,这样只需要关注数据的流动变化即可,对于维护复杂的界面来说是很好的一种解决方案。

github: 
https://github.com/mindevolution/php-react-comment

Undefined

Tags:

React webpack环境搭建

Submitted by Peniel on Thu, 05/26/2016 - 20:43

半年前的时候尝试过使用react,但是当时关于webpack,nodejs等很多东西没有搞清楚,虽然也写了一点东西,但是因为一知半解所以没有太多进展。

现在因为考虑到使用react native进行app跨平台开发,所以再次开始捡起react学习。看了田永强写的深入浅出node.js之后,顿时觉得豁然开朗。

node.js虽然是js,但是其实是通过c++ V8引擎编写的服务器端语言,其实和php,python等本质上没有区别,已经和客户端的js有质的不同,但是因为某种原因他的语法和前端浏览器一致,所以可以统一前后端的代码。

node.js的特点是事件驱动,异步非I/O阻塞。他里面实现了模块自动加载功能,可以让他成为一个可扩展的框架。

而react是本质上是js的一个扩展,通过webpack自动打包,可以优化开发测试流程。webpack就是一个把各种js,css,image等文件,包括通过服务器端的npm包,自动打包为一个可以在浏览器里面引入的文件,同时也是可以通过各种插件进行压缩等处理。

Undefined

Pages

Subscribe to zhilihe.com RSS