Еще раз о том почему полезно читать код
Помните слова Торвальдса: "Talk is cheap. Show me the code"? Сегодня еще раз убедился в их справедливости - нашел интересный плагин для OBS, который извлекает из изображения человека, а фон либо размывает, либо полностью убирает - https://github.com/royshil/obs-backgroundremoval штука прикольная, но модели, которые используются для удаления фона, не очень хорошие. Поэтому использовать их для моих целей не получилось.
Но сам код - кладезь полезной информации.
Во-первых, решение сделано с использованием OpenCV и соответственно можно минимальными правками сделать любой другой способ извлечения фона (например, createBackgroundSubtractorMOG2), если понимать как устроен OpenCV и уметь читать логику по коду.
Во-вторых, не придется во всем разбираться с нуля, чтобы написать тоже самое. Без кода нужно было бы разобраться как работают фильтры в OBS, в каком формате идет изображение, как его переделать в cv:Mat и т.д., а когда есть код, то все ответы на эти вопросы уже есть. Просто читаешь и радуешься, что кто-то сэкономил тебе кучу времени, которые иначе пришлось бы потратить на поиск нужной инфы.
Код дает ответы без лишней воды и теории. Осталось только найти время и перекинуть работу плагина на другой метод OpenCV. А это требует уже немного другого навыка - "борьба с ленью".
Помните слова Торвальдса: "Talk is cheap. Show me the code"? Сегодня еще раз убедился в их справедливости - нашел интересный плагин для OBS, который извлекает из изображения человека, а фон либо размывает, либо полностью убирает - https://github.com/royshil/obs-backgroundremoval штука прикольная, но модели, которые используются для удаления фона, не очень хорошие. Поэтому использовать их для моих целей не получилось.
Но сам код - кладезь полезной информации.
Во-первых, решение сделано с использованием OpenCV и соответственно можно минимальными правками сделать любой другой способ извлечения фона (например, createBackgroundSubtractorMOG2), если понимать как устроен OpenCV и уметь читать логику по коду.
Во-вторых, не придется во всем разбираться с нуля, чтобы написать тоже самое. Без кода нужно было бы разобраться как работают фильтры в OBS, в каком формате идет изображение, как его переделать в cv:Mat и т.д., а когда есть код, то все ответы на эти вопросы уже есть. Просто читаешь и радуешься, что кто-то сэкономил тебе кучу времени, которые иначе пришлось бы потратить на поиск нужной инфы.
Код дает ответы без лишней воды и теории. Осталось только найти время и перекинуть работу плагина на другой метод OpenCV. А это требует уже немного другого навыка - "борьба с ленью".
GitHub
GitHub - royshil/obs-backgroundremoval: An OBS plugin for removing background in portrait images (video), making it easy to replace…
An OBS plugin for removing background in portrait images (video), making it easy to replace the background when recording or streaming. - royshil/obs-backgroundremoval
👍79🫡9❤3
Начинаю приём вопросов на субботний ЗЭН. Вопросы писать в комментариях к посту, выберу три вопроса (чем больше лайков, тем больше шансов).
Если оставить донат от 300р. С пометкой ЗЭН и вопросом в комментарии на donate.s0er.ru то он попадёт в ЗЭН точно (если будет соответствовать тематике канала).
Если оставить донат от 300р. С пометкой ЗЭН и вопросом в комментарии на donate.s0er.ru то он попадёт в ЗЭН точно (если будет соответствовать тематике канала).
🔥10🤡2👍1
Слона нужно есть по-кусочкам
Многим разработчикам сложно понять что такое "архитектура системы/проекта", они привыкли работать с кодом и архитектуру они рассматривают исключительно на уровне кода. Это абсолютно нормальный шаг на пути понимания архитектуры в целом. Потому что мотивация изучать что-то новое возникает если это "новое" помогает решать повседневные задачи.
Архитектура на уровне кода помогает "причесать" проект, понятно разделить логику и провести границы, уменьшить зависимости и увеличить связность и т.д. Такой взгляд на архитектуру приносит разработчикам наибольшую пользу. Мы с патронами недавно обсуждали базу для чистой архитектуры с доменной моделью, один из участников скинул классную ссылку - https://github.com/Sairyss/domain-driven-hexagon на мой взгляд очень круто, когда разрабы могут четко сформулировать свои мысли с позиции архитектуры и показать их в виде вот такого гайда.
#архтектура #ссылки
Многим разработчикам сложно понять что такое "архитектура системы/проекта", они привыкли работать с кодом и архитектуру они рассматривают исключительно на уровне кода. Это абсолютно нормальный шаг на пути понимания архитектуры в целом. Потому что мотивация изучать что-то новое возникает если это "новое" помогает решать повседневные задачи.
Архитектура на уровне кода помогает "причесать" проект, понятно разделить логику и провести границы, уменьшить зависимости и увеличить связность и т.д. Такой взгляд на архитектуру приносит разработчикам наибольшую пользу. Мы с патронами недавно обсуждали базу для чистой архитектуры с доменной моделью, один из участников скинул классную ссылку - https://github.com/Sairyss/domain-driven-hexagon на мой взгляд очень круто, когда разрабы могут четко сформулировать свои мысли с позиции архитектуры и показать их в виде вот такого гайда.
#архтектура #ссылки
GitHub
GitHub - Sairyss/domain-driven-hexagon: Learn Domain-Driven Design, software architecture, design patterns, best practices. Code…
Learn Domain-Driven Design, software architecture, design patterns, best practices. Code examples included - Sairyss/domain-driven-hexagon
👍43❤8🔥7🥰1🫡1
Это можно было сделать проще/лучше
До сих пор не могу убить в себе перфекциониста. У меня часто бывает в работе, что я принимаю какое-то решение, довожу до реализации и бац, в этот момент щелкает в голове "это можно существенно упростить".
Проблема в том, что чем дальше от этапа проектирования, тем дороже вносить любые изменения в проект, даже если от этого всем станет лучше. В больших проектах приходится переделывать документацию, снова все согласовывать, планировать и распределять работу и т.д.
Поэтому в этот момент нужно принять факт, что можно и лучше (а когда сделаешь лучше, можно еще лучше), но в следующий раз. Если этот раз настанет.
Обычно люди привыкают к решению и оказывается, что лучше то, что знакомо и когда в следующий раз хочется сделать "грамотнее", наоборот встречаешь сопротивление, что лучше придерживаться знакомого решения и не ломать привычные костыли.
Поэтому "сломать в себе перфекциониста" - это первый шаг в карьере любого специалиста.
P.S> как вы догадались, пытаюсь убедить себя не переделывать кусок старой и привычной логики на более "лучший" вариант.
До сих пор не могу убить в себе перфекциониста. У меня часто бывает в работе, что я принимаю какое-то решение, довожу до реализации и бац, в этот момент щелкает в голове "это можно существенно упростить".
Проблема в том, что чем дальше от этапа проектирования, тем дороже вносить любые изменения в проект, даже если от этого всем станет лучше. В больших проектах приходится переделывать документацию, снова все согласовывать, планировать и распределять работу и т.д.
Поэтому в этот момент нужно принять факт, что можно и лучше (а когда сделаешь лучше, можно еще лучше), но в следующий раз. Если этот раз настанет.
Обычно люди привыкают к решению и оказывается, что лучше то, что знакомо и когда в следующий раз хочется сделать "грамотнее", наоборот встречаешь сопротивление, что лучше придерживаться знакомого решения и не ломать привычные костыли.
Поэтому "сломать в себе перфекциониста" - это первый шаг в карьере любого специалиста.
P.S> как вы догадались, пытаюсь убедить себя не переделывать кусок старой и привычной логики на более "лучший" вариант.
👍51💯14😭10👏2🤔2❤1🔥1😁1😢1👨💻1
🔥59😁17🤡5💩2💅1
Через полчаса начинаем - https://youtube.com/live/6opSSjokwm4?feature=share
YouTube
Программирование: монолиты vs микросервисы
#soer #itubeteam
Чтобы задать вопрос вне очереди используйте донаты - https://donate.s0er.ru
1:30 Начало
31:05 Как уйти от ООП в DOD
43:55 книжка (про тестирование)
50:19 про ChatGPT (с гостем)
Основной канал для общения и публикации новых видео - Телегарм…
Чтобы задать вопрос вне очереди используйте донаты - https://donate.s0er.ru
1:30 Начало
31:05 Как уйти от ООП в DOD
43:55 книжка (про тестирование)
50:19 про ChatGPT (с гостем)
Основной канал для общения и публикации новых видео - Телегарм…
👍22👎2
Совершенно согласен, проебал в ВУЗе лучших пять лет своей жизни, вот на работе, где с утра до вечера и без выходных мы делали всякую дичь даже близкого такого не было. А вот ВУЗ, с его особым вайбом, студенческой тусовкой, интересными преподами и всякими другими ништякам - это просто потерянное время! Не идите в ВУЗ, сразу гоу покупать курсы за 300кк и в FAANG, иначе всю жизнь будете жалеть о потраченных 5 годах впустую!
👍132🤡79🤣51🥱8😁6🏆2🫡1
Forwarded from The ExtremeCode Times
Тут в последнее время много кулсторей про то, что высшее образование обосраться как нужно, а все айтишнички без него попуски. Такое чувство как будто я один учился в ВУЗе: некомпетентные преподаватели, которые тебя ненавидят; всратая обучающая программа, которая ставит инженеру культурологию; лизание жопы как самый надёжный способ сдать экзамен.
Я не отрицаю, что от ВУЗа можно получить полезности в виде выгодных связей или определённой информации. Так ведь можно и не получить. И вообще бумажечка-диплом хороша, можно перед еблом барина ей помахать и выбить плюшки. ВУЗ - для айтишнека это полезно, но далеко не необходимо. Особенно если учесть, что большинство выпускников - огрызки. Только вертлявое, гениальное, успешное, хитрожопое и амбициозное меньшинство становятся айти-сверхлюдьми, техножрецами, полулюдьми-полукомпиляторами. И неужели вы думаете, что это меньшинство без ВУЗа были бы вафельниками? Не путайте причину и следствие.
Ну и учтите, что если чел до одури топит за высшее образование, значит он имеет высшее образование и просто не способен принять идею, что он потратил 4-5 лет на дрочь сомнительной полезности. Он же красавчик, поэтому всё что он делает это круто. И этим самым он нагло бычит на талантливых дилетантов, которые сделали множество замечательных вещей
Я не отрицаю, что от ВУЗа можно получить полезности в виде выгодных связей или определённой информации. Так ведь можно и не получить. И вообще бумажечка-диплом хороша, можно перед еблом барина ей помахать и выбить плюшки. ВУЗ - для айтишнека это полезно, но далеко не необходимо. Особенно если учесть, что большинство выпускников - огрызки. Только вертлявое, гениальное, успешное, хитрожопое и амбициозное меньшинство становятся айти-сверхлюдьми, техножрецами, полулюдьми-полукомпиляторами. И неужели вы думаете, что это меньшинство без ВУЗа были бы вафельниками? Не путайте причину и следствие.
Ну и учтите, что если чел до одури топит за высшее образование, значит он имеет высшее образование и просто не способен принять идею, что он потратил 4-5 лет на дрочь сомнительной полезности. Он же красавчик, поэтому всё что он делает это круто. И этим самым он нагло бычит на талантливых дилетантов, которые сделали множество замечательных вещей
👍98😁21🤔7🤡7❤6🥱3👎2😐2👏1🤮1💯1
Нет. Модуль и агрегат - это разные вещи. Задача модуля упаковать взаимодействующие элементы системы для уменьшения зацепления (low coupling). В модуле, как правило, содержится один агрегат, но может быть и несколько. Кроме агрегата модуль может содержать и другие элементы.
Подбронее - https://culttt.com/2014/12/10/modules-domain-driven-design#what-are-modules
Подбронее - https://culttt.com/2014/12/10/modules-domain-driven-design#what-are-modules
👍13🤔1
Маслятки попытались меня взять на понт что-ж кратко о том, что выучил исключительно благодаря ВУЗу:
- сетевой стек и устройство ЛВС
- теорию построения компиляторов (например, всякие рекурсивные спуски, которые я потом использовал, чтобы парсить логи для сбора информации по системам)
- основы криптографии (например, именно там мне объяснили, что такое абсолютно устойчивые шифры, и что сам по себе XOR - не является методом устойчивого шифрования, нужны доп. условия, которые многие почему-то забывают);
- устройство ОС (я перешел на Линукс, как раз в ВУЗе), процессы, потоки и т.д.
- все что я знаю о нейронных сетях я выучил как раз в ВУЗе (я на дипломе писал свою первую нейронку, обучающуюся по методу обратного распространения ошибки, что такое антиградиент, например, я узнал тогда же. Учился я одного из лучших преподов по ИИ - Е.М, Миркеса и то что я попал к нему на диплом - это огромная удача)
- тер. вер (прям очень рад, что в ВУЗе меня заставили учить эту муть, потом много где использовал по работе, как минимум понимал основы - что такое дисперсия, мат. ожидание и т.д.)
- СУБД (всякие "первая, вторая нормальные формы", реляционные модели данных и т.д.)
До ВУЗа я был обычным масленком, в ВУЗе из меня сделали настоящего человека. ) Душнить, кстати, тоже научили в ВУЗе. ) Выучил бы я все это без ВУЗа? Да нифига! Единицы, кто вообще будет составлять себе какую-то программу, и потом идти по ней. Это только в своих влажных фантазиях все увлеченные, целеустремленные и гениально умные. А на практике: "все с завтрашнего дня начинаю учиться".
- сетевой стек и устройство ЛВС
- теорию построения компиляторов (например, всякие рекурсивные спуски, которые я потом использовал, чтобы парсить логи для сбора информации по системам)
- основы криптографии (например, именно там мне объяснили, что такое абсолютно устойчивые шифры, и что сам по себе XOR - не является методом устойчивого шифрования, нужны доп. условия, которые многие почему-то забывают);
- устройство ОС (я перешел на Линукс, как раз в ВУЗе), процессы, потоки и т.д.
- все что я знаю о нейронных сетях я выучил как раз в ВУЗе (я на дипломе писал свою первую нейронку, обучающуюся по методу обратного распространения ошибки, что такое антиградиент, например, я узнал тогда же. Учился я одного из лучших преподов по ИИ - Е.М, Миркеса и то что я попал к нему на диплом - это огромная удача)
- тер. вер (прям очень рад, что в ВУЗе меня заставили учить эту муть, потом много где использовал по работе, как минимум понимал основы - что такое дисперсия, мат. ожидание и т.д.)
- СУБД (всякие "первая, вторая нормальные формы", реляционные модели данных и т.д.)
До ВУЗа я был обычным масленком, в ВУЗе из меня сделали настоящего человека. ) Душнить, кстати, тоже научили в ВУЗе. ) Выучил бы я все это без ВУЗа? Да нифига! Единицы, кто вообще будет составлять себе какую-то программу, и потом идти по ней. Это только в своих влажных фантазиях все увлеченные, целеустремленные и гениально умные. А на практике: "все с завтрашнего дня начинаю учиться".
Telegram
The ExtremeCode Times
Душный дед тут попытался в иронию по поводу нашего поста о высшем образовании для айтишников, только при этом СТЫДЛИВО умалчивает свою историю о том как он обучался программированию. Уверен, более чем на 90%, что сделал он это самостоятельно, либо совместно…
👍158😁25🤡13🔥7💯5
Forwarded from Senior Software Vlogger
@softwareengineervlog спорит с @extremecode по поводу высшего образования. Краткое содержание одной картинкой
😁145🤡14🔥4👎2🤣2👍1🤯1
Forwarded from PRO РОБОТОВ КАНАЛ
С Днем Победы!
Сегодня хотим отдать дань нашим дедушкам и бабушкам, проложившим путь к победе ценой своих жизней! Дань уважения тем, кто прошел всю войну и сегодня еще может рассказать о ней нам!
Великие события тех лет не стираются из памяти поколений, в том числе благодаря фотографиям военных корреспондентов: Макса Альперта, Анатолия Гаранина, Евгения Халдея, Якова Рюмкина, Марка Маркова-Гринберга и Всеволода Тарасевича. Собрали для вас немного легендарных работ, которые лучше любых слов рассказывают историю войны: от первого дня до флага над рейхстагом.
Сегодня хотим отдать дань нашим дедушкам и бабушкам, проложившим путь к победе ценой своих жизней! Дань уважения тем, кто прошел всю войну и сегодня еще может рассказать о ней нам!
Великие события тех лет не стираются из памяти поколений, в том числе благодаря фотографиям военных корреспондентов: Макса Альперта, Анатолия Гаранина, Евгения Халдея, Якова Рюмкина, Марка Маркова-Гринберга и Всеволода Тарасевича. Собрали для вас немного легендарных работ, которые лучше любых слов рассказывают историю войны: от первого дня до флага над рейхстагом.
❤271👍62💩26🕊14🫡13🤡7🎉4🔥3🖕3🙈2👎1
Если объективно, существующие веб-решения нифига не торт, множество стихийно сложившихся практик, неправильное использование инструментов, неконтролируемое развитие индустрии и т.д. привели к тому. что веб - это такой монстр на колесиках, которое постоянно хочется улучшить. Хотя бы для того, чтобы получить хоть какой-то контроль за ситуацией. Придумывают много всяких новых решений, которые должны улучшить ситуацию - вот например статья про htmx, который призван внести чуть больше осмысленности в современный веб...
Но знаете что? Не получится! Проблемы современного веба системные, идущие в первую очередь от невероятной кадровой некомпетентности и "пропатчить" новой заплаткой - не выход.
Но знаете что? Не получится! Проблемы современного веба системные, идущие в первую очередь от невероятной кадровой некомпетентности и "пропатчить" новой заплаткой - не выход.
quii.dev
Chris James - HTMX is the Future
Chris James, London - Software Engineer
👍37🤡11❤1👌1🥱1