Skip to content

Commit

Permalink
Create 平安金融科技移动技术周报(第二十一期).md
Browse files Browse the repository at this point in the history
  • Loading branch information
ASCE1885 committed Jun 2, 2016
1 parent a507640 commit 0db5f66
Showing 1 changed file with 117 additions and 0 deletions.
117 changes: 117 additions & 0 deletions 平安金融科技移动技术周报(第二十一期).md
@@ -0,0 +1,117 @@
# [平安金融科技移动技术周报](https://github.com/PaicHyperionDev/MobileDevWeekly)(第二十一期)

标签(空格分隔): 技术周报

---

> @author ASCE1885的 [Github](https://github.com/ASCE1885) [简书](http://www.jianshu.com/users/4ef984470da8/latest_articles) [微博](http://weibo.com/asce885/profile?rightmod=1&wvr=6&mod=personinfo) [CSDN](http://blog.csdn.net/asce1885) [知乎](https://www.zhihu.com/people/asce1885)
![IMG_2973.JPG-2659.3kB][1]

[外网链接](http://www.jianshu.com/p/4860485d70a0) [壹翎阁论坛链接](http://139.196.14.76/t/topic/303)

> **本期导读**:本期在排版上面进行了小的更新,首先独立出 React Native 板块,专门介绍 RN 相关最新的技术文文章;其次每篇文章都加上了作者的信息,可以方便大家关注感兴趣的作者,优先提供作者的微博链接。
## 原创专题

#### 1)[如何为公司的 MacBook 安装 Linux](http://139.196.14.76/t/macbook-linux/136) @[HaHack](http://weibo.com/weizhoupan?refer_flag=1001030201_&is_all=1)(应用架构组)

出于一些特殊的原因,有时候用 Linux 还是有必要的。本文将介绍如何为公司的 Mac 电脑安装一个 Ubuntu 系统。

#### 2)[浅谈分布式系统的session共享方案](http://139.196.14.76/t/session/300) @李闯(产品服务组)

什么是分布式系统? 这个问题很难回答, 也不是本文的要讨论的范畴。从开发者角度来说, 服务端部署在多个tomcat容器(或其他web容器), 通过负载均衡器(比如F5)对外暴露接口, 客户端每次发送的请求会随机分配给其中一个tomcat容器处理。这就是一个简单的分布式系统。

#### 3)[获取当前用户代码分享](http://139.196.14.76/t/topic/301) @李闯(产品服务组)

在 "浅谈分布式系统的SESSION共享方案" 一文中提到将session存储到缓存系统cache中, 这样每个需要访问session的bean都要注入cache的访问接口, 很不方便, 本文将提供一种解决方案让我们通过访问静态方法来获取当前session, 我们给提供session访问服务的类命名为SessionContext。

#### 4)[Android 和 iOS 团队开发中如何快速定位代码修改者等提交信息](http://mp.weixin.qq.com/s?__biz=MzAwMTYwNzE2Mg==&mid=2651036600&idx=1&sn=2cf211a14ab5223a663a8ab324218d4f#rd) @[ASCE1885](http://weibo.com/1897909794/profile?topnav=1&wvr=6&is_all=1)(应用架构组)

在团队协作开发过程中,很多时候需要知道某行代码最近一次是谁修改的,因为什么原因而修改,我们当然可以选择在团队即时通信群中询问,或者到版本控制系统中查看这个文件的版本提交纪录,但这样通常非常耗时,群里可能过了一天都没人会响应你的提问,而如果这行代码是很久以前修改的,你可能需要查阅到很久以前的一次提交。

## Android开发

#### 1)[开发第三方库最佳实践](http://www.jianshu.com/p/0aacd419cb7e) @[天之界线](http://weibo.com/shark0017?refer_flag=1005055013_&is_all=1)


目前技术圈的人或多或少都开发过库项目,无论是因为要靠它来找工作,还是通过其进行学习交流,亦或是借此来招摇撞骗,总之开发第三方库这件事已经变得越来越流行了。我个人是很讨厌技术圈娱乐化的,star那么多,issue没人管的现象比比皆是。其实解决issue才能促使实践者更快的学习,仅仅炫耀自己的star数毫无意义。因此,我便写了我开发第三方库的经验,希望本文能帮助到大家。

#### 2)[自己编写Android Studio插件 别停留在用的程度了](http://mp.weixin.qq.com/s?__biz=MzAxMTI4MTkwNQ==&mid=2650820316&idx=1&sn=49d4e6b68b114a2e8a8e88f3d1b0cd9e&scene=0#wechat_redirect) @[鸿洋](http://weibo.com/u/3165018720?topnav=1&wvr=6&topsug=1&is_all=1)

相信大家在使用Android Studio的时候,或多或少的会使用一些插件,适当的配合插件可以帮助我们提升一定的开发效率。有句话叫做授人以鱼不如授人以渔,不能一直跟随着别人的脚步去使用插件了,有必要去学习编写插件,当自己有好的创意的时候,就可以自己实现了。本文的目的就是教你自己编写一个Android Studio插件。

#### 3)[英语流利说 Android 架构演进](http://mp.weixin.qq.com/s?__biz=MzI0NjIzNDkwOA==&mid=2247483673&idx=1&sn=ba9cf498ab78646f1a9c9e711f65c360&scene=2&srcid=0527JyTxU6ucKtlLVyl7REaB&from=timeline&isappinstalled=0#wechat_redirect) @[Jacksgong](http://weibo.com/jacksgong?refer_flag=1001030101_&is_hot=1&noscale_head=1#_0)

今天给大家分享的是英语流利说Android端的代码架构的演进,标题挺高大上的,其实也并非多高大上的东西,整个演进过程,也是借鉴了业界很多大型应用在架构上的沉淀以及思想,可能有些东西还有点老生常谈,不过我们保证尽量都是干货。

#### 4)[蘑菇街App Chromium网络栈实践](http://mp.weixin.qq.com/s?__biz=MzA3ODg4MDk0Ng==&mid=2651112324&idx=1&sn=34b15399d6519340f66410445f033e85#rd) @李栋

蘑菇街目前自有网络栈是基于Chromium网络库改造而来。Chroium网络库本身针对网络性能有很多优化,因此在使用过程中会比使用系统网络库拥有更好的性能体验。

#### 5)[打通Android Gradle编译过程的任督二脉](http://mp.weixin.qq.com/s?__biz=MzI1NjEwMTM4OA==&mid=2651231835&idx=1&sn=c9973f4476fb98a3003ca86aeb3744eb&scene=0#wechat_redirect) @pisazzpan

本文主要是基于自己在工作当中的一些Android Gradle实践经验,对gradle相关知识做的一个简单总结和分享,希望对大家有帮助。首先会讲Gradle大概的工作流程和实现原理,并以部分源码分析佐证。其中包括project中配置数据什么时候取,各个task的创建时机,如何自定义控制编译过程等。

#### 6)[深入浅出Android打包](http://geek.csdn.net/news/detail/76488#rd?sukey=3903d1d3b699c20848ef1785bc038226c33b454e40df770585099bc86451f090e726501798b166a42e7f2fa32783787c) @[芈峮](http://weibo.com/u/2644045772?topnav=1&wvr=6&topsug=1&is_hot=1)

Android市场的渠道分散已不是什么新鲜事,但如何高效打包仍是令许多开发者头疼的问题。本篇文章着重介绍了目前最新的三种打包方案,并且从安全方面对这三种方案进行点评,相信会给开发者带来新的助力。

## iOS开发

#### 1)[CocoaPods 1.0及相应Mac版App正式发布,Podfile的使用方式发生改变](http://www.infoq.com/cn/news/2016/05/CocoaPods-1-0-mac-podfile) @[infoQ](http://weibo.com/u/1746173800?topnav=1&wvr=6&topsug=1&is_all=1)

经过了近五年的不懈努力,近日,CocoaPods终于在其官方博客上宣布正式发布CocoaPods 1.0。与此同时,公开了相应的Mac版App——CocoaPods App 1.0,提供了下载方式。

#### 2)[iOS应用支持IPV6,就那点事儿](http://www.jianshu.com/p/a6bab07c4062#rd) @[philon](http://www.jianshu.com/users/f835e076a43d/latest_articles)

自从5月初Apple明文规定所有开发者在6月1号以后提交新版本需要支持IPV6-Only的网络,大家便开始热火朝天的研究如何支持IPV6,以及应用中哪些模块目前不支持IPV6。

#### 3)[从ReactiveCocoa中能学到什么?不用此库也能学以致用](http://www.jianshu.com/p/39e27fef38fa) @[戴铭](http://weibo.com/allstarming?is_all=1)

从知道ReactiveCocoa开始就发现对这个库有不同的声音,上次参加<T>技术沙龙时唐巧对在项目中已全面使用FRP的代码家提出为什么这种编程模型出现了这么长时间怎么像ReactiveCocoa这种完全按FRP编写的库没能够流行起来这个问题。对这个问题的回答一般都是门槛高,解决方法就是培训和通过熟悉以前的代码来快速入门。其实在我学习的过程中也发现确实会有这个问题,不过就算是有这样那样问题使得ReactiveCocoa这样的库没法大面积使用起来,也不能错失学习这种编程思想的机会。

## React Native

#### 1)[旅行喵 React Native 技术实践](http://www.jianshu.com/p/bf3e222c102a) @[利炳根](http://weibo.com/qingxingfengzi?is_all=1)

React Native,是这两年比较热的新技术。各大厂商纷纷专门安排团队接入。
我们非常幸运,这次用RN开发了一个完整的产品旅行喵,现在和大家分享一下我们这次的技术实践感受。欢迎大家后面积极参与一起讨论。向大家学习。

#### 2)[React 移动 web 极致优化](http://www.alloyteam.com/2016/05/react-mobile-web-optimization/) @TAT.heyli

最近一个季度,我们都在为手Q家校群做重构优化,将原有那套问题不断的框架换掉。经过一些斟酌,决定使用react 进行重构。初学者对React可能满怀期待,觉得React可能完爆其它一切框架,甚至不切实际地认为React可能连原生的渲染都能完爆——对框架的狂热确实会出现这样的不切实际的期待。

#### 3)[【React-Native系列】JavaScript文件加载过程分析](http://blog.csdn.net/megatronkings/article/details/51534250) @[MegatronKing](http://blog.csdn.net/megatronkings/article/details/51534250)

浏览器获取JavaScript脚本,主要通过网络下载 + 本地缓存的机制,达到效率的最大化。当然,移动应用也不例外,但不同的是移动应用可以将JavaScript脚本直接打包在应用程序内,免去网络下载这个极其不稳定的过程,这样可以达到加载效率和性能流畅的最大化,也就是风靡一时Hybrid技术,而这一点浏览器是做不到的。无论使用网络下载还是本地文件,最终都是要加载JS文件,而React-Native项目中包含大量的JS文件构成的框架和组件,那么Android框架又是如何去加载它们的呢?这个过程就是本篇博客的研究的主题了!

#### 4)[React Native之底层源码分析篇](http://blog.csdn.net/u014486880/article/details/51535391) @[Linxj](http://blog.csdn.net/u014486880)

学习React-Native有一段时间了。今天就从源码的角度来分析下React-Native底层的通信机制。了解下底层是如何通信的对开发也有所好处。RN主要的通信在于java与js之间,平常我们写的jsx代码最终会调用到原生的View。


## 技术纵横

#### 1)[App安全之网络传输安全](http://mrpeak.cn/blog/encrypt/) @[mrpeak](http://mrpeak.cn/)

移动端App安全如果按CS结构来划分的话,主要涉及客户端本身数据安全,Client到Server网络传输的安全,客户端本身安全又包括代码安全和数据存储安全。所以当我们谈论App安全问题的时候一般来说在以下三类范畴当中:

* App代码安全,包括代码混淆,加密或者app加壳。
* App数据存储安全,主要指在磁盘做数据持久化的时候所做的加密。
* App网络传输安全,指对数据从客户端传输到Server中间过程的加密,防止网络世界当中其他节点对数据的窃听。

这一篇我们先聊下网络传输的安全。

#### 2)[BAT解密(一):聊聊技术发展的驱动力](http://mp.weixin.qq.com/s?__biz=MzA5Nzc4OTA1Mw==&mid=512113629&idx=1&sn=5b66172c49862f479054da2afb560eb9#rd) @李运华

互联网行业是一个快速发展、快速变化的行业,新的业务、新的机会层出不穷,新的技术如雨后春笋般冒出,NoSQL、大数据、云、Node.js、Docker等,无时不刻都在轰炸程序员们的脑袋,难怪中国的程序员都流传一个说法:过了30岁不能做技术工作了,因为技术发展太快了!



> 欢迎关注我们团队的技术公众号
![](http://c.picphotos.baidu.com/album/w%3D1458%3Bq%3D90/sign=682592986a224f4a579977173ccfab23/32fa828ba61ea8d327c190ba900a304e241f58a9.jpg)


[1]: http://static.zybuluo.com/asce1885/h4tfz0pm8evjzvhdquyi5gqy/IMG_2973.JPG

0 comments on commit 0db5f66

Please sign in to comment.