Giter VIP home page Giter VIP logo

practicalli / learn-clojure Goto Github PK

View Code? Open in Web Editor NEW
3.0 2.0 1.0 3 MB

Learn the Clojure programming language - syntax, common core functions, common libraries and challenges to practice

Home Page: https://practical.li/learn-clojure/

License: Creative Commons Attribution Share Alike 4.0 International

Makefile 28.54% HTML 71.46%
clojure clojure-development clojure-syntax clojure-idioms clojure-programming

learn-clojure's Introduction

Practicalli Learn Clojure

██████╗ ██████╗  █████╗  ██████╗████████╗██╗ ██████╗ █████╗ ██╗     ██╗     ██╗
██╔══██╗██╔══██╗██╔══██╗██╔════╝╚══██╔══╝██║██╔════╝██╔══██╗██║     ██║     ██║
██████╔╝██████╔╝███████║██║        ██║   ██║██║     ███████║██║     ██║     ██║
██╔═══╝ ██╔══██╗██╔══██║██║        ██║   ██║██║     ██╔══██║██║     ██║     ██║
██║     ██║  ██║██║  ██║╚██████╗   ██║   ██║╚██████╗██║  ██║███████╗███████╗██║
╚═╝     ╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝   ╚═╝   ╚═╝ ╚═════╝╚═╝  ╚═╝╚══════╝╚══════╝╚═╝

Book status

MegaLinterPublish Book Publish Book pages-build-deployment

Ideas & Issues Pull requests

GitHub commit activity GitHub contributors

Creative commons license

Creative Commons License This work is licensed under a Creative Commons Attribution 4.0 ShareAlike License (including images & stylesheets).

Contributing

Issues and pull requests are most welcome although it is the maintainers discression as to if they are applicable. Please detail issues as much as you can. Pull requests are simpler to work with when they are specific to a page or at most a section. The smaller the change the quicker it is to review and merge.

Please read the detailed Practicalli contributing page before raising an issue or pull request to avoid disapointment.

Practicalli Clojure CLI Config provides a user level configuration providing aliases for community tools used throughout this guide. Issues and pull requests can also be made via its GitHub repository.

By submitting content ideas and corrections you are agreeing they can be used in any work by Practicalli under the Creative Commons Attribution ShareAlike 4.0 International license. Attribution will be detailed via GitHub contributors.

Sponsor Practicalli

Sponsor Practicalli via GitHub

All sponsorship funds are used to support the continued development of Practicalli series of books and videos, although most work is done at personal cost and time.

Thanks to Cognitect, Nubank and a wide range of other sponsors for your continued support

GitHub Actions

The megalinter GitHub actions will run when a pull request is created,checking basic markdown syntax.

A review of the change will be carried out by the Practicalli team and the PR merged if the change is acceptable.

The Publish Book GitHub action will run when PR's are merged into main (or the Practicalli team pushes changes to the default branch).

Publish book workflow installs Material for MkDocs version 9

Local development

Install mkdocs version 9 using the Python pip package manager

pip install mkdocs-material=="9.*"

Install the plugins used by the Practicalli site using Pip (these are also installed in the GitHub Action workflow)

pip3 install mkdocs-material mkdocs-callouts mkdocs-glightbox mkdocs-git-revision-date-localized-plugin mkdocs-redirects pillow cairosvg

pillow and cairosvg python packages are required for Social Cards

Fork the GitHub repository and clone that fork to your computer,

git clone https://github.com/<your-github-account>/<repository>.git

Run a local server from the root of the cloned project

make docs

The website will open at http://localhost:8000

If making smaller changes, then only rebuild the content that changes, speeding up the local development process

make docs-changed

NOTE: navigation changes may not be correctly reflected without reloading the page in the web browser or carrying out a full make docs build

learn-clojure's People

Contributors

practicalli-johnny avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

junghan0611

learn-clojure's Issues

small project - competition winner

Walk-through of a project to calculate the winner of a competition which involves points awarded for multiple sequential events

Create a practicalli/minimal Clojure project

clojure -T:practicalli/create :name practicalli/competition-predictor

Example competitions

  • Formula1 driver championship
  • Formula1 constructors championship
  • Formula E drivers championship
  • American Football
  • Austrailian Rules football
  • Rubgy Union
  • Soccer, e.g. UK Premiership
  • esports ?
  • other tournaments ??

Each type of competition has its own point scoring scheme and number of events

  • consider a data definition to codify the rules of each competition
  • then make the code abstract enough to process the rules of each competition by processing the rules data and data from the result of each event.

Interesting feedback

  • competition data - number of events, dates, points available for a specific event (i.e. Formula 1 has a sprint race with points at some events, but not all)
  • unassailable lead / winder before the end of the competition
  • points remaining for leader to win the competition (extend to top 3-5 in competition)
  • Prediction of winner based on history of events (limit to current year or small set of years)
  • Prediction of number of events remaining before likely winner

Related

example projects

Learning Clojure

Graphic

Games

Music

IOT

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.