- Go programmers typically keep all their Go code in a single workspace.
- A workspace contains many version control repositories (managed by Git, for example).
- Each repository contains one or more packages.
# backup current staging | |
$ git checkout staging | |
$ git branch tmp | |
# reset to master and merge hotfix | |
$ git reset --hard master | |
$ git merge hotfix/xxx | |
$ git push --force origin staging | |
# deploy to production |
~/$ lein new ring-on-heroku | |
Created new project in: /home/jim/Development/ring-on-heroku | |
~/$ cd ring-on-heroku | |
~/ring-on-heroku$ echo 'web: lein run -m ring-on-heroku.core' > Procfile | |
~/ring-on-heroku$ cat > src/ring_on_heroku/core.clj | |
(ns ring-on-heroku.core | |
(:use ring.util.response | |
ring.adapter.jetty)) | |
(defn app [req] |
TL;DR has_many
is an anti-pattern which leads straight to monolithic applications.
First - what defines a monolithic application? It is one that cannot be split apart because everything depends on everything else. No part can be extracted to an external library - the library would have to be the size of our entire app. Let this be our working definition of a monolith. Ignore, for the moment, whether it's deployed on more than one machine, but ask could it be separated if you desired.
One major culprit of not being able to split an application up is a dependency cycle.
{-# LANGUAGE | |
ScopedTypeVariables, | |
ViewPatterns, | |
PatternSynonyms #-} | |
import Data.Bits (Bits, shift) | |
import Data.Word | |
import Data.ByteString (ByteString) | |
import qualified Data.ByteString as BS | |
import qualified Data.ByteString.Char8 as B8 |
For each Ruby module/class, we have Ruby methods on the left and the equivalent | |
Clojure functions and/or relevant notes are on the right. | |
For clojure functions, symbols indicate existing method definitions, in the | |
clojure namespace if none is explicitly given. clojure.contrib.*/* functions can | |
be obtained from http://github.com/kevinoneill/clojure-contrib/tree/master, | |
ruby-to-clojure.*/* functions can be obtained from the source files in this | |
gist. | |
If no method symbol is given, we use the following notation: |
#!/bin/bash | |
cd `git rev-parse --show-toplevel` | |
echo "Running pre-commit hook: Check elixir formatting with mix format" | |
mix format --check-formatted | |
if [ $? == 1 ]; then | |
echo "mix format --check-formatted found formatting issues." | |
exit 1 | |
fi |
Fable is an F# language to javascript compiler powered by Babel.
F# is a language that runs on a Microsoft CLR. Using the .NET Core CLR implementation it works on Windows, Mac or Linux.
- .NET Core SDK - download the latest 2.1 SDK
- Mono -
mono-complete
package - F# compiler -
fsharp
package from the mono repository
*.tex diff=tex | |
*.bib diff=bibtex | |
*.c diff=cpp | |
*.h diff=cpp | |
*.c++ diff=cpp | |
*.h++ diff=cpp | |
*.cpp diff=cpp | |
*.hpp diff=cpp | |
*.cc diff=cpp | |
*.hh diff=cpp |
Gemfile.lock merge=bundlelock | |
db/schema.rb merge=railsschema |