- High level overview https://yogthos.github.io/ClojureDistilled.html
- An Animated Introduction to Clojure https://markm208.github.io/cljbook/
- Interactive tutorial in a browser https://tryclojure.org/
- Interactive exercises http://clojurescriptkoans.com/
- Clerk notebooks with introductory examples https://github.clerk.garden/anthonygalea/notes-on-clojure
- More interactive exercises https://4clojure.oxal.org/
- Lambda Island tutorials https://lambdaisland.com/
- Functional Programming with Clojure resources https://practicalli.github.io/
(ns demo.core-test | |
(:require [cljs.test :refer [deftest | |
testing | |
is | |
use-fixtures]] | |
[clojure.string :refer [lower-case]] | |
[demo.components :refer [title-component | |
counter-component]] | |
[reagent.core :as r] | |
["react-testing-library" :as rtl])) |
Using JavaScript libraries from ClojureScript involves two distinct concerns:
- Packaging the code and delivering it to the browser
- Making ClojureScript code that accesses JavaScript libraries safe for advanced optimization
Right now, the only single tool that solves these probems reliably, optimally, and with minimal configuration is shadow-cljs
, and so that is what I favor. In paricular, shadow-cljs
lets you install npm modules using npm
or yarn
and uses the resulting package.json
to bundle external dependencies. Below I describe why, what alternatives there are, and what solutions I disfavor at this time.
## Ignore Visual Studio temporary files, build results, and | |
## files generated by popular Visual Studio add-ons. | |
## | |
## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore | |
# User-specific files | |
*.suo | |
*.user | |
*.userosscache | |
*.sln.docstates |
Follow the steps below to use babel
together with ts-loader
so that you can
use emotion
(or any other Babel plugin) in your React and TypeScript project.
1. Use create-react-app-typescript
$ create-react-app my-app --scripts-version=react-scripts-ts
[user] | |
email = [email protected] | |
name = Jaime Sangcap | |
[core] | |
editor = vim | |
autocrlf=input | |
safecrlf=false | |
[alias] | |
# Shortening aliases | |
co = checkout |
We dropped Lerna from our monorepo architecture in PouchDB 6.0.0. I got a question about this from @reconbot, so I thought I'd explain our reasoning.
First off, I don't want this post to be read as "Lerna sucks, don't use Lerna." We started out using Lerna, but eventually outgrew it because we wrote our own custom thing. Lerna is still a great idea if you're getting started with monorepos (monorepi?).
Backstory:
#Download Elementary OS from here: | |
#https://elementary.io/ | |
#Clean-up System | |
sudo apt-get purge midori-granite -y | |
sudo apt-get purge yelp -y | |
sudo apt-get purge evince -y | |
sudo apt-get purge gnome-orca -y | |
sudo apt-get autoremove -y | |
sudo apt-get autoclean -y |
#Download Elementary OS from here: | |
#https://elementary.io/ | |
#First you update your system | |
sudo apt-get update && sudo apt-get dist-upgrade | |
#Install Google Chrome | |
wget -q -O - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add - | |
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list' | |
sudo apt-get update |
While this gist has been shared and followed for years, I regret not giving more background. It was originally a gist for the engineering org I was in, not a "general suggestion" for any React app.
Typically I avoid folders altogether. Heck, I even avoid new files. If I can build an app with one 2000 line file I will. New files and folders are a pain.