TGViewer
Channel Public Channel
S0ER

S0ER

@softwareengineervlog

Архитектура | Программирование | Профессиональное развитие

Соер.Клуб - https://t.me/soer_live

По всем вопросам писать на @soerdev
Subscribers
10.4K
Photos
337
Videos
20
Links
732

Showing posts older than #1670 · Back to latest

Older Posts 20 shown
Post #1669 7.34K
На канале Диджитализируй была прикольная попытка показать как создаются проекты с нуля. Получилось два видоса и усё.

Это супер иронично, потому что именно так в 99 случаев из 100 происходит в реальности.

Начали, сделали пару архитектурных набросков, деньги/энтузиазм закончились или появились другие заботы, и "всем спасибо, все свободны".
Как говорится, добро пожаловать в реальный мир.
YouTube #1 Покажем, как создаются ИТ продукты с нуля. Идея, разработка ТЗ и прототипов интерфейса. Стартуем! Этим видео открывается новая рубрика на Диджитализируй! Мы разработаем настоящий ИТ продукт и покажем весь процесс его создания здесь на канале. От идеи до готовой реализации, которой пользуются люди — весь процесс. Покажем всё. Залетай в Телеграм канал…
  • 😁 88
  • 👍 24
  • 😢 9
  • 🤷‍♀ 1
  • 👾 1
Post #1668 7.57K
Ещё одна утечка данных, на этот раз Ситилаб.
Помню когда под новый год утекли данные спортмастера, я при очередном посещении этого магазина услышал от продавца, что все это неправда, и им бы первым сообщили, что данные утеряны.
Меня тогда это очень позабавило, ведь компании скрывают эти факты, как позор позоров. Если бы не публичные публикации данных, то сама компания будет морозиться до последнего.
В страшном мире мы живём, дамы и господа.
XAKEP Хакеры сливают данные сети клинико-диагностических лабораторий «Ситилаб» ИБ-специалисты сообщили, что хакеры из группировки UHG публикуют в открытом доступе данные пользователей «Ситилаб». В открытом доступе находится 1,7 ТБ данных с отсканированными результатами анализов и исследований, договорами и чеками в PDF-файлах.
  • 👍 25
  • 🤡 5
  • 🤔 3
Post #1667 7.43K
Учёные научились с помощью МРТ считывать активность мозга и воссоздавать изображение, которое видит человек. В процессе активно используются нейронные сети. Ну что ещё один маленький шаг для человека, но огромный для человечества.
Природе никогда не надо было обеспечивать криптографическую стойкость ваших мыслей. Все наши мысли хранятся в "открытом" виде - бери и читай.
Конечно, воспроизвести то что ты видишь - это штука полезная разве что для ревнивых жён. Но ведь понятно, что это первый этап.
  • 🤯 36
  • ❤ 14
  • 👍 8
  • 😁 6
  • 🔥 4
  • 🤔 1
Post #1666 7.13K
Про абстракции

Когда вы становитесь архитектором и работаете в АйТи, то очень быстро учитесь видеть абстракции, в абстракциях, которые навернуты сверху других абстракций.

Вот так, например, выглядит температура и влажность в моей комнате, если смотреть глазами осцилографа.

И это тоже абстракция. Чем глубже вы можете погрузиться в абстракции, тем глубже вы можете погрузиться в кроличью нору, тем более крутым специалистом вы являетесь.
  • 👍 50
  • 🥱 12
  • 💊 11
  • 🔥 10
  • ❤ 3
  • 😁 1
  • 🤯 1
  • 🍌 1
Post #1664 7.24K
Получил доступ в GigaChat. Надо сказать результаты весьма скромные, например, он не умеет отвечать "не знаю", придумывает на лету, исходя из контекста. )
  • 😁 73
  • 👍 11
  • 🤪 7
  • 🤡 5
  • 🤔 1
