preface

To become a professional programmer, you need to practice, learn and accumulate, and have a certain breadth of technology, but also have their own depth.

As a tool mad, I have organized all kinds of excellent materials, artifacts and frames used in my work here. After all, a good memory is better than a bad keyboard. This project can be used as a rainy day for myself.

I like to toss, the record of things is relatively miscellaneous, there will be some in all aspects, the content is sorted according to the important level, we take what we need.

Things here will continue to accumulate, welcome Star, also welcome to send PR to me.

Thonatos.Yang

Thonatos.gitbooks. IO /be-a-profes…

directory

  • Expansion pack
    • Technical site
    • Will look at books
    • Daniel blog
    • Making paper
  • Tool post
    • The platform tools
    • Commonly used tools
    • Third Party services
    • Crawler related (fun tools)
    • Safety related
    • Web server performance/stress test tool/load balancer
  • Big data processing/data analysis/distributed tools
  • Web front end
  • Language article
    • Scala
    • Java
    • Python
    • Swift
    • .NET
    • C & C++
  • other
    • Game development related
    • Log aggregation and distributed log collection
    • RTP, Real-time transport protocol and audio and video

Expansion pack

Technical site

  • Online learning: Coursera, edX, Udacity, MIT Open Courses, MOOC Institute, MOOC

  • Hacker News: A great link aggregator for programming

  • Techmeme is a popular website for tech News and blogs.

  • Reddit – Programming Section: Same as above

  • Program Creek

  • Stack Overflow: An IT technology q&A site

  • SegmentFault: Technical Q&A community in Chinese

  • GitHub is the world’s largest source code management platform, hosting many well-known open source projects such as GitHub

    Linux kernel, OpenStack

    Etc.

  • Code cloud: a code hosting platform that supports free creation of private projects in Chinese, as an alternative

  • LeetCode: Why don’t you do these problems and see how good your algorithms are? This is way better than any interview guide.

  • LintCode: An online training platform for programming questions in Chinese, as an alternative

  • Kaggle,Topcoder: Machine learning, Big Data Competition

  • Nuggets: High quality tech community

  • Developer headlines

  • InfoQ: Enterprise applications, focusing on software development

  • V2EX: way to explore

  • Established technology communities in China: OSChina, Blog Park, CSDN, 51CTO

  • Free IT e-books: it-ebooks.info/

  • Online learning: www.udemy.com/

  • Great learning resources: plus.mojiax.com/

  • Exercise.io /

    and

    www.codingame.com

  • DevStore: Developer services store

  • MSDN: Official microsoft-related technology hub, mainly documentation

  • Google Developers

  • Code library

    • Includes useful open source projects and resources
  • Coding

    Git-based domestic code hosting platform, support for private projects, project management related functions

Will look at books

  • SICP(Structure and Interpretation of Computer Programs)
  • Deep understanding of computer systems
  • 2.
  • One thing
  • One month myth
  • Software capriccio
  • Introduction to Algorithms (MIT Press)
  • Discrete mathematics and its applications
  • Design patterns
  • The beauty of the programming
  • Hackers and Painters
  • The programming of mission
  • The Little Schemer
  • Simply Scheme_Introducing_Computer_Science
  • C++ Prime
  • Effective C++
  • TCP/IP, rounding
  • Unix Programming art
  • The nature of technology
  • Software capriccio
  • Computer programming
  • Programmer self-cultivation: linking, loading, and libraries
  • The way of programmer training
  • The training of an effective programmer
  • Introduction to Psychoanalysis, Freud
  • Out of Control, What Technology Wants, Techy Elements, Kevin Kelly
  • Program development psychology
  • Heaven and earth a sarge
  • Done: The art of stress-free work

Daniel blog

  • awesome-programmers

    • Top of the field, memorable programmers
  • Yun Feng (game industry leader) :

    blog.codingnow.com/

  • Wang Yin (many articles sprayed to quite reasonable) : www.yinwang.org/

  • Ice – umbrella elder brother (Lisp) follows: tianchunbinghe.blog.163.com/

  • RednaxelaFX wrote/answered by RednaxelaFX

  • Chen Hao – Left Ear Mouse: coolshell.cn/

  • Jeff Atwood

    blog.codinghorror.com/

  • Nguyen Yifeng (hacker, painter and translator, Web) : www.ruanyifeng.com/

  • Liao Xuefeng (his Python and Git tutorials are widely read) : www.liaoxuefeng.com/

  • The elder brother of the blackboard (safety) : zhuanlan.zhihu.com/taosay

  • Developers with high visibility on GitHub in China

