Skip to content

Latest commit

 

History

History
117 lines (58 loc) · 11.7 KB

平安金融科技移动技术周报(第二十一期).md

File metadata and controls

117 lines (58 loc) · 11.7 KB

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


@author ASCE1885的 Github 简书 微博 CSDN 知乎

IMG_2973.JPG-2659.3kB

外网链接 壹翎阁论坛链接

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

原创专题

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

2)浅谈分布式系统的session共享方案 @李闯(产品服务组)

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

3)获取当前用户代码分享 @李闯(产品服务组)

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

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

Android开发

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

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

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

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

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

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

iOS开发

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

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

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

React Native

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

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

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

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

技术纵横

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

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

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

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

欢迎关注我们团队的技术公众号