A2A
Como otros han dicho aquí, obtenga un libro, comience a programar. Necesita un proyecto, algo en lo que esté interesado. No debe ser masivo, pero tampoco debe ser demasiado pequeño. Aunque lo pequeño no es tan malo, si es pequeño necesitarás más de un proyecto, y el siguiente debería ser más grande que el primero.
- Compre este libro en Amazon:
- Mark Myers: 9781497408180: Amazon.com: Libros
- Inscríbase en el curso de JavaScript de la comunidad
- Date cuenta de que fue una pérdida de tiempo y dinero, pero al menos obtienes 3 créditos más para graduarte.
- Lee el libro sentado en tu teclado
- escribe cada ejercicio que lees, escribe no copia
- Experimenta con cada ejercicio, cambia al menos una cosa.
Aquí está tu tarea
- ¿Cuáles son las similitudes y diferencias entre el aprendizaje por transferencia y el aprendizaje fuera de la política en el aprendizaje por refuerzo?
- Cómo aprender más sobre las artes visuales.
- ¿Qué hábitos aprendiste en el Reino Unido que se han atascado?
- ¿Puedo aprender a cantar solo desde internet?
- ¿Qué es lo mejor que aprendes de la vida de la ingeniería?
Considere comenzar con el ejercicio de aprendizaje de CS tradicional. Por lo general, esto comienza con una libreta de direcciones básica y se basa en algo más complejo, como un registro de calificaciones para un maestro. La belleza de esto es que se basa en sí mismo, y lo hace de una manera que puede expandir gradualmente su conocimiento y capacidad.
Ejercicio 1 – Variables escalares – Cree un script con el siguiente contenido
var a = 2;
var b = 3;
c = a + b;
si (c == 5) {
console.log (“C es 5”);
}
Puedes crear scripts simples como ese en:
JSFiddle – Crea un nuevo violín
Ejercicio: modifique su programa para imprimir un mensaje diferente cuando c sea mayor que 5 y un tercer mensaje si c <5. Ejecute su programa modificando al operador para que use -, /, *,%, // y **.
Tipos de datos JavaScript y estructuras de datos
Ejercicio 2 – Listas
JavaScript – Array
Comience con el siguiente código.
var colors = [‘red’, ‘orange’, ‘yellow’, ‘green’, ‘blue’, ‘purple’];
- Imprime el número de colores en la lista.
- Ordenar la lista
- Cree una nueva lista con los valores de la longitud de cada nombre de color.
- Use un bucle for para imprimir el nombre de cada color en una nueva línea
- Use un bucle anidado para imprimir cada letra de cada nombre de color en una nueva línea, separando las palabras con una línea en blanco.
Ejercicio 3 – Objeto
JavaScript – Objetos literales
- Utilizando la lista inicial anterior, cree un objeto literal (hash / diccionario) que contenga el nombre del color como la clave y la longitud como el valor.
- Iterar a través del diccionario y eliminar todas las entradas de color con una longitud <5
- Iterar sobre la lista inicial de colores, imprimiendo verdadero o falso si el color se encuentra en el diccionario.
Ejercicio 4 – Cuerdas
JavaScript – Cadena
var text = “El zorro marrón rápido saltó sobre el registro perezoso.”;
- Imprime el número de caracteres que hay en la cadena.
- Imprimir la posición de “saltó” dentro de la cadena
- Imprime la posición de “caja” dentro de la cadena
- Crear una lista de las palabras en la cadena
- Crear una nueva cadena con las palabras separadas por el | personaje usando la lista de palabras
- Use un bucle for para contar el número de caracteres “e” en la cadena.
Los siguientes ejercicios requerirán el uso de NodeJS, con el que debe familiarizarse. NodeJS es un entorno que le permite ejecutar código JavaScript fuera del navegador.
Ejercicio 5 – E / S básico
Documentación Node.js v7.10.0 – Readline
Cree un pequeño programa que le haga una pregunta, escuche su respuesta y la compare con la respuesta correcta.
Esto te ayudará a entender cómo construir un programa Python básico, cómo hacer I / O básico y cómo interactuar con tu código.
Ejercicio 6: lea las preguntas de un archivo de texto donde se almacenan las preguntas una por línea. Pedir al usuario un nombre. Almacene las respuestas a las preguntas en un archivo de texto, con el nombre de usuario al principio de la línea seguido de una pestaña, seguido de la respuesta.
Documentación Node.js v7.10.0 – Sistema de archivos
Aprender a leer y escribir archivos es fundamental para la programación.
Ejercicio 7: cree un segundo programa que le permita buscar las respuestas de un usuario específico. Utilice una lista para almacenar las respuestas anteriores para la búsqueda
Esto agrega un poco más de complejidad a los dos primeros ejercicios que requieren que usted pueda clasificar los datos y encontrar los datos que está buscando.
Ejercicio 8: modifique el código del último ejercicio para usar un diccionario de listas para almacenar las respuestas de cada usuario.
Uso de diccionarios para almacenar / acceder a los datos con clave. Contenedores de contenedores, estructuras complejas de datos.
Ejercicio 9: cree un programa para generar un archivo de muestra que coincida con el resultado de la respuesta, que le permita crear un conjunto de datos con un número arbitrario de respuestas de los usuarios utilizando el bucle for. El número de respuestas debe ser un argumento de línea de comando. Genera un archivo de respuestas con 100,000 respuestas aleatorias.
Documentación de Node.js v7.10.0 – Interfaz de línea de comandos
JavaScript aleatorio () Método
Este ejercicio te ayudará a comprender el proceso de creación de datos simulados para realizar pruebas. Debería presentarte a los argumentos de la línea de comandos.
Ejercicio 9b: compare el tiempo requerido para buscar utilizando los programas del Ejercicio 7 y 8, usando su archivo de datos del 9, intente diferentes tamaños de archivos de respuestas 10,000 10,000,000.
Mayor comprensión de los tipos de contenedores y usos.
Ejercicio 10 – Crear una clase, pregunta. Lea el archivo de preguntas original y cree un objeto de pregunta para cada pregunta. Coloque las preguntas en una lista y guárdelas usando un JSON.
3 maneras de definir una clase de JavaScript
JavaScript JSON
Comenzar a usar Clases para representar construcciones de codificación. Introducción al almacenamiento de datos en un formato portátil utilizando JSON.
Ejercicio 11: repita el ejercicio 6, pero esta vez use el archivo de preguntas JSON. Cree un objeto de respuesta para encapsular los datos de respuesta. El código para solicitarle al usuario una respuesta debe convertirse en un método en la pregunta y debe devolver un objeto de respuesta. Los objetos de respuesta deben colocarse en un dict por usuario y almacenarse como JSON.
Leer datos, usar métodos, devolver objetos, analizar JSON.
Ejercicio 12: modifique el código para leer el archivo de respuestas anterior, agregue las nuevas respuestas proporcionadas y almacene el archivo.
Lectura, modificación y almacenamiento de datos.
Ejercicio 13 – Crear un objeto de persona, incluir identificación, nombre, apellido, fecha de nacimiento. Cree un objeto de Estudiante que herede del objeto Persona y agregue campos para Id, Person Id y Major. Usando lo que aprendió anteriormente, escriba un programa que le permita crear un objeto de Estudiante con todos los datos completados. (No te preocupes por el almacenamiento todavía).
La herencia y la cadena prototipo.
Introducción a la herencia. Construyendo objetos.
Ejercicio 13b – Implementar un método de comparación para comparar dos objetos Person. Sobrecargar ese método en Student para comparar dos estudiantes. El método sobrecargado debe llamar al método principal y luego implementar lógica adicional.
Herencia de JavaScript y anulación de método
Métodos de sobrecarga, implementando operadores en objetos.
Ejercicio 13c: implemente un método toJson () para proporcionar una cadena JSON de los objetos Person y Student. Implemente el método toString () para proporcionar una versión de impresión bonita de los objetos.
Métodos de sobrecarga, implementando operadores en objetos.
Ejercicio 13d: cree un constructor que genere un objeto de Estudiante dada una versión de cadena JSON del objeto.
Constructores de JavaScript, prototipos y la palabra clave `new`
Métodos de clase, métodos de fábrica.
Ejercicio 13e – Cree un método “get” para obtener el nombre que devuelve la concatenación de los nombres y apellidos. Cree un setter que divida un “nombre completo” en nombre y apellido.
Hechiceros y Setters
Ejercicio 13f: escriba una función de comparación de objetos de estudiante para habilitar la clasificación de objetos de estudiante. Lea los objetos de los estudiantes, ordénelos y almacénelos en el nuevo orden ordenado.
Array.prototype.sort ()
Clasificación.
Ejercicio 14: use SQL lite para crear tablas de Persona y Estudiante que imiten sus objetos del Ejercicio 9. Modifique el Ejercicio 9 para crear y almacenar registros.
sqlite3
mapbox / node-sqlite3
Introducción a SQL
Sentencia SQL CREATE TABLE
Introducción a las bases de datos SQL.
Ejercicio 15 – Cree un objeto de curso que contenga el ID, el nombre y la descripción del curso. Cree un objeto StudentCourse que contenga Id. De alumno, Id. De curso y Calificación. Crea las tablas correspondientes en SQL lite. Modifique su programa para permitir la creación y el almacenamiento de objetos del curso.
Sentencia SQL INSERT INTO
Basándose en la experiencia de SQL, y los objetos más complejos.
Ejercicio 16 – Agrega una lista de cursos a tu clase de estudiante. Modifique su programa para permitir agregar un curso a un estudiante. Lea la lista de cursos de la base de datos. Almacenar los cursos añadidos a los Student como StudentCourses.
Sentencia SQL SELECT
Relaciones, complejidad creciente.
Ejercicio 17: modifique su programa para permitir la actualización de la calificación para cualquier estudiante en cualquier curso. Busca usando Select for Students en tu base de datos. Seleccione una de las fuentes para que el Estudiante encuentre el curso para el que desea actualizar la calificación, almacene la calificación actualizada.
Declaración de actualización de SQL
Buscando en la base de datos, actualizando registros en la base de datos.
Ejercicio 18 – Agregar funcionalidad para producir un informe de todas las calificaciones para todos los estudiantes en un curso seleccionado.
SQL INNER JOIN palabra clave
Informes desde una fuente SQL.
Ejercicio 19a – Instalar Express.
Hasta este punto, su código ha sido controlado por la consola. Esta es una forma anticuada de acceder a una aplicación. No queremos aprender mucho al mismo tiempo, pero ahora es el momento de pasar a la web. Dependiendo de su otra experiencia, esto puede ser una tarea muy desalentadora, o unos minutos de trabajo. Sin embargo, es importante que los desarrolladores comprendan cómo funcionan en conjunto los sistemas subyacentes en los que trabajan.
Node.js framework de aplicaciones web
Ejercicio 19b – Crea un proyecto NodeJS Express.
inicio | npm documentacion
Exprese el ejemplo “Hola Mundo”
Express enrutamiento básico
Al final de esto, debe poder iniciar el servidor de desarrollo y hacer una solicitud simple.
Ejercicio 19d – Conecta Node.JS a nginx
Uso de nginx como proxy inverso delante de su aplicación Node.js – Nikola Brežnjak blog
Endurecimiento de node.js para la parte de producción 2: uso de nginx para evitar la carga de node.js
Nginx trabaja con Node.JS para mejorar el rendimiento mediante el almacenamiento en caché y el servicio de activos estáticos.
Al final de esto, debe tener una configuración de producción de Node.JS Express, sobre la cual continuar su experiencia de aprendizaje de JavaScript.
Ejercicio 20 – Connect Express a MongoDB
MongoDB Hosting: Base de datos como servicio por mLab
Crea una cuenta gratuita de MLab
Mangosta ODM v4.10.2
Complete el primer ejemplo en esa página, conectado a su cuenta de MLab.
Ejercicio 20b – Repetir utilizando manillares
bigote daliniano
manillar expreso
Ejercicio 21 – Repita los Ejercicios 5–18 utilizando el marco Node.JS / Express y MongoDB.
Estos son realmente muchos pasos, pero básicamente es la transición al modelo de HTTP IO de la Web, que es la base de todas las aplicaciones web. Esta vez, en lugar de solo hacer objetos, creará modelos para representar a sus entidades, controladores para enrutar solicitudes y preparar modelos para mostrar, y vistas para mostrarlos y permitir la interacción del usuario.
Ejercicio 22: modifique una parte o partes de su aplicación Express para usar una solicitud AJAX en lugar de una recarga de la página completa.
La web moderna se está moviendo hacia aplicaciones de página única (SPA). Casi todas las aplicaciones SPA tienen un componente del lado del servidor para datos persistentes. Node.JS y Express son bastante capaces de proporcionar este complemento del lado del servidor a un SPA. Además, a muchas aplicaciones tradicionales se les puede dar una interfaz de usuario mejorada utilizando las técnicas SPA / AJAX para que la aplicación sea más sensible a la interacción del usuario.
Ejercicio 23 – Escriba una función de procedimiento para devolver el elemento n-th de la secuencia de Fibonacci
La secuencia de Fibonacci es la secuencia donde el siguiente número es la suma de los dos números anteriores, comenzando con 0 y 1.
[0, 1, 1, 2, 3, 5, 8, 13, 21,…]
Ejercicio 24 – Escribe una función recursiva para devolver el elemento n-th de la secuencia de Fibonacci
La secuencia de Fibonacci también se puede definir como la secuencia de números donde f (n) = f (n-1) + f (n-2), donde f (0) = 0 y f (1) = 1.
Ejercicio 25 – Escribir un generador para iterar sobre la secuencia de Fibonacci
Iteradores y generadores
Aprende a usar un generador.
Ejercicio 25b: devoluciones de llamada recursivas para iterar sobre la secuencia de Fibonacci
Comprender las funciones de devolución de llamada de JavaScript y utilizarlas
Aprende a usar un callbacks
Ejercicio 26 – Escriba una función que devuelva una función f (n) = x ^ n, donde n la persona que llama define n.
Introducción a la programación funcional.
Funciones de JavaScript que devuelven funciones
IE Tal que lo siguiente funcionaría
función f (…) {
…
función de retorno () {
…
}
}
var cuadrado = f (2)
var cube = f (3)
area_de_30cm_square = cuadrado (30)
volume_of_30cm_box = cubo (30)
Ejercicio 27 – Escribe una función que Curries otra función.
Currying en JavaScript – Kristina Brainwave – Medio
Ejercicio 28 – Escribir una función que toma una función como argumento y la ejecuta.
Implementando funciones de devolución de llamada.
Ejercicio 29 – Escribe una coroutina que devuelva el mayor valor que se haya enviado.
Escriba Javascript asíncrono moderno utilizando promesas, generadores y coroutines.
Introducción a las coroutinas.
Ejercicio 30: escriba un programa que determine si una palabra está contenida en las obras de Shakespeare. Dada una palabra, verifique cada documento en las obras e informe qué documentos contienen la palabra.
Esto enseñará el recorrido de directorios, archivos más involucrados y sentará las bases para ejercicios adicionales.
Descargue las obras completas de Shakespeare desde esta página en formato gzip:
Las obras completas de Shakespeare
http://www.cs.usyd.edu.au/~matty…
Ejercicio 31: modifique el Ejercicio 24a para usar IO asíncrono o, si no lo está ya, para permitir IO concurrentes y acelerar el proceso.
Ejercicio 32: escriba un programa que tome una URL como argumento, use la biblioteca de solicitudes para solicitar una página web y almacene el contenido de la página en un archivo.
petición
Solicitudes web
Ejercicio 33: escriba un programa que realice una solicitud de búsqueda a la API de Wikipedia y devuelva una lista de páginas que coincidan con una cadena de búsqueda determinada.
API: Búsqueda – MediaWiki
Punto final de Wikipedia: https://www.mediawiki.org/api/re…
Usando APIs de Rest
Ejercicio 34: cree una página web que tenga un formulario para enviar una URL, y use una solicitud AJAX a su aplicación Node Express para recuperar una URL abreviada de la API del acortador de URL de Google, y muestre la URL abreviada en la página.
Empezar | Acortador de URL
Uso de OAuth, envío y recuperación de datos mediante REST apis, escritura de controladores de solicitud AJAX
Resumen
Tal vez usted sepa algo o todo esto, realmente no indicó su nivel de experiencia. Si esto no es útil para usted, tal vez sea útil para otra persona que lo encuentre y busque aumentar su conocimiento de Python.