How to learn from open source projects

  •        10

Students ask this question frequently steps or methodology to learn from open source projects. There is no single answer or steps available. I listed the steps which i follow and i hope this will help for few.

Consider a java programmer wants to access database via ORM tools like Hibernate. In this case pick any open source projects which use database. The choice could be content management system or forum software. Among that pick Java projects and see which all use Hibernate to connect to database. Shortlist one or two and download their source. Search the source for hibernate related keywords. Most of the projects are object oriented and only one or two class will be responsible to access it to the database. Pick the class and learn the code. Reuse if possible.

If you want to learn anything related to generating charts, then pick projects related to reporting and analyze its source. If you want to learn any PHP based framework, then pick a CMS project which uses that.

Again this is should be a one time task. If you search, when there is a urgent requirement then you will waste more time in searching projects. This should be a like a habit, learn about one open source projects once a day or a week. Read their site and learn their design. What all the components they use to build their projects. Download the source and peep in to the lib directory to get the list of dependency. There are many small libraries which could make our life easier. Bookmark it and use whenever required.

Please feel to add your comments and write how would you learn.



Tags
Implementation
License
Platform

   




Related Projects

machine-learning-open-source - Monthly Series - Machine Learning Top 10 Open Source Projects

  •    Objective-C

Click "Watch/Star" to get an email notification once a month for Top 10 Machine Learning Open Source. Mybridge AI ranks articles by the number of shares, minutes read, and by its own machine learning algorithm.

carla - Open-source simulator for autonomous driving research.

  •    C++

CARLA is an open-source simulator for autonomous driving research. CARLA has been developed from the ground up to support development, training, and validation of autonomous urban driving systems. In addition to open-source code and protocols, CARLA provides open digital assets (urban layouts, buildings, vehicles) that were created for this purpose and can be used freely. The simulation platform supports flexible specification of sensor suites and environmental conditions. If you want to benchmark your model in the same conditions as in our CoRL’17 paper, check out Benchmarking.

real-world-rails - Real World Rails applications and their open source codebases for developers to learn from

  •    Ruby

This project brings 100+ (and growing) active, open source Rails apps and engines together in one repository, making it easier for developers to download the collected codebases and learn from Rails apps written by experienced developers. Reading open source code can be an invaluable learning aid. You’ll find the source code in the apps/ and engines/ subdirectories.

dash-sample-apps - Open-source demos hosted on Dash Gallery

  •    Jupyter

This repository hosts the code for over 100 open-source Dash apps written in Python or R. They can serve as a starting point for your own Dash app, as a learning tool to better understand how Dash works, as a reusable templates, and much more. Most apps in this repository are hosted on Dash Gallery, which is our internal server running on Dash Enterprise Kubernetes. Note that you can find both open-sourced apps and demos for our licensed products, including Design Kit and Snapshot Engine. If you are interested in learning more, don't hesitate to reach out to get a demo. If you want to only see the open-sourced apps, select the "Open Source" tag.


tangent - Source-to-Source Debuggable Derivatives in Pure Python

  •    Python

Tangent is a new, free, and open-source Python library for automatic differentiation.Existing libraries implement automatic differentiation by tracing a program's execution (at runtime, like PyTorch) or by staging out a dynamic data-flow graph and then differentiating the graph (ahead-of-time, like TensorFlow). In contrast, Tangent performs ahead-of-time autodiff on the Python source code itself, and produces Python source code as its output. Tangent fills a unique location in the space of machine learning tools.

Ray - A unified framework for scaling AI and Python applications

  •    Python

Ray is an open-source unified compute framework that makes it easy to scale AI and Python workloads — from reinforcement learning to deep learning to tuning, and model serving. Ray is a unified way to scale Python and AI applications from a single node to a cluster.

curriculum - 👩‍🏫 👨‍🏫 The open-source curriculum of Enki!

  •    

Welcome to our open-source content repository! At Enki, we feel that education is a community effort, and is best approached when everyone is involved and engaged. To that end, we have an entirely open-source curriculum available for you to edit, comment on, and contribute to! To get started, have a look at our Wiki. We also have a Slack you can join to by filling in this typeform. Learning happens best in a psychologically safe environment, so we've adopted the contributor covenant as our code of conduct. If a list of rules isn't helping you envision what we're after, here's another great resource (from The Recurse Center, read the Social Rules section) for how to participate in creating a community you'd like to be a part of. We will enforce this, please get in touch with liz@enki.com with questions or concerns. Everyone is learning all the time, so disputes will be arbitrated first, and good-faith efforts are what is expected.

CompreFace - Leading free and open-source face recognition system

  •    Java

