Skip to content

Instantly share code, notes, and snippets.

View guilleasz's full-sized avatar

Guillermo Aszyn guilleasz

  • Media.Monks
  • Barcelona, España
View GitHub Profile

Visitante (unauthenticated user)

Como Amazon, en tu sitio deberiamos poder ver todos los productos sin tener una cuenta. Todos los usuarios que visiten tu sitio deberia poder realizar las siguientes actividades:

Products

  • ver la lista de productos
  • filtrar productos por categoria
  • buscar productos por nombre
import React from 'react';
import RouteHook from 'react-route-hook';
const Data = (props) => (
<div>
{props.data}
</div>
);
class AppContainer extends React.Component {

Programación Funcional

  • Inmutabilidad: No modificamos el estado
  • Funciones Puras:
    • Con un mismo INPUT siempre vamos a tener un mismo OUTPUT
    • No terner efectos secundarios:
      • Muta un estado global
      • Modificar archivos o realizar pedidos a internet
      • llamar efectos externos
      • loggear en la consola, modificar el DOM

Optimización

¿Qué es Optimización?

  • Que algo sea mejor
  • Más rápido
  • Menos espacio
  • Menos lineas de código

Mas Rápido

Estructura de Datos

Tipo de Dato Abstracto (ADT)

  • Es como se va a organizar la informacion
  • no son los requerimientos
  • sino una imagen mas abstracta de como debería funcionar
  • Ejemplo: Una lista, un arbol
  • No hablo de arreglos, nodos, objetos...

Big O

  • Complejidad del Algoritmo
  • Mide Tiempo y Espacio
  • Medimos a través de la curva de crecimiento de los pasos que va tener que hacer el algoritmo.
  • Por ejemplo: Un input de 5 elementos hace 5 pasos, y de 15 elementos hace 100 pasos.
  • No contamos constantes.
  • Siempre hablamos de el peor caso

Categorización

Passport

Vas a tener que hacer una página muy simple usando passport.

  • Crea un servidor que muestre un index.html cuando visitamos localhost:3000/
  • Configura express-session usando connect-redis
  • Crea un modelo User que utilice el plugin passport-local-mongoose
  • Configura la estrategia local de passport como explica la documentacón de passport-local-mongoose
  • Mostra un formulario de register en la ruta /register
  • Hace una ruta para que el usuario envie el formulario
{% extends 'layout.html' %}
{% block body %}
<div class="section lead">
<div class="container">
<div class="row">
<div class="col-lg-12 col-md-12 col-sm-12">
<img src="http://placehold.it/1140x450" class="img-responsive">
</div>
</div><!-- row -->
{% extends "layout.html" %}
{% block content %}
<h3>Add a Page</h3>
<hr>
<form method="POST" action="/wiki/">
<div>PLACEHOLDER FOR AUTHOR NAME FIELD</div>
<div>PLACEHOLDER FOR AUTHOR EMAIL FIELD</div>