|
rss_habr
Принципы SOLID на JS, теперь точно простым языком, но не очень короткоВторник, 01 Января 2023 г. 00:46 (ссылка)
SOLID — универсальный набор принципов разработки поддерживаемого программного обеспечения. В данной статье я попытался разъяснить свое понимание принципов SOLID в отношении языка JavaScript: особенности реализации, некоторые синтаксические конструкции и, конечно, примеры из жизни. Если вам стало интересно, то прошу под кат. Читать далееhttps://habr.com/ru/post/714068/?utm_source=habrahabr&utm_medium=rss&utm_campaign=714068
rss_habr
[recovery mode] Kotlin/Golang работа в двух языкахВторник, 31 Января 2023 г. 21:56 (ссылка)
Так уж получилось, что у нас в компании используются разные стеки и языки. И в частности у нас есть большое подразделение, основным стеком которого является JVM с Kotlin в качестве языка разработки (вместо ванильной Java, на бэкенде). Но при этом этому же отделу регулярно приходится использовать в работе GoLang. В статье представлены несколько кейсов, связанных с сопровождением совместной кодобазы на двух языках и по соответствию некоторых конструкций между платформами... Читать далееhttps://habr.com/ru/post/714050/?utm_source=habrahabr&utm_medium=rss&utm_campaign=714050
rss_habr
Разбираем шаблоны проектированияВторник, 31 Января 2023 г. 18:27 (ссылка)
Разработка современных приложений процесс достаточно сложный, требующий глубокого погружения, продумывания процесса взаимодействия компонентов. При этом разрабатывать код непосредственно с нуля конечно можно, но в таком случае процесс выпуска готового решения займет значительное время, а время как известно самый дорогой ресурс. Для ускорения проектирования и последующей разработки приложений придумали шаблоны проектирования. По сути, шаблоны проектирования это проверенные и готовые к использованию решения регулярно возникающих в повседневном программировании задач. То есть, это повторяемая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста. Представленный в статье материал предполагает знакомство читателя с основами объектно-ориентированного программирования. Читать далееhttps://habr.com/ru/post/713728/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713728
rss_habr
[Перевод] Что такое «инженерия» с точки зрения программиста?Пятница, 20 Января 2023 г. 15:27 (ссылка)
Мне никогда не приходило в голову считать себя инженером-программистом, так как я не занимался ничем, что считал бы связанным с «инженерией». https://habr.com/ru/post/711826/?utm_source=habrahabr&utm_medium=rss&utm_campaign=711826
rss_habr
[Перевод] Воины и волшебники, часть пятая, финалПятница, 20 Января 2023 г. 10:07 (ссылка)
В последних четырех эпизодах мы изо всех сил пытались закодировать правила нашей бизнес-области — которые, напомню, могут быть волшебниками и воинами, заказами и оплатами или чем-то еще — в систему типов C#. Выбранный нами инструмент, кажется, сопротивляется нашим попыткам, и поэтому, возможно, самое время сделать шаг назад и спросить, на правильном ли мы пути. Фундаментальной идеей в первом и втором эпизодах было использование системы типов для обнаружения и предотвращения нарушений правил предметной области во время компиляции. Эта попытка в значительной степени потерпела неудачу из-за сложности представления подтипа с ограничением, например, «Волшебник — это игрок, который не может использовать меч. В нескольких наших попытках мы закончили тем, что выбрасывали исключения, так что правило применялось средой выполнения, а не компилятором. В третьем и четвертом эпизодах этой серии мы увидели, что также было трудно понять как вызвать правильный код для обработки различных конкретных правил, а также куда поместить этот код. Даже если оставить в стороне проблемы с очень многословным и сложным шаблоном посетителя и опасным шаблоном динамического вызова, у нас все еще есть фундаментальная проблема: почему «Паладин в церкви атакует оборотня с мечом» является ответственностью одного из этих типов, а не другого? Читать далееhttps://habr.com/ru/post/711500/?utm_source=habrahabr&utm_medium=rss&utm_campaign=711500
rss_habr
[Перевод] Воины и волшебники, часть четвертаяЧетверг, 19 Января 2023 г. 10:32 (ссылка)
В прошлой статье мы увидели что для одинарной диспетчеризации, то есть выбора метода по типу времени выполнения одного аргумента, мы можем использовать виртуальные методы. Для двойной диспетчеризации мы можем использовать шаблон проектирования с неподходящим названием "Посетитель". Он работает, но имеет недостатки. Он тяжеловесный, сложный для понимания и плохо расширяется для множественной диспетчеризации. Прошлый раз я сказал, что C# не поддерживает двойную диспетчеризацию. Это была наглая ложь! На самом деле C# поддерживает множественную диспетчеризацию. Вы можете выбрать метод на основании типа времен выполнения любого количества аргументов. Читать далееhttps://habr.com/ru/post/711132/?utm_source=habrahabr&utm_medium=rss&utm_campaign=711132
rss_habr
[Перевод] Воины и волшебники, часть третьяСреда, 18 Января 2023 г. 10:37 (ссылка)
Итак, давайте отвлечемся на несколько эпизодов. Мы временно оставим в стороне проблему того, как мы можем иметь и Игрока с Оружием, и Волшебника с Посохом (или Кинжалом). Предположим, что мы можем все это представить в виде типов. У нас есть еще одна проблема. Предположим, у нас также есть классы Оборотней и Вампиров, которые являются разновидностью Монстров. Нам нужно правило, которое гласит, что если Воин попытается ударить Оборотня после полуночи, то вероятность успеха будет снижена. (У волшебников нет такого штрафа, потому что… магия?) Подождите минутку — разве текущий момент времени это не после полуночи всегда? Короче, когда можно безопасно кормить могваев? Хотя это увлекательная проблема, я уверен, что это не та проблема, о которой я хочу говорить сегодня. Читать далееhttps://habr.com/ru/post/710754/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710754
rss_habr
[Перевод] Воины и волшебники, часть втораяВторник, 17 Января 2023 г. 11:19 (ссылка)
В этой серии мы исследуем проблему «игрок может использовать оружие, волшебник — разновидность игрока, посох — разновидность оружия, а волшебник может использовать только посох». Лучшее решение, которое мы придумали до сих пор — выдать нарушение преобразования типа во время выполнения, если разработчик допустил ошибку. Это не кажется оптимальным решением. (Если вы не читали первую статью серии, то обязательно начните с нее) создадим решение лучшеhttps://habr.com/ru/post/710752/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710752
rss_habr
[Перевод] Воины и волшебники, часть перваяПонедельник, 16 Января 2023 г. 12:10 (ссылка)
Распространенная проблема, которую я вижу в объектно-ориентированном проектировании: * Волшебник — это разновидность игрока. Но прежде чем мы углубимся в детали, я просто хочу отметить, что на самом деле я не говорю здесь о чем-то специфичном для жанра фэнтезийных ролевых игр. Всё в этой серии одинаково хорошо применимо к корпоративным приложениями, но о волшебниках и воинах писать интереснее, так что вот. давайте напишем несколько классовhttps://habr.com/ru/post/710748/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710748
rss_habr
Что есть функция в Python?Среда, 11 Января 2023 г. 23:27 (ссылка)
В начале же статьи предупрежу: Эта статья предназначена только для тех людей, которым хочется узнать,чем на самом деле является функция в python....НО! Предупреждаю, я не буду лезть в сурсы питона. Эта статья была создана только для обычных вроде меня программистов. Статья будет состоять из 4 частей: https://habr.com/ru/post/710186/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710186
rss_habr
Web3: пишем небольшой фреймворк для работы со смарт-контрактами на PythonСреда, 11 Января 2023 г. 14:59 (ссылка)
Привет, Хабр! В данной статье изначально планировалось поделиться процессом написания выпускной работы, но что-то пошло не так и, в итоге, по чистой случайности получился фреймворк. Здесь я постараюсь описать основные принципы его работы, поделюсь предпосылками создания и приведу парочку примеров применения. Читать далееhttps://habr.com/ru/post/710084/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710084
rss_habr
Web3: пишем небольшой фреймворк для работы со смарт-контрактами на PythonСреда, 11 Января 2023 г. 14:59 (ссылка)
Привет, Хабр! В данной статье изначально планировалось поделиться процессом написания выпускной работы, но что-то пошло не так и, в итоге, по чистой случайности получился фреймворк. Здесь я постараюсь описать основные принципы его работы, поделюсь предпосылками создания и приведу парочку примеров применения. Читать далееhttps://habr.com/ru/post/710084/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710084
rss_habr
Советы по архитектуре кода для начинающихПонедельник, 09 Января 2023 г. 15:20 (ссылка)
Для кого статья Вы уже написали свои первые 1000 строк кода и сейчас хотите сделать их понятнее, потому что внесение изменений занимает столько-же времени, сколько написать заново, но советы из ООП, SOLID, clean architecture и т.д. непонятны вам. Эта статья - не объяснение принципов ООП, SOLID своими словами, а попытка создать промежуточный уровень между никакой и чистой архитектурами. 100% советы будут накладываться друг на друга и перефразировать SOLID, но так даже лучше. От кого статья Я Middle разработчик. Конечно, не гуру разработки, но кому, как не мне, помнить о проблемах, с которыми сталкивался когда только начинал свой путь. Уверен, каждый пункт из статьи может быть предметом спора, но на то это и вольный пересказ. Вся статья идет под эмблемой "Лучше применить такую архитектуру, чем не применять вообще никакой". Формат статьи - наводящие советы / вопросы. Читать далееhttps://habr.com/ru/post/709670/?utm_source=habrahabr&utm_medium=rss&utm_campaign=709670
rss_habr
Как я написал свой язык и онлайн IDEПятница, 06 Января 2023 г. 20:08 (ссылка)
Здесь онлайн интерпретатор, здесь документация. В сентябре 2020 года я учился на 2 курсе. В том же месяце я впервые написал программу, которая мне понравилась. Она создаёт svg изображения растений, здесь её можно потрогать. Чуть позже я выяснил, что такие программы называют процедурными генераторами. Я увлекся этим, сделал ещё парочку (1, 2). Вот только на них я потратил куда больше времени. Долго работать над одной вещью мне не понравилось, особенно когда идея реализации уже придумана, остаётся лишь написать код. Следовательно, нужно ускорить создание процедурных генераторов. Читать далееhttps://habr.com/ru/post/709300/?utm_source=habrahabr&utm_medium=rss&utm_campaign=709300
rss_habr
Как я написал свой язык и онлайн IDEПятница, 06 Января 2023 г. 20:08 (ссылка)
Здесь онлайн интерпретатор, здесь документация. В сентябре 2020 года я учился на 2 курсе. В том же месяце я впервые написал программу, которая мне понравилась. Она создаёт svg изображения растений, здесь её можно потрогать. Чуть позже я выяснил, что такие программы называют процедурными генераторами. Я увлекся этим, сделал ещё парочку (1, 2). Вот только на них я потратил куда больше времени. Долго работать над одной вещью мне не понравилось, особенно когда идея реализации уже придумана, остаётся лишь написать код. Следовательно, нужно ускорить создание процедурных генераторов. Читать далееhttps://habr.com/ru/post/709300/?utm_source=habrahabr&utm_medium=rss&utm_campaign=709300
rss_habr
[Перевод] 6 Python декораторов, которые значительно упростят ваш кодПятница, 06 Января 2023 г. 16:16 (ссылка)
"Простое лучше сложного". Лучшая функция Python, которая применяет эту философию из "дзен Python", - это декоратор. Декораторы могут помочь вам писать меньше кода для реализации сложной логики и повторно использовать его повсюду. Более того, существует множество замечательных встроенных декораторов Python, которые значительно облегчают нам жизнь, поскольку мы можем просто использовать одну строчку кода для добавления сложных функций к существующим функциям или классам. Болтать не буду. Давайте посмотрим на отобранные мной 6 декораторов, которые покажут вам, насколько элегантен Python. Читать далееhttps://habr.com/ru/post/709280/?utm_source=habrahabr&utm_medium=rss&utm_campaign=709280
rss_habr
[Перевод] Моя любимая функция KotlinПятница, 23 Декабря 2022 г. 15:24 (ссылка)
За последние несколько лет я видел много дискуссий о функциях Kotlin. Среди обсуждаемых тем обнуляемость всегда в первых рядах. Мне она нравится, но это определенно не моя любимая функция. https://habr.com/ru/post/707362/?utm_source=habrahabr&utm_medium=rss&utm_campaign=707362
rss_habr
Возможно вам не нужен AutoMapperЧетверг, 22 Декабря 2022 г. 17:46 (ссылка)
Вы знали, что AutoMapper и MediatR создал один и тот же человек? https://habr.com/ru/post/705296/?utm_source=habrahabr&utm_medium=rss&utm_campaign=705296
|
LiveInternet.Ru |
Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат О проекте: помощь|контакты|разместить рекламу|версия для pda |