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

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

лс: @lightalloy
Download Telegram
Channel name was changed to «Анна Буянова (Anna Codes)»
Понемногу смотрю доклады с RailsWorld 2024 #rails
Понравилась keynote от DHH, расскажу, чтобы вам не пришлось смотреть (или наоборот чтобы посмотрели).

Пока по первой части (деление моё):
Что ждёт Rails в будущем, и как соотносится с трендами веб-разработки.

Rails всё ещё one-person framework
Не обязан использоваться именно одним человеком, но в принципе может! Не нужна куча людей с разными специзациями.
Подходит для многих проектов, которые уже не hello-world, но и не мегакорпорация.

Но что делать, если вы выросли, зарабатываете кучу денег (как компания) и возникают сложности?
Что угодно, с деньгами разберётесь 🌚 Но и rails scales, в частности, Shopify показывает.

No build
Dhh замучился с вебпаком и теперь за nobuild Dсё как раньше и можно глянуть исходники красиво :)
Как всегда, не обязательно использовать no build, это лишь стандартный вариант.

Деплой
Интересная часть: сетует на выученную беспомощность разработчиков, которые боятся потрогать сервер, и предлагает лечение - линукс 😁
Проблема - aws сотоварищи убедили нас, что мы не в состоянии настроить что-то на сервере. Облака удобны, когда у тебя неравномерная нагрузка, есть определённые "горячие" периоды в нагрузке. Но у большинства такого нет. Рельсы не заставляют переплачивать и по идее должны нам облегчить деплой на "свой" сервер, и для этого делают kamal в т.ч.
Dhh недавно перешёл на линукс, теперь в восторге и запилил omacub, который должен превратить вашу свежую убунту (?) в удобную ос для разработки.

Посмотрела дополнительно про omacube, включает в себя:
- gnome
- docker с mysql, redis; lazydocker
- mise для управления версиями ruby, nodejs
- neovim; lazyvim
- штуки для удобства в графическом интерфейсе
- всякое ненужное вроде Spotify (ну ладно, можно удалить)
- neovim, lazyvim, lazydocker (это бы поглядела)

Я так понимаю, это больше для тех, кто с мака переезжает на линукс. Я бы посмотрела отдельно некоторые штуки типа lazyvim, lazydocker, но я и так на xubuntu. В целом с подозрением отношусь к штукам, которые всё за тебя ставят, особенно для разработки 🌚 + в омакубе много ненужного, нужного dhh лично ). Кажется, всегда что-то идёт не так на одном из шагов.

Мне нравится идея "Compress the complexity of modern web apps" (девиз рельсов :), не нужно накручивать сложность там, где это не обязательно, и рельсы этому следуют, несмотря на то, что это иногда расходится с глобальными трендами. Кое-что сделано под Basecamp , но тут помогает то, что необязательно везде придерживаться стандартного пути. Также помогает принцип "Push up a big tent" из доктрины.

Во второй части о новом в rails 8 и немного в rails 8.1, напишу отдельно.

#ruby@anna_codes
🔥7❤‍🔥4🤩2
Анна Буянова (Anna Codes)
Понемногу смотрю доклады с RailsWorld 2024 #rails Понравилась keynote от DHH, расскажу, чтобы вам не пришлось смотреть (или наоборот чтобы посмотрели). Пока по первой части (деление моё): Что ждёт Rails в будущем, и как соотносится с трендами веб-разработки.…
Всё-таки напишу о второй части keynote для порядка. Она о восьмых рельсах, а это уже много где мелькало.

Что нового в rails 8:

Аутентификация:
- рельсы могут сгенерировать для вас код для аутентификации, чтобы вы его прочитали и отредактируете
По задумке dhh таким образом вы лучше поймёте логику (по сравнению с "магией" devise), и не потащите сторонние библиотеки без острой необходимости.

Propshaft вместо sprockets:
Теперь nobuild и propshaft делает куда меньше задач, чем sprockets.

solid* (все database-backed):
- solid_cable (Action Cable адаптер, теперь без зависимости от redis)
- solid_cache (cache store с шифрованием)
- solid_queue (для отложенных задач, со своим кроном и со всем остальным)

