Learn to use the special anchor characters
$ to indicate the beginning and end of lines when writing regular expressions for grep. These line anchors are part of basic regular expressions in grep, so you don't need to escape them.
Describe optional patterns with grep OR using the vertical bar character
|. By using the
| special character, you can write either-or style patterns. In this lesson we'll look for matches on "grey" or "gray". Like the
? characters, the
| character is part of extended regular expressions with grep, so you'll either need to escape it with a backslash, or use the -E flag.
Learn to use grep's extended regular expressions to describe more complex patterns. The
+ special characters describe optional patterns. The
? character matches zero or one instance of the preceding term, and the
+ character matches one or more instances of the preceding term. To use these characters, you'll need to either escape them with backslashes or turn on extended regular expressions with the
Learn to use git grep to only search through the tracked files in a git repo. This is especially useful when you want to exclude build artifacts or locally installed dependencies, such as webpack bundles or the node_modules directory. You'll also note that git grep is automatically colorized - we'll see how to get the same coloring effect with grep --color.
fromPairs functions, along with the crucial
Learn how to write a promise based delay function and then use it in async await to see how much it simplifies code over setTimeout.
Lets say you want to call a function after 1s, 2s, 3s. You can use setTimeout, or you can wrap it up into a simple delay function that works with async/await
React loves svg just as much as it loves html. In this lesson we cover how simple it is to make SVG components in ReactJS.
Creating SVG components with React allows you to inline SVG. Inline SVG has an advantage that it can be styled with CSS just like the rest of your webpage and doesn't need a separate web request to load.
An additional advantage is of-course that you can use component props to customize the contents of the SVG.
In this lesson we'll walk through the process of installing the react-native-cli through setting up a basic react-native project on iOS. We'll get the basic project running in a simulator via XCode. We'll also setup Android, Android Studio and get the project running on an emulator with the react-native run-android command.
Good audio starts with quality gear. You can definitely record screencasts using the built-in microphone on your laptop, but we've found that our users want to have consistent high-quality audio.
We want you to sound amazing! Because you are.
To make this happen, we send each instructor professional grade audio recording equipment.
Once you've created a draft lesson that is almost ready to be published, we will ship you a case stuffed full of audio recording toys that will have you sounding awesome in no time.
One of the more powerful functions for creating streams in MostJS is the
In this lesson, we use
As a bonus, we see what it looks like to use
Function.prototype.bind for a quick and dirty way to partially apply arguments to a function.
We don't always control the data we need in our applications, and that means we often find ourselves massaging and transforming our data. In this lesson, we'll learn how to transform objects in a declarative way using ramda's evolve function.
Public Class Fields allow you to add instance properties to the class definition with the assignment operator (
=). In this lesson, we'll look at their use case for simplifying event callbacks and state initialization with a React component.
In this lesson we'll take an array of objects and map it to a new array where each object is a subset of the original. We'll look at multiple ways to accomplish this, refactoring our code into a simple and easy to read function using Ramda's
get "trap" that will allow us to get items starting from the end of the array with ease.
Most of the functions offered by the ramda library are curried by default. Functions you've created or that you've pulled in from another library may not be curried. Ramda's
curryN functions allow you to take a non-curried function and use it as a curried functions. In the case where you have a manually curried function and you want to just call it like a normal function, you can use
uncurryN to get back a function that accepts all of the arguments at once.
Most provides many means for creating streams, the simplest of which is the
of function. In this lesson, we demonstrate the use of
of to lift a single value into a stream. We also show off the
just alias of
of, as well as, a common method for currying a function.
Learn how to add a simple React component to a brand new Rails app with React on Rails installed. You will see how to add your React component to a Rails view, including the passing of values from the controller to your React component.
Just like passing in an array to
*ngFor, you can pass in any value into your structural directive so that it can render templates based on those values. It's crucial to understand how the
*directive syntax expands into a
<template> and adds a custom
@Input based on the syntax you use so that you can use your own data.
Structural directives enable you to use an element as a template for creating additional elements. Creating structural directives requires a knowledge of
<template> elements, but they're easy and extremely powerful once you undrestand the concepts.
Learn how to use Object.assign to combine multiple objects together. This pattern is helpful when writing libraries that have a set of default options where you want to allow a user to override specific options. You'll also learn how to use a third party library to recursively merge nested objects together.
In Ember.js, functions that are executed through user interaction with your application are called actions, which can be defined at the route, controller, or component level. In this tutorial, we look at a simple example of defining actions on the controller and hooking it up to our template in order to update properties on the controller.