{-# LANGUAGE MultiParamTypeClasses #-} | |
{-# LANGUAGE FlexibleInstances #-} | |
{-# LANGUAGE OverloadedStrings #-} | |
{-# LANGUAGE DataKinds #-} | |
{-# LANGUAGE DeriveGeneric #-} | |
{-# LANGUAGE TypeOperators #-} | |
module Sand where | |
import Data.Aeson |
Le livre "Accelerate: The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organizations" (Gene Kim, Jez Humble, and Nicole Forsgren, 2018) s'appuie sur 5 ans d'études scientifiques pour faire ressortir les pratiques effectivement mises en oeuvre par les sociétés "tech" les plus performantes. (selon la classification de Westrum)
L'équipe de DORA (DevOps Research and Assessment) a identifié et validé un ensemble de capacités permettant d'optimiser les performances organisationnelles et celles de la livraison de logiciels. Ces articles décrivent comment mettre en œuvre, améliorer et mesurer ces capacités.
Source: https://cloud.google.com/architecture/devops/capabilities
Les capacités recommandées sont au nombre de 27, classés en 3 catégories.
..with .NET / F# (or Node.js / Express), AngularJS (or Facebook React + RxJS), TypeScript, Gulp.js (or Grunt), NuGet...
- Project structure should reflect application's logic (as opposed to regular MVC apps which all look the same)
- Group assets by feature rather than by type (including views, scripts, documentation, tests etc.)
- Allow developers to edit client-side and server-side code independently from each other
Mercurial Commands
Commands | Description |
---|---|
hg pull | get latest changes like git pull use flags like -u IDK why yet |
hg add | only for new files |
hg commit | add changes to commit with -m for message just like git |
hg addremove | adds new files and removes file not in your file system |
hg incoming | see changes commited by others |
hg outgoing | see local commits |
emacs --daemon
to run in the background.
emacsclient.emacs24 <filename/dirname>
to open in terminal
NOTE: "M-m and SPC can be used interchangeably".
- Undo -
C-/
- Redo -
C-?
- Change case: 1. Camel Case :
M-c
2. Upper Case :M-u
- Lower Case :
M-l
See also List of materials about Software Design in Haskell
Junior | Middle | Senior | Architect | |
---|---|---|---|---|
Haskell level | Basic Haskell | Intermediate Haskell | Advanced Haskell | Language-agnostic |
Haskell knowledge scope | Learn you a Haskell | Get programming with Haskell | Haskell in Depth | Knows several languages from different categories |
Get programming with Haskell | Haskell in Depth | Functional Design and Architecture | ||
[Other books on Software Engineering in Haskell](https://github.com/graninas/software-design-in-haskell#B |
I was at Amazon for about six and a half years, and now I've been at Google for that long. One thing that struck me immediately about the two companies -- an impression that has been reinforced almost daily -- is that Amazon does everything wrong, and Google does everything right. Sure, it's a sweeping generalization, but a surprisingly accurate one. It's pretty crazy. There are probably a hundred or even two hundred different ways you can compare the two companies, and Google is superior in all but three of them, if I recall correctly. I actually did a spreadsheet at one point but Legal wouldn't let me show it to anyone, even though recruiting loved it.
I mean, just to give you a very brief taste: Amazon's recruiting process is fundamentally flawed by having teams hire for themselves, so their hiring bar is incredibly inconsistent across teams, despite various efforts they've made to level it out. And their operations are a mess; they don't real
Latency Comparison Numbers (~2012) | |
---------------------------------- | |
L1 cache reference 0.5 ns | |
Branch mispredict 5 ns | |
L2 cache reference 7 ns 14x L1 cache | |
Mutex lock/unlock 25 ns | |
Main memory reference 100 ns 20x L2 cache, 200x L1 cache | |
Compress 1K bytes with Zippy 3,000 ns 3 us | |
Send 1K bytes over 1 Gbps network 10,000 ns 10 us | |
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD |