待更新清单

知识汇总

咸鱼 https://blog.csdn.net/weixin_38912070

《后端架构师技术图谱》 https://github.com/xingshaocheng/architect-awesome

后台架构师图谱 https://blog.csdn.net/kingmax54212008/article/details/83023467

Java 技术书籍大全 https://github.com/sorenduan/awesome-java-books

UML 知识 https://www.w3cschool.cn/uml_tutorial/uml_tutorial-kty628y9.html

算法

α-β剪枝算法 https://blog.csdn.net/luningcsdn/article/details/50930276

Java数据结构与算法解析 https://blog.csdn.net/u012124438/article/category/7130478

Algorithms https://github.com/pedrovgs/Algorithms

Java数据结构 https://github.com/buptdavid/datastructure

https://blog.csdn.net/weixin_38912070

数据库

开发人员如何有效地进行数据库设计 https://www.infoq.cn/article/2013%2F04%2Fdb-design-principle

工具

Selfhost https://github.com/Kickball/awesome-selfhosted#ticketing

架构和系统设计

  • 美团外卖客户端高可用建设体系 https://tech.meituan.com/2018/05/31/waimai-client-high-availability.html

NOSQL Overview https://github.com/n1trux/awesome-sysadmin#nosql

分布式系统 - 数据一致性 https://www.cnblogs.com/xuwc/p/9030614.html

软件架构视图介绍 https://www.jianshu.com/p/44e60742dba0

分布式服务框架设计 https://www.jianshu.com/p/fd840c643d69

系列推荐 https://www.jianshu.com/u/434239413000

参考文章

  • https://blog.csdn.net/wxyyxc1992/article/details/100129049

  • 架构概述,特点,目标

  • 架构本质

  • 架构视角

  • 架构演变

  • 设计一个架构

    • https://blog.csdn.net/hguisu/article/details/81661854
  • 高可用

  • 高并发

  • 高性能

高并发设计

  • 缓存

  • 降级

  • 限流

  • 负载均衡

大型网站技术架构:核心原理与案例分析

  • 书籍推荐
  • https://www.cnblogs.com/itfly8/p/5128025.html

大型分布式网站架构技术总结 https://www.cnblogs.com/itfly8/p/4967966.html

https://juejin.im/entry/5c7344e86fb9a049a712733f https://www.jianshu.com/p/9fb79fb0b5b1

https://www.cnblogs.com/mindwind/p/5017591.html

  • 架构分层 https://www.jianshu.com/p/e7b992a82dc0 https://www.cnblogs.com/xishuai/p/microservices-and-service-mesh.html

并发

  • 参考综合学习

  • http://tutorials.jenkov.com/java-concurrency/index.html

  • Java并发知识点总结 https://github.com/CL0610/Java-concurrency

  • 并发理论

  • 并发基础

  • JUC - Overview

  • https://www.cnblogs.com/leesf456/p/5344133.html

  • JUC - 常规使用例子

  • https://www.jianshu.com/p/8cb5d816cb69

  • JUC源码 - 集合

  • https://www.cnblogs.com/leesf456/p/5550043.html

    • ConcurrentHashMap
      • https://www.cnblogs.com/leesf456/p/5453341.html
      • https://www.cnblogs.com/huaizuo/archive/2016/04/20/5413069.html
  • JUC源码 - 锁和工具类

  • https://www.cnblogs.com/leesf456/p/5453091.html

  • JUC源码 - Executors

  • https://blog.csdn.net/u013332124/article/details/79587436

  • 并发与模式详解

部署

干货】闲鱼工程师是如何构建持续集成流水线,让研发效率翻倍的 https://blog.csdn.net/weixin_38912070/article/details/93857257

开发

高效研发-闲鱼在数据聚合上的探索与实践 https://blog.csdn.net/weixin_38912070/article/details/93857103

蚂蚁金服宫孙:guava探究系列之优雅校验数据 https://blog.csdn.net/weixin_44326589/article/details/94735651

微服务

Microservices from Design to Deployment 中文版 《微服务:从设计到部署》 https://github.com/DocsHome/microservices

互联网后端基础设施 https://juejin.im/post/5b59324ef265da0f69703f40

微软:微服务的设计模式 https://docs.microsoft.com/zh-cn/azure/architecture/microservices/design/patterns

Service Mesh

Service Mesh 发展趋势:云原生中流砥柱 https://blog.csdn.net/weixin_44326589/article/details/100271664

蚂蚁金服 Service Mesh 深度实践 https://blog.csdn.net/weixin_44326589/article/details/102928587

浅谈服务治理、微服务与Service Mesh(二) Spring Cloud从入门到精通到放弃 https://blog.csdn.net/chengxiong5591/article/details/100912493