Post #1661 7.81K
Post #1660 8.13K
Мы набрали ровно 10к подписчиков на этом канале! Огромное спасибо всем подписавшимся.
  • 🔥 194
  • 👍 41
  • ❤‍🔥 15
  • 🤡 8
  • 😢 6
  • 🍾 6
  • 😁 5
  • 🐳 5
  • 🏆 3
  • ❤ 2
  • 🤩 1
Post #1659 8.83K
Ребята запускаю сбор тем на субботний стрим:

1. ЗЭН - пишите в комментариях вопросы (буду выбирать самые популярные или которые понравятся мне) - ответ будет в субботнем стриме

2. Ревью кода и проектов - может быть вам интересно узнать мое мнение по вашему репозиторию (можно от фрагментов кода, до своих проекто) на github - тогда можно написать ссылку в комментариях и примерно чего вы ожидаете, буду выбирать на свое усмотрение и желание и в субботу на стриме будет обзор

3. Как всегда все что будет на https://donate.s0er.ru буду рассматривать в обязательном порядке (если по АйТи, все провакационные вопросы и подколы не рассматриваю).

Как обычно проходят субботние стримы можно посмотреть вот здеь - https://www.youtube.com/watch?v=6opSSjokwm4
  • 👍 9
  • 🤡 3
Post #1658 7.55K
У ITYouTubers есть папка с телеграм-каналами людей, которые входят в сообщество. Сегодня меня обвинили в лицемерии потому что я ее не опубликовал (весь разговор можно посмотреть на канале "Круги на полях IT", который есть в этой папке) - https://t.me/addlist/I8prigGqDr5kYjBi

Upd. может кто не знает, можно удалять из папки каналы, которые не нравятся
Telegram IT YouTubers Дима Рожков invites you to add the folder “IT YouTubers”, which includes 53 chats.
  • 😁 21
  • 🤡 11
  • ❤‍🔥 4
  • 🤮 4
  • 👍 3
  • 🥱 2
  • 🔥 1
  • 👏 1
  • 🤯 1
Post #1657 7.94K

Forwarded from Терабит: айти технологии

Инженер Google Дэн Рева обнаружил в Telegram для macOS уязвимость, которая позволяет злоумышленникам использовать камеру и микрофон ноутбука.

Более того, запись видео и звука будет работать, даже если соответствующие разрешения отключены.

Это стало возможно, потому что Telegram для macOS не использует встроенный механизм безопасности Apple Hardened Runtime.
  • 😱 70
  • 🤡 21
  • 👍 15
  • 🫡 3
  • 🔥 2
  • 👎 1
Post #1656 9.74K
Чтобы не быть голословным, вот пример реального кода из Angular (https://github.com/angular/angular/commit/0d9705be0b2b9df22934c8a3aad8c65201b305ad) который жестко нарушает несколько принципов из книги: запрет на switch, ограничение размера, запрет на комментарии, запрет на сеттеры и геттеры, правило "вызов или передача".

P.S. поставьте клоуна если вы считаете, что такой "ужасный код" команда ангуляра в ближайшее время отрефакторит, и любую другую эмоцию, если считаете, что на самом деле все с кодом ок.
  • 😁 160
  • 🤡 90
  • 👌 75
  • 👍 21
  • 🐳 17
  • 🌚 5
  • 🔥 2
  • 🌭 2
  • 👏 1
  • 🍌 1
  • 🎄 1
Post #1655 8.79K
Я переодически делаю видео где смотрю реальные репозитории на гитхаб. Наверное, будет интересно сделать пару видосов, чтобы показать какой рефакторинг делается на практике, а что существует только на страницах книг о красивом коде.

Можно будет опробовать на стриме, если не забуду. )
  • 🔥 150
  • 👍 41
Post #1654 8.62K
Пять строк кода

Если коротко, то большая часть книги - "Демагогия". Несколько дельных советов, на тонны ненужной местами вредной воды.

Некоторые мысли после прочтения:

1. Автор взял чисто процедурный код и начал рефакторить его в объектный вид. Очень странный подход, понятно что процедурные языки - это одно, объектные - другое. Смысл два подхода мешать в одну кучу? Есть огромные кодовые базы, написанные в процедурном стиле. На ООП будем их все переводить?

2. На практике трудно найти кодовую базу, построенную в соответствии со всеми советами книги. Для собственного развлечения можете посмотреть реальные проекты на гитхабе, и в истории поисать "refactor", а потом сравнить с советами в книге. Спойлер: совпадений будет минимум.

3. Про комментарии стандартная дичь, тут могу только передалать слова классиков: "чтобы вам код только без комментариев читать". Я много читаю кода, могу твердо сказать: "комментарии - это как глоток свежего воздуха, без них код сухой и скучный".
Авторам книги могу посоветовать писать книги без примеров кода, или наоборот без строчки текста. Сразу поймете, что есть мысли "для текста", есть мысли "для кода". Одно другого не исключает.

4. Книга написана для объема, куча воды и рассуждений автора. Опять же, ради интереса можете посмотреть список источников, используемых в "Совершенном коде" Маконнела и здесь. Не зря у Роберта Мартина книга вызвала одобрение, он тоже не любит работать с источниками, но любит рассуждения.
"Совершенный код" на порядок "практичнее", чем "Пять строчек кода". Нужно учиться работать с источниками, а не просто рассуждать.

5. На практике использовать все советы крайне сложно, реальные проекты на гитхабе тому доказательство, такой уровень грануляции как "пять строчек кода" - это просто невыполнимо. Можно БЛ написать с таким подходом, но библиотечный, утилитарный, инфраструктурный код писать в таком стиле смысла нет.

Книгу стоит прочитать, если вы любите порассуждать о коде где-нибудь за кружечкой чая в баре. На практике мало пользы будет.

P.S. но одну закладку все же поставил, там где мысль про локальные инварианты. Это дельный совет - смысл в том, что инварианты должны быть ближе к месту их использования. Глобальных инвариантов не должно быть много.

#книга #отзыв
  • 👍 72
  • ❤ 5
  • 👏 1
Post #1653 7.05K
Купил книгу на вечер, открыл на рандомной странице и прочитал совет "никогда не используйте switch", а знаете почему? Потому что это ведёт к багам!
Думаю, я готов пойти дальше - никогда не используйте языки программирования! Ведь это тоже ведёт к багам.
Но выводы о книге по одному совету делать не буду. Буду "почитать".
  • 😁 160
  • 👍 19
  • 🔥 11
  • 🤡 4
  • ❤ 1
  • 🤔 1
  • 🫡 1
Post #1652 6.77K
Ядро Linux, факты:

- Ядро Linux представлено своим исходным кодом

- Ядро развивается, поэтому существует множество версий (можно сказать, что одно и то же ядро представлено множеством версий)

- Скомпилировать его можно используя разные опции (опций очень много несколько тысяч, поэтому вариантов компиляции огромное количество)

- Ядро скомпилированное из оригинальных исходников, независимо от опций, называют "ванильным" ядром

- На ядро перед компиляцией можно наложить разные патчи, это позволяет создавать разные варианты ядер

- Бывают патчи для поддержки нового оборудования, увеличения безопасности, увеличения производительности, для поддержки реального времени и т.д.

- Ядра Линукса с разными наборами патчей имеют свои названия (например, Zen-ядро)

- В дистрибутивах линукса редко используется ванильное ядро, вместо этого авторы дистрибутива поддерживают свой набор патчей, с помощью которых выпускают свои версии ядер

#linux
  • 👍 104
  • ✍ 6
  • 🤯 2
  • ❤ 1
Post #1651 6.5K
Немного про DDD и анемичные модели

В идеальном мире можно выработать правила и требования, которые будут всегда справедливы и подходить для любой ситуации. В реальном мире всегда приходится искать компромиссы, все категоричные суждения "это хорошо, а это плохо", без способности объяснить "почему?" - это все про идеальный мир. Как происходит в реальном сейчас расскажу.