Making paper

** Awesome **

  • Awesome: This is a collection of Awesome

  • Awesome2: Similar to the first Awesome

  • Awesome, Awesome, Awesome, Awesome

  • Awesomeness is a great collection of language learning materials

  • awesome-ios-ui

  • awesome-android-ui

  • Awesome-MaterialDesign

  • awesome-public-datasets

  • Awesome -AppSec(System Security)

  • awesome-datascience

  • awesome-dataviz

    • Data visualization library and data
  • awesome-es

  • awesome-comment

    • Divine annotations
  • awesome-hacking

    • Hacker kit
  • awesome-machine-learning

    • Machine learning materials

** Book materials **

  • Every Programmer Should Know

  • Latency Numbers Every Programmer Should Know

  • System-design-primer: Introduction to system design

  • Free – programming – books | Chinese version

  • Free index of programming Chinese books

  • The Art of Programming for Programmers — Interviews and Algorithms

  • GoBooks

  • Papers we love

  • NLP recommended learning routes and references

  • Great machine learning materials (frameworks, libraries, software),

    Chinese translation

  • Machine Learning & Deep Learning materials

  • Docker data collection

  • Learn to use Strom

  • Hadoop Internals

  • Spark Internals

  • Data analysis and data mining in big data era – based on Hadoop

  • How do you make an operating system

  • Learn software development with open source projects

  • Several good open source game engines

  • Write Python articles together, read Python articles together

  • R’s geek Ideal series

  • HTTP Interface Design Guide

  • Share your favorite front-end development sites, blogs, and active developers

  • Readings in Databases

  • Data Science blogs

  • Logging: A unified concept of real-time data that every software engineer should know

  • Android Code Path

  • Android Learn Notes

  • PHP class library framework, data collection

** Excellent project **

  • Top 10 C open Source projects to watch
  • 15 small open source projects to learn from
  • IOS -100 open source components
  • Top 10 Material Design Open Source projects
  • Android open source project classification summary

** front-end & Node.js **

  • The front-end resources
  • Front-end Development Guide
  • Front-end Skills Summary
  • Front-end resource navigation
  • Collect front-end books
  • The latest front-end development interview questions in 2014
  • Simple and clear JavaScript language tutorials, code examples
  • JavaScript programming specification
  • JavaScript must watch video
  • JavaScript standard reference tutorial (Ruan Yifeng, organized well)
  • JS will see
  • Chinese branch of AngularJS Guide
  • Angular2 learning materials
  • Best practices and style guide for AngularJS apps
  • React-native Learning Guide
  • Learn NodeJS in seven days
  • Node.js Chinese information navigation
  • Nodejs learning Roadmap
  • How to learn NodeJS

** work, tools **

  • Compiler Explorer
  • System administrator tools collection
  • Pro Git
  • Nginx development from beginner to master
  • Google global IP address library
  • Collect information related to remote work
  • Color schemes for hackers
  • Game development tool set, MagicTools
  • Developer toolbox, free-for-dev
  • Making mods
  • Git Style Guide
  • Bast-App

Tool post