待增加内容

  • Idea实现

    • 关于共进圈
    • 项目管理
    • SWOT等
    • OKR
    • 技术大会
    • 添加鸡汤类型的页面
    • 修心
    • 年终总结
    • 首页home添加一个新的按钮 - 从零学项目
    • 404 页面改造
  • Java基础

    • 基础语法
    • 枚举类型
  • Java并发

    • Java并发模式 - 来源于 极客时间
  • 开发章节

    • 开发之单元测试
    • 开发之随手记
  • 架构章节

    • 添加秒杀系统详解
  • 项目学习

    • 开源项目添加
  • 框架

    • Spring
      • SpringMVC
      • SpringBoot
      • SpringCloud
      • SpringCloud Alibaba
    • ORM
      • MyBatis
      • JPA
    • MQ
      • Kafka
      • RocketMQ
    • 缓存
      • Redis
      • Memecache
  • 如何学习图

    • 开发之安全相关
    • 开发之网络协议
  • 侧边栏优化

    • 目录优化
    • 分享微博
    • 分享QQ
    • 学习群
    • 音乐插件
      • https://106.14.207.56/music/sheet?cat=%E6%94%BE%E6%9D%BE

前端

  • 目的

    • 统一对前端的认知
      • 前端发展非常快,已经不是原来的前端了
        • 避免我们在说前端的时候,说的不是同一个东西
        • 在限定技术框架下,将不可避免的学习成本
      • 看上去一样的网页/桌面可能是用完全不同的技术实现的
    • 针对现状,我们如何开发现在的前端
      • 现状
        • 人力资源不足
        • 技术环境不足
      • 期望值
        • 多 - 让两三个人整更多的前端东西
        • 快 - 更快更高效的出东西
        • 好 - 更有质量的出东西
        • 省 - 省人省钱省资源等
      • 我们如何做
        • 为后面技术选型做准备
        • 如何高效开发
  • 前端的发展历史

    • https://www.yuque.com/ant-design/course/sc1lvc
  • 前端已经不是以前的前端了 - 从范围上看

    • 网页
      • SPA
      • RIA
      • 常规网页
    • 小程序
      • 微信
      • 支付宝
      • 今日头条
      • 百度
    • Native
      • IOS
      • Andriod
  • 前端已经不是以前的前端了 - 从技术栈上看

    • html/css/js?20年前
      • 目前的分离式前端大多数开发者不会再直接接触html/css/js
    • 后台技术主导页面开发
      • 编译出html 15年前
        • JSP - Servlet
        • Taglib - JSTL,EL,Structs lib...
      • 后端渲染 - 视图引擎(ViewResolver)
        • 通过模板生成html
        • 它解决了原生中的模式:组合和继承问题;
      • 前端演变
        • 静态页面+后端Model - JS
          • 全页面刷新
          • 局部刷新Ajax
          • AjaxAnywhere
          • Jquery
          • ZeptoJS
          • ExtJS
        • CSS
          • Css1
          • Css2
          • Css3 -
          • BootStrap 珊格布局
        • 静态模板页面
    • 前端技术
      • 前期萌芽和发展
        • NodeJS
        • 包管理(npm,yarn...)的出现 - 借鉴后台Maven,Gradle等包管理
        • MVVM的出现 - 借鉴后端MVC
        • 数据绑定
        • 脚手架
        • 编译
        • 代码提示
        • 单元测试
        • 代码覆盖率
        • ...
      • 传统css/html/js不再直接出现
        • CSS - 引入style-loader编译生成CSS
          • less
          • saas
          • stylus
          • ...
        • JS - 引入新的script引擎
          • TypeScript
          • ES5
          • ES6
        • HTML - 模板式
          • vue
            <template>
              <div class="hello">
                <a-button type="primary">Primary</a-button>
                <a-button>Default</a-button>
                <a-button type="dashed">Dashed</a-button>
                <a-button type="danger">Danger</a-button>
                <a-button type="link">Link</a-button>
              </div>
            </template>
          
            <script>
            export default {
              name: 'HelloWorld',
              data () {
                return {
                  msg: 'Welcome to Your Vue.js App'
                }
              }
            }
            </script>
          
            <!-- Add "scoped" attribute to limit CSS to this component only -->
            <style scoped>
            h1, h2 {
              font-weight: normal;
            }
            ul {
              list-style-type: none;
              padding: 0;
            }
            li {
              display: inline-block;
              margin: 0 10px;
            }
            a {
              color: #42b983;
            }
            </style>
          
          
          1
          2
          3
          4
          5
          6
          7
          8
          9
          10
          11
          12
          13
          14
          15
          16
          17
          18
          19
          20
          21
          22
          23
          24
          25
          26
          27
          28
          29
          30
          31
          32
          33
          34
          35
          36
          37
          38
          39
          • react
          • angular
    • Native
      • 原生语言写的
      • Webview
      • Flutter
      • ...
  • 目前开发现状(案例分析) - 后端栈和前端栈并存

