FKS (Frontend Knowledge Structure)
repository·master·Indexed 12 days ago
https://github.com/jacksontian/fksA comprehensive map and taxonomy of frontend development knowledge, covering domains such as browser engines, programming languages (JavaScript, TypeScript), markup, styling, development tools, code quality, frameworks, and performance practices.
What's inside FKS
- D3.js (Data-Driven Documents) is a JavaScript library designed for manipulating documents based on data. It enables data visualization by leveraging web standards like HTML, SVG, and CSS. Instead of using a proprietary framework, D3 provides a data-driven approach to DOM manipulation, allowing you to use the full capabilities of modern browsers to create powerful visualization components.
Overview of Frontend Knowledge Structure (FKS)
masterThe Frontend Knowledge Structure (FKS) project is a collaborative, text-based repository designed to maintain and evolve a comprehensive graph of frontend development knowledge. Unlike static images, this repository allows contributors to update the knowledge structure using Git, ensuring the map of frontend technologies evolves alongside the industry.
Key features:
- Collaborative Development: Contributions are made via Git to track the history of the frontend profession.
- Text-based Maintenance: The core knowledge structure is maintained in plain text for easy editing and version control.
- Future Visualization: Plans include a tool based on
DataVto generate dynamic and engaging visualizations from the text data.
Frontend Knowledge Structure Overview
masterThe Frontend Knowledge Structure (FKS) provides a comprehensive taxonomy of the skills, tools, and technologies required for frontend engineering. It categorizes knowledge into several key domains:
- Browsers: Understanding rendering engines like Blink (Chrome/Opera), WebKit (Safari), Gecko (Firefox), and EdgeHTML/Trident (Edge/IE).
- Programming Languages: Core proficiency in JavaScript, TypeScript, and Node.js.
- Markup & Styling: HTML5, CSS/CSS3, and preprocessors like Sass, LESS, Stylus, and postCSS.
- Development Tools: Editors (VS Code, WebStorm, Vim), Debugging tools (Chrome Dev Tools, Fiddler), and Version Control (Git, SVN).
- Code Quality: Linting (ESLint, JSHint), Unit Testing (Mocha, Jasmine), and Automation (WebDriver, Karma).
- Libraries & Frameworks: Modern frameworks like Vue and React, alongside legacy or specialized libraries like jQuery, AngularJS, and Backbone.
- Standards & Specifications: HTTP/1.1, HTTP/2, ECMAScript, W3C DOM/BOM, and Web Accessibility (WCAG, WAI-ARIA).
- Performance & SEO: Optimization tools (PageSpeed, YSlow) and performance best practices.
- Deployment & Build Tools: Compilers (Babel), Bundlers (webpack, Browserify), and Task Runners (Grunt, Gulp).
- Mobile Web: Responsive design, Zeptojs, Cordova, and React Native.
- Computer Science Fundamentals: Data structures, Algorithms, Networking, and Operating Systems.
Backend Engineering Knowledge Structure
masterThe Backend Engineering knowledge structure covers the essential components for server-side development:
- Programming Languages: Proficiency in languages such as C, C++, Java, PHP, Ruby, or Python.
- Web Servers: Configuration and management of servers like Nginx, Apache, or Lighttpd.
- Databases: Mastery of SQL (MySQL, PostgreSQL, Oracle, DB2) and NoSQL (MongoDB, CouchDB).
- Data Caching: Implementing high-speed data access using Redis or Memcached.
- File Caching/Proxying: Using tools like Varnish or Squid.
- Operating Systems: Working knowledge of Unix, Linux, OS X, and Windows.
- Computer Science Fundamentals: Deep understanding of Data Structures.
Frontend Development Knowledge Structure
masterThe Frontend Development knowledge structure is organized into several key domains required for a professional Frontend Engineer. These include:
- Web Browsers: Understanding rendering engines like Trident (IE), Gecko (Firefox), Blink (Chrome/Opera), and WebKit (Safari).
- Programming Languages: Mastery of JavaScript, Node.js, and TypeScript.
- Slicing & Markup: Proficiency in HTML5, CSS3, and preprocessors like Sass, LESS, Stylus, or PostCSS, alongside design tools (e.g., Sketch, Photoshop).
- Development Tools: Using IDEs (VS Code, WebStorm, Vim), debugging tools (Chrome Dev Tools, Fiddler), and Revision Control (Git, SVN).
- Code Quality: Implementing coding styles (JSLint, ESLint), unit testing (Mocha, Jasmine), and auto-testing (WebDriver, Karma).
- Libraries & Frameworks: Knowledge of ecosystems like jQuery, React, Angular, and Bootstrap.
- Standards & Specifications: Understanding HTTP/1.1, HTTP/2, ECMAScript, W3C DOM/BOM, and Web Accessibility (WCAG, WAI-ARIA).
- Performance: Utilizing tools like PageSpeed and JSPerf, and following performance best practices.
- Deployment & Build: Managing the lifecycle via build tools (Grunt, Gulp, Yeoman), transpilers (Babel), and modularization (CommonJS, AMD, Browserify).
- Security: Protecting against CSRF, XSS, and implementing CSP and Same-origin policy.
- Mobile Web: Implementing Responsive Web Design and using frameworks like React Native or Zeptojs.
- Computer Science & Soft Skills: Fundamentals in Data Structures, Algorithms, OS, Networking, and professional skills like Communication and Requirements Management.
Install angular via bower
masterInstall the
angularpackage using bower. After installation, include the script in yourindex.htmlby referencing the path inbower_components.bower install angular<script src="/bower_components/angular/angular.js"></script>Run tests for angular-marked
masterTo run the test suite for this project, ensure you have npm and bower installed, then execute the following commands:
npm install bower install npm testInstall and setup angular-marked
masterTo use
angular-markedin your AngularJS application, follow these steps:- Install the package via Bower:
bower install angular-marked - Include the
marked.jsscript in your application (default path:bower_components/marked/lib/marked.js). - Include the
angular-marked.jsscript in your application (default path:bower_components/angular-marked/angular-marked.js). - Add
hc.markedas a module dependency to your AngularJS app.
bower install angular-marked- Install the package via Bower:
Recommended Backend Books
masterA curated list of books for backend development, covering Linux administration, programming, and C/C++.
Linux Management
- Linux 系统管理技术手册
- 鸟哥的 Linux 私房菜
- Linux 101 Hacks
- UNIX Shell Scripting
- The Linux Command Line
- Linux Network Administrator's Guide
Linux Programming
- Linux程序设计
- Linux系统编程
- Unix环境高级编程
- Unix编程艺术
- The Linux Programming Interface
- 程序员的自我修养
- 深入理解Linux内核
- Unix网络编程
- TCP/IP高级编程
C/C++
Frontend Interview Preparation Resources
masterResources for preparing for frontend developer interviews:
Book recommendations for Backend developers
masterA curated list of books for backend engineers covering Linux administration, programming, and C/C++.
Linux administration
- Linux 系统管理技术手册
- 鸟哥的 Linux 私房菜
- Linux 101 Hacks
- UNIX Shell Scripting
- The Linux Command Line
- Linux Network Administrator's Guide
Linux programming
- Linux程序设计
- Linux系统编程
- Unix环境高级编程
- The Art of UNIX Programming
- The Linux Programming Interface
- 程序员的自我修养
- 深入理解Linux内核
- Unix网络编程
- TCP/IP高级编程
- Linux Kernel in a Nutshell
- Linux Device Drivers
- Advanced Linux Programming
C/C++
Install marked via npm
masterInstall the
markedpackage using npm to use it in your JavaScript projects.npm install marked --save