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

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

лс: @lightalloy
Download Telegram
Вот один из материалов, правда, тоже не "серьёзный":
Канал по развлекательной математике [en] https://www.youtube.com/user/Vihart/featured
Например, история про жизнь на ленте Мёбиуса - https://www.youtube.com/watch?v=4mdEsouIXGM
О "математичных" книгах:
https://dev.to/lightalloy/what-to-read-to-fall-in-love-with-math-bfm
Первые 2 есть на русском («Думай, как математик», «Удовольствие от X»). «Как испечь пи» -- только на английском, но язык несложный.
В комментариях классные рекомендации 😍, пополняю список к прочтению.

#книги
Пет-проекты

Вот я всё пишу о книгах, но на самом деле раньше я уделяла очень мало времени теории, и обучалась только на практике: на работе и делая пет-проекты.

Пет-проектов у меня, как и у многих, большое кладбище. Это нормально, ведь мы делаем их в первую очередь для обучения и получения опыта (даже если изначально были другие планы :) Но если всё-таки получается сделать полезное приложение, это куда круче.

У меня был только один такой "успешный" проект (https://litealloy.com/). Он был сделан на коленке в 2011. Это простое rails-приложение с тренировками, собранными с нескольких источников. Тогда я сделала MVP и задеплоила очень быстро. Потом несколько лет понемногу дорабатывала и обновляла, добавляла контент, если он появлялся, и сама пользовалась сайтом. Постепенно он потерял актуальность для меня и для большинства пользователей. С 2016 практически не занимаюсь сайтом, только слежу за сервером.

Остальные мои проекты не доросли до релизов. В основном я делала их с целью попробовать какой-нибудь новый фреймворк или язык программирования. Я люблю делать что-то на тему трекинга привычек или для планирования, мечтаю сделать что-то среднее между хабитикой и пинариком :D, но пока у меня другие приоритеты.

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

Но, несмотря на сложности, сейчас у меня есть пара идей в работе или в планах:

- бот для марафонов (https://bit.ly/309uUtu) на тему "100 days of code" (https://bit.ly/2xTkQZ3). Это как раз проект с последнего хакатона. Мне хотелось попробовать dry-rb и rom-sql, и одновременно сделать вещь для реального использования. В идеале хочу сделать бот более универсальным и использовать его для любых "вызовов". Можно приспособить и для моего любимого отслеживания привычек. К сожалению, занимаюсь проектом только от случая к случаю.
- личный сайт/блог на gatsby, пока только в планах. Хочу собрать в одном месте все тексты, которые пишу то туда, то сюда. Заодно это будет практикой с реактом и graphql.
- Сами тексты для блога, этого и на DEV, тоже считаю отдельным пет-пректом.

А как у вас? 🏡
Пара "рецептов" на тему пет-проектов:

- Перед тем как начать, определите цели проекта. Надо понимать, что в приоритете: результат или обучение. Если это результат, нужно использовать знакомый "скучный" стек (https://bit.ly/2KNlVry) Если интереснее учиться, то ждать быстрого запуска не стоит.

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

Если проект не только учебный:
- Делайте в первую очередь для себя. Так у проекта сразу будет пользователь, а очевидные недостатки будут заметны гораздо быстрее.
- Постарайтесь как можно быстрее сделать и задеплоить первую версию, дополнительные фичи и улучшения подождут. Вполне возможно, что нужнее окажется совсем не то, что изначально планировалось.
А вот и "Shape Up" в pdf, без регистрации и смс.
В последнее время немного занялась английским и навыками презентации, теперь не успеваю толком ни писать, ни читать.
Попробую исправиться, и для начала просто напишу о том, что читаю:

Таймхакинг (https://bit.ly/2TYhaQj)
Что хорошо в таких книгах: читаешь быстро, и кажется, что делаешь что-то полезное :D
Конечно, есть и полезные идеи. Книга побудила меня ещё раз обратить внимание на рабочий режим и попробовать его оптимизировать. Гибкости в этом плане у меня не так много, т.к. режим подстроен под садик. Но подумать, когда делать перерывы, когда писАть/читать, куда впихнуть организационные дела, вполне можно.

Release it (https://amzn.com/1680502395/)
Читаю очень медленно, уже пару месяцев, осилила чуть больше половины. Проблема только в том, что книга больше подходит для вдумчивого чтения. Я же читаю перед сном, при этом одновременно читаю несколько книг, а значит берусь за неё не каждый день. Сама "Release it" больше на темы SRE (Site Reliability, обеспечение доступности/надёжности приложений) и Devops, сейчас я имею только косвенное отношение к этим темам.
По it сейчас хотелось бы взять что-нибудь более прикладное, но не знаю, что именнно + опять же, не хочется выделять много времени. На очереди "7 моделей конкуренции и параллелизма" и "руби под микроскопом". Ещё на этот год был запланирован Фаулер с "Шаблонами корпоративных приложений", но думаю, что он опять отложится.

Слово живое и мёртвое, Нора Галь (https://bit.ly/2Peg58h)
Эта книга есть у меня в бумаге, а с чтением бумажных книг у меня часто возникают сложности (не так удобно брать с собой, не почитаешь в темноте, и т.д.)
Начинала читать не один раз, и откладывала. Но недавно стала ограничивать время на "потупить в телефоне", и дело пошло повеселее.
"Слово" -- о том, как писать и переводить. Интересно почитать про особенности русского языка, отличия от английского и французского.
Очень полезно про перевод герундия ("-ing"). Часто его переводят, как отглагольное существительное, но это звучит неестественно. Лучше постараться заменить глаголом. (вот примеры от одного из авторов "Пиши-сокращай" - https://bit.ly/2HqIeSZ)
Ещё стало стыдно за избыток англицизмов в речи и на письме. Да, можно сказать, что в этом плане книга устарела и новые слова уже "вошли в язык". Про это пишет и сама Нора, а сейчас, спустя десятилетия после публикации, многие такие слова стали ещё привычнее. Тем не менее, принцип остался тем же: стоит задуматься, использовать ли кальку с английского или есть синоним, который будет звучать лучше.
Ещё одно последствие: стала чаще замечать ошибки и недочёты в переводных (и не только) книгах, читать стало не так весело.
> Мне было надёжно. (из "Право писать" Джулии Кэмерон, wtf?)

Mathematitian's Lament (Плач математика) (https://bit.ly/ZGdVyW)
Быстренько прочитала в поезде, в этом рассказе(?) всего 25 страниц.
Как и указано в названи, математик жалуется на то, что математике учат неправильно. Аналогии в начале книги интересные, хотелось бы прочитать о том, как это внедрять на практике.

#книги
Forwarded from Анна Буянова
When I gave two 5-minute talks to a couple of people :D
На фоне очередные эксперименты на тему трекера привычек 📝
Расскажу про очередной подкаст, 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 #работа