Programming Languages
Mainstream and emerging programming languages and their ecosystems
freeCodeCamp.org is a donor-supported, open-source platform offering a comprehensive, self-paced curriculum for learning coding and web development. It provides 12 core certifications, including Responsive Web Design, JavaScript Algorithms, Front End Libraries, Data Visualization, and more, each involving hands-on projects and coding challenges. The platform features thousands of interactive exercises, automated testing, and a supportive community with forums, a YouTube channel, and a Discord server. Designed for beginners, it helps users transition into tech careers, with over 40,000 people securing their first developer job. Contributions are welcome, and the project is licensed under BSD-3-Clause, fostering a collaborative learning environment.
Learning how to design scalable systems will help you become a better engineer. This repository is for organizing and collecting resources related to system design. Chinese version
A Python resource collection library that aggregates the most popular projects, tools, libraries, and frameworks in the Python ecosystem. This project aims to provide Python developers with a centralized repository of resources to help them better learn and utilize Python. Awesome-python covers a wide range of topics and is one of the treasures of the Python ecosystem.
A list of programming tutorials designed to help aspiring software developers learn how to build applications from scratch. This project provides a series of project-based programming tutorials covering various major programming languages. The tutorial content includes aspects such as project planning, code writing, and application deployment, helping learners comprehensively improve their programming skills.
Implement all algorithms using Python. This project is a collection of various algorithms implemented in Python, mainly used for education and learning. It includes search, sorting, data structures, machine learning, cryptography, neural networks, etc.
It includes a variety of JavaScript-based algorithms and data structures, each with its own README that contains relevant descriptions and links for further reading (and YouTube videos).
A series of books about JavaScript, which delve into the core concepts and language features of JavaScript, providing developers with an opportunity to gain a deeper understanding of JavaScript. Through this series of books, readers can better master the complexity and flexibility of JavaScript.
A study note summarizing the computer classic books and official technical documents, covering many technical points such as algorithms, operating systems, networks, databases, etc.
Visual Studio Code combines the simplicity of a code editor with the functionality required for the core edit-build-debug cycle of developers. It offers comprehensive support for code editing, navigation, and understanding, along with lightweight debugging, a rich extensibility model, and seamless integration with existing tools.
A comprehensive guide to the core knowledge that most Java programmers need to master
A JavaScript coding standard guide from Airbnb team, which can be learned by front-end developers
An advanced natural language processing model library built for Jax, PyTorch and TensorFlow. It provides a rich set of pre-trained models and tools to help users achieve better results and performance in natural language processing tasks.
A tool that connects to a computer via USB (or TCP/IP) for high-definition display and smooth control of Android devices, suitable for GNU/Linux, Windows, and Mac OS, without requiring root privileges.
A carefully collected and organized collection of some practical JavaScript code snippets
A framework for building cross-platform desktop applications using JavaScript, HTML and CSS. It allows developers to build desktop applications for multiple platforms such as Windows, macOS and Linux using a front-end technology stack, providing developers with rich tools and components to easily develop modern and feature-rich desktop applications.
A fork project based on YouTube-dl, it also builds upon the now inactive youtube-dlc. This project aims to add patches, features, and improvements, keeping it in sync with updates from the official project. yt-dlp offers more options and functionalities, enabling users to download YouTube videos and content more flexibly, catering to a variety of download needs.
Kubernetes - Kubernetes is an open source system for managing containerized applications on multiple hosts; provides basic mechanisms for application deployment, maintenance and expansion
free-programming-books - free Chinese books on computer programming
n8n is a secure, flexible workflow automation platform designed for technical teams, combining the power of code with the simplicity of no-code. It offers over 400 integrations, native AI capabilities, and a fair-code license, enabling users to build robust automations while retaining full control over data and deployments. Key features include JavaScript/Python scripting, AI agent workflows with LangChain, self-hosting options, and enterprise-ready functionalities like SSO and advanced permissions. With an active community, 900+ ready-to-use templates, and extensive documentation, n8n supports diverse use cases from simple automations to complex AI-driven workflows. It is source-available, self-hostable, and extensible, making it ideal for both individual developers and large enterprises.
A development tool for creating powerful AI applications, it provides APIs for plugins and datasets, as well as an interface for quick engineering and visualization operations. For developers and researchers who want to develop applications, Dify provides convenient tools and interfaces to help them build feature-rich AI applications.
Tauri is a framework for building lightweight, high-performance desktop applications across major platforms, including Windows, macOS, Linux, iOS, and Android. It allows developers to use any front-end framework that compiles to HTML, JS, and CSS, while the backend is powered by a Rust binary. Key features include a built-in app bundler for various formats, a self-updater, system tray icons, native notifications, and a GitHub action for CI. Tauri leverages system webviews for rendering, ensuring efficiency and compatibility. It supports streamlined development with tools like a VS Code extension and detailed documentation. Tauri is open-source, licensed under MIT or Apache 2.0, and fosters a sustainable, community-driven ecosystem.
Google engineer Ryan McDermott summarized a software engineering guideline for JavaScript, "Clean Code JavaScript", based on "Clean Code". It is hoped that it will help you write readable, reusable and refactorable JavaScript code.
After entering the wrong command, fuck it, it will automatically correct the command for you, relieving anger and practical
Provides a series of best practice examples of Java design patterns to help programmers solve common problems when designing applications or systems, while accelerating the development process through verified development examples. It is a valuable resource for designing and writing high-quality code.
An open-source remote desktop control program that is ready to use out of the box, no configuration required, and can serve as an alternative to TeamViewer and AnyDesk. Software data can be self-hosted on a private server to ensure data security.
Neovim is a branch of Vim that focuses on extensibility and usability. By introducing new features and improving existing ones, Neovim aims to provide a better editing experience and higher scalability, making the use of Vim more comfortable and efficient.
Learn the basics of JavaScript, CSS and HTML with our comprehensive 12-week course brought to you by Microsoft Cloud Advocates. Each 24-lesson includes pre- and post-lesson quizzes, detailed written instructions, solutions, assignments, and more. Our project-based learning approach aims to help you develop practical skills through hands-on construction. Through our effective project teaching method, improve your skills and optimize your knowledge retention.
A core integration and staging tree for the Bitcoin cryptocurrency. As an official implementation of the Bitcoin protocol, this project provides an open-source foundation platform for developers to participate in the development, testing, and maintenance of the Bitcoin network. It supports the core functions of Bitcoin and provides a foundation for the development of the entire cryptocurrency ecosystem.
It collects 86 project ideas for developers to practice and refer to, including 34 junior projects, 32 intermediate projects, and 20 senior projects. Each project is accompanied by a relatively detailed project reference document.
Gin is a high-performance web framework written in Go, designed for speed and productivity. It features a zero-allocation router, middleware support, crash-free operation, JSON validation, route grouping, error management, and built-in rendering. Gin is up to 40 times faster than similar frameworks, leveraging httprouter for enhanced performance. It is extensible and suitable for building robust, scalable web applications. Key use cases include push notification servers, API gateways, and image resizing services. Gin requires Go 1.23 or above and is easy to integrate with Go's module system. Its comprehensive documentation and examples make it accessible for developers of all levels.
A powerful and modular GUI and graphics/node interface that provides stable and scalable user interface components. The design of this project focuses on customization and usability, enabling developers to quickly build beautiful and feature-rich graphical user interface applications.
Mermaid is a JavaScript-based diagramming tool that generates diagrams and charts from Markdown-like text definitions. It simplifies the creation of complex diagrams, making it accessible even to non-programmers through its Live Editor. Mermaid supports a wide range of diagram types, including flowcharts, sequence diagrams, Gantt charts, class diagrams, state diagrams, pie charts, and more. It integrates seamlessly with platforms like GitHub and can be embedded in various applications. Designed to keep documentation up-to-date with development, Mermaid reduces the time and effort required to maintain accurate diagrams. Its text-based syntax allows for easy modifications, and it offers features like sandboxed rendering for enhanced security. Mermaid is open-source, community-driven, and widely used for visualizing processes, systems, and data.
Develop, test, run and bundle JavaScript and TypeScript projects - all with Bun. Bun is an integrated JavaScript runtime and toolkit designed to improve speed, including a bundler, a testing runner, and a package manager compatible with node.js.
A tool that helps users quickly create beautiful and cool mathematical animations through programming. It supports mainstream operating systems such as Linux, macOS, Windows, etc., and is widely used in the fields of mathematics education and scientific visualization. Manim's powerful features enable users to present mathematical concepts and principles in a creative way, helping more people understand complex mathematical content.
Advanced Java - A complete guide to advanced knowledge for Internet Java engineers: covering high concurrency, distributed, high availability, microservices, big data processing and other fields of knowledge. It is a must-read for back-end students, and front-end students can also learn from it.
Microsoft Azure cloud advocates are pleased to offer a 12-week, 26-lesson machine learning course. In this course, you will learn what is sometimes called classical machine learning, using Scikit-learn as the library, avoiding deep learning, which will be covered in our upcoming "Beginner AI" course. Pair these courses with our "Beginner Data Science" course!
Elasticsearch - a distributed RESTful search engine
A framework for building efficient, scalable Node.js server-side applications. It adopts progressive JavaScript, fully supports TypeScript, and also allows developers to write code using pure JavaScript. Nest combines elements of object-oriented programming (OOP), functional programming (FP), and functional reactive programming (FRP). It provides an abstraction layer while also exposing the underlying platform's APIs to developers, allowing them to freely use countless third-party modules.
A powerful fuzzy search command line tool that can search for files, history commands, processes, git commit records, and more. It supports content preview, can be easily integrated into Vim/Neovim editors, and has extremely fast search speeds, providing users with a convenient and efficient command line search experience.
A free online open source textbook "Hands-On Deep Learning" is a Chinese translation of the Introduction to Deep Learning course textbook at the University of California, Berkeley for the spring semester of 2019. The book comprehensively introduces deep learning, not only explaining the principles of algorithms, but also running them to gain an interactive learning experience.
Union is a hyper-efficient zero-knowledge infrastructure layer designed for general message passing, asset transfers, NFTs, and DeFi. It operates without dependencies on trusted third parties, oracles, multi-signatures, or MPC, leveraging Consensus Verification for security. Union is compatible with Cosmos chains via IBC and connects to EVM chains like Ethereum, Berachain, and Arbitrum. Its decentralized governance controls contract upgrades, connections, token configurations, and protocol evolution. Key components include `uniond` (node implementation), `galoisd` (ZK prover), `voyager` (cross-ecosystem relayer), and `hubble` (chain indexer). Built with Go, Rust, and Solidity, Union supports reproducible builds via Nix and offers a TypeScript SDK for interaction. It aims to align priorities among users, validators, and operators through decentralized governance.
A self-hosted photo and video backup solution that can be directly uploaded from your mobile phone. It provides a secure and convenient way to back up your personal photos and videos, ensuring that your data is protected and privacy is maintained. You can easily upload photos and videos to your own server and access and recover them whenever you need.
Grafana - A tool for monitoring, metric analysis and dashboards for Graphite, InfluxDB and Prometheus, etc.
Data visualization and data exploration platform, providing various visualization templates and interactive dashboards for clearer data presentation; built-in SQL IDE, allowing users to better operate data; API is open and flexible, with high customizability.
An open-source script for checking if a username is taken on various social platforms. By providing a simple and effective command-line tool, users can easily check the availability of a username on different social platforms. This is very useful for user registration and consistency of online identities.
An open-source automated operations and maintenance tool that makes it easier to deploy and maintain projects and systems. It quickly realizes everything from code deployment to network configuration to cloud management through simple syntax. And it uses SSH to automate all processes without the need to install agents on remote systems.
33 Concepts Every JavaScript Engineer Should Know, Helping Developers Master JavaScript Concepts
A lightweight web server written in Go. Compared to well-known web servers like Apache and Nginx, its distinctive feature is that it provides a compiled executable file, achieving true out-of-the-box functionality. It offers humanized features such as free HTTPS without any configuration and automatically converting Markdown files into HTML. For building small to medium-sized web services, it is more than sufficient and saves time and effort.
interviews - the basic technology you need to know to find a job
scikit-learn is a Python module for machine learning built on top of SciPy.
A Java algorithm list, which provides a detailed demonstration of the built-in algorithm implementations in Java. It offers Java developers a convenient reference, showcasing the application of Java's built-in algorithms in handling various tasks. This project helps developers better understand and use Java's algorithms through clear code examples and illustrations.
Anime.js is a lightweight, fast, and versatile JavaScript animation library designed for creating smooth and dynamic animations. It supports CSS properties, SVG, DOM attributes, and JavaScript objects, offering a simple yet powerful API. The library is modular, allowing developers to import specific functions like `animate`, `stagger`, and `createSpring` for precise control over animations. Key features include support for looping, easing, staggering, and timeline-based animations, as well as utilities for SVG morphing and motion paths. Anime.js is optimized for performance and is compatible with modern JavaScript modules. It is free to use and maintained through community support and sponsorships.
Atom - GitHub's official text editor
LeetCode - A github user records his journey of solving LeetCode problems