Tutorial by Examples: i

Pattern matching can be useful to handle Options: let result = Some("Hello World") match result with | Some(message) -> printfn message | None -> printfn "Not feeling talkative huh?"
To get all the information for a container you can run: docker inspect <container>
You can get an specific information from a container by running: docker inspect -f '<format>' <container> For instance, you can get the Network Settings by running: docker inspect -f '{{ .NetworkSettings }}' <container> You can also get just the IP address: docker inspect ...
Sometimes you need rewrite history with a rebase, but git push complains about doing so because you rewrote history. This can be solved with a git push --force, but consider git push --force-with-lease, indicating that you want the push to fail if the local remote-tracking branch differs from the b...
Sometimes, you need to work with an array while ensuring you don't modify the original. Instead of a clone method, arrays have a slice method that lets you perform a shallow copy of any part of an array. Keep in mind that this only clones the first level. This works well with primitive types, like n...
The job of the linker is to link together a bunch of object files (.o files) into a binary executable. The process of linking mainly involves resolving symbolic addresses to numerical addresses. The result of the link process is normally an executable program. During the link process, the linker wi...
Compiling C programs requires you to work with five kinds of files: Source files: These files contain function definitions, and have names which end in .c by convention. Note: .cc and .cpp are C++ files; not C files. e.g., foo.c Header files: These files contain function prototypes and va...
After the C pre-processor has included all the header files and expanded all macros, the compiler can compile the program. It does this by turning the C source code into an object code file, which is a file ending in .o which contains the binary version of the source code. Object code is not directl...
The most common and easiest type of centering is that of lines of text in an element. CSS has the rule text-align: center for this purpose: HTML <p>Lorem ipsum</p> CSS p { text-align: center; } This does not work for centering entire block elements. text-align controls onl...
Sometimes it's necessary to convert a Discriminated Union to and from a string: module UnionConversion open Microsoft.FSharp.Reflection let toString (x: 'a) = match FSharpValue.GetUnionFields(x, typeof<'a>) with | case, _ -> case.Name let fromStri...
HTML <input type="range"></input> CSS EffectPseudo SelectorThumbinput[type=range]::-webkit-slider-thumb, input[type=range]::-moz-range-thumb, input[type=range]::-ms-thumbTrackinput[type=range]::-webkit-slider-runnable-track, input[type=range]::-moz-range-track, input[type=...
Given the text: foo: bar I would like to replace anything following "foo: " with "baz", but I want to keep "foo: ". This could be done with a capturing group like this: s/(foo: ).*/$1baz/ Which results in the text: foo: baz Example 1 or we could use \K,...
Date and LocalDate objects cannot be exactly converted between each other since a Date object represents both a specific day and time, while a LocalDate object does not contain time or timezone information. However, it can be useful to convert between the two if you only care about the actual date i...
Software needed: Arduino IDE Setup Most Arduino-compatible boards have a USB port and come with a USB cable. Plug in the Arduino using the USB cable, and start up the Arduino IDE. Arduino IDE will start with a new sketch, typically with an emtpy setup() and loop() functions. This is enough to u...
When working on a project, you might be half-way through a feature branch change when a bug is raised against master. You're not ready to commit your code, but you also don't want to lose your changes. This is where git stash comes in handy. Run git status on a branch to show your uncommitted chang...
Big-O notation is a notation used to talk about the long-term growth rates of functions. It's often used in the analysis of algorithms to talk about the runtime of an algorithm or related concepts like space complexity. In common usage, big-O notation is used to talk about how an algorithm's runtim...
Header file UIColor+XYZPalette.h: @interface UIColor (XYZPalette) +(UIColor *)xyz_indigoColor; @end and implementation UIColor+XYZPalette.m: @implementation UIColor (XYZPalette) +(UIColor *)xyz_indigoColor { return [UIColor colorWithRed:75/255.0f green:0/255.0f blue:130/255.0f al...
1. Install Node.js and NPM: Gulp requires Node.js and NPM, Node's package manager. Most installers include NPM with Node.js. Refer to the installation documentation or confirm it is already installed by running the following command in your terminal, npm -v // will return NPM version or error say...
A simple switch statement: switch a + b { case c: // do something case d: // do something else default: // do something entirely different } The above example is equivalent to: if a + b == c { // do something } else if a + b == d { // do something else } else { ...
A simple if statement: if a == b { // do something } Note that there are no parentheses surrounding the condition and that the opening curly brace { must be on the same line. The following will not compile: if a == b { // do something } An if statement making use of else: if...

Page 141 of 1143