The platform tools

  • Jupyter: IPython Notebook has a sub-project sparkMagic that can be combined with Spark, similar to the Spark-Notebook project

  • Swagger: RESTful API design tool, necessary for front and back end separation projects, incidentally recommended

    Easy Mock

  • Phabricator: Software development platform, made by Facebook, now open source, CodeReview artifact (all tools from this down to GitLab can be ignored)

  • Redmine/Trac: Project management platform

  • Jenkins/Jira(not open source) : Continuous Integration systems (Apache Continuum, this is a CI system under Apache, has not had time to explore)

  • Git, SVN: source code version control system

  • GitLab/Gitorious: Build your own GitHub server

  • AppVeyor

    • Cloud continuous integration tool, which can be used with GitHub
  • Postman:RESTful, API testing tool, HTTP interface development necessary magic; Alternative tool: Insomnia

  • Lottie: After Effects animation to native code, designers must have

  • Sonar: Code quality management platform

  • Nessus: system vulnerability scanner

  • Gitbook: www.gitbook.io/

    Good for writing books, of course, but also good for writing documents (find a lot of product documentation is used with it)

  • Travis-ci: continuous integration essential for open source projects, in conjunction with GitHub, travis-ci.org/

  • Trello: simple and efficient project management platform, focusing on kanban management

  • Log aggregation: Graylog, ELK (graylog is recommended, which is basically Splunk)

  • Open source testing tools, communities (Selenium, OpenQA.org)

  • Puppet: An automatic administration engine that works on Linux, Unix, and Windows platforms. The so-called configuration management system is to manage the resources such as files, users, processes and software packages in the machine. Puppet can easily manage one machine or tens of thousands of machines. Other similar tools: CFEngine, SaltStack, Ansible

  • Nagios: System status monitoring alerts, and Icinga(fully compatible with all Nagios plugins, works exactly the same, configuration files and methods. Simple configuration, powerful)

  • Ganglia: Distributed monitoring system

  • Fleet: distributed init system

  • Ansible: Simplifies automatic configuration management and process control for Unix administrators.

  • GeoLite free database

  • JsHint :js code validation tool

  • Haproxy: High availability load balancing (nGINx, LVS)

  • Linux OS performance analysis tools: dstat, iostat, ioTOP, and nmon

  • Kimono: A tool for converting web page information into an API

  • Cluster management tools: PDSH, ClusterSSH, mussh (which can be used to quickly manage Hadoop clusters) IPA-Server for unified authentication management

  • Influxdb: Distributed time series database, combined with Grafana for real-time data analysis

  • Dot: Programmer drawing tool (a language and a tool)

  • Graph::Easy: (Ascii Art tool) Graph::Easy: (Ascii Art tool) Graph::Easy: (Ascii Art tool) Graph::Easy: (Ascii Art tool) Other similar tools Asciiflow, vi plugin: drawit!

  • Spf13 – VIM: Let your Vim fly!

  • Kubernetes: container cluster management system

  • Gatling: Server performance stress testing tool

  • Systemtap: Linux kernel explorer, kernel debugger

  • Cygwin: Unix-like emulation environment under Windows

  • MinGW: GNU toolset for Windows

