(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.
[HttpPost] | |
public ActionResult Login(LoginViewModel model, string returnUrl) | |
{ | |
var user = _userService.GetByEmail(model.Email); | |
//check username and password from database, naive checking: password should be in SHA | |
if (user != null && (user.Password == model.Password)) | |
{ | |
var claims = new[] { | |
new Claim(ClaimTypes.Name, user.Name), |
(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.
using MyUniversity.Models; | |
using System; | |
using System.Collections.Generic; | |
using System.Data; | |
using System.Data.Entity; | |
using System.Linq; | |
using System.Linq.Expressions; | |
using System.Web; | |
namespace MyUniversity.DAL |
public static Func<A, R> Memoize<A, R>(this Func<A, R> f) | |
{ | |
var map = new Dictionary<A, R>(); | |
return a => | |
{ | |
R value; | |
if (map.TryGetValue(a, out value)) | |
return value; | |
value = f(a); | |
map.Add(a, value); |
public class AsyncMediatorPipeline<TRequest, TResponse> : IAsyncRequestHandler<TRequest, TResponse> where TRequest : IAsyncRequest<TResponse> | |
{ | |
private readonly IAsyncRequestHandler<TRequest, TResponse> inner; | |
private readonly IAsyncPreRequestHandler<TRequest>[] preRequestHandlers; | |
private readonly IAsyncPostRequestHandler<TRequest, TResponse>[] postRequestHandlers; | |
public AsyncMediatorPipeline(IAsyncRequestHandler<TRequest, TResponse> inner, IAsyncPreRequestHandler<TRequest>[] preRequestHandlers, IAsyncPostRequestHandler<TRequest, TResponse>[] postRequestHandlers) | |
{ | |
this.inner = inner; |
{ | |
"version": "0.2.0", | |
"configurations": [ | |
{ | |
"name": "Debug CRA Tests", | |
"type": "node", | |
"request": "launch", | |
"runtimeExecutable": "${workspaceRoot}/node_modules/.bin/react-scripts-ts", | |
"runtimeArgs": [ | |
"--inspect-brk", |
import { useState, useEffect } from "react"; | |
export const useFetch = (url, ref, initialValue) => { | |
const [data, setData] = useState(initialValue); | |
const [error, setError] = useState(null); | |
const [loading, setLoading] = useState(true); | |
useEffect(() => { | |
if (ref.current) { | |
(async () => { |
/** | |
* List unique CSS properties for all DOM elements | |
* Initially created to list unique font stacks on a page | |
* @see {@link http://stackoverflow.com/a/35022690/ Inspired by this StackOverflow answer} | |
* | |
* @see {@link https://gist.github.com/macbookandrew/f33dbbc0aa582d0515919dc5fb95c00a/ URL for this file} | |
* | |
* @author AndrewRMinion Design (https://andrewrminion.com) | |
* @version 1.1 | |
* |