Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/devdungeon/cookbook

Code snippets for various programming languages and libraries
https://github.com/devdungeon/cookbook

android c cookbooks csv java javascript perl php python ruby snippets spreadsheet tutorial

Last synced: 5 days ago
JSON representation

Code snippets for various programming languages and libraries

Awesome Lists containing this project

README

        

## The Cookbook Method

A cookbook in the programming context is collection of tiny programs that each demonstrate a particular programming concept. The Cookbook Method is the process of learning a programming language by building up a repository of small programs that implement specific programming concepts. Starting with a Hello World program and building the knowledge piece by piece on top of that.

If you are a beginner, you will probably want to start out with one language like Python and start building up your repetoire of snippets for reference and confidence. If you are a seasoned developer, you may want to start building a cookbook from scratch for a new language you have never used, or keep a cookbook for more advanced topics in a language you are already familiar with.

Here is an example of when my Cookbook comes in handy. Recently I was faced with a situation where I needed to make an HTTP request to an API, parse the JSON response, generate a CSV spreadsheet, and email the spreadsheet. Because I already had my own cookbook snippets for doing each of those three actions, it was really easy to put together a program that did what I needed it to.

## Watch the video


[![The Cookbook Method](https://img.youtube.com/vi/8vmUTz6it5A/0.jpg)](https://www.youtube.com/watch?v=8vmUTz6it5A "The Cookbook Method")

### Benefits of Building Your Own Cookbook

* You can share it with others
* Learn topics that are interesting to you
* You build up your knowledge in small increments
* You can see your progress over time
* You have a library of reference material in your own style.
* It is quicker than looking up documentation or looking for a Stack Overflow answer.
* Explore new topics
* Learn new programming languages.
* Tips for Building a Cookbook
* Store your cookbook in a version control system like Git.
* Keep a to do list of topics or programming languages you want to explore and learn
* It does not have to be just code. I have a lot of plain text .txt files with notes on things like how to create a Python pip package, creating Ruby Gems, or how to create a runnable JAR in Java. Sometimes tips on installing prerequisites if something was difficult or just notes on how to compile and run programs.
* It can also be template programs. For example I have a base chrome browser extension that doesn't really do anything itself, but it is a fully functional extension with all the boilerplate done and ready for me to start developing.
* Programs should be fully runnable and not just chunks of code without context that do not compile and execute
* Keep the snippets small, simple and to one topic

### Example Cookbook Topics

Everyone has different goals with programming so identify topics relevant to your interests. Here are some ideas if you do not know where to get started.

* Hello, world
* Getting user input from stdin
* Taking command line arguments
* Reading and writing files
* Using TCP sockets
* Making HTTP requests
* Parsing JSON
* Creating a CSV file
* Making database connections
* Playing an audio file
* Multithreading
* Drawing 2D graphics to screen
* Drawing 3D graphics to screen
* GUI programming

## The DevDungeon Cookbook

* http://www.devdungeon.com/cookbook
* https://github.com/DevDungeon/Cookbook

## Contact

John "NanoDano" Leon
https://www.devdungeon.com