• 加入创业公司半年后的经验分享


    从2015年7月份加入一个初创型互联网小公司,到现在已经半年时间了。在这半年时间里,有满满的收获和感悟,今天记下来,等再过几年和现在的自己对比看一下。

    今天主要写技术方面的,其它的各方面虽然都有或多或少的参与,但我加入的主要目的就是想办法通过技术手段来把产品实现。

    虽然只有短短的几个月,但可以大约分为三个阶段:1,初期搭建;2,中期辗转;3,步入正轨

    初期搭建

    1. 申请一台阿里云服务器ECS,并配置(Java, Tomcat, Nginx)
    2. 申请一台阿里云数据库RDS
    3. 域名注册(com相对贵一点)
    4. 域名备案
    5. 使用Spring框架初始化我们的第一个web应用
    6. 部署我们的第一个web应用

    上面的这些步骤都是一些必备的条件,特别适合前期投资比较少的创业型公司。其中比较耗时间的是域名备案,流程不是很复杂,但是时间比较长。

    完成上面的这些步骤后,我们就可以在浏览器中,输入自己申请的域名进行访问了。

    中期辗转

    从现在开始,真正要关心的事情就要开始了,初期为了吸引用户量,我们选择从微信服务号出发,来完成我们的初期用户积累。

    大体步骤:

    1. 申请微信服务号,配置开发者模式
    2. 用Java来实现微信服务号api,开源分享: https://github.com/lemonbar/wxsdk 
    3. 通过Spring MVC来实现web请求处理,通过Spring JPA来实现数据持久层
    4. 前端页面通过React(ECMAScript 6和SASS)实现
    5. 缓存通过redis进行处理,可以直接安装在阿里云服务器上
    6. 图片处理使用阿里云的OSS对象存储服务

    这些步骤列出来简单,但真正做起来,并用它们把产品完美的实现出来就是很高深的一门学问了。

    其中确实有捷径可走,那就是看官方文档!!!

    拿个简单的css来举个例子,对于一个新手来说,一看到css的各种介绍,各种视频资料,各种属性的使用,估计只是简单的看一下介绍头就大了。更不用说把所有的这些都看完了。

    难道真的就没有好的资料可以让你对css快速的了解和使用吗?答案是有,那就是官方文档:https://www.w3.org/community/webed/wiki/Main_Page#CSS 

    把这个里面的前12篇文章看完,你就对整个css的框架和使用有了很全面的学习。

    这里不得不重新强调一下,我们的技术团队(就2个全职程序员)是从0开始学的前端开发技术和框架,在1个月的时间里面,完成了技术的学习和产品页面(多达30个页面)的实现。

    最后,我们总结的经验就是看官方文档,因为作为初学者,你遇到的大部分问题(90%以上)都可以在官方文档里面找到解决方案。稍微复杂一点的问题,也只是涉及到官方文档里面的多个技术点而已。

    另加一句:作为一个程序员,稍微复杂一点的技术问题就不要百度了,因为千篇一律,而且很多都是很老的帖子,使用到的产品都发布新版本了,你还在用旧的方法来解决问题,效果可想而知。

    步入正轨

    最后的一步,其实是工作方式的确定,那就是经典的敏捷开发模式。

    因为团队人少,沟通起来比较方便,每天早晨来到公司,先捋一下目前的进度,然后按照需求的优先级,安排当天的任务。不明白的地方,当场讨论。

    举个简单的例子,现在要做一个新的需求,也可以说一个任务。

    可能一般情况下,直接把这个任务分配给一个人去实现就不管了,最后只是象征性的走一下代码review和产品展示就ok了。

    但这样会有一个潜在的问题,那就是代码以后维护的成本代价,因为每个人对同一个功能的实现是完全不同的。那怎么解决这种问题呢?

    我们目前的解决办法是在分配前,大家一起讨论下代码如何实现,主要包括下面几点:

    1. api的定义,包括url,参数,返回值的结构等
    2. 服务层的接口定义
    3. 数据层的实体定义和数据库的表结构设计

    等这些都讨论确定后,随便找个人去实现就可以了。也许存在浪费时间的疑惑,但这个真的不会。

    因为这是一个循序渐进的确定代码风格的过程,让大家在讨论问题过程中,把知识的水平线慢慢的靠近,聚拢。

    而且讨论过程,也是一个逐渐完善的过程,因为每个人都有自己的想法和逻辑,可以利用讨论来把好的想法都聚集到一起。

    随着时间的推移,大家的讨论时间会慢慢变短,可能真的有一天,只需要几分钟就可以了。

    赶在春节前,把这些先总结一下,放在这里吧。

    写的有点乱,先凑合看吧。

  • 相关阅读:
    静态(static)、虚拟(virtual)、动态(dynamic)或消息处理(message)
    SQLLITE
    SQLite数据表和视图
    SQLite
    DELPHI 泛型
    indy10 学习2
    indy10 线程池
    indy
    Indy10 控件的使用(2)TidTCpServer组件学习
    Socket心跳包机制
  • 原文地址:https://www.cnblogs.com/lemonbar/p/5172455.html
Copyright © 2020-2023  润新知