Анна Буянова (Anna Codes) – Telegram
Анна Буянова (Anna Codes)
401 subscribers
82 photos
1 video
1 file
149 links
Бэкенд-разработчица (Ruby). Иногда делаю образовательные проекты.

Личный канал о разработке ПО, программировании (на Ruby и не только), образовании в it.

лс: @lightalloy
Download Telegram
На фоне очередные эксперименты на тему трекера привычек 📝
Расскажу про очередной подкаст, Command line heroes (https://www.redhat.com/en/command-line-heroes)
Его делает Сарон Итбарек, основательница CodeNewbie (https://www.codenewbie.org/), а спонсирует RedHat.
Благодаря этому, подкаст записан очень профессионально. Вам не придётся продираться сквозь помехи или разбирать нечёткую речь. Я думаю, он подойдёт и для изучения английского. Темы последних эпизодов для примера: история создания языков программирования, инфраструктура на коболе и что с ней делать.
Ещё на сайте можно поиграть в игру(https://red.ht/2LcNuOJ).
В этом году DEV партнёрится с хактоберфестом: https://bit.ly/2lEYurq

Для тех, кто не знает, хактоберфест -- это мероприятие для поддержки и развития opensource, которое проходит в течение всего октября. Чтобы поучаствовать, нужно зарегистрироваться и сделать 4 пулл-реквеста на гитхабе. Те, кто успешно выполнят этот челлендж, получат футболку и набор стикеров.

Требований к пулл-реквестам немного: главное, чтобы они были в публичных репозиториях и их не пометили, как спам. То есть, не обязательно, чтобы пулл-реквест приняли, пока идёт мероприятие. Считаются даже пулл-реквесты в свои репозитории, но это, конечно, не так интересно.

Чтобы легче было найти подходящую задачу, мейнтейнеры помечают их тегом #hacktoberfest (https://git.io/fjjfg), присмотреться можно уже сейчас.
Ещё рамках хактоберфеста проходят встречи, которые помогут начать или продолжить контрибьютить. Например, в прошлом году pyladies spb проводили OpenSource sprint: https://bit.ly/2lAqQTU

У нас специальных задач для хактоберфеста (пока) нет, но всегда можно посмотреть метки "good first issue" (https://git.io/fjjBg) и "help wanted" (https://git.io/fjjB2)

#devto
Мы открываем регистрацию на RailsGirls в Спб 💎
https://vk.cc/9OpVnw
Делитесь с подругами (дочками, мамами, бабушками), у которых нет особого опыта программирования, но есть желание его получить 👩🏻‍💻

#railsgirls
Появился повод съездить на PyLadies, готовлюсь вот 😅
Это задачки с https://exercism.io/ , он хорош, чтобы изучить или вспомнить синтаксис языка. Можно выбрать трек с менторами, тогда ваши решения будут отправляться на код-ревью. Я пошла этим путём, когда решала задачки на эликсире, было довольно полезно.

Что касается питона, то я немного писала на нём, когда выбирала, куда уйти с php в конце 2000-х. Это были какие-то простые пет-проекты, не для прода. В то время руби больше привлёк своей красотой и культурой (?), сейчас пытаюсь вспомнить истинные причины 😅. С тех пор питоном особо не занималась, разве что иногда становится интересно что-то вроде "а как там работает множественное наследование" и т.д. и я поверностно читаю на тему.

Если нет повода, то не так интересно изучать язык, который относительно похож на мой основной.
Как Авди писал (http://www.virtuouscode.com/2015/05/08/a-personal-programming-language-roadmap/):
> Python: a fine language, but too similar to Ruby to be worth re-acquainting myself at this point.
Вот и у меня что-то похожее.
Сейчас возник некоторый исследовательский интерес, хотя глубоко изучать питон так и не планирую.
Btw, буду на RubyRussia в субботу, буду рада пообщаться
Сегодня начинается хактоберфест, приходите контрибьютить ко мне на рабочий проект.
https://github.com/thepracticaldev/dev.to/issues

Стек - ruby/rails, на фронтенде preact(это почти как реакт :) и ванильный js.

Обратите внимание на задачи с тегами - "hacktoberfest", "help wanted", "good first issue"
Есть теги и по технологиям, начинаются с "tech" (например, "tech: html/css")

Парочка задач от меня:
- Уйти от вызовов delay (специфичных для DelayedJob) и сделать вместо них ActiveJob'ы ==> https://github.com/thepracticaldev/dev.to/issues/3136
Почти всё уже сделано руками контрибьютеров, осталось несколько пунктов.

- Удалить старые методы, связанные с уходом от DelayedJob ==> https://github.com/thepracticaldev/dev.to/issues/2950

- Добавить дату публикации подкаста ==> https://github.com/thepracticaldev/dev.to/issues/3498
Люди вызывались делать, но результата не видно, поэтому смело можно брать.

Ещё можно обратить внимание на rubocop_todo и просто прогнать rubocop, я смотрю, опять там есть пара нарушений.
Во фронтенд я не так часто заглядываю, но там ещё тоже много возможностей отрефакторить или исправить код в соответствии с конфигом eslint.

Доки по установке в readme проекта и здесь ==> https://docs.dev.to/installation/
Если что, обращайтесь (@lightalloy)

#devto
Недавно сделали интеграцию DEV со стекбитом, напишу про неё.
Stackbit -- это приложение для быстрого создания JAMstack-сайтов. JAMStack - это альтернатива традиционным CMS типа вордпресса, как-нибудь напишу про него подробнее.
Stackbit интегрирует генератор статический сайтов (jekyll, gatsby, hugo, etc), headless CMS (Netlify, Contentful, etc) и инструменты для деплоя (Netlify) + делает для вас репозиторий (пока только на гитхабе).

В нашем случае DEV выступает в качестве CMS. То есть если у вас есть посты на DEV, можно зайти в раздел "интеграции" в настройках, нажать кнопку "Connect to Stackbit", выбрать тему и генератор, и через некоторое время получить готовый сайт, примерно такой: https://terrific-velociraptor-e1366.netlify.com/
Доработать его можно просто внеся изменения в репозитории на гитхабе. Я практически ничего не меняла, поэтому сайт выглядит убого :D

С технической стороны реализовано так:
- когда первый раз интегрируетесь со стекбитом, даёте доступ oauth-приложению
- stackbit получает доступ, берёт данные о постах по апи, делает свою магию, и создаёт сайт
- stackbit по апи регистрирует вебхуки(https://en.wikipedia.org/wiki/Webhook) на DEV
- когда кто-то обновляет или создаёт пост, мы смотрим, есть ли соответствующие вебхуки, и отправляем события с нужной информацией на url'ы этих вебхуков

Вебхуки и события -- это интересная тема в техническом плане. Но мы пока решили остановиться на самом простом варианте, а потом посмотрим, в какую сторону развивать фичу. Сейчас реализация похожа на ту, которая описана в статье https://benediktdeicke.com/2017/09/sending-webhooks-with-rails/ , (только без коллбеков! 😂)

#devto #работа
1 и 2 ноября мы провели RailsGirls. Наконец-то напишу о нём.
Для тех, кто не знает, RailsGirls — это воркшоп для девочек и женщин, на котором они могут познакомиться с Ruby, Rails и программированием в целом.
Большая часть мероприятий RG нацелена на абсолютных новичков. За 1-2 дня научить программированию и даже дать основы невозможно, поэтому основная цель — просто показать, что такое программирование, дать идеи, как и чему дальше учиться, как в будущем начать карьеру.

Мы начали подготовку за 2 месяца, мне казалось, что у нас очень мало времени. Например, Django Girls требуют подавать заявку на мероприятие за 3 месяца. У RailsGirls всё более расслабленно. Мы еле добились ответа от организаторок :D (Линды Лиукас), но в итоге всё получилось, и мы смогли добавить информацию на официальный сайт. Организаторки глобальной инициативы особо не контролируют проведение локальных мероприятий. Есть кое-какие инструкции, но основные решения нужно принять самим. Например, составить расписание и решить какие материалы брать для воркшопа.

Само мероприятие мы рекламировали не так много, в основном вк, в "своём" паблике (code_sisters), в "сестра сестре" и немного в телеграме. Оттуда информация разошлась чуть дальше. Этого хватило, чтобы на 20 мест мы получили 80+ заявок. Мы постарались в первую очередь взять тех, у кого меньше знаний в it, но больше мотивации. Часто это субъективные вещи, + вмешивается случайность, поэтому состав получился разнообразный.

При подготовке у меня не было возможности делать то, что привязано к офису и городу, поэтому я переживала, как всё будет в этом плане. Но здесь всё было хорошо (Спасибо, Катя 💙) В остальном мероприятие тоже прошло без больших факапов, хотя многое можно было сделать лучше. Мы получили положительные отзывы, но хотелось бы узнать больше о том, что можно улучшить с т.з. участниц.

А вот то, чему на мой взгляд стоит уделить больше внимания.

- винда и техническая подготовка
Я сама давно не работала с виндой. Перед воркшопом мы попробовали вариант установки с RailsInstaller, обнаружили возможные проблемы и нашли решения. Но прямо перед мероприятием мне приспичило использовать wsl (windows subsystem for linux) + стандартную установку rbenv+ruby+etc, а не волшебный скрипт RailsGirls (в моей группе). На воркшопе сама установка прошла неплохо, но под конец wsl начала тормозить и начались странные ошибки, например, рандомно слетали права у файлов, завершить пришлось не на самой весёлой ноте.
Если бы я поэкспериментировала с wsl заранее, возможно, знала бы о таких проблемах.
Я ставила руби на винду в 2008-2009, через mingw или cygwin, и всё отлично работало. Но сейчас мне это уже не помогает :D

- информирование менторок и участниц
Оказалось, что не всем было понятно, по какому туториалу мы идём, в итоге такие вещи решались в последний момент.

- подготовка материалов
Мы взяли готовый туториал RailsGirls. Для первого раза это логично, готовить свой отняло бы много времени и сил, которые были нужны нам на решение других проблем. На сайте Rg есть туториал на русском, но он сильно устарел и пользоваться им уже невозможно. В будущем хотелось бы сделать свой перевод, т.к. не все участницы знают английский на достаточном уровне. Да, можно было бы сделать знание языка одним из требований, но на "нулевом" воркшопе не хочется отсекать людей по этому принципу. А вот собрать данные насчёт знания англ. стоило, чтобы более оптимально сформировать группы.

- делегирование задач
Как обычно, нужно больше делегировать, т.к. основные организаторки и так сильно загружены. Но само делегирование — это тоже работа, + часто сложно передавать задачи несмотря на наличие желающих. На мой взгляд, это связано с тем, что многие задачи включают в себя принятие решений, к-е волонтёркам трудно взять на себя. Тут прослеживается параллель с работой над опенсурсным проектом и делегированием контрибьютерам.

- внезапно не стало сил перед воркшопом
Это было сложно предвидеть, но так получилось. Пришлось тащить подготовку на минималках.

#railsgirls #моё
❤‍🔥11
- "понятно, что ничего не понятно" (для участниц)
Частая тема в отзывах на воркшоп, но это как раз нормально в начале обучения. Если учиться регулярно, то со временем понимания будет больше.

Для первого раза всё прошло хорошо, многие участницы получили положительные впечатления и хотят идти дальше.
В целом очень классный новый опыт организации, менторства и даже публичных выступлений
Подборка статей от Shopify о том, как они справляются с огромным высоконагруженным монолитом.
https://twitter.com/rhymes_/status/1197115938501472263

(узнаю кое-что из Domain Driven Design)
Особенно мне понравилась идея "modular monolith". Он сочетает плюсы микросервисной архитектуры (чёткая структура, разделение зон ответственности) и монолита (отсутствие сложностей взаимодействия сервисов между собой). Конечно, Shopify проделали (и делают) огромную работу, чтобы к этому прийти. Мало у кого есть такая возможность, пока приложение не достигнет их масштабов, но всё равно кое-что можно "взять себе".
Выступила на Pyladies 13.02 с рекламой Ruby #моё