Yo, como siempre, no iba a ninguna parte cuando de repente vi un mensaje en el boletín VKontakte de que mañana, el último día de presentación de solicitudes para Django Girls en San Petersburgo es un taller de programación de Python para mujeres. Usualmente leo estos mensajes cuando el registro para un evento ya está cerrado. Tengo una suerte especial en estos asuntos: aprender sobre el evento el día después de su finalización. Por lo tanto, cuando me di cuenta de que había una oportunidad real de obtener una capacitación gratuita en Python, llené rápidamente una solicitud, en caso de que reservé un hotel y comencé a esperar.
Me parece que supe de inmediato que me aceptarían, de lo contrario, ¿cómo podría explicar que me había perdido un evento similar en Moscú un mes antes y que llegué a San Petersburgo! ¿Es posible encontrar el mejor momento para el viaje: noches de verano y blancas, la Copa del Mundo con la oportunidad de visitar la zona de fanáticos en la Plaza Konyushennaya, conocer a la comunidad de TI Django Girls y la oficina de Wargaming, y al final de las vacaciones de Scarlet Sails!
Por que python
Han pasado dos años desde que descubrí el mundo de las TI, pero como antes sé poco sobre cómo aplicar. Organizar pruebas de software en un proyecto, coordinar UAT: sé cómo y me gusta la variedad de proyectos. Pero si necesita hacer algo "con las manos", por ejemplo, para automatizar una prueba simple, esto es un desastre. Por lo tanto, hace mucho tiempo surgió la idea de intentar programar en Java o Python. Incluso intenté tomar un curso en línea en Udemy Computer Science para principiantes, con una introducción a Java. La parte sobre el sistema de números binarios y la estructura física de las computadoras era muy comprensible, pero tan pronto como llegó al código, se volvió difícil. Necesito un mentor, una persona que se siente cerca y responda cualquier pregunta. Así que aproveché la invitación a un taller de Python para mujeres como mi oportunidad. Además, Python no es el lenguaje más difícil y me será útil en al menos dos áreas: automatización de pruebas y análisis de datos.
Preparación para la clase magistral

En la mañana del 23 de junio de 2018, fui directamente a Faberge Square, a la oficina de Wargaming. Llegué por adelantado, ayudé un poco a los organizadores con la disposición de mesas y sillas para los participantes. Éramos unas 70 chicas que querían dar el primer paso en la programación. En cada mesa hay 5-6 participantes y un entrenador. Nuestra mesa tuvo suerte, solo éramos tres y el entrenador Lyuba, casi un asistente personal. Olga estaba sentada a mi lado, una comercializadora que estaba ansiosa por ir a TI, y Dasha, una empleada del banco, como yo, que decidió mudarse a Canadá y estaba dominando la codiciada profesión de programador para esto.
Desde que instalé todos los programas en casa y leí los artículos introductorios, pude comenzar de inmediato el proyecto, creando un blog en Python y colocándolo en una de las plataformas listas para usar. Al mismo tiempo, el código de la aplicación tuvo que publicarse en GitHub y desde allí se actualizó el blog en el sitio. El desarrollo se realizó en mi computadora local, que fue amablemente reproducida por la computadora portátil de mi casa. Todo lo que discutiré a continuación lo hice por primera vez en mi vida, y antes de la clase magistral no tenía idea de cómo se creó realmente la aplicación web.
Las herramientas
Para el desarrollo, se utilizó el marco Django, una herramienta popular y comprensible. Python versión 3.6 se instaló en la computadora portátil y se creó un entorno virtual para el proyecto. Para trabajar con el código, se instaló el editor de texto Sublime Text. Para almacenar versiones del código, se descargó e instaló Git. Se publicaron versiones en GitHub, para lo cual creé un perfil allí. El sitio
www.pythonanywhere.com fue elegido para alojar mi blog en Internet, donde también creé una cuenta. Todo el trabajo con carpetas y archivos en la computadora portátil se realizó a través de la línea de comando cmd, y se usó una consola similar en Pythonanywhere para administrar carpetas y archivos de blog.
Como fue la clase magistral

