|
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
Возможно вам не нужен AutoMapperЧетверг, 22 Декабря 2022 г. 17:46 (ссылка)
Вы знали, что AutoMapper и MediatR создал один и тот же человек? https://habr.com/ru/post/705296/?utm_source=habrahabr&utm_medium=rss&utm_campaign=705296
rss_habr
Использование slots | PythonСуббота, 03 Сентября 2022 г. 16:34 (ссылка)
Когда мы создаем объекты для классов, требуется память, а атрибут хранится в виде словаря (в dict). В случае, если нам нужно выделить тысячи объектов, это займет достаточно много места в памяти. К счастью, есть выход — слоты, они обеспечивают специальный механизм уменьшения размера объектов. Это концепция оптимизации памяти на объектах. Также, использование слотов позволяет нам ускорить доступ к атрибутам. Читать далееhttps://habr.com/ru/post/686220/?utm_source=habrahabr&utm_medium=rss&utm_campaign=686220
rss_habr
Пишем свой Validation API для Spring Boot приложенияПонедельник, 11 Июля 2022 г. 12:00 (ссылка)
Добрый день, уважаемый читатель Хабра! Меня зовут Вартанян Артур и я работаю в компании Reksoft Java-разработчиком. В данной статье мы напишем свой собственный вариант реализации валидации для объектов и его полей, используя Java Reflection Api и Spring AOP. Читать далееhttps://habr.com/ru/post/675902/?utm_source=habrahabr&utm_medium=rss&utm_campaign=675902
rss_habr
[Перевод] Fluent Generics in C#Четверг, 07 Июля 2022 г. 16:00 (ссылка)
Дженерики - мощная фича доступная во многих статически типизированных языках программирования. С их помощью можно писать код, который постоянно работает со множеством разных типов, делая упор на их общие особенности, нежели на сами типы. Они позволяют создавать гибкие и переиспользуемые компоненты без нужды в дублировании кода и жертвы безопасности типов. Несмотря на то, что дженерики давно в C#, мне всё же удаётся найти новые интересные способы их применения. Например, в одной из моих предыдущих статей я написал об уловке, позволяющей добиться return type inference, что может облегчить работу с контейнерными union types. Недавно, мне также довелось работать над кодом, использующим дженерики. Тогда передо мной встала нетипичная задача: было необходимо определить сигнатуру, где все типовые параметры опциональны и могут использоваться друг с другом в произвольных комбинациях. Первая попытка подступиться к решению заключалась в манипуляциях с перегрузками типов, однако такой подход оказался довольно непрактичным и не увлекательным. После нескольких экспериментов, я нашёл способ решить проблему элегантно, используя подход схожий с паттерном проектирования fluent interface, который был применён не к объектам, а к типам. Мой подход предлагает domain-specific language, который позволяет разработчику построить нужный тип за несколько логических шагов, последовательно его "конфигурируя". В данной статье я расскажу, что из себя представляет этот подход и как его можно использовать для того, чтобы сложные обобщённые типы писать просто. Читать далееhttps://habr.com/ru/post/666244/?utm_source=habrahabr&utm_medium=rss&utm_campaign=666244
rss_habr
Взгляд тестировщика на SOLIDЧетверг, 30 Июня 2022 г. 19:27 (ссылка)
Привет, Хабр! Меня зовут Оля, и я старший инженер по тестированию в Lineate. Хочу рассказать о своей попытке осознать SOLID принципы и понять, где их место в автоматизированном тестировании. Сегодня можно найти тысячи статей о SOLID. Только на Хабре их как минимум пара десятков. Эту я пишу по двум причинам: за время изучения не видела материала, в котором бы все принципы SOLID раскрывались на сквозном примере, и в сети нашла минимум информации про применение SOLID в автоматизации тестирования. Соответственно, этот материал состоит из двух частей: - в первой возьмем простое приложение на Java и улучшим его с помощью SOLID принципов - от программы с парой классов, которые делают все подряд, дойдем до приложения, разбитого на несколько модулей с конкретными функциями (да, это еще одно объяснение SOLID - смело пропускайте, если уже и так представляете о чем это); - во второй части посмотрим, где во фреймворках автоматизированного тестирования может использоваться SOLID. Читать далееhttps://habr.com/ru/post/674144/?utm_source=habrahabr&utm_medium=rss&utm_campaign=674144
rss_habr
[Перевод] Simulating Return Type Inference in C#Вторник, 28 Июня 2022 г. 20:00 (ссылка)
Мне по-настоящему нравиться больше чего-либо в разработке ПО делать фреймворки, позволяющие другим разработчикам создавать что-то крутое. Иногда, в погоне за идеальным кодом, ко мне на ум приходят странные идеи, при реализации который C# может дойти до предела своих возможностей. Не так давно произошёл подобный случай, когда мы вместе с коллегой искали способ избежать передачи большого количества типовых параметров в тех местах, где компилятор должен был по идее их вывести. Однако, C# так устроен, что способен выводить типы в обобщённых вызовах только из передаваемых параметров метода. В этой статье покажу небольшой трюк, который позволит симулировать вывод типов для возвращаемых значений, и немного примеров, где это может быть полезно. Читать далееhttps://habr.com/ru/post/673448/?utm_source=habrahabr&utm_medium=rss&utm_campaign=673448
rss_habr
[Перевод] Знакомство с ООП на примере JavaScriptВоскресенье, 15 Мая 2022 г. 13:00 (ссылка)
https://habr.com/ru/post/665290/?utm_source=habrahabr&utm_medium=rss&utm_campaign=665290
rss_habr
[Перевод - recovery mode ] Дизайн шахматной игрыСуббота, 09 Апреля 2022 г. 21:18 (ссылка)
Перевод с английского с адаптацией Ссылки на оригинал: Уровень сложности: Сложный Постановка задачи: На вопрос: Adobe, Amazon, Microsoft и т. д. Решение: Примечание автора перевода: Далее в тексте: Прим. - примечание автора перевода. *«Читать далее» Основными классами будут: Читать далееhttps://habr.com/ru/post/660003/?utm_source=habrahabr&utm_medium=rss&utm_campaign=660003
|
LiveInternet.Ru |
Ссылки: на главную|почта|знакомства|одноклассники|фото|открытки|тесты|чат О проекте: помощь|контакты|разместить рекламу|версия для pda |