Друзья, в код вкралась глупая ошибка (спасибо коллеге Rebbit13 за внимательность). Она никак не мешает пониманию описанных принципов, то есть объяснения остаются прежними, но всё же этот момент стоит поправить. Вот короткий коммит для исправления github.com/bodrovis-learning/Ruby-SOLID-video/commit/5914b83748d6df40b6f70f6d19c330d8d9c798e5 Суть в том, что иначе время будет печататься одно и то же, поэтому сохранять изначально нужно только префикс
@@jasperhumpsman7151 Мне пришло уведомление насчёт вашего вопроса, но YT его удалил (это известная проблема, с которой я ничего поделать не могу). Отвечаю тут: ну, если вам интересен Ruby, вот в этом плейлисте есть уроки с полного нуля, я их проводил для своего друга, который вообще не знаком с разработкой. ruclips.net/video/lhRAK_bwaeo/видео.html Если это не подойдёт, то хорошая книга Programming Ruby на сайте pragprog, это вообще бестселлер. Также на моём канале есть "секреты классов Ruby", но это сильно на вырост. Начать надо с простых проектов, которые в Ruby с нуля предлагаются, я думаю
@@IlyaBodrovKrukowski Спасибо большое! Пост я сам удалил, потому что подумал что это "зашквар")) Посмотрю все ваши видео. Я просто столкнулся с противоречивой информацией. Очень мало качественной информации по руби в интернете, а все ютубные инфоцигане рекламируют учить корявый Js и только.
@@jasperhumpsman7151 Почему же. Вполне нормальный вопрос. JS тут вообще не нужен, конечно. Сейчас имеет смысл искать сразу инфу по Ruby 3, тк это самая свежая версия
В последнем примере лучше было бы передавать не класс, а готовый инстанс, полностью сконфигурированный как надо, и тогда `Logger` бы не зависел ни от каких opts. Ибо opts всё же даёт некую зависимость, и вызывающая сторона должна знать о том, как реализован `printer`.
Не представляю, в чём проблема. Как говорил в прошлом видео, проблема известная и я тоже её зарепортил уже (тк это уже третий раз как минимум), но не вполне ясно, когда они это починят. Увы, понимаю, что это раздражает. support.google.com/youtube/thread/116351041/recent-reports-of-missing-comments?hl=en
Спасибо за видео! Хотелось бы узнать, как хранить мультимедийные файлы в базе, и как их потом проигрывать. Например, музыкальные файлы. На примере какого-то простого приложения хранения и воспроизведения музыки.
Как и любые другие, на самом деле. Просто сделать обычный загрузчик (решений для Rails полно: хотя бы Shrine тот же), сохранять эти файлы, а потом просто сделать плеер на странице. Когда-то я писал похожую статью, только там посложнее (мы делали радио), но идею понять можно, я думаю www.digitalocean.com/community/tutorials/creating-online-streaming-radio-with-rails-and-icecast
На здоровье! Кстати, для любителей Python у меня есть отдельное видео про SOLID, возможно, будет более актуальным :) ruclips.net/video/C8fhcHqnqyI/видео.html Для записи и рисования использую Camtasia Studio - это, фактически, единственный адекватный вариант для Windows
@@grandlagging0zero175 Отлично :DD Ну, по Python кое-что ещё есть на канале (программка для создания скриншотов), но пока в основном Ruby/JS. Возможно, в будущем больше про питон будет, посмотрим
@@IlyaBodrovKrukowskiТакой вопрос возник. В описании не нашел кода(ссылки на репозиторий git) из принципов SOLID видео по python или ruby. У Вас он есть?
@@grandlagging0zero175 Да, правильное замечание! Создал два репозитария, ссылки тоже добавил. Ruby: github.com/bodrovis-learning/Ruby-SOLID-video/tree/master Python: github.com/bodrovis-learning/Python-SOLID-video/tree/master
Спасибо, все супер и понятно, единственно я бы в последнем принципе расширял метод не log, а initialize (как это сделано в оригинале), так как в этом случае мы можем организовать совой поток, а не отдельно для каждого вызова log передавать необходимые атрибуты. К примеру нам нужно вывести 30 логов в 2 патока для каждого места отдельно и вызов несколько раз. В этом случае нам нужно в каждый вызов метода log передать ptinter 2+n раз не айс, а так мы организовали 2 экземпляра и просто вызвали log передав в него только message. А по поводу строгим следованиям правил, тут я с вами на все 100% согласен! Жаль что некоторые ребята им пытаются следовать до потери пульса. Был случай, что пришлось порезать более расширяемую архитектуру в пользу SOLID, но спустя время, при сопровождении, парню занимающему более высокую позицию и зарубившему мое предложение вернуться к нему. (маленькое ликование)
Друзья, в код вкралась глупая ошибка (спасибо коллеге Rebbit13 за внимательность). Она никак не мешает пониманию описанных принципов, то есть объяснения остаются прежними, но всё же этот момент стоит поправить. Вот короткий коммит для исправления github.com/bodrovis-learning/Ruby-SOLID-video/commit/5914b83748d6df40b6f70f6d19c330d8d9c798e5 Суть в том, что иначе время будет печататься одно и то же, поэтому сохранять изначально нужно только префикс
ничего не понятно, но очень интересно
@@jasperhumpsman7151 А так обычно и бывает
@@jasperhumpsman7151 Мне пришло уведомление насчёт вашего вопроса, но YT его удалил (это известная проблема, с которой я ничего поделать не могу). Отвечаю тут: ну, если вам интересен Ruby, вот в этом плейлисте есть уроки с полного нуля, я их проводил для своего друга, который вообще не знаком с разработкой. ruclips.net/video/lhRAK_bwaeo/видео.html Если это не подойдёт, то хорошая книга Programming Ruby на сайте pragprog, это вообще бестселлер. Также на моём канале есть "секреты классов Ruby", но это сильно на вырост. Начать надо с простых проектов, которые в Ruby с нуля предлагаются, я думаю
@@IlyaBodrovKrukowski Спасибо большое! Пост я сам удалил, потому что подумал что это "зашквар")) Посмотрю все ваши видео. Я просто столкнулся с противоречивой информацией. Очень мало качественной информации по руби в интернете, а все ютубные инфоцигане рекламируют учить корявый Js и только.
@@jasperhumpsman7151 Почему же. Вполне нормальный вопрос. JS тут вообще не нужен, конечно. Сейчас имеет смысл искать сразу инфу по Ruby 3, тк это самая свежая версия
Спасибо, Илья! Умение так доходчиво объяснять - не каждому доступний навык)
Илья, очень нравится ваше изложение материала! Спасибо за труд! Всегда смотрю и подписана).
Большое спасибо за отзыв! :D
не первый раз смотрю уже этот ваш видос! реально это лучшее объяснение солида, которое я видела! спасибо еще раз!)
Благодарю
Спасибо за ваши старания!
В последнем примере лучше было бы передавать не класс, а готовый инстанс, полностью сконфигурированный как надо, и тогда `Logger` бы не зависел ни от каких opts. Ибо opts всё же даёт некую зависимость, и вызывающая сторона должна знать о том, как реализован `printer`.
Как всегда, на высоте) Спасибо!)
Благодарю за отзыв, буду стараться и дальше!
Превосходно! 👏🏼👏🏼👏🏼
Благодарю!
Спасибо за видео, интересно посмотреть еще примеры с рефакторингом
Надо бы что-нибудь такое организовать, конечно
Спасибо большое, очень наглядно
Большое спасибо за материал, подача очень четкая и последовательная. Лайк!
:D На здоровье!
Опять улетел комментарий …. Переписывать не буду. Автору благодарность и лайк
Не представляю, в чём проблема. Как говорил в прошлом видео, проблема известная и я тоже её зарепортил уже (тк это уже третий раз как минимум), но не вполне ясно, когда они это починят. Увы, понимаю, что это раздражает. support.google.com/youtube/thread/116351041/recent-reports-of-missing-comments?hl=en
clear!
отличная подача, спасибо
Спасибо за видео! Хотелось бы узнать, как хранить мультимедийные файлы в базе, и как их потом проигрывать. Например, музыкальные файлы. На примере какого-то простого приложения хранения и воспроизведения музыки.
Как и любые другие, на самом деле. Просто сделать обычный загрузчик (решений для Rails полно: хотя бы Shrine тот же), сохранять эти файлы, а потом просто сделать плеер на странице. Когда-то я писал похожую статью, только там посложнее (мы делали радио), но идею понять можно, я думаю www.digitalocean.com/community/tutorials/creating-online-streaming-radio-with-rails-and-icecast
@@IlyaBodrovKrukowski Спасибо за ответ! Интересная статья, попробую повторить все изложенное.
Божественно. Спасибо огромное! Хоть и python'ист, но все очень просто и понятно. С помощью какой программы вы рисуете на экране?
На здоровье! Кстати, для любителей Python у меня есть отдельное видео про SOLID, возможно, будет более актуальным :) ruclips.net/video/C8fhcHqnqyI/видео.html Для записи и рисования использую Camtasia Studio - это, фактически, единственный адекватный вариант для Windows
@@IlyaBodrovKrukowski Спасибо за ответ. Видео про SOLID в Python уже посмотрел :)
@@grandlagging0zero175 Отлично :DD Ну, по Python кое-что ещё есть на канале (программка для создания скриншотов), но пока в основном Ruby/JS. Возможно, в будущем больше про питон будет, посмотрим
@@IlyaBodrovKrukowskiТакой вопрос возник. В описании не нашел кода(ссылки на репозиторий git) из принципов SOLID видео по python или ruby. У Вас он есть?
@@grandlagging0zero175 Да, правильное замечание! Создал два репозитария, ссылки тоже добавил. Ruby: github.com/bodrovis-learning/Ruby-SOLID-video/tree/master Python: github.com/bodrovis-learning/Python-SOLID-video/tree/master
Спасибо огромное!
На здоровье!
Спасибо, все супер и понятно, единственно я бы в последнем принципе расширял метод не log, а initialize (как это сделано в оригинале), так как в этом случае мы можем организовать совой поток, а не отдельно для каждого вызова log передавать необходимые атрибуты. К примеру нам нужно вывести 30 логов в 2 патока для каждого места отдельно и вызов несколько раз. В этом случае нам нужно в каждый вызов метода log передать ptinter 2+n раз не айс, а так мы организовали 2 экземпляра и просто вызвали log передав в него только message.
А по поводу строгим следованиям правил, тут я с вами на все 100% согласен! Жаль что некоторые ребята им пытаются следовать до потери пульса. Был случай, что пришлось порезать более расширяемую архитектуру в пользу SOLID, но спустя время, при сопровождении, парню занимающему более высокую позицию и зарубившему мое предложение вернуться к нему. (маленькое ликование)
Да, как вариант. Просто я хотел показать разные подходы и варианты решений. Но в целом, конечно, это не безусловная истина :) Спасибо!