DEV: Рубиновые тона – Telegram
DEV: Рубиновые тона
3.21K subscribers
145 photos
2 videos
8 files
981 links
Анонсы новых видео о программировании (Ruby/Rails, Solidity/Ethereum, Python, JS и не только), практические советы, обзор полезных инструментов и новости из мира IT
Download Telegram
Всем привет! :) Сегодня мы поработаем с наследованием в Ruby, затронем методы класса (singleton methods), а также узнаем, как определять методы динамически, то есть прямо в момент исполнения программы, причём с заранее неизвестными именами. Для этого мы задействуем define_method и, благодаря такому подходу, напишем компактную программу без дублирования кода. https://youtu.be/-6E6NFJ_R7Y
Кстати, на всякий случай вот прямая ссылка на наш чат https://news.1rj.ru/str/joinchat/MxYT6-01eeA1NTYy который привязан к данному каналу. Туда можно писать и вопросы, и какие-то новости, и подсказки и прочее - да что угодно по теме IT. Все комментарии к постам тоже отправляются туда. В этом плане Telegram немного неудобный, но имеем, что имеем 🙌
Всем привет! Сегодня хотел поделиться ссылкой вот на такой проект, написанный энтузиастами: https://dry-rb.org/ Суть в том, что они создали набор библиотек для Ruby, которые позволяют выполнять разнообразные операции с данными: прописывать валидацию, собственные типы, структуры данных (типа Struct). Есть даже своё решение для управления схемой, то есть по факту набор этих библиотек может быть использован вместо ActiveRecord. Говорят некоторым нравится - может быть, кто-нибудь уже пробовал задействовать dry?
Нашёл вот такую интересную инфографику, которая суммирует необходимые знания про продвинутого джуниора, работающего с фронт-эндом. Как мне кажется, вполне адекватная подборка, может кому пригодится https://frontend-science.com/Junior_RoadMap.pdf
Что ж, перед грядущими выходными предлагаю новое видео о регулярных выражениях. 🤟 Мы поговорим о том, как в регулярных выражениях найти любой символ, являющийся частью слова (\w), а также цифры (\d), пробелы (\s), границы слов (\b) и прочее. Помимо этого, поговорим об использовании квадратных скобок, которые позволяют реализовывать поиск символа в заданном диапазоне (это особенно удобно при работе с кириллицей). https://www.youtube.com/watch?v=COCFz3pTMhw
Всем привет! Нашёл интересное решение для управления приложениями на Heroku через терминал. Название, конечно, у решения странноватое, но выглядит интересно https://github.com/PierreKieffer/htui
Всем привет! Возможно, кого-то заинтересует вакансия разработчика Ruby (друзья ищут), краткое описание:

Нужен человек, который много-много работал с mosquitto и имеет действительно глубокие знания. и при этом работал с рубями. Сообщения публикуются в брокере, а из брокера не все вычитываются подписчиком.
В логах москито есть запсиси, что сообщение было отправлено бэку.
QoS не настроено и оперативно настроить не можем.
Проверили всю инфраструктурную часть, проверили сеть, проверили ulimit, почитали strace - в нем ничего страшнее recvq -1 eagain нет
Что ж, друзья, вот и я чипировался... точнее вакцинировался. Пока полёт нормальный, даже место укола не болит. Процесс организован вполне достойно, хотя это, конечно, сильно зависит от страны. Новые видео эту неделю выпускать не планирую (во всяком случае, до пятницы), немного приду в себя, а потом продолжим. Если интересно, расскажу подробнее. Будьте здоровы 🙌
Пока готовится новое видео, можно попробовать отгадать вот такой вопрос в стиле спортивного "Что? Где? Когда?", который я придумал буквально только что.

На входе в одно заведение автор вопроса увидел табличку "ОНО длится всего день, а воспоминания останутся на всю жизнь".
ОНО - это дословный перевод названия известной комедийной кинотрилогии. В российском прокате, однако, эта кинотрилогия шла под совсем другим названием. А какое место упоминалось в этом локализированном названии? 🤓
И ещё немного забавного: тетрис на TypeScript, который каждый раз пытается выбрасывать вам самые неподходящие фигуры. Всем отличных выходных! 🤟 https://github.com/qntm/hatetris
Вот буквально только что появился вопрос по одной библиотеке: в ней используются новые методы delete_prefix и delete_suffix, которые не поддерживаются в Ruby < 2.5. Что делать? Самым простым решением будет открыть класс String и самостоятельно написать реализацию этих методов (пусть даже и несколько наивную):

class String
def delete_suffix(str)
sub %r{#{Regexp.quote(str)}\z}, ''
end

def delete_prefix(str)
sub %r{\A#{Regexp.quote(str)}}, ''
end
end
Всем привет! Раз уж зашла речь в чате, хотел поделиться вот таким интересным компилятором из Ruby в JavaScript, который позволяет писать весь код фронт-энда на Руби https://github.com/opal/opal Там есть и некоторые другие фичи, так что посмотрите, если не слышали о таком решении 🙌
🌚1
Всем привет! Ещё немного вакансий в ленту, на этот раз в мою компанию. Разыскиваются бодрые разработчики и инженеры на разные позиции (тим лиды, программисты React, Kotlin, TS и т.д., смотри ссылку), причём работа 100% удалённая. https://lokalise.com/careers Подробности в чат или в личные сообщения
Всем привет! Сегодня хотел поделиться решением Cucumber, которое позволяет внедрять подход behavior-driven development (BDD), то есть описывать требования к приложению на обычном английском языке. При этом описанные требования затем выполняются как авто-тесты. https://cucumber.io/
Небольшой лайфхак, позволяющий настроить автокомпиляцию SCSS —> CSS:

1. Установите NodeJS с сайта https://nodejs.org/ (обычно версия LTS подходит всем)
2. В папке со своим проектом для изучения SCSS создайте две директории с названиями scss и css. В первую поместите свои файлы SCSS. Вторая директория будет содержать автоматически скомпилированные файлы.
3. В папке со своим проектом (не в директории scss или css, а прямо в корне вашего проекта) также создайте файл package.json со следующим содержимым:

{
"name": "sample",
"version": "1.0.0",
"noscripts": {
"scss": "sass --watch scss:css"
},
"author": "",
"license": "ISC",
"dependencies": {
"sass": "^1.34.0"
}
}

4. Откройте командую строку (терминал) и перейдите в вашу директорию с проектом, например cd ~/docs/my_project
5. Запустите команду npm install, которая установит библиотеку sass - она и будет выполнять компиляцию.
6. После установки запустите команду npm run scss - она "повиснет" в командой строке и будет ожидать любых изменений файлов в папке scss. Как только изменения сделаны и файл в этой папке сохранён, произойдёт автоматическая компиляция в папку css. Для остановки процесса используйте комбинацию клавиш Ctrl+C или Cmd+C (либо Ctrl+Break, Cmd+Break)
Это видео продолжает серию уроков о регулярных выражениях (regular expressions). В нём мы поговорим о том, что такое квантификаторы (quantifiers) и зачем они нужны. Кроме того, мы узнаем, чем жадные квантификаторы (greedy) отличаются от ленивых (lazy) и сверхжадных (они же ревнивные, possessive). Звучат эти слова как какие-то оскорбления, но на самом деле это разные принципы работы квантификаторов, правильно используя которые, вы можете добиваться довольно впечатляющих результатов. https://www.youtube.com/watch?v=bAM2-e3hVKg
Blazer - это не только напиток из девяностых, но и инструмент для анализа данных с помощью SQL в приложениях Ruby on Rails 😄 https://github.com/ankane/blazer