Skip to content
forked from dunwu/blog

🎯 十年技术经验汇总,化繁为简

License

Notifications You must be signed in to change notification settings

carycelestica/blog

 
 

Repository files navigation

本项目用于归档我个人的技术文档。

🍃 🍃 🔥 ⌨️
JavaCore JavaWeb spring SpringBoot JavaScript 其他编程语言

🎲 📦 🕸️ 💻 🛠️ 🎨 ☁️ 💡 🏗️
算法和数据结构 数据库 网络通信 操作系统 Tools 前端 大数据 设计 方法

任何建筑都是一砖一瓦的堆砌,任何软件都是通过编程语言一行一行编写的。每种编程语言都有自身的优缺点,有适合的应用场景。编程语言那么多,奈何人生苦短,不可能全部掌握。个人认为,作为程序员,至少应该精通一门高级编程语言,一门脚本语言。所谓一通百通,万变不离其宗,精通一两门编程语言后,自然会发现语言之间也有很多相似性。

本人比较熟的编程语言是 Java、JavaScript,也写过 C、C++、C#、Shell 等语言的程序。在我看来,编程语言的学习有许多的共通性,总结在 「如何学习一门编程语言」 中,如果你是一名程序员新手,推荐一看。

本篇章重点整理 Java、JavaScript 语言的语法、框架、应用等内容。其他语言介绍时,一般都是 All-In-One 式(一篇速成文章)。

JavaCore 是对 Java 核心技术的经验总结。包含对Java各种语法特性的深入细致的讲解,此外,针对并发编程、IO/NIO、容器、JVM 以专题形式深入讲解。

JavaScript

待整理。。。

其他编程语言

  • 数据结构 - 关键词:数组、线性表、栈、队列、哈希、树、图、查找、排序
  • 算法(:construction: 待整理补充)

数据库

总结关系型数据库和 Nosql 数据库原理、面试题。重点介绍 Mysql、Redis 数据库使用、原理、运维、调优,并介绍一些其他常见数据库知识。

网络通信的学习要点就是:记住网络分层结构,各层级上有哪些主要的网络协议和网络设备,它们的基本工作原理是什么。

如果你是互联网从业者,那么有必要更深入理解一下 HTTP、DNS、Socket。

软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。重点是分而治之,先将大型系统抽象为各个组件或模块;然后逐一解决各组件、各模块的功能、性能问题;最后将这些组件、模块整合成对外服务的一个整体。

改善既有代码的设计

关键词:过长函数、过大的类、基本类型偏执、过长参数列、数据泥团、switch 声明、临时字段、被拒绝的馈赠、异曲同工的类、发散式变化、霰弹式修改、平行继承体系、过多的注释、重复代码、冗余类、纯稚的数据类、夸夸其谈未来性、依恋情结、狎昵关系、过度耦合的消息链、中间人、不完美的库类

关键词:类图、对象图、包图、组件图、部署图、复合结构图、活动图、状态图、用例图、通信图、交互概述图、时序图、时间图

方法论,是人们认识世界、改造世界的方法的理论。同样,项目管理、编程、写文档都应该有一定的方式方法,帮助我们合理、高效、快速的达成目标。

说明

License

本博客所有文章除特别声明外,均采用 License: CC BY-NC-SA 4.0 许可协议。

About

🎯 十年技术经验汇总,化繁为简

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • CSS 58.9%
  • JavaScript 40.3%
  • CoffeeScript 0.8%