Начну с того, что изучив несколько разных архитектур, вы, наверное, заметите, что основная идея любой архитектуры - разделить обязанности и провести жесткие/мягкие границы между ними. Сейчас очень популярны сервисные и микросервисные подходы, поэтому популярное место проведения границ - это код. А разделение обычно делается на "инфраструктуру" и "бизнес-логику".

В Domain Driven Design есть такое понятие как "анемичная модель", это как правило модель, которая не содержит логики и имеет только set/get методы. В данном подходе это плохо тем, что логика выносится за пределы модели и соответственно ее сложнее сопровождать, тестировать и развивать. Чем ближе связанные друг с другом вещи находятся, тем проще с ними работать.

Согласно логике DDD анемичной должна быть база данных. Целостность и логика должны быть заботой кода (с использованием транзакций), а в БД должны только хранится данные. В задачах где требования целостности укладываются в BASE это работает очень хорошо.

Но анемичная БД очень грустная штука, когда речь идет об ACID, просто потому что реализовать на уровне клиента целостность будет сложнее. Во многих бухгалтерских приложениях среднего размера, в системах отчетности и т.д. близость обработки к данным - это большой плюс. Можно сильно сэкономить и на размере команды, и выиграть в скорости работы. В больших приложениях "жирная" СУБД становится проблемой, но если задача хорошо ложиться на реляционную модель, то можно и в таком случае логику держать на уровне СУБД.

Как только мы начинаем выносить логику на СУБД, то мы автоматом множим анемичные модели в коде. Это как закон сохранения энергии, чтобы где-то прибыло, нужно чтобы где-то убыло.

Можно ли сказать, что вынос логики на уровень СУБД - это всегда зло? Нет! Во многом такой подход позволяет проще решать вопросы целостности и скорости работы. Естественно есть минусы - сложно горизонтально масштабировать, сложнее тестировать, сложнее дебажить. Но зато до определенного размера - быстрее работает, надежнее работает, меньше людей нужно для сопровождения.

Архитектура - это поиск компромиссов, раздутые бюджеты и многочисленные команды разрабов может позволить далеко не каждый проект. Нормальный разработчик на уровне БД может решить гораздо больше проблем и сильно оптимизировать бюджет.

Вывод сказанного простой - есть разные решения для одних и тех же проблем, любые решения нужно обдумывать и уметь обосновать, а просто повесить для себя "маркеры" по типу "это анемичная модель, все пропало" - это не про архитектуру, это какая-то странная религия, которой многие увлечены в последнее время.

#ddd #архитектура #мысли
  • 👍 75
  • 🔥 6
  • ❤ 4
  • 🤔 2
  • 👎 1
Post #1650 6.4K
Post #1649 6.57K
Не буду говорить за всех, но за себя могу сказать. Чем больше я узнаю про курсы, менторство и прочие "короткие пути в АйТи", тем больше у меня негатива к этому движу.
Начинаешь понимать зачем нужны рекрутинговые агенства, которые за тебя отфильтруют всю эту толпу вкатывальщиков.
Как к людям ничего против не имею, но работать все таки хочется с ребятами, которые сами с усами.
  • 👍 106
  • ❤ 8
  • 👏 4
  • 🥱 3
  • 😁 1
Post #1648 6.39K
Ребята, в русском языке есть замечательное слово "репетитор" для того, что Антон и ко описывает. Это уровнь для того чтобы подтянуть школьные знания. Ну типа экзамен сдать по информатике. В реальной жизни человек, который "я не понял что такое класс и не могу найти это в интернете" на рабочем месте нафиг никому не нужен.
Я вообще считаю, что умение гуглить надо проверять на собесах, а то потом будет постоянное "я не понял, помоги плиз".
  • 👍 101
  • 💯 12
  • 💩 3
Post #1647 6.35K
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →