Tutorial by Examples: b

The following code has undefined behavior: char buffer[6] = "hello"; char *ptr1 = buffer - 1; /* undefined behavior */ char *ptr2 = buffer + 5; /* OK, pointing to the '\0' inside the array */ char *ptr3 = buffer + 6; /* OK, pointing to just beyond */ char *ptr4 = buffer + 7; /* un...
An extension to PHP called Xdebug is available to assist in profiling PHP applications, as well as runtime debugging. When running the profiler, the output is written to a file in a binary format called "cachegrind". Applications are available on each platform to analyze these files. To...
Go has a built-in logging library known as log with a commonly use method Print and its variants. You can import the library then do some basic printing: package main import "log" func main() { log.Println("Hello, world!") // Prints 'Hello, world!' on a single ...
If you are inside a folder of a git repository it might be nice to show the current branch you are on. In ~/.bashrc or /etc/bashrc add the following (git is required for this to work): function prompt_command { # Check if we are inside a git repository if git status > /dev/null 2>&a...
The return method only returns from the lambda, not the outer method. Beware that this is different from Scala and Kotlin! void threeTimes(IntConsumer r) { for (int i = 0; i < 3; i++) { r.accept(i); } } void demo() { threeTimes(i -> { System.out.println(i); return...
set myVariable [expr { $myVariable * 17 }] This shows how you can use a simple expression to update a variable. The expr command does not update the variable for you; you need to take its result and write it to the variable with set. Note that newlines are not important in the little language un...
import scala.util.parsing.combinator._ class SimpleParser extends RegexParsers { // Define a grammar rule, turn it into a regex, and apply it the input. def word: Parser[String] = """[A-Z][a-z]+""".r ^^ { _.toString } } object SimpleParser extends SimplePar...
SubGit may be used to perform a one-time import of an SVN repository to git. $ subgit import --non-interactive --svn-url http://svn.my.co/repos/myproject myproject.git
When inheriting from any base class, only one partial class needs to have the base class specified. // PartialClass1.cs public partial class PartialClass : BaseClass {} // PartialClass2.cs public partial class PartialClass {} You can specify the same base class in more than one partial clas...
$ git show dae86e1950b1277e545cee180551750029cfe735 $ git show dae86e19 You can specify revision (or in truth any object: tag, tree i.e. directory contents, blob i.e. file contents) using SHA-1 object name, either full 40-byte hexadecimal string, or a substring that is unique to the repository. ...
$ git log master # specify branch $ git show v1.0 # specify tag $ git show HEAD # specify current branch $ git show origin # specify default remote-tracking branch for remote 'origin' You can specify revision using a symbolic ref name, which includes branches (for example 'master'...
$ git log @{upstream}.. # what was done locally and not yet published, current branch $ git show master@{upstream} # show upstream of branch 'master' The suffix @{upstream} appended to a branchname (short form <branchname>@{u}) refers to the branch that the branch specified by branc...
In some cases the behavior of a command depends on whether it is given branch name, tag name, or an arbitrary revision. You can use "de-referencing" syntax if you need the latter. A suffix ^ followed by an object type name (tag, commit, tree, blob) enclosed in brace pair (for example v0.9...
To build vim from source on Ubuntu: Get a copy of the source code by downloading from the official Vim repository on GitHub. Get the dependencies by running $ sudo apt-get build-dep vim-gnome or similar. Go to the directory of the Vim source code: cd vim/src Run $ ./configure. You can customiz...
This example shows how a label's width can automatically resize when the text content changes. Pin the left and top edges Just use auto layout to add constraints to pin the left and top sides of the label. After that it will automatically resize. Notes This example comes from this Stack...
The command set is used to assign values in Tcl. When it is called with two arguments in the following manner, % set tempVar "This is a string." This is a string. it places the second argument ("This is a string.") in the memory space referenced by the first argument (tempVa...
This option disables the fat lock spin code in Java, allowing threads that block trying to acquire a fat lock go to sleep directly. Objects in Java become a lock as soon as any thread enters a synchronized block on that object. All locks are held (that is, stayed locked) until released by the locki...
This option disables the garbage collector strategy changes. Compaction heuristics and nursery size heuristics are not affected by this option. By default, the garbage collection heuristics are enabled. Usage: -XXdisableFatSpin
Reading file using a BufferedInputStream generally faster than FileInputStream because it maintains an internal buffer to store bytes read from the underlying input stream. import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.IOException; public class FileReadin...
The double tap, like a single tap, also uses the UITapGestureRecognizer. You simply set the numberOfTapsRequired to 2. Swift override func viewDidLoad() { super.viewDidLoad() // Double Tap let doubleTapGesture = UITapGestureRecognizer(target: self, action: #selector(handleDoubleTa...

Page 140 of 385