Tutorial by Examples: re

A git repository is an on-disk data structure which stores metadata for a set of files and directories. It lives in your project's .git/ folder. Every time you commit data to git, it gets stored here. Inversely, .git/ contains every single commit. It's basic structure is like this: .git/ obj...
HEAD is a special ref. It always points to the current object. You can see where it's currently pointing by checking the .git/HEAD file. Normally, HEAD points to another ref: $cat .git/HEAD ref: refs/heads/mainline But it can also point directly to an object: $ cat .git/HEAD 4bb6f98a223abc...
A ref is essentially a pointer. It's a name that points to an object. For example, "master" --> 1a410e... They are stored in `.git/refs/heads/ in plain text files. $ cat .git/refs/heads/mainline 4bb6f98a223abc9345a0cef9200562333 This is commonly what are called branches. Howeve...
A tree basically represents a folder in a traditional filesystem: nested containers for files or other folders. A tree contains: 0 or more blob objects 0 or more tree objects Just as you can use ls or dir to list the contents of a folder, you can list the contents of a tree object. $ git ca...
The git commit command does a few things: Create blobs and trees to represent your project directory - stored in .git/objects Creates a new commit object with your author information, commit message, and the root tree from step 1 - also stored in .git/objects Updates the HEAD ref in .git/HEAD t...
Running git reset --hard moves refs to the specified hash/ref. Moving MyBranch to b8dc53: $ git checkout MyBranch # moves HEAD to MyBranch $ git reset --hard b8dc53 # makes MyBranch point to b8dc53
Running git checkout -b <refname> will create a new ref that points to the current commit. $ cat .git/head 1f324a $ git checkout -b TestBranch $ cat .git/refs/heads/TestBranch 1f324a
Common Lisp already has a reverse function, but if it didn't, then it could be implemented easily using reduce. Given a list like (1 2 3) === (cons 1 (cons 2 (cons 3 '()))) the reversed list is (cons 3 (cons 2 (cons 1 '()))) === (3 2 1) That may not be an obvious use of reduce, but if we ha...
To list available local versions of node through NVM: nvm ls For example, if nvm ls returns: $ nvm ls v4.3.0 v5.5.0 You can switch to v5.5.0 with: nvm use v5.5.0
To connect using java.sql.DriverManager you need a JDBC url to connect to your database. JDBC urls are database specific, but they are all of the form jdbc:<subprotocol>:<subname> Where <subprotocol> identifies the driver or database (for example postgresql, mysql, firebirdsql,...
Tips & Tricks to avoid nasty situations EC2 Instances and EBS Set IAM Roles. Unlike tags, the IAM Role is set once and for all on EC2 instanciation (even after 4 years) ! Try to identify and categorize beforehand your instances so you can give an them appropriate IAM roles. IAM Roles are ...
Consider this broken snippet: def foo bar = [1, 2, 3, 4].map do |x| return 0 if x.even? x end puts 'baz' bar end foo # => 0 One might expect return to yield a value for map's array of block results. So the return value of foo would be [1, 0, 3, 0]. Instead, return retu...
The following compares two files with diff using process substitution instead of creating temporary files. diff <(curl http://www.example.com/page1) <(curl http://www.example.com/page2)
LinqPad is a great tool that allows you to learn and test features of .Net languages (C#, F# and VB.Net.) Install LinqPad Create a new Query (Ctrl + N) Under language, select "C# statements" Type the following code and hit run (F5) string hw = "Hello World&quo...
In Elm, values are declared by writing a name, an equals sign, and then the actual value: someValue = 42 Functions are also values, with the addition of taking a value or values as arguments. They are usually written as follows: double n = n * 2 Every value in Elm has a type. The types of th...
Python 3 allows you to define function arguments which can only be assigned by keyword, even without default values. This is done by using star * to consume additional positional parameters without setting the keyword parameters. All arguments after the * are keyword-only (i.e. non-positional) arg...
Placeholders in the query string need to be set by using the set* methods: String sql = "SELECT * FROM EMP WHERE JOB = ? AND SAL > ?"; //Create statement to make your operations PreparedStatement statement = connection.prepareStatement(sql); statement.setString(1, "MANAGER&...
Through the use of event types you can easily reduce code bloat that often occurs when defining events for many objects on stage by filtering events in 1 function rather than defining many event handling functions. Imagine we have 10 objects on stage named object1, object2 ... object10 You could d...
boot -d seancorfield/boot-new new -t app -n <appname> This command will tell boot to grab the task boot-new from https://github.com/seancorfield/boot-new and execute the task with the app template (see link for other templates). The task will create a new directory called <appname> wi...
Consider the following C# code Expression<Func<int, int>> expression = a => a + 1; Because the C# compiler sees that the lambda expression is assigned to an Expression type rather than a delegate type it generates an expression tree roughly equivalent to this code ParameterExpres...

Page 85 of 352