* Утверждение, приведённое выше, можно понимать и как "я пробовал(а) и у меня не получилось". В этом случае необходимо понять причину неудачи. Не хватило мотивации? Свободного времени? А, может быть, не подошли используемые учебные материалы? Если вопрос в мотивации, то, скажем честно, в большинстве случаев справиться с этим можно только самостоятельно (хотя помощь специалиста тоже может оказаться не лишней). Какие бы слова я не писал, как не расписывал бы прелести работы программистом - это мало поможет, если у вас нет желания этому учиться. Однако, коль скоро вы читаете эти строки, что-то побудило вас сделать ещё одну попытку и, я надеюсь, возобновить обучение. Значит, пытайтесь не растерять этот запал, не опускайте руки после первой неудачи! Уверяю вас, даже опытные разработчики зачастую сталкиваются с задачами, над которыми бьются целыми днями и даже неделями. Главное - выделяйте хотя бы немного времени на разработку, так как ключевым моментом является непрерывность обучения.
В заключение я хочу сказать следующее: не бойтесь пробовать, не бойтесь изучать новое и не бойтесь ошибаться. Как бы банально это ни звучало, но не ошибается тот, кто ничего и не делает. Беритесь за разные задачи, пробуйте их решать, не стесняйтесь публиковать свои проекты и участвовать в работе над проектами с исходным кодом. Пройдёт несколько недель, месяц, полгода, и вы вдруг почувствуете, как вырос ваш навык, а прежние страхи куда-то исчезли.
В заключение я хочу сказать следующее: не бойтесь пробовать, не бойтесь изучать новое и не бойтесь ошибаться. Как бы банально это ни звучало, но не ошибается тот, кто ничего и не делает. Беритесь за разные задачи, пробуйте их решать, не стесняйтесь публиковать свои проекты и участвовать в работе над проектами с исходным кодом. Пройдёт несколько недель, месяц, полгода, и вы вдруг почувствуете, как вырос ваш навык, а прежние страхи куда-то исчезли.
👍1
Всем привет! В новом видео мы подробно обсудим, что происходит при вызове несуществующего метода в Ruby и как этот процесс контролировать самостоятельно. Мы узнаем, что переопределение метода method_missing позволяет достигать очень интересных результатов и писать весьма элегантные программы.
Самостоятельно можно посмотреть, как реализована библиотека Hashie, а также усовершенствовать наш класс SuperHash. Например, сделайте так, чтобы образцы этого класса отвечали на метод с вопросительным знаком в конце. Такие методы должны сообщать, имеет ли данный объект указанный ключ или нет. Например:
s_hash.name = "John"
s_hash.name? # true, такой ключ есть
s_hash.surname? # false, такого ключа нет
https://youtu.be/A4rDR8hDVX8
Самостоятельно можно посмотреть, как реализована библиотека Hashie, а также усовершенствовать наш класс SuperHash. Например, сделайте так, чтобы образцы этого класса отвечали на метод с вопросительным знаком в конце. Такие методы должны сообщать, имеет ли данный объект указанный ключ или нет. Например:
s_hash.name = "John"
s_hash.name? # true, такой ключ есть
s_hash.surname? # false, такого ключа нет
https://youtu.be/A4rDR8hDVX8
YouTube
Секреты классов Ruby | method_missing и методы, которых нет
В этом видео мы подробно обсудим, что происходит при вызове несуществующего метода в Ruby и как этот процесс контролировать самостоятельно. Мы узнаем, что переопределение метода method_missing позволяет достигать очень интересных результатов и писать весьма…
А вы знали, что для вашей организации в GitHub можно легко получить значок Verified? Для этого достаточно сделать следующее:
* В настройках организации добавить свой сайт или почтовый адрес на домене, которым вы можете управлять. Увы, почта на доменах типа gmail.com или yandex.ru не подойдёт, так как (вероятнее всего) управлять этими зонами вы не можете
* Далее в настройках организации открываете Verified domains и следуете инструкциям. В частности, в доменной зоне вам потребуется создать запись TXT с правильным значением.
* Нужно подождать некоторое время, пока изменения DNS применятся (тут как повезёт - от получаса до двух дней), после чего можно будет вернуться в Verified domains и завершить процесс верификации
* В настройках организации добавить свой сайт или почтовый адрес на домене, которым вы можете управлять. Увы, почта на доменах типа gmail.com или yandex.ru не подойдёт, так как (вероятнее всего) управлять этими зонами вы не можете
* Далее в настройках организации открываете Verified domains и следуете инструкциям. В частности, в доменной зоне вам потребуется создать запись TXT с правильным значением.
* Нужно подождать некоторое время, пока изменения DNS применятся (тут как повезёт - от получаса до двух дней), после чего можно будет вернуться в Verified domains и завершить процесс верификации
Всем привет! Сегодня очередное видео о регулярных выражениях, в котором мы узнаем, как контролировать поведение regexp с помощью таких флагов, как i, x, g, m, s (любой регистр, расширенный режим, глобальный режим, многострочный режим, точка может соответствовать переносу строки). Мы поговорим, как эти флаги работают и какие у них есть отличия в разных языках программирования. Кроме того, мы узнаем, как работают якоря для привязки к началу и концу строки и чем они отличаются от якорей для привязки к началу и концу линии. https://youtu.be/Sj7V94PNlMY
YouTube
Регулярные выражения #2 | Флаги и якоря
В этом видео мы узнаем, как контролировать поведение регулярных выражений с помощью таких флагов, как i, x, g, m, s (любой регистр, расширенный режим, глобальный режим, многострочный режим, точка может соответствовать переносу строки). Мы поговорим, как эти…
Всем привет! :) Сегодня мы поработаем с наследованием в Ruby, затронем методы класса (singleton methods), а также узнаем, как определять методы динамически, то есть прямо в момент исполнения программы, причём с заранее неизвестными именами. Для этого мы задействуем define_method и, благодаря такому подходу, напишем компактную программу без дублирования кода. https://youtu.be/-6E6NFJ_R7Y
YouTube
Секреты классов Ruby | Динамические методы
Сегодня мы поработаем с наследованием в Ruby, затронем методы класса (singleton methods), а также узнаем, как определять методы динамически, то есть прямо в момент исполнения программы, причём с заранее неизвестными именами. Для этого мы задействуем define_method…
Кстати, на всякий случай вот прямая ссылка на наш чат https://news.1rj.ru/str/joinchat/MxYT6-01eeA1NTYy который привязан к данному каналу. Туда можно писать и вопросы, и какие-то новости, и подсказки и прочее - да что угодно по теме IT. Все комментарии к постам тоже отправляются туда. В этом плане Telegram немного неудобный, но имеем, что имеем 🙌
Telegram
DEV: Рубиновые тона: ЧАТ
Обсуждение канала "DEV: Рубиновые тона"
Всем привет! Сегодня хотел поделиться ссылкой вот на такой проект, написанный энтузиастами: 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
YouTube
Регулярные выражения #3 | Специальные символы
Сегодня мы поговорим о том, как в регулярных выражениях найти любой символ, являющийся частью слова (\w), а также цифры (\d), пробелы (\s), границы слов (\b) и прочее. Помимо этого, поговорим об использовании квадратных скобок, которые позволяют реализовывать…
Всем привет! Нашёл интересное решение для управления приложениями на Heroku через терминал. Название, конечно, у решения странноватое, но выглядит интересно https://github.com/PierreKieffer/htui
GitHub
GitHub - PierreKieffer/htui: Heroku Terminal User Interface
Heroku Terminal User Interface. Contribute to PierreKieffer/htui development by creating an account on GitHub.
Всем привет! Возможно, кого-то заинтересует вакансия разработчика Ruby (друзья ищут), краткое описание:
Нужен человек, который много-много работал с mosquitto и имеет действительно глубокие знания. и при этом работал с рубями. Сообщения публикуются в брокере, а из брокера не все вычитываются подписчиком.
В логах москито есть запсиси, что сообщение было отправлено бэку.
QoS не настроено и оперативно настроить не можем.
Проверили всю инфраструктурную часть, проверили сеть, проверили ulimit, почитали strace - в нем ничего страшнее recvq -1 eagain нет
Нужен человек, который много-много работал с mosquitto и имеет действительно глубокие знания. и при этом работал с рубями. Сообщения публикуются в брокере, а из брокера не все вычитываются подписчиком.
В логах москито есть запсиси, что сообщение было отправлено бэку.
QoS не настроено и оперативно настроить не можем.
Проверили всю инфраструктурную часть, проверили сеть, проверили ulimit, почитали strace - в нем ничего страшнее recvq -1 eagain нет
Что ж, друзья, вот и я чипировался... точнее вакцинировался. Пока полёт нормальный, даже место укола не болит. Процесс организован вполне достойно, хотя это, конечно, сильно зависит от страны. Новые видео эту неделю выпускать не планирую (во всяком случае, до пятницы), немного приду в себя, а потом продолжим. Если интересно, расскажу подробнее. Будьте здоровы 🙌
Пока готовится новое видео, можно попробовать отгадать вот такой вопрос в стиле спортивного "Что? Где? Когда?", который я придумал буквально только что.
На входе в одно заведение автор вопроса увидел табличку "ОНО длится всего день, а воспоминания останутся на всю жизнь".
ОНО - это дословный перевод названия известной комедийной кинотрилогии. В российском прокате, однако, эта кинотрилогия шла под совсем другим названием. А какое место упоминалось в этом локализированном названии? 🤓
На входе в одно заведение автор вопроса увидел табличку "ОНО длится всего день, а воспоминания останутся на всю жизнь".
ОНО - это дословный перевод названия известной комедийной кинотрилогии. В российском прокате, однако, эта кинотрилогия шла под совсем другим названием. А какое место упоминалось в этом локализированном названии? 🤓
И ещё немного забавного: тетрис на TypeScript, который каждый раз пытается выбрасывать вам самые неподходящие фигуры. Всем отличных выходных! 🤟 https://github.com/qntm/hatetris
GitHub
GitHub - qntm/hatetris: Tetris which always gives you the worst piece
Tetris which always gives you the worst piece. Contribute to qntm/hatetris development by creating an account on GitHub.
Вот буквально только что появился вопрос по одной библиотеке: в ней используются новые методы
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 Там есть и некоторые другие фичи, так что посмотрите, если не слышали о таком решении 🙌
GitHub
GitHub - opal/opal: Ruby ♥︎ JavaScript
Ruby ♥︎ JavaScript. Contribute to opal/opal development by creating an account on GitHub.
🌚1
Всем привет! Ещё немного вакансий в ленту, на этот раз в мою компанию. Разыскиваются бодрые разработчики и инженеры на разные позиции (тим лиды, программисты React, Kotlin, TS и т.д., смотри ссылку), причём работа 100% удалённая. https://lokalise.com/careers Подробности в чат или в личные сообщения
Lokalise
Careers | Lokalise
We are a rapidly growing SaaS company, looking for new team members who want to grow with us. Take a look at our job openings and apply to join Lokalise.
Всем привет! Сегодня хотел поделиться решением Cucumber, которое позволяет внедрять подход behavior-driven development (BDD), то есть описывать требования к приложению на обычном английском языке. При этом описанные требования затем выполняются как авто-тесты. https://cucumber.io/