Я не зря спросил про DI и IoC. Это пример того как первоначально прозрачная и понятная концепция "замусорилась". Появился IoC 1,2,3 типа и DI (что тоже самое).
Хотя по смыслу DI куда ближе к обычному полиморфизму, а не IoC. Но концепция "управления" сложная, поди разберись кто там кем управляет и у кого прямой поток, а у кого инвертированный. Практика, как всегда, не требует таких сложных "измышлений".
Источник: https://web.archive.org/web/20040202120126/http://www.betaversion.org/~stefano/linotype/news/38/
Хотя по смыслу DI куда ближе к обычному полиморфизму, а не IoC. Но концепция "управления" сложная, поди разберись кто там кем управляет и у кого прямой поток, а у кого инвертированный. Практика, как всегда, не требует таких сложных "измышлений".
Источник: https://web.archive.org/web/20040202120126/http://www.betaversion.org/~stefano/linotype/news/38/
👍13💩1
TGIF, ну что снова пятница и снова розыгрыш подписки STREAM на soer.pro
Напоминаю, что эта подписка дает доступ к более чем 25 часам записей на тему архитектуры софта.
Сегодня у нас тема забавные случаи из жизни Айтишника. Напишите в комментариях какой-то забавный случай который произошел не обязательно с вами, но чтобы было связано с айти.
Пост который наберет больше всего реакций - победил.
Напоминаю, что эта подписка дает доступ к более чем 25 часам записей на тему архитектуры софта.
Сегодня у нас тема забавные случаи из жизни Айтишника. Напишите в комментариях какой-то забавный случай который произошел не обязательно с вами, но чтобы было связано с айти.
Пост который наберет больше всего реакций - победил.
👍4🔥2🤯1
Награда "Золотой Соер" наконец-то дошла до ее законного обладателя. Поздравляю еще раз!
https://www.youtube.com/watch?v=VKVE8dnAjtI
https://www.youtube.com/watch?v=VKVE8dnAjtI
YouTube
Получили Награду Золотой S0ER | PyLounge S0ER ITUBETEAM
Макс и Егор c канала PyLounge делятся впечатлениями после победы в голосовании и получения награды "Золотой Соер" - Награда за лучший АйТи контент на YouTube 2021.
@S0ERDEVS - https://www.youtube.com/channel/UCe_TcJarfs-HKy3NySy8Kng
MJC - https://www.y…
@S0ERDEVS - https://www.youtube.com/channel/UCe_TcJarfs-HKy3NySy8Kng
MJC - https://www.y…
👍26
Запускаю стрим...
https://youtu.be/MARm6ttnExs
https://youtu.be/MARm6ttnExs
YouTube
Как не перегореть от программирования
#soer #itubeteam
https://soer.pro
https://news.1rj.ru/str/softwareengineervlog
Спонсорство - https://www.youtube.com/channel/UCe_TcJarfs-HKy3NySy8Kng/join
Чат для программистов - https://discord.gg/3UVJWAs
Спонсорская помощь - https://www.patreon.com/soersoft
https://soer.pro
https://news.1rj.ru/str/softwareengineervlog
Спонсорство - https://www.youtube.com/channel/UCe_TcJarfs-HKy3NySy8Kng/join
Чат для программистов - https://discord.gg/3UVJWAs
Спонсорская помощь - https://www.patreon.com/soersoft
👍8
На soer.pro открыл доступ к ответам на вопросы для всех участников. Так что все желающие, совершенно бесплатно, могут заходить на platform.soer.pro в раздел "Вопрос ответ" - "Все вопросы" и слушат записи (там в основном аудио).
👍15❤2
Я тут подумываю делать разборы на код своих коллег, сравнивать стиль, искать хорошие практики.
Отсматривая видосы, у Димыч АйТи Камасутра нашел примерчик, где он начинает id нумеровать с нуля.
Это не очень хорошая идея, потому что в JS, ноль - это falsy значение, а все остальные значения truthy.
В целом ID - это не индекс массива, он должен быть положительным числом. А ноль использовать как аналог "незаполненного поля" или null
Отсматривая видосы, у Димыч АйТи Камасутра нашел примерчик, где он начинает id нумеровать с нуля.
Это не очень хорошая идея, потому что в JS, ноль - это falsy значение, а все остальные значения truthy.
В целом ID - это не индекс массива, он должен быть положительным числом. А ноль использовать как аналог "незаполненного поля" или null
👍117🔥10🤔7❤1👏1💯1
Очень распространенное заблуждение, что идентифицируются только реальные данные.
Построение математических моделей наглядно показывает эту проблему. По сути убрав "единичный элемент" или "нейтральный элемент" мы увеличиваем количество исключений в нашей системе в разы.
Хороший пример единичного элемента - ноль. Без этого элемента даже базовая школьная математика ломается. Тоже самое происходит в программе, в которой не предусмотрен нейтральный элемент. Попытки сделать "универсальный" нейтральный элемент в виде - null в большинстве случаев не решают проблему исключений. Поэтому и появился паттерн null object.
Рекомендую всегда использовать единичный элемент для любых наборов элементов из предметной области, с уникальной идентификацией этого элемента. Этот технический момент в разы повышает устойчивость и надежность программ, позволяет легко строить математические модели, например, используя моноиды.
Построение математических моделей наглядно показывает эту проблему. По сути убрав "единичный элемент" или "нейтральный элемент" мы увеличиваем количество исключений в нашей системе в разы.
Хороший пример единичного элемента - ноль. Без этого элемента даже базовая школьная математика ломается. Тоже самое происходит в программе, в которой не предусмотрен нейтральный элемент. Попытки сделать "универсальный" нейтральный элемент в виде - null в большинстве случаев не решают проблему исключений. Поэтому и появился паттерн null object.
Рекомендую всегда использовать единичный элемент для любых наборов элементов из предметной области, с уникальной идентификацией этого элемента. Этот технический момент в разы повышает устойчивость и надежность программ, позволяет легко строить математические модели, например, используя моноиды.
👍22😁1
TGIF, а значит ещё один розыгрыш. Сегодня победит тот кто приведёт больше всего примеров кода в стиле "плохо/хорошо". Нужно просто привести пример двух реализаций где было не очень хорошо, а стало лучше.
Можно сделать как картинкой, так и просто вставить код в сообщение.
Автор большего количества примеров получит доступ уровня stream на soer.pro
Можно сделать как картинкой, так и просто вставить код в сообщение.
Автор большего количества примеров получит доступ уровня stream на soer.pro
👍11
В пятничном розыгрыше сертификата stream победил Rahman
Сертификат я ему выслал
Сертификат я ему выслал
👍9❤1
Мой карьерный путь начинался не с самых приятных мест работы, часто мне приходилось делать неинтересные вещи изо дня в день, в надежде, что когда-нибудь и на моей улице перевернется грузовик с печенюшками и мне попадется действительно интересная и увлекательная работа. Начать делать таск, который тебе не нравится - все равно что наступить себе на больную мозоль. Но работу делать надо. Поэтому я нашел для себя способ, который облегчал мне старт рабочего дня.
Я заметил, что если начать делать что-то простое, то со временем втягиваешься в рабочий ритм, и пусть работа по прежнему не доставляет удовольствия, но делать ее становится проще. Мозг штука инертная, ему проще продолжать какую-то деятельность, чем начинать новую. Это очень похоже на ситуацию с разминкой в спорте. Разминка не только разогревает мышцы, но и настраивает спортсмена на рабочий лад. Поэтому начинать работу значительно проще с чего-то небольшого и максимально простого, а дальше втянешься. Идеальным выглядит проведение ревью сессий. Вроде и несложно, и можешь быстро переключиться на рабочий лад.
Потом я нашел еще один хак - не заканчивать работу предыдущего дня. Оставить какое-то мелкое действие на следующий день, чтобы начать работу именно с него. Обычно это может быть пуш в репозиторий уже готового кода. Правда такого простого действия может быть недостаточно для "разогрева", тогда можно оставить еще какие-нибудь мелочи, которые легко и быстро доработать на утро следующего дня.
Кстати, даже написания поста в телегу - это уже своеобразная разминка, так что сразу после этого поста, я возьму и сделаю бит полезной работы...
🐴🐴🐴 Всех с добрым утром и хорошего дня!
Я заметил, что если начать делать что-то простое, то со временем втягиваешься в рабочий ритм, и пусть работа по прежнему не доставляет удовольствия, но делать ее становится проще. Мозг штука инертная, ему проще продолжать какую-то деятельность, чем начинать новую. Это очень похоже на ситуацию с разминкой в спорте. Разминка не только разогревает мышцы, но и настраивает спортсмена на рабочий лад. Поэтому начинать работу значительно проще с чего-то небольшого и максимально простого, а дальше втянешься. Идеальным выглядит проведение ревью сессий. Вроде и несложно, и можешь быстро переключиться на рабочий лад.
Потом я нашел еще один хак - не заканчивать работу предыдущего дня. Оставить какое-то мелкое действие на следующий день, чтобы начать работу именно с него. Обычно это может быть пуш в репозиторий уже готового кода. Правда такого простого действия может быть недостаточно для "разогрева", тогда можно оставить еще какие-нибудь мелочи, которые легко и быстро доработать на утро следующего дня.
Кстати, даже написания поста в телегу - это уже своеобразная разминка, так что сразу после этого поста, я возьму и сделаю бит полезной работы...
🐴🐴🐴 Всех с добрым утром и хорошего дня!
👍231🔥24👏3