Случайны выбор дневника Раскрыть/свернуть полный список возможностей


Найдено 1985 сообщений
Cообщения с меткой

ооп - Самое интересное в блогах

«  Предыдущие 30 Следующие 30  »
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

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
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

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Разбираем шаблоны проектирования

Вторник, 31 Января 2023 г. 18:27 (ссылка)

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

Для ускорения проектирования и последующей разработки приложений придумали шаблоны проектирования. По сути, шаблоны проектирования это проверенные и готовые к использованию решения регулярно возникающих в повседневном программировании задач. То есть, это повторяемая архитектурная конструкция, представляющая собой решение проблемы проектирования в рамках некоторого часто возникающего контекста.

Представленный в статье материал предполагает знакомство читателя с основами объектно-ориентированного программирования.

Читать далее

https://habr.com/ru/post/713728/?utm_source=habrahabr&utm_medium=rss&utm_campaign=713728

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Что такое «инженерия» с точки зрения программиста?

Пятница, 20 Января 2023 г. 15:27 (ссылка)

imageМне никогда не приходило в голову считать себя инженером-программистом, так как я не занимался ничем, что считал бы связанным с «инженерией».



Например, я поражён, каких успехов добилась компания SpaceX в разработке корабля StarShip: это полноценный многоразовый космический корабль, предназначенный в конечном итоге для того, чтобы позволить людям жить на других планетах. Эти наполеоновские планы наконец-то позволяют попытаться сконструировать достаточно мощные двигатели, крепкие и при этом достаточно лёгкие структуры, а также компьютерные системы управления, имеющие должную эффективность. Я уже не говорю об инфраструктуре, процессах, новых уровнях логистики и всём прочем, что необходимо для представления о такой масштабной задаче.



Самое интересное, что сегодня можно наблюдать вживую – на YouTube – как люди всему этому учатся. В самом деле, это конструкторский экшен: эксперименты, исследования, провалы и успехи. Большинство инженеров даже не рассчитывает, что дело будет с первого раза сделано верно. Если вы с самого первого раза всё делаете правильно – то не учитесь, а просто сразу осуществляете задуманное. Читать дальше →

https://habr.com/ru/post/711826/?utm_source=habrahabr&utm_medium=rss&utm_campaign=711826

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Воины и волшебники, часть пятая, финал

Пятница, 20 Января 2023 г. 10:07 (ссылка)

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

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

В третьем и четвертом эпизодах этой серии мы увидели, что также было трудно понять как вызвать правильный код для обработки различных конкретных правил, а также куда поместить этот код. Даже если оставить в стороне проблемы с очень многословным и сложным шаблоном посетителя и опасным шаблоном динамического вызова, у нас все еще есть фундаментальная проблема: почему «Паладин в церкви атакует оборотня с мечом» является ответственностью одного из этих типов, а не другого?

Читать далее

https://habr.com/ru/post/711500/?utm_source=habrahabr&utm_medium=rss&utm_campaign=711500

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Воины и волшебники, часть четвертая

Четверг, 19 Января 2023 г. 10:32 (ссылка)

В прошлой статье мы увидели что для одинарной диспетчеризации, то есть выбора метода по типу времени выполнения одного аргумента, мы можем использовать виртуальные методы. Для двойной диспетчеризации мы можем использовать шаблон проектирования с неподходящим названием "Посетитель". Он работает, но имеет недостатки. Он тяжеловесный, сложный для понимания и плохо расширяется для множественной диспетчеризации.

Прошлый раз я сказал, что C# не поддерживает двойную диспетчеризацию. Это была наглая ложь! На самом деле C# поддерживает множественную диспетчеризацию. Вы можете выбрать метод на основании типа времен выполнения любого количества аргументов.

Читать далее

https://habr.com/ru/post/711132/?utm_source=habrahabr&utm_medium=rss&utm_campaign=711132

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Воины и волшебники, часть третья

Среда, 18 Января 2023 г. 10:37 (ссылка)

Итак, давайте отвлечемся на несколько эпизодов. Мы временно оставим в стороне проблему того, как мы можем иметь и Игрока с Оружием, и Волшебника с Посохом (или Кинжалом). Предположим, что мы можем все это представить в виде типов.

У нас есть еще одна проблема. Предположим, у нас также есть классы Оборотней и Вампиров, которые являются разновидностью Монстров. Нам нужно правило, которое гласит, что если Воин попытается ударить Оборотня после полуночи, то вероятность успеха будет снижена. (У волшебников нет такого штрафа, потому что… магия?)

