20 sitios para aprender en la red

Cursos recomendados

  1. Coursera: cursos y especializaciones gratuitos y en tu idioma ofrecidos por algunas de las instituciones educativas más prestigiosas del mundo.
  2. MicrosoftVirtualAcademy: Sitio para aprender a desarrollar o administrar plataformas de Microsoft.
  3. Code School: una de las mejores escuelas de programación en linea. Cursos interactivos y retos para aprender código, escribiendo código.
  4. Class Central: cursos masivos en linea y abiertos (MOOCs) sobre cualquier tema que imagines: programación, ciencias, negocios, medicina, etc.
  5. Babbel: una de las mejores plataformas en linea para aprender un nuevo idioma.
  6. Degreed: una comunidad de profesionales universitarios en la que el objetivo es convertirte en un experto en tu materia.
  7. Curious: un sitio en el que aprender algo nuevo todos los días dedicando una pequeña cantidad de tiempo para ello: 5, 15 o 30 minutos diraios para invertir en cualquiera de las más de 20 mil lecciones virtuales.
  8. Craftsy: aprende a hacer cosas con tus manos. Desde cocina, hasta pintura o costura, gracias a más de 1000 clases de los mejores instructores.
  9. One Month: un sitio que promete enseñarte una nueva habilidad en solo 30 días.
  10.  Hackerrank : Un sitio para aprender a solucionar problemas de algoritmia escribiendo codigo en el sitio web.
  11. Codecademy: cursos de programación para principiantes. Tiene muchas lecciones básicas en español.
  12. BigThink: vídeos, artículos y consejos de expertos en muchos temas para que aprendas a ser exitoso.
  13. PhotographyCourse: cursos de fotografías especializados y para principiantes tanto gratuitos como de pago.
  14. AllTheRecipes: la escuela de cocina del popular sitio web de recetas, en la que te enseñan todo tipo de habilidades básicas para que cocines los mejores platos en casa.
  15. CodeProject: Sitio de excelentes tutoriales para aprender sobre diferentes tecnologias, los casos practicos y tutoriales son faciles de entender.
  16. W3Schools: Esta pagina te permite aprender algunos los principales estandares web, muy util para aprender las etiquetas HTML y sintaxis WEB.
  17. Pluralsight: Videotutoriales de diferentes tenologias, excelente acompañamiento de expertos y miembros reconocidos de cada especialidad.
  18. Lynda: Pagina especializada y con larga trayectorioa enseñando en multiples areas de negocio, programacion y creatividad.
  19. LearnDevNow: plataforma para aprender Programacion en freameworks corporativos
  20. Platzi: Plataforrma Latinoamerica enfocada en enseñar diseño, marketing y programacion.

Articulo original Fuente Original

Frameworks de Front-end en MVC

Un framework de Front-end tiene la finalidad de proporcionar los estilos, fuentes, iconos y recursos visuales para ser utilizados en las paginas web. Por ejemplo si se quiere cambiar el estilo de los botones tradicionales en una pagina web se puede hacer una referencia a bootstrap y el botón de la pagina cambia su estilo y presentación de acuerdo a los estilos definidos.