Commonly used tools

  • EditorConfig: Allows us to write code consistently across different ides or editors

  • Mac under the magic weapon

  • Asciinema: Terminal screen recording magic device

  • Fiddler: a great front-end Web debugging tool, especially for the underlying HTTP protocol. For general use, a native debugging tool such as Chrome is sufficient, but for special use

  • Charles: Web proxy debugging tool for Mac, similar to Fiddler

  • fir.im

    Free mobile App internal test hosting platform

  • Wireshark: a well-known network packet analysis tool

  • PowerCmd: a powerful alternative to Windows Cmd

  • RegexBuddy: A powerful regular expression testing tool

  • Soure Insight: Source code reader

  • SublimeText: Programmer’s favorite editor

  • Database.NET: a general-purpose relational database client based on. NET 4.0 development, do simple processing or quite convenient

  • Navicat Premium: Clients that support MySql, PostgreSQL, Oracle, Sqlite, and SQL Server are not as versatile as Database.NET, but perform much better than Database.NET. They also have built-in backup functionality for regular database backups.

  • Synergy: One set of keyboards and mice that controls multiple computers on a LAN

  • DameWare: A set of remote assistance tools (I use to control large screens in my company)

  • Radmin: Remote control tool, used for a period of time DameWare, but also cracked, for Windows 7 support is not good, or found this easy to use

  • Listary: A “super tool” that can dramatically increase the speed and efficiency of your Windows file browsing and searching.

  • Clover: Add multiple tabs to Explorer, I use it at work, use Explorer like Chrome, it’s very convenient (it’s Windows)

  • WinLaunch: Simulates the Launch tool for Mac OS

  • OllyDbg: OD well-known disassembly tool, Win platform

  • 4. Fritzing: A circuit diagram

  • LICEcap: GIF tutorial making

  • Git, SVN: version control system

  • Enigma Virtual Box (encapsulating exe, DLL, etc into an executable program)

  • Open DBDiff(for SqlServer) database synchronization

  • SymmetricDS: Database synchronization

  • BIEE,Infomatica, SPSS, WEKA, R language: Data Analysis

  • CodeSmith, LightSwitch: Code generation

  • Pandoc: Markdown conversion tool for book publishing. I used to play Docbook, but now Markdown is all the rage.

  • Window Magnet[Mac] : Enhanced Mac Window management features, like Windows 7 with the ability to drag and drop Windows to the edge of the screen to adjust automatically

  • Log explorer: view SqlServer logs

  • Dependency Walker: Query Windows application DLL dependencies

  • Shairport4w: Transfer audio from iPhone, iPad, iPod to PC via AirPlay protocol

  • Ngrok: Intranet penetration tool

  • Axure: Rapid prototyping tool, and there’s an online mapping tool made by a startup team in The country, and it’s working really well

    www.processon.com/

  • Origami: Next generation interactive design artifact

  • Baidu brain Map: naotu.baidu.com

  • Tinyproxy :(Linux) a small proxy server supports HTTP and HTTPS

  • EaseUS Partition Master is a super simple Partition adjustment tool, which is very fast. If you don’t have enough disk C, use it to Partition some space from disk D without reinstalling the system.

  • CheatEngine: play games to modify the memory value of the necessary artifact (remember when I play Xuanyuan Sword 6 used it, super convenient)

  • ApkIDE: Android decompiler magic

  • | | turn, wall tools (from the browser | door, day line, free VPN:http://www.mangovpn.com/), find the most convenient also belong to the Lantern, super convenient free | (updated in 2015-08-22)

  • Design tools: Sketch, OmniGraffle

  • -Leonard: MindManger

  • MagicDraw: Uml diagram tool

  • Innotop: MySql status monitoring tool

  • Ink knife: A much simpler prototyping tool than Axure for rapid prototyping

  • Karabiner: Mac only, modify the key of the magic device, mechanical keyboard necessary

  • Timing: Mac only, where do you spend your time

  • LaTeX: based on Ε χ typesetting system, it makes writing papers more convenient

  • Antlr: An open source parser that lets you write a small parser without any pressure

Third Party services

  • Let’s Encrypt: A free, automated, open certificate issuing service
  • DnsPod: a good smart DNS service resolution provider
  • DigitalOcean: an overseas cloud hosting provider, cheap, SSD disk, used for a period of time overall ok, but after all, it is overseas, the Internet speed is relatively slow. The domestic is Aliyun. Another well-known one is Linode, which is said to be much faster than DigitalOcean
  • Mobile terminal push services: Getui, JPush, Yunba
  • LeanCloud: Mobile application development services, including data storage, user management, message push, app statistics, social sharing, real-time chat, etc
  • Color Hunt: beautiful and cool Color matching website, good news for programmers
  • Heroku: PaaS platform

Crawler related (fun tools)

  • Phantomjs(Web automated testing, server-side rendering, etc.)
  • BerserkJS (an improved version based on Phantomjs)
  • SlimerJS
  • CasperJS
  • selenium
  • HtmlUnit (open source Java page analysis tool, also a Headless browser)

Safety related

  • SQL injection detection: SQLMap, Haviji
  • Port scanning: NMAP
  • Penetration test: BurpLoader
  • Sqltools: used to exploit SQL vulnerabilities
  • Snort: Intrusion detection

Web server performance/stress test tool/load balancer

  • Ab: Ab is a powerful test tool provided by Apache
  • Curl -loader: simulates and tests Web loads
  • Http_load: The program is very small, less than 100K after decompression
  • Webbench: A web site stress test tool for Linux that simulates up to 30,000 concurrent connections to test a site’s load capacity.
  • Siege: An open source stress testing tool that allows users to execute concurrent visits to a WEB site based on their configuration, log the duration of all requests to each user, and repeat the process for a certain number of concurrent visits.
  • Squid (front-end cache), nginx (load), NodeJS (yes it can, write your own high performance load balancer) : common load balancers
  • Piwik: Open source website access statistics system
  • ClickHeat: open source site ClickHeat map
  • HAProxy: high-performance TCP /HTTP load balancer
  • ElasticSearch: Search engine based on Lucene
  • Page Speed SDK and YSLOW
  • HAR Viewer: HAR analysis tool
  • Protractor: E2E (End to End) Automated test tool

Big data processing/data analysis/distributed tools

  • Hadoop: Distributed file systems, combined with their MapReduce programming model, can be used for batch processing of massive amounts of data (not to mention Hive, Pig, HBase). Cloudera’s Hadoop branch, CDH5, Hadoop based on YARN MRv2 integrates Spark and can be directly used in the production environment, which is very useful for enterprises to quickly build data warehouses.
  • Spark: large-scale data processing framework. It can handle three common data processing scenarios in enterprises: complex batch data processing; Interactive Query based on historical data; Streaming Data Processing Based on Real-time Data Streaming
  • In addition to Spark, several other good computing frameworks include Kylin, Flink, and Drill
  • Ignite: In-Memory Data Fabric
  • CarbonData: Huawei incubation project that supports column storage of indexes
  • Ceph:Linux Distributed File System (Features: Centrless)
  • – Storm: Real-time streaming data processing, check out an introduction by IBM (and Yahoo S4, which also does streaming data processing)
  • Druid: Storage system for real-time data analysis
  • Ambari: Big data platform building, monitoring tools; Similarly, CDH
  • Tachyon: Distributed memory file system
  • Greenplum: POSTgresQl-based distributed MPP database
  • Mesos: Computing Framework A cluster manager that provides efficient resource isolation and sharing across distributed applications or frameworks
  • Impala: A new generation of open source big data analysis engine that provides Sql semantics and is faster than Hive
  • Presto: Facebook’s open source tool, big data distributed SQL query engine
  • SNAPPY: a fast data compression system suitable for the Hadoop ecosystem
  • Kafka: distributed message queue system with high throughput
  • ActiveMQ: Is the most popular and powerful open source message bus from Apache
  • MQTT:Message Queuing Telemetry Transport (MQTT) is an im protocol developed by IBM that has the potential to become an important part of the Internet of Things (iot)
  • RabbitMQ: Remember that’s what OpenStack uses
  • ZeroMQ: Claims to make distributed computing easier. It is a distributed message queue, as described in an article on Cloud Wind
  • Open source log collection systems: Scribe, Chukwa, Kafka, Flume. Here’s a comparison article
  • Zookeeper: Reliable distributed coordinated open source project
  • Databus: LinkedIn real-time low latency data capture system
  • Data source acquisition: Flume, Google Refine, Needlebase, ScraperWiki, BloomReach
  • Serialization techniques: JSON, BSON, Thrift, Avro, Google Protocol Buffers
  • NoSql: ScyllaDB (claimed to be the world’s fastest NoSql), Apache Casandra, MongoDB, Apache CouchDB, Redis, BigTable, HBase, Hypertable, Voldemort, Neo4j
  • MapReduce related: Hive, Pig, Cascading, Cascalog, MRJob, Caffeine, S4, MapR, Acunu, Flume, Kafka, Azkaban, Oozie, Greenplum
  • Data processing: R, Yahoo! Pipes, Mechanical Turk, Solr/ Lucene, ElasticSearch, Datameer, Bigsheets, Tinkerpop
  • NLP Natural Language processing: Natural Language Toolkit, Apache OpenNLP, Boilerpipe, OpenCalais
  • Machine learning: TensorFlow (Google), WEKA, Mahout, SciKits. Learn, SkyTree
  • Visualization techniques: GraphViz, Processing, Protovis, Google Fusion Tables, Tableau, Highcharts, EChats (baidu is good), Raphael. Js
  • Kettle: Open-source ETL tool
  • Pentaho: Open source BI system with workflow at its core
  • Mondrian: Open source Rolap server
  • Oozie: Open-source Hadoop workflow scheduling engine similar to Azkaban
  • Open source data analysis visualization tools: Weka, Orange, KNIME
  • Cobar: Alibaba’s MySql distributed middleware
  • Data cleansing: Data Wrangler, Google Refine

Web front end

  • Material Design: Google product, must be boutique

  • Vue.js: Borrowed from Angular and React JS frameworks, the design concept is relatively advanced

  • Sciter: GUI framework, using its own HTML/CSS parser, with excellent extension features and performance, DLL compression in 1~2M

  • GRUNT: js task runner

  • Sea-.js: JS modularization

  • Knockout.js: MVVM development foreground, binding technology

  • Angular.js: Develop WEB applications with hyper-dynamic HTML & JS!

  • Highcharts. Js, ECharts, Flot: Commonly used data visualization libraries

  • D3.js: is a JavaScript based data presentation library (similar to p5.js)

  • Vega: D3 based visual syntax

  • NVD3: Chart library based on D3.js

  • Raw: A very good advanced data visualization tool

  • Rickshaw: A library of sequential ICONS that can be used to build real-time charts

  • JavaScript InfoVis Toolkit: Another Web data visualization plug-in

  • Pdf.js, display Pdf in HTML

  • ACE, CodeMirror: Html code editor

  • NProcess: Gorgeous loading progress bar

  • Impress. Js: Allows you to create stunning displays of content (similar to reveal)

  • Threejs: 3 dweb library

  • Hightopo: A 2D and 3D VISUAL UI library based on Html5

  • Jquery.datatables.js: highly flexible table plugin

  • Raphael: JS, Canvas drawing library, later found that the graph of Baidu index was drawn with it

  • Director. Js: JS routing module, front-end routing, Nodejs back-end routing, etc., suitable for constructing single page applications

  • Pace. js: page loading progress bar

  • Bower: Web package manager

  • Jsnice: interesting js decompression tool, guess the compressed variable name, http://www.jsnice.org/

  • Zepto.js: jquery-mobile is a mobile alternative to jQuery.

  • UI framework: Foundation, Boostrap, Pure, EasyUI, Polymer

  • Here are some must-visit sites for UI designers: Dribbble, Awwwards, UnMatchedStyle, UIMaker

  • The Mozilla developer center: https://developer.mozilla.org/en-US/

  • Icon resources: IcoMoon (my favorite), Font Awesome, Themify Icons, FreePik, Glyphicons

  • ArtDialog: Very beautiful dialog box

  • AdminLTE: github open source project, based on Boostrap3 backend management page framework

  • Responding.js: Let Internet Explorer 6-8 support responsive design for those who don’t understand love

  • Require.js: js module loading library

  • Select2: A selection box alternative library with more features than chosen

  • AngularUI: UI library that integrates angular.js

  • Normalize.css: a library that uses modern standards to render HTML consistently across browsers

  • CreateJS: Html5 game engine

  • Less,Compass: Simplifies CSS development

  • Emojify.js: used to automatically recognize Emoji text on web pages and display them as images

  • Simditor: a nice open source HTML editor, simple and efficient

  • Sencha: Mobile development framework based on HTML5

  • SuperScrollorama+TweenMax+ Skrollr: Create cool parallax scrolling animations for web pages

  • Jquery-smooth-scroll: same as above, smooth scroll plug-in

  • Animate. CSS: A CSS library that implements various animation effects

  • Emmet: Prerequisite for front-end engineers, formerly Zen Coding

  • React: The Js UI library from Facebook

  • Highlight.js: a library for syntax highlighting

  • GoJS: Html5 interactive chart library. See demo for more hierarchical charts.

  • 10 Pure CSS (Mostly) Flat Mobile Devices:

    Marvelapp. Making. IO/devices. CSS…

  • CodePen:

    codepen.io/

  • jsfiddle:

    jsfiddle.net/

    Front-end JS, HTML, CSS test tool

Language article

Ongoing: Scala, Python, Lua, JavaScript, Go

Stay with:

  • Racket
  • OCaml
  • Rust
  • Julia

Scala

  • Scala Standard Library API

  • Scala School! : A Scala tutorial by Twitter

  • A Tour of Scala: Tutorial introducing the main concepts of Scala

  • Scala Overview on StackOverflow: A list of useful questions sorted by topic

  • Programming in Scala, the latest edition of Programming in Scala, 3rd edition

  • Scala for the Impatient

  • Scala in Depth

  • Programming Scala Dean Wampler and Alex Payne. O ‘Reilly 2009

  • Scala By Example

  • Scala Cheatsheet

    Learning pattern matching good information

  • Glossary of Scala and FP terms

  • Metascala: A JVM written in Scala

  • LMS: Program Generation and Embedded Compilers in Scala

  • Parboiled2: Good parser

Java

  • Common ides: IntelliJ IDEA(highly recommended), Eclipse, Netbeans
  • Fastutil: A Java collections framework for better performance
  • Guava: Google’s Java toolkit, widely used
  • Lagom: Microservices framework that provides Java and Scala apis
  • Curator: Netflix’s open source Zookeeper Client library, which simplifies Zookeeper client programming, is now a separate project under Apache. Spark HA also uses this product.
  • Rx(Reactive Extensions) framework: vert. x, RxJava(More commonly used on Android), Quasar
  • FindBugs: Code static analysis tool that finds code defects
  • Java decompiler tools: Luyten, JD-GUI
  • Drools: Rules engine
  • Jersey: Java RESTful framework
  • Canal: Binlog incremental subscription & consumption component from Alibaba
  • Web development related: Tomcat, Resin, Jetty, WebLogic, commonly used components Struts, Spring, Hibernate
  • Netty: Asynchronous event-driven network application programming framework, good for high concurrency network programming (NIO framework, Spark 1.2.0 uses Netty instead of NIO)
  • MINA: Simply develop high performance and high reliability web applications (also a NIO framework) that many mobile game servers use to develop
  • JOOQ: Java Orm framework
  • Janino: Super small and fast Java compiler used by Spark’s Tungsten generator
  • Activiti: Workflow engine, similar to jBPM, Snaker
  • Perfuse: A user interface for presenting structured and unstructured data in interactive visualizations.
  • Gephi: Complex network analysis software, which is mainly used for a variety of networks and complex systems, dynamic and hierarchical graph interactive visualization and exploration open source tools
  • Nutch: Well known crawler project, hadoop grew out of this project
  • Web-harvest: Web data extraction tool
  • POM tools: Maven+Artifactory
  • Akka: a framework for concurrent processing based on the Actor model
  • EclEmma: Coverage testing tool
  • Shiro: Security framework
  • Joda-time: simplifies time processing
  • Parboiled: Expression parsing
  • Dozer: Deep copy artifact
  • Dubbo: Distributed service framework produced by Alibaba
  • Jackson Databind: Json serialization tool (FastJSON, SimpleJSON)
  • Atomikos: Distributed transaction management
  • BoneCP: database connection pool component with excellent performance, said to be much faster than C3P0
  • ProGuard: ObConfuscation Tool is a powerful obfuscation tool
  • S-99:99 Scala related questions

Python

  • PyCharm: Best Python IDE
  • Eric,Eclipse+ Pydev, a good Python IDE
  • PyWin:Win32 API programming package
  • Numpy: Scientific computing package, mainly used to handle large matrix calculations, etc., in addition to SciPy, Matplotlib
  • GUI related: PyQt, PyQwt
  • Supervisor: process monitoring tool
  • PyGame: Python based multimedia development and game software development module
  • Web Framework: Django’s open source Web development framework encourages rapid development and follows an MVC design

Swift

  • Swift Selected Materials
  • 43 excellent open source projects

The client

  • Encyclopedia Swift
  • HackerNews Swift
  • Zhihu Daily app

Framework

  • Twitter framework
  • Mac simple HTTP Server Swifter

Small tools

  • Swift Alarm
  • Swift Note
  • Swift RSS Reader
  • Swift – PM2.5 query app

The game

  • Flappy Swift
  • FanFan Swift

.NET

  • Xilium.CefGlue: based on the CEF framework. NET encapsulation, based on. NET developed Chrome kernel browser
  • CefSharp: again, with a WebKit package, C# and Js interaction will be much easier
  • Netz: free.net executable file compression tool
  • SmartAssembly: Perverted.NET code optimization obfuscation tool
  • NETDeob0:.net anti-obliquation tool, it’s a hell of a lot better than that (there’s also De4dot, on GitHub, which is open-source)
  • ILMerge: Merge all referenced DLLS and exe files into one exe file
  • ILSpy: Open source. Net program decompiler
  • Javascript.NET: a nice JAVASCRIPT execution engine that encapsulates V8
  • NPOI: Excel operation
  • DotRAS: module for remote access services
  • WinHtmlEditor: An HTML editor under Winform
  • SmartThreadPool: thread pool with advanced features implemented in C#
  • Snoop: WPF Spy Utility
  • Autofac: Lightweight IoC framework
  • HtmlAgilityPack: Html parsing tool
  • Quartz.NET: Job scheduling
  • HttpLib: @codeplex simplifies HTTP requests
  • SuperSocket: simplified Socket operation, based on his SuperWebSocket, can develop an independent WebSocket server
  • DocX: Operating Word files without Office installed
  • Dapper: Lightweight ORM class with good performance
  • HubbleDotNet: a full-text search system that supports access to databases
  • FastJSON: @codeProject, a high-performance JSON serialization class
  • ZXing.NET: @codeplex, QR, barcode related
  • Nancy: lightweight Http server, make a small Web application without IIS (Nancy.Viewengines.Razor, add Razor engine)
  • AntiXSS: Microsoft Web Protection Library for XSS
  • Jint: JavaScript interpreter
  • Cs-script: executes C# code files as scripts
  • Jexus: a high-performance, easy-to-use, free ASP.NET server for Linux
  • Clay: make dynamic more flexible and write in C# like js
  • DynamicJSON: You don’t have to define a data model to get JSON data
  • SharpPcap: C# version of WinPcap call end, cool network package analysis library (with PacketNotNet for package protocol analysis)
  • Roslyn: C#, VB compiler
  • ImageResizer: server free control of image size, really is a magic tool also, on the mobile side of the small image, PC side of the large image, CMS is very convenient to use it
  • UI Related: DevExpress, Fluent(Office 07 Style), MUI (Modern UI for WPF)
  • NetSparkle: Apply automatic update components
  • ConfuserEx: Open source. Net obfuscation tool
  • ServiceStack: Open source high-performance Web services framework for building high-performance REST services
  • Expression Evaluator: Eval for C#, handling string expressions
  • http://nugetmusthaves.com/
  • Reactive Extensions (Rx): Asynchronous, event-driven programming package, Rx = Observables + LINQ + Schedulers

C & C++

  • Thrift: For the development of extensible, cross-language services (Avro, Google Protobuf, for example).

  • Libevent is an event-triggered network library. It is applicable to Windows, Linux, and BSD platforms. It uses the system call management event mechanism such as Select, epoll, and KQueue internally. (Oh, and there’s a Libev.)

  • Boost: Without further ado, a quasi-C ++ standard library

  • Valgrind\Ptmalloc\Purify: Debugging tool

  • NetworkServer: Acceptor ->dispatcher->worker

  • POCO

    • A collection of open source C++ class libraries and application frameworks that provide simple, fast networking and portable applications
  • Breakpad: Crash dump and analysis module, used in many CrashReport applications

  • UI interface related: MFC, BCG and QT are not mentioned, a bit more high-end Html and DirectUI technology: Libcef, HtmlLayout, Duilib, Bolt, non-C ++, and Node-WebKit, which integrates the Node and WebKit cores.

other

Game development related

  • MINA: Using Java to develop mobile and page game servers (and also Netty, which is NIO based)
  • Hp-socket: see some pager servers built using this
  • Unreal: Unreal engine, C++, there are many games based on this engine
  • OGRE: famous 3D graphics rendering engine, Tianlong Eight part OL, torchlight and many other games have used this engine
  • OpenVDB: dreamworks C++ special effects library, open source
  • Cocos2d: Cross-platform 2D game engine
  • Unity3d: Cross-platform 3D game engine, very popular
  • Nodejs: A lot of people are using it to develop mobile games and page game servers (Pomelo of netease).

Log aggregation and distributed log collection

  • Scribe: Facebook’s (NodeJS + Scribe + inotify synchronous log)
  • Logstash: A powerful log collection system, you can develop a powerful log analysis platform based on logStash + Kibana + ElasticSearch + Redis
  • Log. IO: a real-time log collection system developed by NodeJS
  • Graylog: An easy-to-use, feature-rich log management system for deployment, maintenance, and searchELKsimple

RTP, Real-time transport protocol and audio and video

  • RTP, RTCP, RTSP-> librtp, JRTPLIB(RFC1889 standard)
  • Ring buffer for real time data transmission
  • SDL,ffmpeg,live555,Speex
  • Red5: Develop open source Flash streaming media server in Java. It supports: audio (MP3) and video (FLV) into playback streams; Record client playback streams (FLV only); Shared object; Live broadcast stream release; Remote call.

Original text: github.com/stanzhai/be…