就和现在的天气一样,同时有人穿棉袄和短袖。

  • 后端栈案例

    • 围绕后端语言和后端开发框架来展开
      • ViewResolver(20多种)+Model
    • 例子:network-analysis
    • 如果换了后端语言,写法上全变
  • 前端栈独立

    • 围绕大前端的概念和框架来看开
    • 例子:vue demo
    • 封装vuepress demo
  • 所以说,当限定条件下,它会带来一定的学习成本

  • 开发的流程

    • 时代
      • 1.x时代
        • 1.0 时代,后端写主体代码同时也写html/js,有个UI设计UI和改CSS
        • 1.1 时代,后端写主体代码,前端写静态的html/js/css,UI设计单独UI;后端再去整合前端html/js/css
      • 2.x时代
        • 2.1 时代,后端写后端接口和逻辑,前端独立写前端代码
        • 2.x 时代,细分领域
          • 后台
            • 框架 - 架构设计
            • 算法 - 算法工程师
            • 接口 - 接口
            • 中间件
            • 平台工程师
            • 运维工程师
          • 前台
            • UI,原型设计
            • UE/UX
            • SEO
            • 框架
            • 应用/接口
              • 模板
              • 组件
              • 布局
                • pwa
                • flex
              • 文档
              • 测试
              • 质量
              • 安全
    • 具体开发流程(只说前端)
      • 需求-》UI原型设计-》前端脚手架-》UI库
  • 说上述的目的

    • 学习成本必然性
    • 需求和团队能力的平衡
      • 不是说这样设计的好我们就这么实现,这种定制化实现对于一个2-3人的团队是一种负担。
    • 回到前面的多块好省
      • 如果什么都自己来做,比如UI设计,比如组件设计,比如模板设计...到后面越来越吃力,意味着容易失控
      • 技术选型将严重影响开发进度和维护成本
      • 假如我们要真的做前后端分离方式,我们考虑使用成熟的框架体系。
        • 脚手架
        • 开源模板+组件
        • 体系化
  • 技术选型

    • 效率优先 - 开发和运维效率
    • 对于已有的项目,比如有一个angular,展示的;我们用这种思路,快速搭建出来, 解决之前不能解决的痛点。
    • 我们可以开发更多应用
    • 同样的开发configtool

前端学习

  • 开发工具

    • IDE
      • WebStorm
      • VsCode
    • Node
      • NodeJS
      • Npm
      • nvm
        • https://github.com/nvm-sh/nvm/blob/master/README.md
      • cnpm
        • npm install -g cnpm --registry=https://registry.npm.taobao.org
      • 内存泄漏
        • 从2017年8月发布的Node.js v8.0开始,可以使用NODE_OPTIONS 环境变量全局设置max_old_space_size
        • 解决方法:命令行中输入   export NODE_OPTIONS=--max_old_space_size=4096
    • 调试
      • Chrome
      • vuejs-tool插件
        • https://chrome-extension-downloader.com/ id: nhdogjmejiglipccpnnnanhbledajbpd
        • 或者参考 https://www.cnblogs.com/chenhuichao/p/11039427.html
        • 离线下载:https://chrome.zzzmh.cn/ 搜索devtools
    • 脚手架
      • vue-cli
        • cnpm install -g @vue/cli
  • vue入门基础

    • Vue 文件结构(template, script, style)

    • Vue 模板语法

      • 插值
      • 指令和指令缩写
        • v-html(不转义)
        • v-text(转义)
        • v-bind: 属性绑定, 可缩写为 :
        • v-on: 事件绑定, 在methods 进行实现, 可缩写为 @事件
        • v-model(双向绑定)
      • 计算和监听
        • 计算属性
          • computed: 可以侦听本实例中很多个变量, 包含的本实例中的变量发生了变化时触发重新运算, 本实例外的变量变化时不会触发
        • 侦听器
          • watch: 侦听本实例中一个变量的变化
        • 使用场景
          • watch : 异步场景
          • computed : 数据联动
      • 条件和循环
        • if/else
          • v-if
          • v-else-if
          • v-else
        • v-for
          • 需要加:key
        • v-show
          • 等同添加display:none
    • Vue 工程化

      • VUE-CLI
        • vue create 项目名,在命令行中创建和配置项目
        • vue ui,打开网址可视化地创建和配置项目
      • VUE 组件
        • 组件理论
          • 什么是组件化? 独立的,可复用的,整体化的
          • 为什么要组件化? 实现功能模块的复用;高执行效率;开发单页面复杂应用
          • 如何进行拆分? 150/300 行原则;复用原则;业务复杂性原则
        • 组件化技术点
          • 组件状态管理(vuex);
          • 多组件的混合使用, 多页面, 复杂业务(vue-router)
          • 组件间的传参, 消息, 事件管理(props, emit/on, bus)
            • 子组件和父组件之间 - props
            • 父组件和子组件之间 - $emit/on
            • 子组件之间 - vuex(store.js), bus
      • 代码风格
        • https://cn.vuejs.org/v2/style-guide/
      • vue.config.js
        • https://www.jianshu.com/p/b358a91bdf2d
      • babel.config.js
        • https://www.jianshu.com/p/0826515d2fab
        • https://github.com/vuejs/vue-docs-zh-cn/blob/master/vue-babel-preset-app/README.md

联系我

添加@pdai微信

PS:添加时请备注Java全栈,谢谢!