La idea de este proyecto (https://github.com/mariobot/UiFrameworks) es buscar entusiastas y personas que quieran participar para seguir aportando buenas practicas al momento de desarrollar un proyecto ASP MVC con frameworks de presentación.

El proyecto esta dividido en diferentes subproyectos, nombrados con el framework de presentación que se va a aplicar. (Por ejemplo) El proyecto Materialized utiliza el framework Materialized y se muestra como aplicar desde un botón, una tarjeta, un panel, etc en un proyecto MVC. A continuación adjunto la pagina con los proyectos que se encuentran en el repositorio:

Arquitectura

Cada uno de los proyectos se maneja en un puerto diferente con la finalidad de poder instalar los paquetes de nuget necesarios para cada framework, como también con la finalidad de poder manipular cada proyecto desde una aplicación diferente.

El proyecto HOME es el que hace referencia a todos los proyectos.

Home (bootstrap)

Home

El proyecto Materialized utiliza este framework de material design y hace la referencia a como se puede implementar en un proyecto ASP.Net MVC

Materialized

Materialized

El proyecto HTML5 utiliza solamente etiquetas html5 y una referencia a una cascada de estilos.

HTML5

HTML5

El proyecto Skeleton utiliza este framework, el cual destaca por su sencillez y minimalismo.

Skeleton

Skeleton

Sean todos bienvenidos a descargar el repositorio en https://github.com/mariobot/UiFrameworks y empezar a hacer sus aportes y subirlos a este git.

Ejercicios de algoritmia

  1. Imprimir en pantalla
    • Escribir un programa que imprima en pantalla la frase “Hola mundo Java.”.
    • Escribir un programa que imprima en pantalla un número entero.
    • Escribir un programa que imprima un número decimal.
  2. Operaciones básicas y ciclos
    • Escribir un programa que imprima en pantalla la suma de 998 + 1002.
    • Escribir un programa que imprima en pantalla la resta de 433 – 31.
    • Escribir un programa que imprima en pantalla la multiplicación de 1234*2.
    • Escribir un programa que imprima en pantalla la división de 500/12.
    • Escribir un programa que imprima en pantalla los números del 1 al 12
    • Escribir un programa que imprima en pantalla los números del 1 al 1000 (Recomendación utilizar ciclos)
    • Escribir un programa que imprima desde el 7 al 16.
    • Escribir un programa que imprima desde el 5 al 1500.
    • Escribir un programa que imprima 200 veces en pantalla la palabra “hola”.
    • Escribir en pantalla los cuadrados de los primeros 30 números naturales. EJ (1*1)(2*2)(3*3)………
    • Escribir un programa que multiplique los 20 primeros números naturales (1*2*3*4….)
  3. Leer desde el teclado. Sentencia de condición (if)
    • Escribir un programa que lea un número entero desde el teclado e imprima en pantalla si el número es par o es impar.
    • Escribir un programa que convierta un valor decimal digitado de Pesos a dólares. Utilizar la tasa de cambio en $3125.
    • Escribir un programa que calcule el área de un rectángulo el cual se le proporcione por teclado la altura y la anchura (números decimales)
    • Escribir un programa que lea dos números y diga cuál de los dos números es el mayor y cuál es el menor. (Que pasa si los números son iguales)
    • Escriba un programa que lea la temperatura en grados (F) Fahrenheit y las convierta en (C) Celsius. La conversión de grados Farenheit (F) a Celcius (C) esta dada por C=5/9(F-32).
    • Escriba un programa que use dos bucles for anidados y el operador de modulo (%) para detectar e imprimir números primos.

Origen de la fabula del ingeniero y el tornillo

El origen de la fabula del ingeniero y el tornillo tiene su origen cuando Charles P. Steinmetz, un excéntrico ingeniero que de aquellas trabajaba en General Electrics y que junto a Thomas Edison o Nikola Tesla es considerado uno de los padres de la electricidad, cobró a Henry Ford 10.000 dólares por realizar una marca de tiza en un enorme generador eléctrico averiado.

Dicha marca de tiza era el punto de referencia para eliminar 16 vueltas de la bobina del generador.  Henry Ford reaccionó con el mismo estupor que el empresario de la fábula, mientras que Charles P. Steinmetz detalló la factura del mismo modo. “Hacer una marca de tiza: $1. Saber dónde hacer la marca: $9.999″. Una anécdota que fue contada por Jack B. Scott, hijo de un antiguo empleado de Ford, en una carta que envió a los editores de la revista Life en mayo de 1965.

Enviar mensajes de texto con Twilio

Twilio

El dia de hoy quiero compartirles este recurso para enviar mensajes de texto con Twilio. Esta es una plataforma que nos permite enviar mensajes de texto, hacer llamadas, gestionar llamadas. integrar procesos de autenticacion entre otras funcionalidad. Lo bueno de esta herramienta es que ofrece una integrqacion muy facil con tus proyectos, ya sea implementando las librerias que tienen diseñadas para .Net como otras plataformas como PHP, Ruby, Phyton, Java, Node.js.

A continuación explicare el proceso para enviar los mensajes desde un proycto en asp.net mvc.

Primero necesitamos crear una cuenta en Twilio en la siguiente direccion https://www.twilio.com/try-twilio . Recuerda que debes adicionar tu telefono con el indicativo +57 (para el caso de Colombia) para hacer el proceso de validación de tu cuenta.

Una vez registrada tu linea podrás hacer todas las pruebas que quieras con la linea celular registrada. La versión free no permite registrar números de terceros. para esto es necesario comprar el paquete de mensajes.
Una vez registrado entramos a la siguiente dirección para consultar nuestras credenciales que utilizaremos en la API https://www.twilio.com/user/account/settings  (Hacer clic en el candadito para mostrar el Token)
La sección de documentación de la api de Twilio la puedes encontrar en la siguiente dirección https://www.twilio.com/user/account/developer-tools/api-explorer/message-create En esta se encuentra todo el instructivo para utilizar la api.
En la siguiente dirección encontraras el paquete en nuget para adicionarlo al proyecto en . Net https://www.nuget.org/packages/Twilio
Hay que tener en cuenta que Twilio asigna un teléfono a tu cuenta. este teléfono asignado se tiene que utilizar al momento de enviar el mensaje, si no se utiliza la api no permite enviar mensajes. el teléfono que te asignan lo puedes encontrar en la siguiente dirección https://www.twilio.com/user/account/voice-sms-mms
Con todo listo para utilizar la api creamos un nuevo proyecto MVC en Visual studio y adicionamos el paquete de twilio. Una vez adicionado ya podremos utilizar la librería. recordar hacer la referencia a la librería en tu controlador. using Twilio;

// Download the twilio-csharp library from twilio.com/docs/csharp/install
using System;
using Twilio;
class Example
{
static void Main(string[] args)
{
// Find your Account Sid and Auth Token at twilio.com/user/account
string AccountSid = "yourAccountSid";
string AuthToken = "yourToken";
var twilio = new TwilioRestClient(AccountSid, AuthToken);
var message = twilio.SendMessage("el numero asignado por Twilio", "+57 Tu   telefono el que esta registrado", "Aqui va el mensaje de texto", null, null);
Console.WriteLine(message.Sid);
}
}

Un Buen PM Project Manager

Son 13 percepciones que en su momento hablamos durante una charla tecnica con un colega.

  1. Tratar las personas como personas y no como recursos.
  2. Jamás calcular tiempos con sobre-estimaciones, o pensando que se puede trabajar extra-horario.
  3. Nunca definir personas al 100% en un proyecto (uno va al baño, tiene llamadas, trancones, etc).
  4. Delegar tareas de acuerdo al nivel de cada dev.
  5. Aplicar las metodologías, si es scrum entonces hacer lo que ellos promueven.
  6. Involucrar a todo el equipo en las reuniones de entendimiento.
  7. El líder tecnico idealmente solo debe estar en 1 proyecto.
  8. Involucrar la parte de qa desde el inicio de la aplicación.
  9. Asegurarse que todos entienden de la misma forma los requerimientos.
  10. El PM (Project Manager) no debe ser un secretario, sino un facilitador (el pm no debe joder pq si).
  11. Siempre estimar tiempo para imprevistos (vacaciones, renuncias, incapacidades, problemas con x implementación, falta de hardware).
  12. Tener claro que las persones nuevas no producen al sigueinte día y afectan el desempeño de los demás.
  13. Dejar tanto correo y usar herramientas de seguimiento (como VSO – Assembla – Trello)