I | II | III | IV | V | VI | VII | VIII | IX | X | XI | XII |
---|---|---|---|---|---|---|---|---|---|---|---|
algorithm | Java ☕️ | Python ? | front end ? | database ? | operating system | Network communication☁️ | distributed ? | machine learning ? | tool ? | Learn | Talking |
Communicate online with 500+ technical experts: ? Come and have technical interactions with everyone
『Technical Blog』: www.frankfeekr.cn | 『Open Source Contribution』: ⊱ Hero Recruitment Order | 『WeChat Subscription Account』: Full Stack Development Community
Welcome to the online navigation for LinTools developers: https://tools.frankfeekr.cn
If you have better online tools, please click to leave a message and continue to update!
Let’s talk about some methodologies for technical learning
The road to learning technology has not been smooth sailing, and I have been exploring a learning method that suits me. From a technical novice at the beginning to a relatively experienced veteran now, I have taken too many detours in the process. I would like to share some of my experiences and learning methods with you here.
How to choose your own technology stack
In the world of programming, how to choose your own technology stack. Learning front-end? Want to learn APP development? How to choose between Java, C++, C#, Python, and PHP? Artificial intelligence is so popular nowadays, are machine learning and deep learning more advanced? So how do programmers cultivate their internal skills?
The magic weapon for full-stack development
If a worker wants to do his job well, he must first sharpen his tools. Here I will recommend efficiency improvement tools, development tools, collaboration tools, document technologies, etc. during the development process.
XP Extreme Programming
Probably one of the most productive methodologies in agile software development
backend skill
Backend development skills map, from programmers' internal skills training to backend language, distributed system architecture
Sorting algorithms, dynamic programming, recursion, backtracking, greedy algorithms, etc.
Massive data processing
Typical cases of data processing, gradually updated
Basic concepts, object-oriented, keywords, basic data types and operations, strings and arrays, exception handling, Object common methods
Data structure & source code analysis: ArrayList, Vector, LinkedList, HashMap, ConcurrentHashMap, HashSet, LinkedHashSet and LinkedHashMap
Thread status, thread mechanism, thread communication, JUC component, JMM, thread safety, lock optimization
Disk operations, byte operations, character operations, object operations, network operations, NIO
Runtime data area, garbage collection, memory allocation mechanism, class loading mechanism, performance tuning monitoring tools
There are more than 10 common design patterns in Java, and all 23 design patterns are gradually updated.
Contains Servlet & JSP, Spring, SpringMVC, Mybatis, Hibernate, Structs2 core ideas, such as IOC, AOP and other ideas. For more details about SSM, please go to: Spring | SpringMVC | MyBatis
HTML5
CSS3
CSS preprocessing
CSS framework
JavaScript
Basic syntax, advanced, ES6
JavaScript framework
Node
Commonly used APIs, object pools, exception handling, process communication, and high concurrency
static type checking
Build/packaging tools
Package management tools
Server-side rendering
MySQL
Storage engine, transaction isolation level, index, master-slave replication
Redis
Redis core knowledge
SQL
Commonly used SQL statements
PostgreSQL
An open source relational database developed from the POSTGRES package written at Berkeley
InfluxDB
Play with time series database
Process management, deadlock, memory management, disk devices
Basic core concepts and common command usage
Transport layer, application layer (HTTP), network layer, network security
RESTful API
Software architectural style, grid design principles and constraints
Web network security
Web front-end and back-end vulnerability analysis and defense, XSS attacks, CSRF attacks, DDoS attacks, SQL injection
Docker
Containerization engine service
microservices
Introduction to microservices, API gateway, service registration discovery, service communication
Zookeeper
Distributed coordination service, service registration discovery
Kafka
An in-depth introduction to Kafka will take you into the world of Kafka’s message middleware in the simplest language.
[Explanation] Distributed topic The author is also studying. Here is a list of some skills, which the author will partially update. Stay tuned
Kubernetes (k8s)
Containerized deployment, managing containerized applications on multiple hosts in the cloud platform
cloud computing
SaaS (Software as a Service), PaaS (Platform as a Service), IaaS (Infrastructure as a Service)
Zookeeper
Distributed coordination service, service registration discovery
Dubbo, Thrift (RPC framework)
Distributed service governance
Distributed transaction solutions
ActiveMQ, Kafka, RabbitMQ
Distributed message communication
Circuit breaker, current limiting, degradation mechanism
Redis
Distributed cache
Mycat
Database routing
Nginx
reverse proxy
Tomcat
Web Server service
DevOps
Automated operation and maintenance, continuous integration, continuous delivery, and continuous deployment
Distributed lock
Distributed lock implementation based on Redis, MySQL, and Zookeeper
FastDFS
Lightweight distributed file management system
Go
Concurrent, garbage collected, fast compilation language
First introduction to deep learning
Classic machine learning algorithms
K nearest neighbor algorithm, linear regression, gradient descent method, logistic regression, support vector machine, decision tree, ensemble learning
Git
The study guide will take you into the world of Git version control in the simplest language.
Git workflow
Centralized workflow, feature branch workflow, GitFlow workflow, Forking workflow, Pull Requests
regular expression
Common symbol meanings, cheat sheet
Teach you step by step how to set up an intranet penetration service
Based on lanproxy penetration service, one-click server and client Docker images are set for you.
Play with remote hot deployment and remote debugging based on SpringBoot & IDEA & JRebel
Take you step by step, remote debugging and remote hot deployment
What is TDD and common testing methods
Contains reading list, two parts of study course
This warehouse is committed to becoming a learning guide for full-stack development enthusiasts, giving beginners a clearer learning direction, and at the same time strengthening and consolidating their own skills. On the road of architect, I hope to grow with everyone and help more computer enthusiasts have a clear learning path. This warehouse will be maintained continuously and more geeks are welcome to join.
It is said that a good memory is not as good as a bad writing. Regular study and organization will definitely help to consolidate learning. Here, we will make a systematic classification of full-stack development technology through indexing to facilitate consolidation and learning at any time, and of course interviews. It is inevitable that there will be many blind spots and endless knowledge on the road of learning. There is a way but not a technique, and techniques can still be sought. Only by mastering the thinking ability can we deal with the ever-changing technology. Don’t think of your brain as a hard drive or a high-speed CPU. Instead, train your brain to become a search engine and learn to analyze and solve problems.
Since 20,May,2018
My personal abilities are limited, so I referenced many excellent GitHub repositories during the writing process. This project is inspired by the study notes of @CyC2018. It is a very excellent open source project. Some of the content in this warehouse quotes text and illustrations; it quotes the source code analysis and understanding of JCF in @Computing Institute’s Little Mouse; it quotes Alibaba All the interview questions in the interview question summary have been compiled and corrected, and the knowledge has been expanded and modified; the interview experience post on Niuke.com has been quoted. It also quotes popular answers on Zhihu and answers from excellent blogs. Special thanks are given here. I will include external link references in each article.
In the article, I also recommend books and courses for learning, all of which will be explained with the highest definition and most vivid pictures. The pictures in the article are all drawn by myself, blogs, Github, PDF books, etc. I can’t thank them all here, thank you.
Recommend some excellent open source projects for your reference.
Thank you to all the people who already contributed to fullstack-tutorial !
Please make sure to read the Contributing Guide/How to contribute to my repository before making a pull request.
Copyright (c) 2021-present, Frank Lam
"About the author": https://www.frankfeekr.cn/author
While subverting the world, you must also take good care of yourself.
from zero to hero.