How to Build a Complete Architect’s Knowledge System: Skills, Tools, and Resources
This guide outlines the essential mindset, universal and specialized skills, website architecture evolution, core design principles, and a curated collection of tools, platforms, books, and resources that aspiring architects need to develop a systematic knowledge base and excel in modern software engineering.
Philosophical questions such as "Who am I?", "Where do I come from?", and "Where am I going?" are extended to the architect’s three core questions: identifying one’s position, defining what to do, and building a knowledge system.
1. General Skills
Who I am: mindset of serious, uncompromising work.
How to work: grasp the whole, find methodology, prioritize, plan, communicate, take responsibility, and foster team awareness.
Growth: collaborate with excellent people and continuously learn.
Definition of proficiency: understand fundamentals, self‑test, track feedback, and update documentation.
Advanced proficiency: work around problems rather than merely solving them.
2. Professional Skills
Read official documentation for each skill.
Fundamentals: networking, HTTP, TCP/IP.
Office tools: Excel, PowerPoint.
PHP stack: PHP, Linux, MySQL, Nginx/Apache, load balancing.
Java stack: advanced Java features, networking, threading, I/O models, frameworks.
Data structures, algorithms, design patterns.
R&D abilities: waterfall model (requirements → analysis → design → development → testing → deployment → operations), debugging, agile iteration, wiki updates.
Web security: XSS, SQL injection, DDoS, with recommended books such as "黑客攻防技术宝典(Web实战篇)", "白帽子讲Web安全", "Web前端黑客技术揭秘", "Web之困", "SQL注入攻击与防御".
3. Website Architecture Knowledge
Architecture evolution: LAMP on a single server, separation of app and data servers, caching, clustering, read/write splitting, reverse proxy & CDN, distributed storage, service decomposition, micro‑services.
Architecture patterns: availability, performance, CDN, local and distributed caches, layered architecture (application, service, data), horizontal/vertical segmentation, clustering, load balancing, automation (deployment, testing, monitoring, failover), security.
Core elements: XSS, SQL injection, CSRF, web firewall vulnerabilities, SSL, distributed messaging, service orientation, clustering, load balancing, caching, data backup, gray‑release, monitoring, performance testing, front‑end and back‑end optimization, database tuning, high performance, availability, scalability, extensibility, security.
4. Tools and Resources
2.1 Technical Sites
Hacker News
Programming Reddit
MSDN
InfoQ
OSChina
51CTO, Cnblogs
StackOverflow
GitHub
OpenStack e‑books (http://it-ebooks.info/)
DevStore
2.2 Recommended Books
人件
人月神话
代码大全2
计算机程序设计艺术
程序员的自我修养
程序员修炼之道
高效能程序员的修炼
深入理解计算机系统
软件随想录
算法导论
离线数学及其应用
设计模式
编程之美
黑客与画家
编程珠玑
C++ Prime
Effective C++
TCP/IP详解
Unix 编程艺术
《精神分析引论》弗洛伊德
搞定:无压力工作的艺术
2.3 Platform Tools (Open Source)
Redmine/Trac – project management
Jenkins/Jira – CI (Jira is not open source)
Sonar – code quality
Git, SVN – version control
GitLib/Gitorious – self‑hosted Git
GitBook – documentation
Travis‑CI – CI for open‑source projects
Selenium, OpenQA.org – testing
Puppet – configuration management
Nagios / Icinga – monitoring
Ganglia – distributed monitoring
fleet – distributed init system
2.4 Crawling Tools
PhantomJS
berserkJS
SlimerJS
CasperJS
Selenium
2.5 Web Server Performance / Load Testing
http_load
webbench
ab (ApacheBench)
Siege
squid (frontend cache), nginx (load balancer), nodejs (custom LB)
Piwik – analytics
ClickHeat – heatmap
HAProxy – high‑performance TCP/HTTP load balancer
ElasticSearch – search engine
Page Speed SDK, YSlow
HAR Viewer – HAR analysis
Protractor – E2E testing
2.6 Front‑End Tools
Grunt – task runner
Sea.js – module loader
Knockout.js – MVVM
Angular.js – SPA framework
Highcharts, Flot – charting
Raw – advanced data visualization
Rickshaw – real‑time charts
JavaScript InfoVis Toolkit – visualization
Pdf.js – PDF rendering
ACE, CodeMirror – code editors
NProcess – loading progress bar
impress.js, reveal – presentations
Three.js – 3D Web
Hightopo – 2D/3D UI
jQuery.dataTables – flexible tables
Raphaël – canvas drawing library
Source: http://blog.csdn.net/hguisu/article/details/49445263
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
ITFLY8 Architecture Home
ITFLY8 Architecture Home - focused on architecture knowledge sharing and exchange, covering project management and product design. Includes large-scale distributed website architecture (high performance, high availability, caching, message queues...), design patterns, architecture patterns, big data, project management (SCRUM, PMP, Prince2), product design, and more.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
