Авторский блог про мир разработки
Здесь вы:
🔶 Найдёте ответы на нестандартные вопросы программирования
🔶 Научитесь разбираться в IT
🔶 Окунётесь в мир разработки глазами эксперта
Я - Степан Минин, Senior C# Developer, вот несколько фактов обо мне:
🔷 Имею опыт коммерческой разработки около 5 лет
🔷 Выступал в рамках Нобелевской недели на семинаре SIYSS 2018 в Стокгольме
🔷 Победитель различных конкурсов, олимпиад и хакатонов в сфере IT
🔷 Обладатель свидетельства о регистрации программы для ЭВМ
🔷 Успешно отучился на топовой кафедре (ИУ-9) в МГТУ им. Н. Э. Баумана
🔷 Обладатель статуса Microsoft Certified Professional
Мой блог на Хабре
https://habr.com/ru/users/Stefanio/posts/
Здесь вы:
🔶 Найдёте ответы на нестандартные вопросы программирования
🔶 Научитесь разбираться в IT
🔶 Окунётесь в мир разработки глазами эксперта
Я - Степан Минин, Senior C# Developer, вот несколько фактов обо мне:
🔷 Имею опыт коммерческой разработки около 5 лет
🔷 Выступал в рамках Нобелевской недели на семинаре SIYSS 2018 в Стокгольме
🔷 Победитель различных конкурсов, олимпиад и хакатонов в сфере IT
🔷 Обладатель свидетельства о регистрации программы для ЭВМ
🔷 Успешно отучился на топовой кафедре (ИУ-9) в МГТУ им. Н. Э. Баумана
🔷 Обладатель статуса Microsoft Certified Professional
Мой блог на Хабре
https://habr.com/ru/users/Stefanio/posts/
Хабр
Посты / Профиль Stefanio
🔥7👍3
StepOne | Степан Минин pinned «Авторский блог про мир разработки Здесь вы: 🔶 Найдёте ответы на нестандартные вопросы программирования 🔶 Научитесь разбираться в IT 🔶 Окунётесь в мир разработки глазами эксперта Я - Степан Минин, Senior C# Developer, вот несколько фактов обо мне: 🔷 Имею…»
Why reflection when generics
В
#код
В
C# очень мощный инструмент обобщённого программирования. Мощнее, чем в Java. Всю информацию о типовых параметрах, переданных в generic среду можно получить в runtime, и это нереально круто. Плюс к этому типобезопасность, строгие ругательства за несоблюдение выстроенных ограничений ещё в compile time. Но почему при всех имеющихся преимуществах могут прибегать к рефлексии? Давайте разберёмся.#код
Telegraph
Why reflection when generics
В C# очень мощный инструмент обобщённого программирования. Мощнее, чем в Java. Всю информацию о типовых параметрах, переданных в generic среду можно получить в runtime, и это нереально круто. Плюс к этому типобезопасность, строгие ругательства за несоблюдение…
👍6
Думал, что пост выйдет короче раза в три, но не получилось. Менее интересным он от этого не стал
👍6
На хабре вышла статья, в которой по пунктам расписали, почему GitHub Copilot - провал.
Не знаю чему тут удивляться, для меня такое развитие событий стало очевидным, ещё когда эта история возникла как инфоповод.
Ну серьёзно, скомпилировали dataset из ответов на StackOverflow? Ха-ха, удачи 🤣
https://habr.com/ru/company/ispmanager/blog/683412/
#хабр
Не знаю чему тут удивляться, для меня такое развитие событий стало очевидным, ещё когда эта история возникла как инфоповод.
Ну серьёзно, скомпилировали dataset из ответов на StackOverflow? Ха-ха, удачи 🤣
https://habr.com/ru/company/ispmanager/blog/683412/
#хабр
Хабр
GitHub Copilot — он вам не нужен
Я его попробовал и уверяю вас: он вам не подходит. И у меня есть несколько очень веских аргументов, почему это именно так… Вот серьезно. Разработчики программного обеспечения во всем мире пишут...
👍7
саймой_хайкин_нейронные_сети.pdf
18.6 MB
Про ИИ
К искусственному интеллекту, таким каким его представляют в фильмах, книгах, выступлениях Илона Маска, человечество близко не подобралось. И неизвестно вообще, когда подберётся.
Под капотом существующих механизмов находится лишь компиляция вероятностных функций с предсказуемым механизмом коррекции ошибок. Человеческий мыслительный процесс гораздо сложнее на несколько порядков, и, что более важно, от природы недетерминирован. Поэтому, корректнее называть то, что нам преподносится, не искусственным интеллектом, а продвинутой автоматизацией.
Любые другие заявления - спекуляции с хайпом для непосвящённых.
Тот же GitHub Copilot весьма показательный пример. Злобные Гейтсы, Безосы и другие богатенькие рептилоиды предприняли очередную попытку уничтожить средний класс. Однако на выходе получился очередной объект насмешек и источник мемов для крупного сообщества людей.
Для тех, кто не верит, рекомендую ознакомиться с фундаментальным трудом Саймона Хайкина "Нейронные сети. Полный курс".
#мнение
К искусственному интеллекту, таким каким его представляют в фильмах, книгах, выступлениях Илона Маска, человечество близко не подобралось. И неизвестно вообще, когда подберётся.
Под капотом существующих механизмов находится лишь компиляция вероятностных функций с предсказуемым механизмом коррекции ошибок. Человеческий мыслительный процесс гораздо сложнее на несколько порядков, и, что более важно, от природы недетерминирован. Поэтому, корректнее называть то, что нам преподносится, не искусственным интеллектом, а продвинутой автоматизацией.
Любые другие заявления - спекуляции с хайпом для непосвящённых.
Тот же GitHub Copilot весьма показательный пример. Злобные Гейтсы, Безосы и другие богатенькие рептилоиды предприняли очередную попытку уничтожить средний класс. Однако на выходе получился очередной объект насмешек и источник мемов для крупного сообщества людей.
Для тех, кто не верит, рекомендую ознакомиться с фундаментальным трудом Саймона Хайкина "Нейронные сети. Полный курс".
#мнение
🔥9👍2
Добавил к некоторым постам хештеги, чтобы их категоризировать и дать возможность навигации
👍4
Domain Driven Design
Бывает, на проектах случается, что разработчики твердят о том, как им нужен DDD, а остальная часть команды их не понимает. Чтобы понять идею и концепцию этого подхода к созданию ПО, советую ознакомиться с выступлением Алексея Мерсона на DotNext в 2019.
Современная классика докладов.
https://youtu.be/CR9mLGN9jh0
#доклады
Бывает, на проектах случается, что разработчики твердят о том, как им нужен DDD, а остальная часть команды их не понимает. Чтобы понять идею и концепцию этого подхода к созданию ПО, советую ознакомиться с выступлением Алексея Мерсона на DotNext в 2019.
Современная классика докладов.
https://youtu.be/CR9mLGN9jh0
#доклады
YouTube
Алексей Мерсон — Domain-driven design: рецепт для прагматика
Подробнее о конференции DotNext: https://jrg.su/3WmFRE
— —
Богатый личный опыт позволяет рассказывать Алексею сложные вещи простым и понятным языком.
Domain-driven design — набор подходов к разработке, который, с одной стороны, на слуху, а с другой, к нему…
— —
Богатый личный опыт позволяет рассказывать Алексею сложные вещи простым и понятным языком.
Domain-driven design — набор подходов к разработке, который, с одной стороны, на слуху, а с другой, к нему…
👍6
Главная странность DDD
Чем больше я изучаю DDD, тем страннее эта история мне кажется.
Цель подхода сделать так, чтобы все на проекте понимали друг друга (от технических специалистов до представителей бизнеса), путём создания специального единого языка предметной области. Однако разве так не должно быть повсеместно?
Только вдумайтесь, любое программное обеспечение моделирует некоторые реальные процессы окружающего нас мира. Как можно создать имитацию процесса, не используя модели существующих объектов и терминологию этого процесса?
Тут два варианта: либо никто не следует банальным и простым советам по типу нельзя стирать белое с цветным, либо качество большинства программистов оставляет желать лучшего, раз их надо учить норме.
#мнение
Чем больше я изучаю DDD, тем страннее эта история мне кажется.
Цель подхода сделать так, чтобы все на проекте понимали друг друга (от технических специалистов до представителей бизнеса), путём создания специального единого языка предметной области. Однако разве так не должно быть повсеместно?
Только вдумайтесь, любое программное обеспечение моделирует некоторые реальные процессы окружающего нас мира. Как можно создать имитацию процесса, не используя модели существующих объектов и терминологию этого процесса?
Тут два варианта: либо никто не следует банальным и простым советам по типу нельзя стирать белое с цветным, либо качество большинства программистов оставляет желать лучшего, раз их надо учить норме.
#мнение
👍4
В рекомендованных попалось вот это…
Не понимаю, как такой доклад пустили на конференцию.
Похоже на проплаченную рекламу фонды для хомяков
https://youtu.be/ZMvhEXuDREc
Не понимаю, как такой доклад пустили на конференцию.
Похоже на проплаченную рекламу фонды для хомяков
https://youtu.be/ZMvhEXuDREc
YouTube
Личные финансы для разумного человека – Павел Комаровский
Если лекция понравилась, подпишись на мой Телеграм-канал: https://news.1rj.ru/str/RationalAnswer
Скачать презентацию:
https://www.rationalanswer.ru/wp-content/uploads/2019/11/RationalAnswer_Personal_Finance.pdf
Прослушать как аудиоподкаст:
- SoundCloud — https://…
Скачать презентацию:
https://www.rationalanswer.ru/wp-content/uploads/2019/11/RationalAnswer_Personal_Finance.pdf
Прослушать как аудиоподкаст:
- SoundCloud — https://…
👍2🤡1
Что такое cross-cutting concern?
Это термин из АОП. Однако прежде чем разобраться с его значением, необходимо выяснить, что такое concern.
Concern - это единица функциональности системы. Существует два вида функционала:
1. Ключевой функционал (core concern). Это тот функционал, который выполняет ключевые требования к ПО. Например: бизнес-логика приложения.
2. Сквозной функционал (cross-cutting concern). Это функционал, который необходим с точки зрения "обслуживающей инфраструктуры", но не относящийся напрямую к выполнению поставленной задачи. Например: синхронизация, обработка ошибок, валидация, управление транзациями, кеширование, логирование, мониторинг.
Cross-cutting concern является ключевым термином для парадигмы аспектно-ориентированного программирования, поскольку она выросла из потребности решить сложную задачу: отделить сквозную логику от ключевой.
Это термин из АОП. Однако прежде чем разобраться с его значением, необходимо выяснить, что такое concern.
Concern - это единица функциональности системы. Существует два вида функционала:
1. Ключевой функционал (core concern). Это тот функционал, который выполняет ключевые требования к ПО. Например: бизнес-логика приложения.
2. Сквозной функционал (cross-cutting concern). Это функционал, который необходим с точки зрения "обслуживающей инфраструктуры", но не относящийся напрямую к выполнению поставленной задачи. Например: синхронизация, обработка ошибок, валидация, управление транзациями, кеширование, логирование, мониторинг.
Cross-cutting concern является ключевым термином для парадигмы аспектно-ориентированного программирования, поскольку она выросла из потребности решить сложную задачу: отделить сквозную логику от ключевой.
👍8
DI vs. AOP: внедрение логгирования
Логгирование является одним из самых часто используемых примеров сквозной функциональности. Однако, каким образом внедрять этот функционал в приложение максимально просто и эффективно? Давайте разберёмся.
#код
Логгирование является одним из самых часто используемых примеров сквозной функциональности. Однако, каким образом внедрять этот функционал в приложение максимально просто и эффективно? Давайте разберёмся.
#код
Telegraph
DI vs. AOP: внедрение логгирования
Логгирование является одним из самых часто используемых примеров сквозной функциональности. Однако, каким образом внедрять этот функционал в приложение максимально просто и эффективно? Давайте разберёмся. Шаблон проектирования "Декоратор" "Декоратор" это…
🔥4❤1👍1
Две главные ошибки при использовании MediatR
Написал на Хабр интересную статью, читайте и плюсуйте скорее)
Какие ошибки совершают при использовании этой библиотеки исходя из вашего опыта?
#хабр
Написал на Хабр интересную статью, читайте и плюсуйте скорее)
Какие ошибки совершают при использовании этой библиотеки исходя из вашего опыта?
#хабр
Хабр
Две главные ошибки при использовании MediatR
MediatR является, безусловно, очень успешным и популярным open-source проектом, который глубоко проник в недры коммерческой разработки. Однако, сколь популярен инструмент столь много способов его...
🔥5👍1
Айтишники, поделитесь пожалуйста своими самыми смешными it-картинками за прошедшую неделю 🙏
Давайте поднимем друг другу настроение!
Давайте поднимем друг другу настроение!
❤4
Не так давно я наткнулся на очень интересный доклад Дмитрия Нестерука о паттерне Visitor. Человек смог наглядно, последовательно на примере выстроить историю о чём вообще этот инструмент.
Очень огорчает, что многие люди используют его не по назначению. Даже столкнулся с этим у себя на проекте.
«Посетитель» в первую очередь не про плоские иерархии, а про обработку рекурсивными алгоритмами древовидных данных с циклическими ссылками. Хрестоматийный пример - синтаксический анализ.
#доклады
Очень огорчает, что многие люди используют его не по назначению. Даже столкнулся с этим у себя на проекте.
«Посетитель» в первую очередь не про плоские иерархии, а про обработку рекурсивными алгоритмами древовидных данных с циклическими ссылками. Хрестоматийный пример - синтаксический анализ.
#доклады
YouTube
Дмитрий Нестерук — Черная магия паттерна «Посетитель»
Подробнее о конференции DotNext: https://jrg.su/3WmFRE
— —
«Посетитель» (visitor) — один из самых сложных паттернов Банды Четырех. Благодаря гибкости языка C#, у этого паттерна есть много возможных реализаций и вариаций, которые Дмитрий и рассмотрит в этом…
— —
«Посетитель» (visitor) — один из самых сложных паттернов Банды Четырех. Благодаря гибкости языка C#, у этого паттерна есть много возможных реализаций и вариаций, которые Дмитрий и рассмотрит в этом…
👍7
visitor.pdf
400.9 KB
🔥6❤1