0%

关于最近的学习计划,3个月的时间(7、8、9三个月)做一名全沾工程师。全沾是指对各个方面的技术的框架有几个基本了解,Growth是指如果需要深入可以快速成长切入。

技术清单

  • 前端:
    • 移动端
      • Android/IOS App开发(以后可以RN开发)
    • web开发
      • HTML
      • CSS
      • JavaScript
  • 后端
    • NodeJS
    • Redis MySql
    • JSP Spring MVC+Spring+Hibernate
  • 运维
    • Nginix
    • 虚拟机,容灾
    • 性能优化 分库分表
  • 设计UX
    • 设计工具Sketch
    • 设计基础原则学习
  • 运营
    • 数据分析
    • 广告 推广 SEO 流量
阅读全文 »

在软件开发中有一些是通用技能,无论从事什么项目,C、Java、前段、后台,都必须掌握的(甚至产品设计与UI设计都需要):

  • 操作系统的使用:MacOs/Linux/Win
  • 版本协作工具:SVN/Git
  • 文本工具:Vim/SublimeText/MarkDown
  • IDE:Eclipse/Idea
  • 效率工具:Alfred

这些技能应当优先熟练掌握,今天聊一聊版本控制工具Git。之前一直使用的是SVN,也仅仅停留在工作中使用,甚至不会使用svn命令,只能使用SVN Tortoise,也就是拉代码,解决冲突,提交代码这三个步骤,偶尔拉一下分支(甚至都没有亲自合并过分支。。)。

阅读全文 »

一万个人心中有十万个Clean。对Clean的理解每个人都不相同,网上也有很多很多的实现,我试图从最原始的资料出发,结合自己的理解讲解一下Clean构架。
首先,要明确的一点是Clean是一种分层架构,是一种软件系统架构模式/思想。

其他架构有:事件驱动架构、微内核架构、微服务架构、基于空间的架构。—-《软件架构模式》

这与MVP不同,MVP关注UI层(对应Clean中Presentation)的设计,更偏向与代码的设计,而Clean可以理解成一种自上而下的,全面的构架(会考虑性能等因素),更加抽象。

阅读全文 »

一万个人心中有一万个MVP,对MVP的理解千差万别,似乎也没有一个最权威的Demo来说明什么是MVP,求其是Android平台上(如果有,请告知)。至今最权威的资料可以说是这些:

  • MVP的原始资料:微软在.NET中使用的技术,偏向于WEB技术,不一定完全适用于移动开发。
  • android mvp :github上star很多的关于Android中的MVP例子,入门教程。
  • 一个mvp框架的实现:一个被引用很多的mvp示例,讲解了MVP的好处,强调了数据恢复的问题。
  • Google的MVP的demo

关于MVP的学习路径,我推荐按照上面的顺序。微软的MVP在.Net中的应用虽然不是Java语言讲解的,但是对MVP设计思想讲解十分清晰,为什么这样设计,有哪些设计的变形,设计带来的好处与劣势都写的十分清晰。后面的几篇文章更倾向于MVP思想在Android平台上的具体应用。另外一篇国内文章Android MVP 详解(上)总结很全,可以参考。

阅读全文 »

好几周没有更新博客了,不是忘记或者偷懒,而是想写一个比较复杂的话题,MVP与Clean构架的理解,既然是理解,不深入实践,自然不敢动笔,最近会多整理一些,补一补功课。

最近研读了Google发布的一系列框架的梳理中的MVP中的源代码,又学习了一些文章,同时自己也在工作中使用了基于MVP的Clean构架开发了浏览器的文件下载模块。这篇文章主要分析遇到的问题和一些感悟,同时记录一些疑问。
学习MVP的主要内容是

阅读全文 »

在搭建新项目的过程中,调研了一些常用的开发框架,恰好近日Google公布了一系列框架的梳理(未完成),对Android开发者给出了一些指导,颇有裨益。总结了如下几种模式:

  1. 纯MVP开发
  2. MVP+Loader
  3. MVP+Databinding
  4. MVP+ContentProvider
  5. MVP+Dagger
  6. MVP+Clean构架

总体而言,基本涵盖了Android中的流行的开发构架方式。这些开发框架是以MVP为基础,再结合其他工具,或者再次细分某些层,实现更好的复用。这里首先简介一下MVP,然后将上述6个框架按照我的理解(可能不完备)进行归类总结。

阅读全文 »