Thruster:
- прокси-сервер, запакован в гем
- можно использовать с пумой вместо nginx
- http/2, ssl-сертификаты с letsencrypt, сжатие
(Вот это прикольная штука, когда смотрела демо камала в первый раз, не поняла, что там в кач-ве сервера, кроме пумы)

Kamal 2 для деплоя:
- установит всё за вас на сервер (на сервере д.б. докер)
- в т.ч. включает генерацию ssl-сертификатов от letsencrypt

Где-то упоминал, что kamal - это такой капистрано с контейнерами. Только с капистрано вам надо самим ставить всё необходимое на сервер, а тут нет.

В конце показывает классическое "блог за 15 (или 5) минут", но теперь уже с деплоем через kamal.

И напоследок то, что планирует в 8.1:
- action notifier, фреймворк для вебпушей
- Active record search - вместо эластика
- Actiontext с markdown ( называется house (md) )

Подробнее об изменениях в Rails 8.0 (текст)

#ruby@anna_codes
👍7🔥1
Забота о читателях, которые не дочитывают 🖤

Из цикла про конкурентность (и параллелизм) в Ruby

#ruby@anna_codes
❤‍🔥4
🕔 Трекинг времени (не для работы)

Случайно посмотрела видео о мегакалендаре . На самом деле оно не про планирование по минутам, а про логирование времени на действия. Логировать всю жизнь не очень хочется, но это действительно может спасать от ощущения "весь день чем-то занималась, но в результате ничего не сделано". Можно делать, как упражнение на пару дней.

После видео вспомнила, что я периодически трекаю время на обучение, на работу, на письмо и т.п., условно "время в фокусе". Про всякие тудуисты и тиктики не буду, хотя тоже пробовала.

Когда-то для работы пользовалась hamster tracker, это такое приложение с gui на линукс. Но однажды его решили переписать с нуля и что-то пошло не так (вспомним Netscape :D). Сейчас проверила - в ридми до сих пор "rewrite attempt" 🥲, но вроде как старое должно работать.

Нашла один консольный трекер - timetrap, он ещё и на Ruby , ставится, как гем. Работает так: есть несколько листов (sheets), куда записываются time entries.

Например, открываем (создаём) лист: t sheet coding
Начинаем отрезок - t in 'работа над проектом "ромашка"'
Заканчиваем - t out
Смотрим записи за сегодня - t today, можно по всем листам - t today all.

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

Ещё хорошо, что можно прямо в базу (sqlite) заглянуть, не копаясь дополнительно, где там она (t backend), красота.

А вы трекаете? 😏
👍7
Ну, не так долго ждать пришлось ✔️
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from misleading-dev
И вот, доклады rr24 теперь в открытом доступе! https://www.youtube.com/playlist?list=PL6qgEoh5jq7LRpLiNi6KFQtZ3py6Dm6qC
Слоёная модель конкурентности в Ruby, прекрасное описание и визуализация
Отсюда

#ruby@anna_codes
👍61
Привет!

В субботу буду рассказывать про свой курс и его пробный запуск на онлайн-митапе code sisters , приходите послушать
Будет трансляция в канале @codesisters и на ютубе

21.12 в 13:00 (по мск)

Анонс и список докладов => https://news.1rj.ru/str/codesisters/157
9👍6
Forwarded from code_sisters Official
Через 15 минут начинаем. Вопросы докладчицам можно задавать в комментариях к этому посту. Смотреть можно здесь, на ютубе и на рутубе. Ссылки в посте выше.
1
code_sisters Official
Через 15 минут начинаем. Вопросы докладчицам можно задавать в комментариях к этому посту. Смотреть можно здесь, на ютубе и на рутубе. Ссылки в посте выше.
Рассказала, спасибо тем, кто пришли ❤️
Запись и посты на тему тоже будут.
Заходите в канал послушать остальные доклады.
❤‍🔥10👍62
Привет!
С наступающим! У меня был сложный декабрь (и год, ну как обычно), но в новый вступаю с энтузиазмом.
Меня поддержало большое количество носков и шоколада, которые я получила в подарок 😁
Спасибо всем, кто дарили носки, обсуждали со мной животрепещущие темы, поддерживали мои проекты, или просто читали. Это очень важно ❤️

