Главная » Хабрахабр » В объятьях Питона (только для женщин)

В объятьях Питона (только для женщин)

Я, как всегда, никуда не собиралась, когда в новостной ленте «ВКонтакте» вдруг увидела сообщение, что завтра последний день подачи заявок на Django Girls в Санкт-Петербурге — мастер-класс по программированию на Python для женщин. Обычно я читаю такие сообщения, когда регистрация на мероприятие уже закрыта. У меня особое везение на такие дела — узнать о событии на следующий день после его завершения. Поэтому, когда я поняла, что появилась реальная возможность попасть на бесплатный тренинг по Python, то быстро заполнила заявку, на всякий случай забронировала отель и стала ждать.

Можно ли придумать лучшее время для поездки: лето и белые ночи, чемпионат мира с возможностью посетить фан-зону на Конюшенной площади, знакомство с IT-сообществом Django Girls и офисом Wargaming, и под занавес праздник «Алые паруса»!
Мне кажется, я сразу знала, что меня примут, иначе как объяснить, что я проморгала аналогичное событие в Москве месяцем раньше и попала именно в Санкт-Петербурге!

Почему Python

Прошло два года с тех пор, как я открыла для себя мир IT, но по-прежнему мало что умею делать прикладного. Организовать тестирование ПО в проекте, координировать UAT — это я умею, и мне нравится разнообразие проектов. Но если нужно что-то сделать «руками», например, автоматизировать простенький тест, с этим беда. Поэтому давно появилась мысль попробовать программировать на Java или Python. Даже попыталась пройти онлайн-курс на Udemy Computer Science for beginners, c введением в Java. Часть о двоичной системе исчисления и физическом устройстве компьютеров была очень понятной, но как только дошло до кода, стало сложно. Мне нужен ментор — человек, который сидит рядом и отвечает на любой вопрос. Так что приглашение на мастер-класс по Python для женщин я восприняла как свой шанс. Тем более, Python не самый сложный язык и пригодится мне минимум в двух сферах: автоматизация тестов и анализ данных.

Подготовка к мастер-классу

Пришла заранее, немного помогла организаторам с расстановкой столов и стульев для участниц. С утра 23 июня 2018 года я отправилась прямиком на площадь Фаберже, в офис Wargaming. За каждым столом 5-6 участниц и один тренер. Нас было около 70 девушек, пожелавших сделать первый шаг в программировании. Рядом со мной сидела Оля, маркетолог, сильно желавшая перейти в IT, и Даша, сотрудница банка как и я, решившая переехать в Канаду и для этого осваивающая востребованную профессию программиста. Нашему столику повезло, нас было всего трое и тренер Люба, практически персональный помощник.

При этом код приложения нужно было размещать на GitHub и оттуда обновлять блог на сайте. Так как все программы я установила дома и почитала вступительные статьи, то смогла сразу приступить к проекту — созданию блога на Python с размещением его на одной из готовых платформ. Всё, о чем я расскажу ниже, я делала впервые в жизни, и до мастер-класса не имела представления, как реально создается веб-приложение. Разработка велась на моем локальном компьютере, в роли которого любезно выступил мой домашний ноутбук.

Инструменты

Для разработки использовался фреймворк Django — понятный и популярный инструмент. На ноутбук был установлен язык программирования Python версии 3.6 и создано виртуальное окружение для ведения проекта. Для работы с кодом был установлен текстовый редактор Sublime Text. Для хранения версий кода скачан и установлен Git. Версии публиковались на GitHub, для чего я создала там профиль. Для размещения моего блога в Интернете был выбран сайт www.pythonanywhere.com, где я также создала учетную запись. Всю работу с папками и файлами на ноутбуке вела через командную строку cmd, и похожая консоль использовалась на Pythonanywhere для управления папками и файлами блога.

Как проходил мастер-класс

Задания даны в очередности, которая позволяет создать маленький, но полноценный блог и выложить его в Интернет. Принцип тренинга прост: читаешь инструкцию, выполняешь по ней задания, если что-то непонятно — спрашиваешь тренера.

Было несколько интересных докладов, например, о стажировках для начинающих программистов или о возможностях обучения, начиная с бесплатных онлайн-курсов и заканчивая получением бакалавра по Computer Science в американском ВУЗе по очень доступной цене. Тренинг длился с 10 утра до 7 вечера, каждый час 10 минутный перерыв. В нашем распоряжении также была большая кухня с неограниченным количеством подходов к воде, чаю, кофе, печенью и фруктам. В обед была пицца, а для сторонников здорового питания — домашнее кафе «Фаберже» на 4-м этаже в ТЦ по соседству. Лично меня офис Wargaming поразил сотрудниками, работавшими там в субботний день — эти креативщики ездили по офису на самокатах, причем иногда босиком.

Мой результат за день

Сколько мне удалось сделать за день? Немало! Сначала я создала в Django отдельный проект и в нем создала необходимые файлы. В конфигурации проекта указала данные для корректной работы сайта, например, временной пояс и адрес размещения блога. Далее настроила базу данных. По сути, она уже была создана в Django, её нужно было мигрировать в директорию моего проекта. И, наконец, запустила виртуальный сервер на ноутбуке — это вообще была магия, до сих пор не верю, что я это сделала.

