微信公众号开发总结

公司准备在微信公众号上做个东西,所以研究了一周的微信公众号开发,今天在这里做一个总结。
在总结之前,先说一下本人使用的环境,语言是PHP,框架是CI和CI框架下的一个RESTFul框架codeigniter-restserver

阅读更多

Mac10.11升级安装openssl

一直想要升级Mac上的openssl,但是前面没弄成功,所以耽搁到现在。今天由于安装一个软件需要安装openssl到1.0.1版本以上,所以查了下资料,终于升级成功了,也算是还了前面自建证书配置HTTPS服务器这篇博客的债。

阅读更多

ReactNative之原生模块开发并发布——android篇

前段时间做了个ReactNative的App,发现ReactNative中不少组件并不存在,所以还是需要自己对原生模块进行编写让JS调用,正是因为在这个编写过程中遇到不少问题,发觉了官网文档中许多的不足。所以产生了写一个实践教程的想法,最终有了这么一篇文章。

整篇文章主要以编写一个原生模块为例子,来讲述了我们在编写原生模块所用到的一些知识,并且在整个例子中,配有了完整的实践代码,方便大家理解并调试。除了这些内容,文章还讲述了我们如何将自己编写的原生模块发布到npm上分享给别人使用。希望能够给大家带来帮助,也希望大家将自己编写的原生模块分享出来。

示例代码github地址:https://github.com/liuchungui/react-native-BGNativeModuleExample

阅读更多

ReactNative之原生模块开发并发布——iOS篇

前段时间做了个ReactNative的App,发现ReactNative中不少组件并不存在,所以还是需要自己对原生模块进行编写让JS调用,正是因为在这个编写过程中遇到不少问题,发觉了官网文档中许多的不足。所以产生了写一个实践教程的想法,最终有了这么一篇文章。

整篇文章主要以编写一个原生模块为例子,来讲述了我们在编写原生模块所用到的一些知识,并且在整个例子中,配有了完整的实践代码,方便大家理解并调试。除了这些内容,文章还讲述了我们如何将自己编写的原生模块发布到npm上分享给别人使用。希望能够给大家带来帮助,也希望大家将自己编写的原生模块分享出来。

示例代码github地址:https://github.com/liuchungui/react-native-BGNativeModuleExample

编写android原生模块,请看ReactNative之原生模块开发并发布——android篇

阅读更多

ubuntu下搭建vpn历程

去年四月份的时候,和同学一起买了一个香港的服务器,准备搭建一个vpn给自己翻墙用。当时,vpn搭建成功了,但是连上去之后,根本连不了google。后来,去咨询了一下盼哥,盼哥给我介绍了一款很出名的翻墙工具Shadowsocks。于是,到网上搜了一个教程,apt-get install安装,稍微配置一下,在本地电脑下载一个客户端,填写服务器和密码,在浏览器中输入google.com立马就出现了心动的页面,顿时整个人感觉神清气爽,觉得Shadowsocks真是个好东西。于是,使用Shadowsocks翻墙,用到了现在,一直感觉不错。不过,在使用途中,它也存在一定的不足,那就是命令行下无法翻墙,手机上体验不太好(我使用一次就不再使用了)。前几天,由于使用ReactNative开发安卓,在命令行下一定需要翻墙下载google的东西。于是乎,重整了一下vpn,最终还是以失败告终。后来,准备曲线救国,使用Shadowsocks和一些辅助工具进行全局翻墙,查找了网上的教程,搭建后都失败了。最终,在网上下载了一个vpn翻墙工具VPN Unlimited,搞定了自己的问题,但是有时间限制。

今天,按照同学发的一个链接教程重新整一下vpn,又以失败告终,而且VPN启动都启动不起来了,于是乎google到上面继续找教程,找到了一篇vps ubuntu上搭建pptp服务,按照上面搭建,没想到成功了。
鉴于以上搭建的不容易,特此记录一下搭建步骤。

阅读更多

GCD总结

GCD的知识点:

  1. queue分成两种,分别是串行队列(Serial Dispatch Queue)和并行队列(Concurrent Dispatch Queue)。
  2. 串行队列只会创建一个线程,而各个串行队列之间是并行的。
  3. 串行队列个数创建不受限制,也就是通过串行队列创建的线程可以有很多个,但是这样会存在消耗大量内存的问题;而并行队列不会,不管创建多少个并行队列,XNU内核只使用有效管理的线程。
  4. 在iOS6以后,ARC已经实现了GCD的内存管理,所以不用我们去管理它的内存了。
  5. 系统已经为我们提供了两个queue,分别是main queue和global queue,其中main queue是串行队列,global queue是并行队列。

阅读更多

ReactNative之Flex布局总结

从二月份开始学习ReactNative到现在已经有两个月了,零碎的记录了很多笔记,一直想写一些ReactNative相关的东西,奈何感觉自己学习的还比较浅陋,而且笔记比较杂乱,不知从何而起,所以迟迟没有动笔。清明三天假,决定无论如何都得整一篇出来。本来是想整一篇ReactNative布局篇的,但是看看那么多布局属性,自己对CSS又不是特别熟悉,布局篇从何谈起?所以,专门拿出ReactNative中布局比较重要的一个点Flex布局来做下总结,算是开启ReactNative篇章。

Flex是Flexible Box的缩写,意为“弹性布局”,2009年它由W3C提出了一种新的网页布局方案。而FaceBook将这个布局也应用到React和ReactNative两个项目当中。而在ReactNative当中,网页的有些属性和属性的值并不支持,下面来看看ReactNative当中支持的属性。(如果对于Flex布局不太了解的同学,可以看看Flex 布局教程:语法篇

阅读更多

Runtime之类与对象总结

以前在使用jastor解析Json成model的时候里面涉及到了Runtime里面的知识,所以专门看了Objective-C Runtime 运行时之一到六这一系列的文章,整个Jastor也就懂了,现在非常出名的框架MantleJSONModel也都是差不多的原理。但是,一年之后的今天重新再看的时候,发现大概思路知道,但是具体的一些细节实现需要写的时候,却一时上不了手,所以重新看了Objective-C Runtime 运行时一系列,然后整理了一下,细节部分附上一些代码,方便以后查找。

阅读更多

BGSession一个基于NSUserDefaults实现的轻量级本地数据存储

BGSession是一个基于NSUserDefaults实现的轻量级数据存储,你只需要简单的继承它,给它添加属性,设置属性的值,就能通过NSUserDefaults同步到本地。

阅读更多

2015年总结

现在已经2016年1点了,去年这个时候看到别人都纷纷写着一年的总结,那个时候顿生崇拜。今年,我也来个简短的总结吧!

阅读更多