(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.
| module PostRepresenter | |
| include Representer | |
| using Representer | |
| def basic(post) | |
| select(post, :id, :name) | |
| end | |
| def details(post) | |
| basic(post) & comments(post) |
Authorization and Authentication are hard. when you only have to implement them once (as you do within a monolith) instead of over and over again, it makes the developer happy :-), and maybe leads to less implementation failures.
When you have a bunch of microservices, this is something that has to be considered.
Implement it once or in every microservice, or something in between?
| AWSTemplateFormatVersion: '2010-09-09' | |
| Description: Cognito Stack | |
| Parameters: | |
| AuthName: | |
| Type: String | |
| Description: Unique Auth Name for Cognito Resources | |
| Resources: | |
| # Creates a role that allows Cognito to send SNS messages |
| /** | |
| * Axios Request Wrapper | |
| * --------------------- | |
| * | |
| * @author Sheharyar Naseer (@sheharyarn) | |
| * @license MIT | |
| * | |
| */ | |
| import axios from 'axios' |
| [ | |
| {"group":"US (Common)", | |
| "zones":[ | |
| {"value":"America/Puerto_Rico","name":"Puerto Rico (Atlantic)"}, | |
| {"value":"America/New_York","name":"New York (Eastern)"}, | |
| {"value":"America/Chicago","name":"Chicago (Central)"}, | |
| {"value":"America/Denver","name":"Denver (Mountain)"}, | |
| {"value":"America/Phoenix","name":"Phoenix (MST)"}, | |
| {"value":"America/Los_Angeles","name":"Los Angeles (Pacific)"}, | |
| {"value":"America/Anchorage","name":"Anchorage (Alaska)"}, |
| { | |
| "USD": { | |
| "symbol": "$", | |
| "name": "US Dollar", | |
| "symbol_native": "$", | |
| "decimal_digits": 2, | |
| "rounding": 0, | |
| "code": "USD", | |
| "name_plural": "US dollars" | |
| }, |
| 'use strict' | |
| const EventEmitter = require('events') | |
| // default expiry 3 mins | |
| const DEFAULT_EXPIRY = 3 * 60 * 1000 | |
| const create = ({ keys, ssm, keyPrefix = '', expiryMs = DEFAULT_EXPIRY }) => { | |
| let isRefreshing = false | |
| if (!keys || !Array.isArray(keys) || keys.length === 0) { | |
| throw new Error('Provide a non-empty array of config keys') |
A collection of links to the excellent "Composing Software" series of medium stories by Eric Elliott.
Edit: I see that each post in the series now has index, previous and next links. However, they don't follow a linear flow through all the articles with some pointing back to previous posts effectively locking you in a loop.