0. Когда шаблон сайта был готов, и его можно было увидеть на компьютере в браузере по адресу 127. 1:8000/, настал черёд создать в базе данных модель для записей в блоге. 0. Чтобы программа понимала, какие записи я хочу создавать, ей нужно сказать об этом. То есть у нас есть пустой шаблон сайта, но его нужно чем-то заполнять, например, записями блога. На этом этапе создание блога на локальном компьютере было окончено, и нужно было мой сайт разместить в Интернете — развернуть (deploy). И делается это с помощью модели и добавления её в базу данных. Для этого мы использовали очень популярный инструмент Git — систему контроля версий кода.

Для этого сначала задаются настройки, а затем командой git commit и git push код размещается на GitHub. Сначала нужно было сообщить моему ноутбуку, куда выкладывать код. А еще можно разными командами через cmd проверить, какие изменения сделаны. При обновлении кода можно добавить комментарий, тогда каждое изменение будет сопровождаться описанием, что именно изменилось. Очень полезная штука!

Только сначала на Pythonanywhere нужно было создать виртуальное окружение и базу данных, а затем уже выгрузить код с GitHub. Далее началось самое интересное: код с GitHub надо выгрузить на сайт, где будет размещаться блог, то есть опубликовать мой блог в сети — по сути, ради этого всё и затевалось. Вообще всё вышеописанное делается легко. Делается это легко — одной командой git pull. Совсем немного попробовала язык Python: копировала из инструкции крохотные фрагменты кода и изменяла, как мне было нужно. Для меня самой большой магией было то, что через 8 часов работы всё заработало, все получалось и появлялось, где надо. Чтобы всё заработало, нужно увязать друг с другом все компоненты и инструменты. А больше всего времени ушло на множество подготовительных шагов: настройки, создание сред, баз данных, учетных записей, репозитория. Это не так просто.

Успех зависит о того, насколько хорошо ты знаешь эти инструменты и умеешь ими пользоваться. Я поняла, что современное программирование — это использование большого набора инструментов, где многое уже готово к использованию.

Я создала файл blog с HTML-кодом (то есть с тем, что мы увидим на страничке в Интернете), и должна была его выложить на сайт, но команда завершилась ошибкой и консоль cmd мне сообщила, что файл не существует. Одна забавная ошибка всё же случилась. Вместе с тренером мы никак не могли понять, почему программа смотрит на путь по умолчанию, а не тот, что мы указали. Оказалось, путь к файлу программа указывала неверный. Я иду по другим столам и спрашиваю, кто дошел до этого этапа, была ли подобная ошибка. Гуглили — не помогло. Начали исправлять через команду rename — нет доступа. Откликается тренер одного из столов, подходит к нам, смотрит на имя папки и говорит, что у меня опечатка в названии: tamplates вместо templates. И тут мой тренер предложила зайти в саму папку и исправить. Разбираемся, почему нет доступа, непонятно. И это сработало. «Как?» — «Ну как ты файлы переименовываешь на компьютере?» — «Что, вот так прям через Windows-проводник зайти и переименовать?» — «Конечно». Иногда начинаешь мыслить слишком сложно в ситуациях, имеющих простое решение.

Потом я еще училась обновлять блог на сайте со своего компьютера и создала URL-адрес, чтобы браузер при вводе ссылки на мой блог понимал, какую страничку ему вывести на экран.

Итого:

Впечатления

Мне очень понравился мастер-класс, он сильно меня воодушевил и, без сомнения, открыл новую главу в моей жизни.

Поэтому сразу после мастер-класса я забросила ноутбук в гостиницу и отправилась на два самых ярких события того вечера и ночи: матч Германия—Швеция в фан-зоне на Конюшенной площади и праздник «Алые Паруса», отмечающий новую жизнь выпускников питерских школ. К вечеру я очень устала, мозги требовали перезагрузки. Кому интересно узнать подробнее о мастер-классе, пишите мне в Skype — elen.furs.

А как это сделать, вы уже знаете на моем примере. В заключение хочется сказать: милые девушки, если вы мечтаете приобщиться к миру технологий, работать в интересных компаниях и хорошо зарабатывать, не бойтесь идти в IT.


Оставить комментарий

Ваш email нигде не будет показан
Обязательные для заполнения поля помечены *

*

x

Ещё Hi-Tech Интересное!

[Перевод] .NET Core + Docker на Raspberry Pi. А это законно?

Открытая платформа .NET Core работает практически на всем: Windows, Mac и десятке Linux-систем. Но еще есть SDK и Runtime. Раньше .NET Core SDK не поддерживался на чипах ARMv7/ARMv8, на которых работает Raspberry Pi. Но все изменилось. Подробнее о способах запуска ...

Финтех-дайджест: в магазине можно будет снять деньги с карты на кассе; PayPal хочет покупать больше компаний

Сегодня в дайджесте: В магазине можно будет снять деньги со своей карты; PayPal собирается тратить около $3 млрд в год на слияния и поглощения; «Альфа-Банк» тестирует международную блокчейн-платформу; Как банки будут собирать биометрические данные? Итак, в этом году отдельные банки ...