Всем хорошо отметить, красивого кода, успешного обучения, комфортного общения на работе (и не только) в новом году
❤‍🔥20🎉10🔥5
Ruby Newbie

В ноябре я закончила работу над курсом по Ruby (он же мой дипломный проект для магистратуры).
Хочу закрыть этот этап, поэтому расскажу чуть больше о курсе и его результатах.

Уже рассказывала на онлайн-митапе, но хочется зафиксировать и в текстовом виде.

Первая часть про идею и что курс из себя представляет.

Идея появилась, как продолжение RailsGirls (двухдневный воркшоп для начинающих)
Мотивация - попробовать себя в проектировании курса и его запуске, дать возможность участницам попробовать себя в программировании без больших вложений (время, деньги) на первом этапе. Также был мощный пинок в виде мотивации написать диплом по реальному проекту, без этого вряд ли бы получилось реализовать.

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

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

Каждая неделя была посвящена определённой теме и для каждой темы были:
- материалы для самостоятельного изучения
- опорные вопросы, можно было самим искать информацию по ним, не читая предложенные статьи, или ответить после чтения материалов
- синхронное занятие в субботу (тут происходила основная активность, сначала проходились по вопросам, потом практика)
- инструкции, по которым занимались на занятии (но можно использовать и самостоятельно, например, при пропуске)

Чему можно было научиться?
- использовать инструменты разработчика (консоль, гит, редактор и тд)
- писать простые программы на руби
- создавать, проектировать базы данных (sqlite), писать запросы (на минималках)
- писать простые веб-приложения (пробовали rack, синатру, rails)

В качестве теории в основном давала статьи из октрытых источников.
Для практики - местами так же подбирала упражнения из открытых источников, часть делала сама (тоже вдохновляясь источниками :)

Например, по бд брала за основу своё прошлое занятие по реляционным субд; по ruby on rails просто прошли туториал из гайдов; написали игру на ruby2d (похожую на ту, что в книжке про геймдев на Ruby, но без gosu); по raсk и синатре - написала небольшие туториалы.

Конечно, за 12 недель все эти темы глубоко не изучить, особенно занимаясь всего по 3-4 часа в неделю. Основаная активность была на синхронном занятии, на самостоятельную работа большинство тратило от нуля до пары часов в неделю (кто тратил - молодцы, эффект был лучше 💪)

Но, я надеюсь, что цель курса (погрузиться в программирование и лучше понять "как всё работает") была достигнута. Про результаты напишу отдельный пост , но уже сейчас можно посмотреть запись доклада с митапа, где я всё рассказываю => ютуб, вк, рутуб .

Инструкции к курсу открыты, на гитхабе (предлагайте свои изменения в пулл-реквестах).

#магистратура@anna_codes #ruby_newbie@anna_codes #моё@anna_codes
❤‍🔥12🔥10👍3🎉31
Привет!
Я решила пойти на курс "Оптимизация Ruby/Rails-приложений" от Thinknetic'и.
Пойдёмте со мной! Есть специальный промокод :
ANNAOPTIMUM , он даёт фиксированную цену, 36000 руб. Работает до даты старта включительно (20 января), так что есть немного времени подумать.

Кроме темы, привлекли хорошие отзывы о курсе в рубишных чатах и то, что нет длинных видео. Хочу освежить навыки оптимизации и узнать новое.
Предполагаю, что нужно будет довольно много времени уделять, но я сейчас быстренько диплом защищу и вперёд 😁

#thinknetica
❤‍🔥10👍4🔥1
На низком старте 🤞👩‍🎓 #магистратура@anna_codes
❤‍🔥14🔥12🤩6
Защитилась! 💪
Спасибо всем, кто болели за меня 💙
#магистратура@anna_codes
21❤‍🔥14🔥8
This media is not supported in your browser
VIEW IN TELEGRAM
🔥82
Тоже записали мок-интервью (провела) Но вы его не увидите 😁
👍2
Forwarded from Удалов
В монтаже новый выпуск подкаста. Кроме этого уже записали mock-интервью. Ждите.