Понемногу смотрю доклады с 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
Понравилась 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
YouTube
Rails World 2024 Opening Keynote - David Heinemeier Hansson
During DHH's Opening Keynote of Rails World 2024 in Toronto, Rails 8 beta was shipped with Authentication, Propshaft, Solid Cache, Solid Queue, Solid Cable, Kamal 2, and Thruster. No PaaS needed when building with the One Person Framework.
Links:
https:…
Links:
https:…
🔥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
Что нового в 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
Из цикла про конкурентность (и параллелизм) в Ruby
#ruby@anna_codes
❤🔥4
🕔 Трекинг времени (не для работы)
Случайно посмотрела видео о мегакалендаре . На самом деле оно не про планирование по минутам, а про логирование времени на действия. Логировать всю жизнь не очень хочется, но это действительно может спасать от ощущения "весь день чем-то занималась, но в результате ничего не сделано". Можно делать, как упражнение на пару дней.
После видео вспомнила, что я периодически трекаю время на обучение, на работу, на письмо и т.п., условно "время в фокусе". Про всякие тудуисты и тиктики не буду, хотя тоже пробовала.
Когда-то для работы пользовалась hamster tracker, это такое приложение с gui на линукс. Но однажды его решили переписать с нуля и что-то пошло не так (вспомним Netscape :D). Сейчас проверила - в ридми до сих пор "rewrite attempt" 🥲, но вроде как старое должно работать.
Нашла один консольный трекер - timetrap, он ещё и на Ruby ✨, ставится, как гем. Работает так: есть несколько листов (sheets), куда записываются time entries.
Например, открываем (создаём) лист:
Начинаем отрезок -
Заканчиваем -
Смотрим записи за сегодня -
Люблю такие минималистичные штуки. Минус в том, что не видно, идёт время или нет - легче отвлечься и забыть, что что-то там трекается. Но если задаться целью, то можно не отвлекаться, или отредактировать позже.
Ещё хорошо, что можно прямо в базу (
А вы трекаете? 😏
Случайно посмотрела видео о мегакалендаре . На самом деле оно не про планирование по минутам, а про логирование времени на действия. Логировать всю жизнь не очень хочется, но это действительно может спасать от ощущения "весь день чем-то занималась, но в результате ничего не сделано". Можно делать, как упражнение на пару дней.
После видео вспомнила, что я периодически трекаю время на обучение, на работу, на письмо и т.п., условно "время в фокусе". Про всякие тудуисты и тиктики не буду, хотя тоже пробовала.
Когда-то для работы пользовалась 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
Анна Буянова (Anna Codes)
Слоёная модель конкурентности в Ruby, прекрасное описание и визуализация ✨ Отсюда #ruby@anna_codes
Появился доклад от автора цикла статей о конкурентности в Ruby
Более быстрое погружение - для тех, кто как и я всё ещё читает (🌚), или просто предпочитает формат доклада.
#ruby@anna_codes
Более быстрое погружение - для тех, кто как и я всё ещё читает (🌚), или просто предпочитает формат доклада.
#ruby@anna_codes
YouTube
RubyConf 2024 In-Depth Ruby Concurrency: Navigating the Ruby concurrency landscape by JP Camara
When do I use a Process, or a Thread, or a Fiber? And Why? Can I use Ractors yet? What is the FiberScheduler? The M:N Thread scheduler? What's a Reactor? Do I fork, prefork, or refork? Should I care?
Do I scale up my Threads? My Fibers? My Processes? Do…
Do I scale up my Threads? My Fibers? My Processes? Do…
❤5
Привет!
В субботу буду рассказывать про свой курс и его пробный запуск на онлайн-митапе code sisters , приходите послушать ✨
Будет трансляция в канале @codesisters и на ютубе
21.12 в 13:00 (по мск)
Анонс и список докладов => https://news.1rj.ru/str/codesisters/157
В субботу буду рассказывать про свой курс и его пробный запуск на онлайн-митапе 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👍6❤2
Привет!
С наступающим! У меня был сложный декабрь (и год, ну как обычно), но в новый вступаю с энтузиазмом.
Меня поддержало большое количество носков и шоколада, которые я получила в подарок 😁
Спасибо всем, кто дарили носки, обсуждали со мной животрепещущие темы, поддерживали мои проекты, или просто читали. Это очень важно ❤️
Всем хорошо отметить, красивого кода, успешного обучения, комфортного общения на работе (и не только) в новом году ✨
С наступающим! У меня был сложный декабрь (и год, ну как обычно), но в новый вступаю с энтузиазмом.
Меня поддержало большое количество носков и шоколада, которые я получила в подарок 😁
Спасибо всем, кто дарили носки, обсуждали со мной животрепещущие темы, поддерживали мои проекты, или просто читали. Это очень важно ❤️
Всем хорошо отметить, красивого кода, успешного обучения, комфортного общения на работе (и не только) в новом году ✨
❤🔥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
В ноябре я закончила работу над курсом по 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🎉3❤1
Привет!
Я решила пойти на курс "Оптимизация Ruby/Rails-приложений" от Thinknetic'и.
Пойдёмте со мной! Есть специальный промокод ✨ :
ANNAOPTIMUM , он даёт фиксированную цену, 36000 руб. Работает до даты старта включительно (20 января), так что есть немного времени подумать.
Кроме темы, привлекли хорошие отзывы о курсе в рубишных чатах и то, что нет длинных видео. Хочу освежить навыки оптимизации и узнать новое.
Предполагаю, что нужно будет довольно много времени уделять, но я сейчас быстренько диплом защищу и вперёд 😁
#thinknetica
Я решила пойти на курс "Оптимизация Ruby/Rails-приложений" от Thinknetic'и.
Пойдёмте со мной! Есть специальный промокод ✨ :
ANNAOPTIMUM , он даёт фиксированную цену, 36000 руб. Работает до даты старта включительно (20 января), так что есть немного времени подумать.
Кроме темы, привлекли хорошие отзывы о курсе в рубишных чатах и то, что нет длинных видео. Хочу освежить навыки оптимизации и узнать новое.
Предполагаю, что нужно будет довольно много времени уделять, но я сейчас быстренько диплом защищу и вперёд 😁
#thinknetica
Thinknetica
Оптимизация Rails-приложений. Онлайн-курс
Курс для практикующих Ruby/Rails-разработчиков, которые хотят всерьез заняться оптимизацией, чтобы сделать свои проекты быстрее и эффективнее.
❤🔥10👍4🔥1
❤21❤🔥14🔥8
Forwarded from Удалов
В монтаже новый выпуск подкаста. Кроме этого уже записали mock-интервью. Ждите.