Exadel CompreFace is a free and open-source face recognition service that can be easily integrated into any system without prior machine learning skills. CompreFace provides REST API for face recognition, face verification, face detection, landmark detection, age, and gender recognition and is easily deployed with docker. Exadel CompreFace is a free and open-source face recognition GitHub project. Essentially, it is a docker-based application that can be used as a standalone server or deployed in the cloud. You don’t need prior machine learning skills to set up and use CompreFace.

Open Source Computer Forensics Manual

  •    

An open-source manual for computer forensics covering methodology, process and delving into technical standard operating procedures.

APIMAN - Open Source API Management

  •    Java

The apiman project brings an open source development methodology to API Management, coupling a rich API design & configuration layer with a blazingly fast runtime. It helps to govern your API. It is flexible, policy-based runtime governance for your APIs. Offer the same API through multiple plans, allowing different levels of service to different API consumers.

machinelearning - ML.NET is an open source and cross-platform machine learning framework for .NET.

  •    CSharp

ML.NET is a cross-platform open-source machine learning framework which makes machine learning accessible to .NET developers. ML.NET allows .NET developers to develop their own models and infuse custom ML into their applications without prior expertise in developing or tuning machine learning models, all in .NET.

datumbox-framework - Datumbox is an open-source Machine Learning framework written in Java which allows the rapid development of Machine Learning and Statistical applications

  •    Java

Datumbox is an open-source Machine Learning Framework written in Java which allows the rapid development of Machine Learning and Statistical applications.

FinRL - A Deep Reinforcement Learning Library for Automated Trading in Quantitative Finance

  •    Jupyter

FinRL is an open source library that provides practitioners a unified framework for pipeline strategy development. In reinforcement learning (or Deep RL), an agent learns by continuously interacting with an environment, in a trial-and-error manner, making sequential decisions under uncertainty and achieving a balance between exploration and exploitation. The open source community AI4Finance (to efficiently automate trading) provides educational resources about deep reinforcement learning (DRL) in quantitative finance. To contribute? Please check the end of this page.

open-source-rover - A build-it-yourself, 6-wheel rover based on the rovers on Mars!

  •    TeX

The JPL Open Source Rover is an open source, build it yourself, scaled down version of the 6 wheel rover design that JPL uses to explore the surface of Mars. The Open Source Rover is designed almost entirely out of consumer off the shelf (COTS) parts. This project is intended to be a teaching and learning experience for those who want to get involved in mechanical engineering, software, electronics, or robotics. JPL is always looking to inspire the next generation of scientists, engineers, and roboticists to help us explore and learn about our solar system (and beyond!). We release the plans for this rover as a way to try and give budding enthusiasts a fun robotics project that will help teach them and get them involved in robotics sooner and at a lower cost.

open-solution-home-credit - Open solution to the Home Credit Default Risk challenge :house_with_garden:

  •    Python

This is an open solution to the Home Credit Default Risk challenge 🏡. In this open source solution you will find references to the neptune.ml. It is free platform for community Users, which we use daily to keep track of our experiments. Please note that using neptune.ml is not necessary to proceed with this solution. You may run it as plain Python script 🐍.

rex-gym - OpenAI Gym environments for an open-source quadruped robot (SpotMicro)

  •    Python

The goal of this project is to train an open-source 3D printed quadruped robot exploring Reinforcement Learning and OpenAI Gym. The aim is to let the robot learns domestic and generic tasks in the simulations and then successfully transfer the knowledge (Control Policies) on the real robot without any other manual tuning. This project is mostly inspired by the incredible works done by Boston Dynamics.

NetKit-SRL

  •    Java

NetKit-SRL, or NetKit for short, is an open-source Network Learning Toolkit for statistical relational learning. The toolkit provides functionalities not found in any existing open source projects and integrates with the WEKA machine learning toolkit.

AirSim - Open source simulator based on Unreal Engine for autonomous vehicles from Microsoft AI & Research

  •    C++

AirSim is a simulator for drones (and soon other vehicles) built on Unreal Engine. It is open-source, cross platform and supports hardware-in-loop with popular flight controllers such as PX4 for physically and visually realistic simulations. It is developed as an Unreal plugin that can simply be dropped in to any Unreal environment you want.

BotSharp - The Open Source AI Chatbot Platform Builder in 100% C# Running in

  •    CSharp

BotSharp is an open source machine learning framework for AI Bot platform builder. This project involves natural language understanding, computer vision and audio processing technologies, and aims to promote the development and application of intelligent robot assistants in information systems. Out-of-the-box machine learning algorithms allow ordinary programmers to develop artificial intelligence applications faster and easier. It's witten in C# running on .Net Core that is full cross-platform framework. C# is a enterprise grade programming language which is widely used to code business logic in information management related system. More friendly to corporate developers. BotSharp adopts machine learning algrithm in C# directly. That will facilitate the feature of the typed language C#, and be more easier when refactoring code in system scope.






We have large collection of open source products. Follow the tags from Tag Cloud >>


Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.