java吧 关注:1,257,181贴子:12,749,385

回复:简单讲讲自己成为架构的经历

取消只看楼主收藏回复

今天真是无聊 写了好多内容 发现没人关注又不想发了
郁闷


来自Android客户端31楼2019-01-17 20:48
收起回复
    希望大家不要浮躁 静下心来
    软件行业是难得的付出就有回报的行业
    有两个词一直陪伴着我
    一个是专注 一个是方向
    不同阶段的人可能有不同的理解 这里就不过多解释了


    来自Android客户端33楼2019-01-17 20:53
    收起回复
      当然了一些问题大家也可以问我 我可以给出我的理解和我的回答


      来自Android客户端34楼2019-01-17 21:02
      收起回复
        # 工作技能
        当初lz由于是自学.所以直接就奔着找工作去的.所以我的经历比较适合奔着工作去或者入门的程序员提升自己的人来学习.
        当然有同学有自己的方法论了肯定更好.多多交流分享
        ## 框架基础
        之前说了来到了上海,lz第二个选择是互联网公司.所以内容都是互联网公司的一些经验.
        对于企业级并不一定完全满足
        ### 新手
        1. jdbc.事实上软件的本质也是信息和数据的处理.所以作为java访问数据库的基础.jdbc肯定肯定是需要完全了解的.
        2. ORM框架,目前比较火的应该还是mybatis.这些半orm框架是一定要掌握的.可以学习helloword然后思考功能实现,最后思考数据层如何设计
        3. spring.spring作为一个框架,现在基本上已经脱离框架了.现在更像一个完备的技术栈.ps.我完全没有学习过springboot.因为我学习的时候还没有springboot.现在也完全不用springboot.对于新人来说**必须**先学习spring的基础之后再来学习其他的
        4. 服务端mvc框架,推荐springmvc.如果是cs类的架构可能会用一些restfull的框架,不过无所谓.这些架构还比较简单.
        5. web容器.tomcat了解一下?
        以上就是新手的内容了.全部学习完毕可以说自己是初级java开发了.当然了前提是必须在理解的基础上再来表示自己学会.还是两个问题.
        Q1:简单介绍一下服务器使用tomcat情况下类加载器和spring类加载器的交互
        Q2:为什么说mybatic是半orm框架


        来自Android客户端41楼2019-01-17 22:35
        回复(30)
          这里说一下我的一些软件层次理解 大家可以交流交流
          我发的初级程序员 大家可以发现推荐的都是基础技术 框架 api 等内容 所以初级程序员的关键词是学习和掌握
          后面我会发中级 中级部分会明显有带有一定的方向性和思考性
          所谓方向是指某些技术只有特定的业务场景会用 比如前端框架
          所谓思考是指 你需要思考我为什么要用某种技术 解决了什么问题可能你没有答案 但是要有思考
          所以中级的关键词是方向和思考
          高级-资深 关键词是剑宗和气宗 本人偏气宗 后面详细理解
          专家很简单 javaone qcorn等论坛上演讲的都是专家 大家可以体会体会


          来自Android客户端46楼2019-01-17 23:27
          收起回复
            被屯了


            来自Android客户端47楼2019-01-17 23:34
            收起回复
              没人回复感觉好尴尬了
              lz刚下班


              来自Android客户端49楼2019-01-17 23:35
              收起回复
                学习的道路上
                我的经验是有人指引真的会少走很多弯路 所以有这个帖子 希望能帮助到大家
                为什么没人啊


                来自Android客户端50楼2019-01-17 23:36
                收起回复
                  旁边一个四年java辅导新人的帖子都有那么多回复 郁闷
                  是不是得上业绩啊
                  本人支付宝a1系统owner
                  作为主架构师开发了新资金处理系统 业务量级2亿/天
                  目前作为主架(支付宝内部称号 表示项目核心架构师)做支付宝的一个二级域核心系统 后续tps日常2万 日数据笔数4亿级别 db的tps10万+


                  来自Android客户端51楼2019-01-17 23:43
                  收起回复
                    上班路上 更新一波 发现百度不支持markdown啊 尴尬


                    来自Android客户端67楼2019-01-18 10:45
                    收起回复
                      大家细心的话会发现 中级的介绍都不是以技术开头的 中级也是一个瓶颈 lz当初用了两年
                      在我眼里很多5-8年的java开发都卡在这一层级上 甚至有十年的开发还是卡在这个层级上
                      简单来说说我的理解
                      1. 中级开发专注解决问题而不是专注技术
                      2. 中级开发会慢慢不提一些技术而是提一些概念
                      3. 中级开发第一时间想到的是要怎么去思考
                      而高级已经有自己的方法论了 这个后面会说
                      我会慢慢结合我自己的经历给大家多多分享一下这部分内容 有面试的有架构的 有技术的


                      来自Android客户端74楼2019-01-18 11:06
                      回复(13)
                        大家能不能看的懂啊给点反馈……


                        来自Android客户端75楼2019-01-18 11:07
                        收起回复
                          下面 我会以“面向对象”这个广为熟知的概念 来一层层抽丝剥茧 让大家感受递进之路
                          先上提纲
                          初级:面向对象是一种“编程”思想
                          中级:面向对象是一种“设计”思想
                          高级:面向对象是一种设计“思想”
                          希望大家体会体会 下午或者晚上会更新一次


                          来自Android客户端79楼2019-01-18 11:30
                          收起回复
                            ## 初级开发者的"面向对象"
                            ### 导论
                            面向对象这个概念,应该是大家学习java或者是学习编程遇到的第一个"坎".
                            因为这个概念对于新手来说是十分抽象的.大家一开始很难理解什么是"对象".什么叫面向对象编程.
                            这里我简单使用一个例子来表述一下:盖房子.
                            这个例子真的和软件开发十分相似,建筑行业的很多思想也和软件开发类似.
                            我们盖房子需要一个东西:"结构".我们需要定义这个房子的结构和框架以便大家理解.
                            同时软件编程一样,我们需要定义一个事物来"组织"我们的代码.
                            所以对于新人来说.首先理解"面向对象"是一种编程方法.是一种对于代码进行组织然后实现
                            业务功能的方法和设计思想.


                            来自Android客户端103楼2019-01-18 21:39
                            收起回复
                              ### 何为对象
                              可能编程中最难的部分就是理解什么是对象了.上面我们理解面向对象是代码组织的一种方法.
                              那么这个方法具体是什么呢?我个人的理解就两个字:抽象.
                              即.我们需要用代码来实现真实社会中的一个功能,一个事情或者表现真实社会中的事务.
                              但是代码又全都是一个个符号和语法.如何能真正的组织我们的代码.然后实现功能呢.
                              这个时候必须对现实生活中的一些"特征"进行抽象,然后映射到我们的编程设计中.这种特征的抽象
                              就是抽象出一个个对象的概念.
                              比如我们设计一个程序用来卖苹果.那么在程序中.苹果就可以是一个对象.他的特征是有重量和有数量.
                              然后进一步.我们会针对"数量"和"重量"来进行实现售卖的功能.然后大家发现我们自然而然的忽略了"苹果"
                              这两个字.这就是之前说的"抽象".而面向对象就是把一个个实物进行抽象,用我们的代码进行组织
                              所以,请记住"对象"是对现实事务的特征的一种抽象.


                              来自Android客户端107楼2019-01-18 22:12
                              收起回复