Attention: the list was moved to
https://github.com/dypsilon/frontend-dev-bookmarks
This page is not maintained anymore, please update your bookmarks.
Attention: the list was moved to
https://github.com/dypsilon/frontend-dev-bookmarks
This page is not maintained anymore, please update your bookmarks.
// Explicitly save/update a url parameter using HTML5's replaceState(). | |
function updateQueryStringParam(param, value) { | |
baseUrl = [location.protocol, '//', location.host, location.pathname].join(''); | |
urlQueryString = document.location.search; | |
var newParam = key + '=' + value, | |
params = '?' + newParam; | |
// If the "search" string exists, then build params from it | |
if (urlQueryString) { | |
keyRegex = new RegExp('([\?&])' + key + '[^&]*'); |
Hi Nicholas,
I saw you tweet about JSX yesterday. It seemed like the discussion devolved pretty quickly but I wanted to share our experience over the last year. I understand your concerns. I've made similar remarks about JSX. When we started using it Planning Center, I led the charge to write React without it. I don't imagine I'd have much to say that you haven't considered but, if it's helpful, here's a pattern that changed my opinion:
The idea that "React is the V in MVC" is disingenuous. It's a good pitch but, for many of us, it feels like in invitation to repeat our history of coupled views. In practice, React is the V and the C. Dan Abramov describes the division as Smart and Dumb Components. At our office, we call them stateless and container components (view-controllers if we're Flux). The idea is pretty simple: components can't
import mongoose from 'mongoose' | |
const productSchema = new mongoose.Schema( | |
{ | |
name: { | |
type: String, | |
required: true, | |
trim: true, | |
maxlength: 50, | |
text: true |
export const getOne = model => async (req, res) => { | |
try { | |
const doc = await model | |
.findOne({ createdBy: req.user._id, _id: req.params.id }) | |
.lean() | |
.exec() | |
if (!doc) { | |
return res.status(400).end() | |
} |
import { Router } from 'express' | |
import controllers from './product.controllers' | |
const router = Router() | |
// /product | |
router | |
.route('/') | |
.get(controllers.getMany) | |
.post(controllers.createOne) |
import express from 'express' | |
import mongoose from 'mongoose' | |
import { json, urlencoded } from 'body-parser' | |
import morgan from 'morgan' | |
import config from './config' | |
import cors from 'cors' | |
import productRouter from './resources/product/product.router' | |
export const app = express() |