duplicates = multiple editions
A Classical Introduction to Modern Number Theory, Kenneth Ireland Michael Rosen
A Classical Introduction to Modern Number Theory, Kenneth Ireland Michael Rosen
| JedWatson/classnames (2650855 dls, 1465 stars) | |
| yannickcr/eslint-plugin-react (2077066 dls, 710 stars) | |
| rackt/react-router (1833204 dls, 9050 stars) | |
| facebook/react-dom (782024 dls, 33044 stars) | |
| gaearon/react-hot-loader (708042 dls, 3250 stars) | |
| rackt/redux (568969 dls, 10743 stars) | |
| rackt/react-redux (495498 dls, 1509 stars) | |
| jsdf/coffee-react-transform (463488 dls, 380 stars) | |
| JedWatson/react-input-autosize (455277 dls, 107 stars) | |
| reflux/reflux (393281 dls, 4316 stars) |
This is a strawman proposal for adding pattern matching to ECMAScript. Pattern matching is useful for matching a value to some structure in a similar way to destructuring. The primary difference between destructuring and pattern matching are the use cases involved - destructuring is useful for binding pieces out of larger structures whereas pattern matching is useful for mapping a value's structure to data or a set of behaviors. In practice this means that destructuring tends to allow many shapes of data and will do its best to bind something out of it, whereas pattern matching will tend to be more conservative.
Additionally, the power of pattern matching is increased substantially when values are allowed to participate in the pattern matching semantics as a matcher as well as a matchee. This proposal includes the notion of a pattern matching protocol - a symbol method that can be implemented by objects that enables developers to use those values in pattern matching. A common scenario w
| NSWindow *topmostAppWindowAtPoint(CGPoint screenPoint) | |
| { | |
| const CGWindowLevel kScreensaverWindowLevel = CGWindowLevelForKey(kCGScreenSaverWindowLevelKey); | |
| /* This function returns a pointer to the app's topmost NSWindow that | |
| the point `screenPoint` is over. The important distinction here is that | |
| this function takes _all_ system windows into consideration and will return | |
| `nil` if there is a system window (or NSMenu etc.) that the cursor | |
| is over which is atop the app window, which is information that | |
| can't otherwise be gleaned by checking against `[NSApp orderedWindows]` etc. |
All of the below properties or methods, when requested/called in JavaScript, will trigger the browser to synchronously calculate the style and layout*. This is also called reflow or layout thrashing, and is common performance bottleneck.
Generally, all APIs that synchronously provide layout metrics will trigger forced reflow / layout. Read on for additional cases and details.
elem.offsetLeft, elem.offsetTop, elem.offsetWidth, elem.offsetHeight, elem.offsetParentreact + redux + RR
It uses https://gist.github.com/iNikNik/3c1b870f63dc0de67c38 for stores and actions.
1) create redux
const redux = createRedux(state);2) get requireAccess func => bindCheckAuth to redux
| import Data.List | |
| data Prog = Assign Name Expr | |
| | If Expr Prog Prog | |
| | While Expr Prog | |
| | Seqn [Prog] | |
| deriving Show | |
| data Expr = Val Int | Var Name | App Op Expr Expr | |
| deriving Show | |
| type Name = Char |
| import { Component } from "React"; | |
| export var Enhance = ComposedComponent => class extends Component { | |
| constructor() { | |
| this.state = { data: null }; | |
| } | |
| componentDidMount() { | |
| this.setState({ data: 'Hello' }); | |
| } | |
| render() { |
| /** | |
| * Fancy ID generator that creates 20-character string identifiers with the following properties: | |
| * | |
| * 1. They're based on timestamp so that they sort *after* any existing ids. | |
| * 2. They contain 72-bits of random data after the timestamp so that IDs won't collide with other clients' IDs. | |
| * 3. They sort *lexicographically* (so the timestamp is converted to characters that will sort properly). | |
| * 4. They're monotonically increasing. Even if you generate more than one in the same timestamp, the | |
| * latter ones will sort after the former ones. We do this by using the previous random bits | |
| * but "incrementing" them by 1 (only in the case of a timestamp collision). | |
| */ |