Подождите минутку — разве текущий момент времени это не после полуночи всегда? Короче, когда можно безопасно кормить могваев? Хотя это увлекательная проблема, я уверен, что это не та проблема, о которой я хочу говорить сегодня.

Читать далее

https://habr.com/ru/post/710754/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710754

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Воины и волшебники, часть вторая

Вторник, 17 Января 2023 г. 11:19 (ссылка)

В этой серии мы исследуем проблему «игрок может использовать оружие, волшебник — разновидность игрока, посох — разновидность оружия, а волшебник может использовать только посох». Лучшее решение, которое мы придумали до сих пор — выдать нарушение преобразования типа во время выполнения, если разработчик допустил ошибку. Это не кажется оптимальным решением.

(Если вы не читали первую статью серии, то обязательно начните с нее)

создадим решение лучше

https://habr.com/ru/post/710752/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710752

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Воины и волшебники, часть первая

Понедельник, 16 Января 2023 г. 12:10 (ссылка)

Распространенная проблема, которую я вижу в объектно-ориентированном проектировании:

* Волшебник — это разновидность игрока.
* Воин — это разновидность игрока.
* У игрока есть оружие.
* Посох — это разновидность оружия.
* Меч — это разновидность оружия.

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

давайте напишем несколько классов

https://habr.com/ru/post/710748/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710748

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Что есть функция в Python?

Среда, 11 Января 2023 г. 23:27 (ссылка)

В начале же статьи предупрежу:

Эта статья предназначена только для тех людей, которым хочется узнать,чем на самом деле является функция в python....НО! Предупреждаю, я не буду лезть в сурсы питона. Эта статья была создана только для обычных вроде меня программистов.

Статья будет состоять из 4 частей:

1. Как осуществляется поиск атрибутов в классах
2. Что есть метод и как он вызывается
3. Что есть функция и как она вызывается
4. Вывод

Читать далее...

https://habr.com/ru/post/710186/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710186

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Web3: пишем небольшой фреймворк для работы со смарт-контрактами на Python

Среда, 11 Января 2023 г. 14:59 (ссылка)

Привет, Хабр! В данной статье изначально планировалось поделиться процессом написания выпускной работы, но что-то пошло не так и, в итоге, по чистой случайности получился фреймворк. Здесь я постараюсь описать основные принципы его работы, поделюсь предпосылками создания и приведу парочку примеров применения.

Читать далее

https://habr.com/ru/post/710084/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710084

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Web3: пишем небольшой фреймворк для работы со смарт-контрактами на Python

Среда, 11 Января 2023 г. 14:59 (ссылка)

Привет, Хабр! В данной статье изначально планировалось поделиться процессом написания выпускной работы, но что-то пошло не так и, в итоге, по чистой случайности получился фреймворк. Здесь я постараюсь описать основные принципы его работы, поделюсь предпосылками создания и приведу парочку примеров применения.

Читать далее

https://habr.com/ru/post/710084/?utm_source=habrahabr&utm_medium=rss&utm_campaign=710084

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
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

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
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

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
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

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
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

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

[Перевод] Моя любимая функция Kotlin

Пятница, 23 Декабря 2022 г. 15:24 (ссылка)

За последние несколько лет я видел много дискуссий о функциях Kotlin. Среди обсуждаемых тем обнуляемость всегда в первых рядах. Мне она нравится, но это определенно не моя любимая функция.



Больше всего в Kotlin мне нравятся некоторые мелкие особенности, благодаря которым язык становится очень элегантным. Например, смарт-кастинг (контракты), приостановка, функции приемника/расширения и делегирование.



Но на данный момент моей любимой особенностью является сочетание функций inline и suspend. Читать дальше →

https://habr.com/ru/post/707362/?utm_source=habrahabr&utm_medium=rss&utm_campaign=707362

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество
rss_habr

Возможно вам не нужен AutoMapper

Четверг, 22 Декабря 2022 г. 17:46 (ссылка)

Вы знали, что AutoMapper и MediatR создал один и тот же человек?

Джимми Богард создал две крайне обсуждаемые и спорные темы в .NET разработке. Если с MediatR уже разобрались, то c AutoMapper также хотелось бы расставить все точки над "ё".

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

Читать далее

https://habr.com/ru/post/705296/?utm_source=habrahabr&utm_medium=rss&utm_campaign=705296

Метки:   Комментарии (0)КомментироватьВ цитатник или сообщество

«  Предыдущие 30 Следующие 30  »

<ооп - Самое интересное в блогах

Страницы: 1 2 [3] 4 5 ..
.. 10

LiveInternet.Ru Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат
О проекте: помощь|контакты|разместить рекламу|версия для pda