El principio del entrenamiento es simple: lees las instrucciones, realizas tareas en él, si algo no está claro, pregúntale al entrenador. Las tareas se dan en orden, lo que le permite crear un blog pequeño pero completo y ponerlo en Internet.
El entrenamiento duró de 10 a.m. a 7 p.m., cada hora un descanso de 10 minutos. Hubo varios informes interesantes, por ejemplo, sobre pasantías para programadores principiantes o sobre oportunidades de capacitación, comenzando con cursos en línea gratuitos y terminando con una licenciatura en Ciencias de la Computación en una universidad estadounidense a un precio muy asequible. Durante el almuerzo, había pizza, y para los defensores de una dieta saludable, el café de la casa Faberge en el cuarto piso del centro comercial de al lado. También teníamos una gran cocina con un número ilimitado de enfoques de agua, té, café, galletas y frutas. Personalmente, los empleados que trabajaron allí el sábado me impresionaron con la oficina de Wargaming: estos creadores recorrían la oficina en scooters, a veces descalzos.
Mi día resultado
¿Cuánto logré hacer en un día? Mucho! Primero, creé un proyecto separado en Django y creé los archivos necesarios en él. En la configuración del proyecto, indicó datos para el correcto funcionamiento del sitio, por ejemplo, la zona horaria y la dirección del blog. Luego, configure la base de datos. De hecho, ya se creó en Django, tuvo que migrarse al directorio de mi proyecto. Y finalmente, lancé un servidor virtual en una computadora portátil: fue mágico, todavía no creo que lo haya hecho.
Cuando la plantilla del sitio estaba lista, y se podía ver en la computadora en el navegador en la dirección
127.0.0.1 : 8000 /, era hora de crear un modelo para las entradas de blog en la base de datos. Es decir, tenemos una plantilla de sitio vacía, pero debe llenarse con algo, por ejemplo, entradas de blog. Para que el programa entienda qué registros quiero crear, se le debe informar al respecto. Y esto se hace usando el modelo y agregándolo a la base de datos. En esta etapa, se completó la creación del blog en la computadora local y fue necesario colocar mi sitio en Internet: implementar. Para hacer esto, utilizamos una herramienta Git muy popular: un sistema de control de versión de código.
Primero tuve que decirle a mi computadora portátil dónde cargar el código. Para hacer esto, primero se configuran los ajustes, y luego con los comandos git commit y git push, el código se publica en GitHub. Al actualizar el código, puede agregar un comentario, luego cada cambio irá acompañado de una descripción de lo que ha cambiado exactamente. Y puede verificar con varios comandos a través de cmd qué cambios se realizan. ¡Cosas muy útiles!
Entonces comenzó la diversión: el código de GitHub debe cargarse en el sitio donde se alojará el blog, es decir, para publicar mi blog en la red; de hecho, por el bien de todo comenzó. Solo al principio en Pythonany donde fue necesario crear un entorno virtual y una base de datos, y luego descargar el código de GitHub. Esto se hace fácilmente, con un comando git pull. En general, todo lo anterior se hace fácilmente. Para mí, la magia más grande fue que después de 8 horas de trabajo todo funcionó, todo funcionó y apareció cuando fue necesario. Probé bastante el lenguaje Python: copié pequeños fragmentos de código de la instrucción y lo cambié cuando lo necesitaba. Y la mayor parte del tiempo se dedicó a muchos pasos preparatorios: configuración, creación de entornos, bases de datos, cuentas, repositorio. Para que funcione, debe vincular todos los componentes y herramientas. No es tan simple.
Me di cuenta de que la programación moderna es el uso de un gran conjunto de herramientas, donde ya hay muchas listas para usar. El éxito depende de qué tan bien conozca estas herramientas y cómo usarlas.
Un error gracioso sucedió. Creé un archivo de blog con código HTML (es decir, con lo que vemos en una página en Internet), y tuve que ponerlo en el sitio, pero el comando falló y la consola cmd me dijo que el archivo no existe. Resultó que la ruta al archivo era incorrecta. Junto con el entrenador, no pudimos entender por qué el programa mira la ruta predeterminada, y no la que indicamos. Buscar en Google: no ayudó. Voy a otras mesas y pregunto quién ha llegado a esta etapa, si hubo un error similar. El entrenador de una de las tablas responde, se acerca a nosotros, mira el nombre de la carpeta y dice que tengo un error tipográfico en el nombre: plantillas en lugar de plantillas. Comenzaron a solucionarlo mediante el comando renombrar: no hay acceso. Entendemos por qué no hay acceso, no está claro. Y luego mi entrenador se ofreció a ir a la carpeta y arreglarlo. "¿Cómo?" "Bueno, ¿cómo cambias el nombre de los archivos en una computadora?" - "¿Qué, es correcto entrar y cambiar el nombre a través del Explorador de Windows?" "Por supuesto". Y funcionó. A veces comienzas a pensar demasiado en situaciones que tienen una solución simple.
Luego aprendí a actualizar el blog en el sitio desde mi computadora y creé una URL para que el navegador, al ingresar el enlace a mi blog, entendiera qué página mostrar en la pantalla.
Total:
Impresiones

Realmente me gustó el taller, me inspiró mucho y, sin duda, abrió un nuevo capítulo en mi vida.
Al anochecer estaba muy cansado, mi cerebro exigía un reinicio. Por lo tanto, inmediatamente después de la clase magistral, arrojé mi computadora portátil al hotel y fui a los dos eventos más llamativos de esa tarde y noche: el partido entre Alemania y Suecia en la zona de aficionados en la Plaza Konyushennaya y la celebración de Scarlet Sails, celebrando la nueva vida de los graduados de las escuelas de San Petersburgo. Si está interesado en aprender más sobre la clase magistral, escríbame en Skype - elen.furs.
En conclusión, quiero decir: queridas chicas, si quieren unirse al mundo de la tecnología, trabajar en empresas interesantes y ganar buen dinero, no tengan miedo de ir a TI. Y ya sabes cómo hacer esto en mi
ejemplo .