Giter Site home page Giter Site logo

michaelcurrin / learn-to-code Goto Github PK

View Code? Open in Web Editor NEW
18.0 4.0 3.0 1.7 MB

Tutorials, scripts, code snippets and resources to help you learn about various languages and become a better dev

License: MIT License

Shell 2.79% C 6.57% Python 21.67% HTML 18.22% PHP 15.21% Ruby 2.16% JavaScript 12.71% Rust 12.02% Elixir 0.48% Go 0.20% Dart 4.36% CSS 0.34% Groovy 0.02% R 0.08% TypeScript 0.33% Crystal 0.39% Java 2.44%
tutorial learning beginner instructions quickstart guide programming-languages tutorials

learn-to-code's Introduction

Learn to Code

Tutorials, scripts, code snippets and resources to help you learn about various languages and become a better dev

GitHub tag License

All Contributors

Translations of this guide

English homepage Italian homepage

Note: The Italian guide is incomplete and it can go out of date when changes are made to the English guide only.

Jump straight to the Scripting languages 🇬🇧 section.

Related projects

I'm not actively adding content here. I am gradually moving content to these static websites instead.

Contributing

How to contribute to a GitHub repo

If it is your first time contributing to any GitHub repo and want to know how it works, follow this guide:

How to contribute to this project

  • English contributing
  • Italian contributing

Available to translate? Help is wanted to add more translated pages so the Italian section can match the main English section (especially since the repo owner is not Italian). Add another language if you want.

Contributors ✨

Thanks goes to these wonderful people (emoji key):


Alessio Benvenuti

🌍

This project follows the all-contributors specification. Contributions of any kind welcome!

License

Released under MIT by @MichaelCurrin.

  • Use and modify the content. If you like, contribute back to this repo by following Contributing instructions above.
  • The original license must be included in your project if you use a significant portion of the content.
  • Please link back to the original repo if copy and reuse any content.

learn-to-code's People

Contributors

allcontributors[bot] avatar jenniferfu0811 avatar michaelcurrin avatar tomaslau avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

learn-to-code's Issues

Structure

Should languages go in it's own folder?

Should the newer guides go in a separate repo? Since one is code to run and markdown and the other is higher level with links to the languages though.

Add Italian-based resources

@alessiobenvenuti just an idea if you're interested - create a new page in the 🇮🇹 section only which covers Italian resources for learning to code.

Such as if there are any online courses or blogs in Italian, or any meetup events / conferences in Italy.

Code runner

If I switch to .ipnb and run in VS Code or Pycharm (or online editor) then I can run code and have markdown in one place.
And maybe even embed in a static site.

Though it just becomes harder to edit through admin view or Github. And files are larger.
And some things are too simple to rerun later. And could just run locally or on online IDE and paste output.

Split Python README into multiple files

Possibly with TOC in markdown or docsify/Jekyll.

Consider the docsify/Jekyll refactor for this site, how to move repeat content to metadata (file for resources, file for install, with layouts) and what to do with tutorial files (convert to markdown, convert to iPYNB but embed in site).

Convert to static site for readability and menus

Consider what to do with scripts which are meant to be run locally or as a webserver. Perhaps the resource docs can be moved to a separate repo.

Consider the repeated format of resources and even install steps could be standardized and moved to Jekyll templating. With markdown files or data files.

Add PY extensions

https://medium.com/young-coder/has-vs-code-become-the-best-ide-for-python-bf0f92d2aef4

Pylance. The Python extension has always had IntelliSense support. But Microsoft’s new Python language server is much faster and has a deeper understanding of typing and the core Python libraries. It’s also the second reboot in as many years.
Native Notebooks. Microsoft is previewing a new native implementation of data science Notebooks. It integrates cleanly in VS Code and offers significantly improved performance.
PyTorch for Windows. Microsoft recently took over the development and maintenance of the popular machine learning library from Facebook. This all but guarantees better integration in the future.
Visual Studio IntelliCode. This AI-based version of IntelliSense understands the context of your code and uses it to make suggestions. Microsoft currently provides it for just a few languages, including C#/C++, TypeScript/Java, and Python.

Get Python boilerplate code from other projects

Using Python code like handling JSON or CSVs and add to this project.

Add instructions for adding the code to a project lib module.

While it is possible to move the code to a central repo, the logic is simple enough to repeat everywhere without a dependency. Also there would be breaks on all projects unless I controlled versions. They can also easily be modified in each project such as logging or additional arguments, without issue.

Improve Ruby install usage

Look at gists or making an install page.

I need to handle Bundle installs, without and without user Jekyll.

The page needs to be targeted.

If I move out to a gist, then for consistency due that with other languages and then bring it back with an embed or link.

Find an editor

StackEdit is nice for not saving and for editing and previewing in the browser anytime.
But it can't handle code files so maybe those go to another repo or they come markdown or Jupiter notebooks (but they don't really change so that's overkill)
Could even link to another site to run snippets in the browser which is nice trying out code. Though it gets away from the feeling of installing and running locally - that could always be limited to quickstart in markdown so not every script needs to run.
PHP is different as a server and website but it is not so useful and readable anyway so maybe needs a new approach. Also those won't be edited online without running locally anyway.
Also there are templates for pages to enforce structure.

Forestry would mean editing online easily both YAML and content. Check on YAML gui.
Can scripts be edited?

Jekyll Admin is nice for a YAML-based approach. But it's a hassle for only working locally and needing commits.

To avoid a mono repo, code might have to move out or become markdown and that make the editor choice easier.
The install and run instructions could always point to the code repo.

Add tags or categories

For Jekyll site, add tags (multiple) or categories (multiple) for pages.

Then a list of tags or categories can be built from those that are used.

The page structure could be flat all in one directory then. Though that becomes hard to edit from a long list and also avoid collisions (a prefix is used for filenames which is a like a folder). So maybe don't do that part.

Add doc to Python section

Add README.
Follow pattern from Go section.
Separate the folders and README description so there is a path for a developer.
Add resources like https://www.codecademy.com/catalog/language/python and SoloLearn.
Add cheat sheet section. As markdown or ipnb or scripts.
Turn into a static site (scripts will be accessible so easily but could be pulled in). Or move to coding blog, if I want to make it more accessible and findable online than Github.

Where to put code

If its in markdown its hard to run. Sometimes it doesn't need to or its so light you don't want a whole file - but when making changes its important to run

If its for copying and pasting to an online code runner, this won't work for a PHP webserver or JS imports, at least not with a simple or immediate run.

Go for example could go in its own repo. Or just a folder. Or a top level folder of scripts.

Separate demostration code and learning code

The learning code is not so useful for others
It's for running locally. Repeating output in the script might not be needed.
And explanations could be in demo scripts or markdown

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.