Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
117 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 |