#паттерны — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #паттерны, aggregated by home.social.
-
Зная эти паттерны ты решишь 60% задач на собеседовании
Простые, но мощные паттерны для JavaScript: научитесь выбирать подходящий паттерн перед решением задачи и ускорьте своё решение алгоритмических задач.
https://habr.com/ru/articles/1020222/
#javascript #frontend #алгоритмы #структуры_данных #two_pointers #hashmap #stack #собеседования #собеседования_задачи #паттерны
-
6 часов писать паттерны вручную vs 1 минута с AI-агентом: как мы автоматизировали DSL
Привет, Хабр! На связи Лиза Плюснина — лингвист-разработчик чат-ботов. Я работаю с платформой JAICP — одним из продуктов Just AI для создания голосовых и текстовых ботов. Мы с командой регулярно сталкиваемся с необходимостью написания и тестирования паттернов на специфичном языке JAICP DSL — процесс регулярный, довольно монотонный и отнимает много времени. Когда в компании проходило обучение по AI-агентам, мы воспользовались моментом и решили: хватит это терпеть, пора автоматизировать! Так родилась идея создать AI-агента, который бы взял на себя написание паттернов и автотестов к ним. Рассказываем, как мы это сделали, с какими трудностями столкнулись и что из этого вышло.
https://habr.com/ru/companies/just_ai/articles/1014230/
#lowcode_платформы #нейросети_для_разработчиков #dsl #llm #ai_agents #ai_agent_tutorial #ииагенты #ииагенты_для_разработки #ai #паттерны
-
Паттерны проектирования
Маленькая шпаргалка для тех кто хоче понять что это и как называется. Изначальная цель написания - предоставить заинтересованным лицам краткую справку и возможность более эффективно воспользоваться поисковыми системами. Здесь перечислены как классические паттерны и антипаттерны проектирования от банды четырёх (GoF), так и прочие общепринятые.
https://habr.com/ru/articles/1006094/
#паттерны_проектирования #паттерны #паттерн #разработка #система #проектирование #архитектура #архитектура_приложений #архитектура_систем
-
Чистая архитектура — красивая сказка для собеседований
В процессе поиска работы я изучил множество вакансий, и в подавляющем большинстве среди обязательных требований значились знание паттернов проектирования, принципов SOLID и прочих «столпов» правильной архитектуры. На собеседованиях меня нередко просили не просто рассказать о SOLID, а буквально расшифровать каждую букву и объяснить её смысл. Всё это формирует у кандидата вполне логичное ожидание: раз требования такие высокие, значит и кодовая база у работодателя должна быть аккуратной, продуманной и соответствующей этим принципам. Однако в реальности это часто оказывается иллюзией.
https://habr.com/ru/articles/1005814/
#паттерн #паттерны #паттерны_проектирования #паттерны_программирования
-
Паттерн Memento в Android: полный разбор сохранения состояния
Если вы хоть раз теряли пользовательский ввод после поворота экрана или возвращались к приложению из фона и обнаруживали пустой экран вместо заполненной формы — вы знаете, о чем пойдет речь. Сохранение состояния в Android — одна из тех тем, которые кажутся простыми до первого бага в проде. Система может убить процесс в любой момент, конфигурация меняется, а пользователь ожидает, что все останется на своих местах. В статье о том, как паттерн Memento реализуется в Android через CustomView, SavedStateHandle, Compose и навигацию.
https://habr.com/ru/articles/990568/
#android #kotlin #паттерны #паттерны_проектирования #паттерны_программирования #паттерн #memento #desing_patterns #jetpack_compose #custom_view
-
Паттерн Memento в Android: полный разбор сохранения состояния
Если вы хоть раз теряли пользовательский ввод после поворота экрана или возвращались к приложению из фона и обнаруживали пустой экран вместо заполненной формы — вы знаете, о чем пойдет речь. Сохранение состояния в Android — одна из тех тем, которые кажутся простыми до первого бага в проде. Система может убить процесс в любой момент, конфигурация меняется, а пользователь ожидает, что все останется на своих местах. В статье о том, как паттерн Memento реализуется в Android через CustomView, SavedStateHandle, Compose и навигацию.
https://habr.com/ru/articles/990568/
#android #kotlin #паттерны #паттерны_проектирования #паттерны_программирования #паттерн #memento #desing_patterns #jetpack_compose #custom_view
-
Паттерн Memento в Android: полный разбор сохранения состояния
Если вы хоть раз теряли пользовательский ввод после поворота экрана или возвращались к приложению из фона и обнаруживали пустой экран вместо заполненной формы — вы знаете, о чем пойдет речь. Сохранение состояния в Android — одна из тех тем, которые кажутся простыми до первого бага в проде. Система может убить процесс в любой момент, конфигурация меняется, а пользователь ожидает, что все останется на своих местах. В статье о том, как паттерн Memento реализуется в Android через CustomView, SavedStateHandle, Compose и навигацию.
https://habr.com/ru/articles/990568/
#android #kotlin #паттерны #паттерны_проектирования #паттерны_программирования #паттерн #memento #desing_patterns #jetpack_compose #custom_view
-
Паттерн Memento в Android: полный разбор сохранения состояния
Если вы хоть раз теряли пользовательский ввод после поворота экрана или возвращались к приложению из фона и обнаруживали пустой экран вместо заполненной формы — вы знаете, о чем пойдет речь. Сохранение состояния в Android — одна из тех тем, которые кажутся простыми до первого бага в проде. Система может убить процесс в любой момент, конфигурация меняется, а пользователь ожидает, что все останется на своих местах. В статье о том, как паттерн Memento реализуется в Android через CustomView, SavedStateHandle, Compose и навигацию.
https://habr.com/ru/articles/990568/
#android #kotlin #паттерны #паттерны_проектирования #паттерны_программирования #паттерн #memento #desing_patterns #jetpack_compose #custom_view
-
А вы всегда пьёте коньяк на завтрак или только по выходным?
А вы всегда пьёте коньяк на завтрак или только по выходным? Привет всем, я – Соня, IT HRD. Начинала как QA инженер. Люблю tech и инженеров за то, что помимо работы тут всегда узнаёшь разные крутые понятия и термины полезные не только для работы но и для жизни. За 20 лет работы накопилось много продуктово-инженерных жаргонизмов, пратик, законов и принципов, которые я была бы рада узнать пораньше. Можно прям в старших классах школы вместо ОБЖ.Ниже — мои любимые. Добавляйте в комменты свои. 1. Ложная дихотомия Ложная дилемма, чёрно-белое мышление — это логическая ошибка и манипулятивная тактика, при которой из множества вариантов предлагаются только два (обычно крайних), игнорируя промежуточные или иные альтернативы. Этот приём сужает выбор, вынуждая принять одну сторону, часто ложно представляя одну из альтернатив как приемлемую, а другую — как неприемлемую. Мир не чёрно-белый. Наш коньяк с этой полки. 2. Бритва Оккама Методологический принцип: при наличии нескольких объяснений одного и того же явления нужно выбирать самое простое. Не следует множить сущности, добавлять лишние предположения без необходимости. Не надо усложнять. Оккам, кстати, — английский монах-философ. Считается одним из отцов современной эпистемологии и современной философии в целом, а также одним из величайших логиков всех времён. 3. Игра с ненулевой суммой Ситуация в теории игр, где выигрыш одного участника не обязательно означает равный по модулю проигрыш другого. Сумма результатов (выигрышей и проигрышей) может быть больше или меньше нуля, что позволяет сторонам получить взаимную выгоду (win-win) или совместно проиграть. В играх с нулевой суммой выигрыш одного игрока всегда равен проигрышу другого. Шахматы или шашки: если один победил (+1), второй обязательно проиграл (-1). Сумма: 1 + (-1) = 0.
-
Как работает чистый код
Как работает чистый код? Ниже моё облыжное мнение о том, почему «Чистый код» — чистой воды инфоцыганщина, и почему если вы слышите в аргументации собеседника эти слова — нужно бежать, ведь разговаривать с зомби бессмысленно. Click to reveal the Clean Rant
https://habr.com/ru/articles/983334/
#чистый_код #clean_code #паттерны #парадигмы #идиоматичный_код
-
PostgreSQL Antipatterns? Анализ эффективности замены агрегатной функции MAX на ARRAY
Статья на Хабре "PostgreSQL Antipatterns: отказ от агрегатных функций = кратное ускорение" послужила отправной точкой для данного исследования. После ее изучения возникла гипотеза о возможности значительного повышения производительности PostgreSQL через замену агрегатных функций на конструкции ARRAY.
https://habr.com/ru/articles/971314/
#postgresql #postgresql_performance #статистический_анализ #паттерны #инфраструктура #нагрузочное_тестирование
-
Как скопировать дерево, но не точь-в-точь
На собеседованиях и литкоде любят вращать бинарные деревья. Но что насчёт трансформации обычного дерева в другое? Как решить эту задачу, и какие могут быть подходы? Рассмотрим на опыте трансляции одного синтаксического в другое, чтобы разобраться.
https://habr.com/ru/companies/pvs-studio/articles/967530/
#AST #деревья #паттерны #посетитель #итератор #javascript #java #кодогенерация #статический_анализ #структуры_данных
-
Как скопировать дерево, но не точь-в-точь
На собеседованиях и литкоде любят вращать бинарные деревья. Но что насчёт трансформации обычного дерева в другое? Как решить эту задачу, и какие могут быть подходы? Рассмотрим на опыте трансляции одного синтаксического в другое, чтобы разобраться.
https://habr.com/ru/companies/pvs-studio/articles/967530/
#AST #деревья #паттерны #посетитель #итератор #javascript #java #кодогенерация #статический_анализ #структуры_данных
-
Как скопировать дерево, но не точь-в-точь
На собеседованиях и литкоде любят вращать бинарные деревья. Но что насчёт трансформации обычного дерева в другое? Как решить эту задачу, и какие могут быть подходы? Рассмотрим на опыте трансляции одного синтаксического в другое, чтобы разобраться.
https://habr.com/ru/companies/pvs-studio/articles/967530/
#AST #деревья #паттерны #посетитель #итератор #javascript #java #кодогенерация #статический_анализ #структуры_данных
-
Как скопировать дерево, но не точь-в-точь
На собеседованиях и литкоде любят вращать бинарные деревья. Но что насчёт трансформации обычного дерева в другое? Как решить эту задачу, и какие могут быть подходы? Рассмотрим на опыте трансляции одного синтаксического в другое, чтобы разобраться.
https://habr.com/ru/companies/pvs-studio/articles/967530/
#AST #деревья #паттерны #посетитель #итератор #javascript #java #кодогенерация #статический_анализ #структуры_данных
-
Яндекс, Ozon или Wildberries, что взять за референс при разработке собственного маркетплейса?
На что ориентироваться? Сильные стороны и лучшие пользовательские сценарии с актуальной статистикой за 2025 год. Как микровзаимодействия повышают конверсию в приложениях
https://habr.com/ru/articles/961872/
#маркетплейс #дизайн #дизайн_интерфейсов #интерфейсы #ecommerce #исследования_пользователей #паттерны #ux #мобильные_приложения #дизайн_приложений
-
Паттерны проектирования искусственного сознания и закрытие ТПС: дискретизация, рефлексия и рекурсия пространства-времени
Когда мы говорим о сознании, особенно в контексте искусственного интеллекта, нас неизбежно настигает «трудная проблема сознания» (ТПС), сформированная Дэвидом Чалмерсом: почему и как из физических процессов в мозге возникает субъективный опыт (или квалиа) — ощущение красного, вкус хруста булки, мурашки от музыки? Этот вопрос стал мемом, философским барьером и вызовом для проектирования искусственного интеллекта который, похоже, невозможно преодолеть. При решении этой проблемы философы и специалисты по когнитивным наукам застряли в трёх тупиках:
https://habr.com/ru/articles/937942/
#ии #иимодель #ииинжиниринг #ии_бот #ии_и_машинное_обучение #ии_агенты #машинное+обучение #проектирование #паттерны #паттерны_проектирования
-
Щи: симулятор жестокости» или «Как не надо делать игры»
Данная статья будет полезна начинающим разработчикам игр, да и вообще, любым людям, кто хочет связать свою жизнь с программированием. Я постарался сделать статью интересной и полезной тем, кто не знает программирование, но знание хотя бы основ С++ увеличит удовольствие от статьи.
https://habr.com/ru/articles/933744/
#геймдев #с++ #паттерны #solid #качество_кода #антипаттерны #спагеттикод #ооп #gamedev #юмор
-
Топ 10 паттернов проектирования, которые ты 100% будешь использовать повседневно
В основе каждого надёжного и масштабируемого программного решения лежат хорошо продуманные структуры. Паттерны проектирования — это не просто абстрактные концепции из умных книг, а проверенные временем шаблоны, которые позволяют эффективно решать распространённые задачи, строить гибкие архитектуры и говорить на одном языке с коллегами по цеху. Мы разберём 10 ключевых паттернов проектирования, объясняя их суть, сценарии применения и, конечно, важные нюансы , которые отличают "хорошее" использование от "идеального". Постараюсь объяснить всё максимально понятно, с акцентом на практическую ценность.
https://habr.com/ru/articles/924442/
#patterns #паттерны #backend #backendпрограммирование #backendразработка #алгоритмы #go #python #java #javascript
-
Топ 10 паттернов проектирования, которые ты 100% будешь использовать повседневно
В основе каждого надёжного и масштабируемого программного решения лежат хорошо продуманные структуры. Паттерны проектирования — это не просто абстрактные концепции из умных книг, а проверенные временем шаблоны, которые позволяют эффективно решать распространённые задачи, строить гибкие архитектуры и говорить на одном языке с коллегами по цеху. Мы разберём 10 ключевых паттернов проектирования, объясняя их суть, сценарии применения и, конечно, важные нюансы , которые отличают "хорошее" использование от "идеального". Постараюсь объяснить всё максимально понятно, с акцентом на практическую ценность.
https://habr.com/ru/articles/924442/
#patterns #паттерны #backend #backendпрограммирование #backendразработка #алгоритмы #go #python #java #javascript
-
Топ 10 паттернов проектирования, которые ты 100% будешь использовать повседневно
В основе каждого надёжного и масштабируемого программного решения лежат хорошо продуманные структуры. Паттерны проектирования — это не просто абстрактные концепции из умных книг, а проверенные временем шаблоны, которые позволяют эффективно решать распространённые задачи, строить гибкие архитектуры и говорить на одном языке с коллегами по цеху. Мы разберём 10 ключевых паттернов проектирования, объясняя их суть, сценарии применения и, конечно, важные нюансы , которые отличают "хорошее" использование от "идеального". Постараюсь объяснить всё максимально понятно, с акцентом на практическую ценность.
https://habr.com/ru/articles/924442/
#patterns #паттерны #backend #backendпрограммирование #backendразработка #алгоритмы #go #python #java #javascript
-
Топ 10 паттернов проектирования, которые ты 100% будешь использовать повседневно
В основе каждого надёжного и масштабируемого программного решения лежат хорошо продуманные структуры. Паттерны проектирования — это не просто абстрактные концепции из умных книг, а проверенные временем шаблоны, которые позволяют эффективно решать распространённые задачи, строить гибкие архитектуры и говорить на одном языке с коллегами по цеху. Мы разберём 10 ключевых паттернов проектирования, объясняя их суть, сценарии применения и, конечно, важные нюансы , которые отличают "хорошее" использование от "идеального". Постараюсь объяснить всё максимально понятно, с акцентом на практическую ценность.
https://habr.com/ru/articles/924442/
#patterns #паттерны #backend #backendпрограммирование #backendразработка #алгоритмы #go #python #java #javascript
-
Поведенческие паттерны проектирования в примерах на Swift для самых маленьких
Всем привет! Зачастую чтобы в чем то разобраться полезнее один раз увидеть конкретный пример чем несколько раз прочитать заумное описание.Решил написать ряд небольших статей для начинающих, в которых дать краткое описание основных паттернов проектирования и привести лаконичные примеры их использования. Данная статья, как можно догадаться из названия =), посвящена поведенческим паттернам.
https://habr.com/ru/articles/920532/
#паттерны_проектирования #паттерны #swift #ios #посетитель #цепочка_обязанностей #состояние #стратегия #state #strategy
-
Почему Feature-Sliced Design (FSD) не спасет ваш проект
Каждый разработчик рано или поздно сталкивается с вопросом: как организовать проект так, чтобы он не превратился в хаос? Или как исправить проект, в котором уже царит хаос? Начинается всё одинаково: мы делаем простое MVP или проект с ограниченным функционалом, не заморачиваемся по поводу архитектуры и организации кода, ведь проект небольшой и несложный, а сделать его нужно уже здесь и сейчас. Но время идёт, и у бизнеса появляются всё новые требования. Какие-то изначальные идеи полностью отменяются или меняются до неузнаваемости, разрастается команда, дизайн меняется несколько раз, появляется необходимость покрыть проект тестами, а иногда и необходимость вообще сменить стек технологий. И вот вы уже работаете над кодом, в котором становится всё сложнее вносить изменения в существующий функционал. Всё держится на костылях, становится трудно ориентироваться в куче файлов, и кажется, что всё устроено как-то не так, как должно быть. В этот момент мы начинаем задаваться вопросом: “а как нужно писать и организовывать код на самом деле?”. В поисках ответа мы читаем статьи, смотрим обучающие видео, доклады и неизбежно натыкаемся на Feature-Sliced Design (FSD).
https://habr.com/ru/articles/919316/
#fsd #архитектура #методология #организация_кода #фронтенд #фронтендразработка #паттерны #паттерны_проектирования
-
Как разработчики убивают бизнес
Доброго времени суток! Для начала представлюсь: я бэкенд-разработчик с опытом более 8 лет. Участвовал в разнообразных проектах: в стартапах, в галерах, в крупных корпорациях и в среднем бизнесе. К сожалению, найти идеальную статистику по данной теме не представляется возможным, однако из общения с бывшими коллегами я понимаю, что то, что будет описано ниже, — не только мой личный опыт, но и то, что регулярно происходит в других компаниях. Если вы проджект-менеджер и не поймёте содержание этой статьи, это только подтверждает, что вы не способны контролировать данный процесс, и вас практически наверняка водят за нос. Хотя текст по написанию планировался максимально понятным и наглядным с учётом специфики проблематики. Исходить я буду в своих суждениях сугубо из прагматичной точки отсчёта, измеряя вред программистов там, где очевидно можно определить потерю денег компании. Прежде чем мы приступим к разбору, хочу уточнить, что я прямой апологет бритвы Оккама, и важным правилом в моём подходе является не плодить сущности без необходимости. Если возможно написать сервис в 100 строк — лучше написать так. Потом, если потребуется, его будет несложно переработать под более удачную архитектуру.
https://habr.com/ru/articles/918658/
#архитектуры #паттерны #логирование #документация #менеджмент #собеседования #автотестирование #микросервисы
-
Архитектурный паттерн для централизованной обработки ошибок в хендлерах на Go
В данной статье представлен авторский подход к унификации и централизации механизма обработки ошибок в HTTP-обработчиках веб-сервисов, разработанных на языке Go. Статья подробно рассматривает ограничения традиционных методов обработки ошибок, ведущие к дублированию кода и снижению поддерживаемости. Предлагается новый архитектурный паттерн, включающий использование специализированной сигнатуры функций-обработчиков, кастомного типа ошибки HTTPError для инкапсуляции статуса ответа, сообщения для клиента и внутренней ошибки для логирования, а также Middleware-адаптера для интеграции с фреймворками net/http и Gin. Данный подход демонстрирует повышение читаемости кода, упрощение отладки и обеспечение консистентности ответов API, что представляет собой значимый вклад в практику разработки бэкенд-сервисов на Go.
https://habr.com/ru/articles/914112/
#go #IT #разработка #backend #паттерны #паттерны_проектирования #паттерны_программирования #bestpractices #best_practice #best
-
Паттерны кеширования: проблемы, решения, практические рекомендации
Приложения тормозят. Пользователи уходят. Бизнес недоволен. Знакомая картина? Часто корень зла – медленный доступ к данным. Кеширование может стать спасательным кругом. Но это не серебряная пуля. Неправильно настроенный кеш – источник новых проблем, иногда похуже старых.
-
Проверка теории повторяемости биржевых графиков
Данная статья навеяна мнением о том, что все участки биржевых графиков в прошлом уже повторялись, потому что поведение участников рынка подчиняется типовым сценариям. И если оцифровать все графики, то можно находить похожие участки в текущий момент времени и предполагать, какое движение будет в ближайшее время.
-
RAII 2.0: RAII как архитектурный инструмент в C++
Идиома RAII — давно зарекомендовал себя как удобный способ автоматического управления ресурсами в C++. Обычно мы применяем его для управления памятью, файловыми дескрипторами или мьютексами. Однако что, если расширить понятие RAII до управления не только физическими ресурсами, но и логическими контрактами и состояниями системы? В этой статье я хочу поговорить о том, как RAII можно использовать для контроля жизненного цикла асинхронных операций, транзакций или подписок, гарантируя их корректное завершение или откат до прежнего состояния.
https://habr.com/ru/articles/901092/
#С++ #RAII #Жизненный_цикл #Подписки #Транзакции #Безопасность_кода #управление_ресурсами #паттерны #Логический_контракт
-
Нужно ли «развитие» языкам программирования
TL;DR: Нет. Хорошо спроектированный язык в развитии не нуждается. Попробую объяснить, что меня, человека с тридцатилетним стажем в разработке, свободно пишущем на более дюжины языков, привело к такому абсурдному — на первый взгляд — выводу. Более того, ниже я постараюсь уложиться в нескольких абзацев, чтобы рассказать, какие требования лично я предъявляю языку программирования в 2025 году, и почему этому «идеалу» просто некуда «развиваться». Опять школота против ООП и ФП
-
[Перевод] Важные паттерны в создании продуктов на основе генеративного ИИ
Генеративный искусственный интеллект стремительно меняет подходы к созданию цифровых продуктов, но его внедрение в продакшн сопровождается множеством новых вызовов. От недостоверных ответов и ограничений в знаниях до проблем с эффективностью поиска — разработчики сталкиваются с препятствиями, которых не было в традиционных системах. В этой статье мы разберём ключевые паттерны, которые помогают преодолеть эти сложности: от базового взаимодействия с языковыми моделями и работы с эмбеддингами до Retrieval-Augmented Generation (RAG) и тонкой настройки (Fine-tuning).
https://habr.com/ru/companies/otus/articles/886696/
#машинное_обучение #ml #нейросети #паттерны #genai #rag #тонкая_настройка #эмбеддинги #генеративный_ии
-
Каррируем React-компоненты: функциональные паттерны на фронтенде
Современный React все больше соответствует идеалам функционального программирования. Ежедневно мы пользуемся подходами из мира ФП, зачастую даже не подозревая об этом. Эти паттерны плотно укоренились в сознании фронтенд-разработчиков, делая наш код значительно чище, читаемее и предсказуемее. В этой статье мы применим один из функциональных паттернов в React приложении и посмотрим что из этого выйдет.
https://habr.com/ru/articles/881546/
#react #frontend #typescript #javascript #patterns #functional_programming #фронтенд #реакт #функциональное_программирование #паттерны
-
Паттерны проектирования в Golang
Рассмотрим в этой статье несколько наиболее распространенных паттернов проектирования в Golang, дополнив их практическими примерами. Фасад, Стратегия, Прокси, Адаптер
https://habr.com/ru/articles/875794/
#go #golang #паттерны_проектирования #паттерны #фасад #стратегия #прокси #адаптер
-
Добавить паттерн как у всех или перепроверить в исследовании?
Всем привет! Меня зовут Рита, я занимаюсь продуктовым дизайном в Альфа-Банке. Речь в моей короткой статье пойдёт о привычных дизайн-паттернах для цифровых продуктов, которые дизайнеры могут бездумно добавлять в продукты, но порой они неочевидны для пользователей.
https://habr.com/ru/companies/alfa/articles/875094/
#продуктовый_дизайн #исследования #продукт #паттерны #альфабанк #цифровые_продукты #пользователи #ui #ux
-
10 самых интересных ошибок в Java проектах за 2024 год
В 2024 году мы проверили много проектов, о чём регулярно писали в свой блог. Теперь же настала новогодняя пора, и самое время рассказывать новогодние истории. Вот и мы решили поведать о самых интересных Java ошибках, встреченных нами в Open Source проектах.
https://habr.com/ru/companies/pvs-studio/articles/869920/
#топ10 #опечатки #ошибки #java #opensource #параллельное_программирование #паттерны #тесты #микрооптимизация #pvsstudio
-
SDUI, или Как backend-разработчику почувствовать себя frontend’ером
Вы не стали чаще слышать о таком трендовом явлении, как Server Driven UI? Если вы ещё с ним не сталкивались, то в будущем обязательно столкнётесь. Я, как инженер, познакомилась с таким подходом чуть больше года назад, перейдя в другой проект в Альфа-Банке. И если вы, как и я тогда, задаёте себе вопрос: «Что же это такое творится-то ?», то рекомендую прочитать эту статью, где я на примере нашего нового функционала в приложении для физических лиц расскажу, что это есть на самом деле и как лёгким взмахом волшебной палочки backend-разработчик становится отчасти frontend’ером, реализуя на стороне серверной части не только логику, но и вёрстку всех экранов приложения.
https://habr.com/ru/companies/alfa/articles/866990/
#sdui #kotlin #микросервисная_архитектура #архитектурны #архитектурные_паттерны #архитектурные_шаблоны #serverdriven_ui #паттерны #програмиирование #мультиплатформенная_разработка
-
SDUI, или Как backend-разработчику почувствовать себя frontend’ером
Вы не стали чаще слышать о таком трендовом явлении, как Server Driven UI? Если вы ещё с ним не сталкивались, то в будущем обязательно столкнётесь. Я, как инженер, познакомилась с таким подходом чуть больше года назад, перейдя в другой проект в Альфа-Банке. И если вы, как и я тогда, задаёте себе вопрос: «Что же это такое творится-то ?», то рекомендую прочитать эту статью, где я на примере нашего нового функционала в приложении для физических лиц расскажу, что это есть на самом деле и как лёгким взмахом волшебной палочки backend-разработчик становится отчасти frontend’ером, реализуя на стороне серверной части не только логику, но и вёрстку всех экранов приложения.
https://habr.com/ru/companies/alfa/articles/866990/
#sdui #kotlin #микросервисная_архитектура #архитектурны #архитектурные_паттерны #архитектурные_шаблоны #serverdriven_ui #паттерны #програмиирование #мультиплатформенная_разработка
-
SDUI, или Как backend-разработчику почувствовать себя frontend’ером
Вы не стали чаще слышать о таком трендовом явлении, как Server Driven UI? Если вы ещё с ним не сталкивались, то в будущем обязательно столкнётесь. Я, как инженер, познакомилась с таким подходом чуть больше года назад, перейдя в другой проект в Альфа-Банке. И если вы, как и я тогда, задаёте себе вопрос: «Что же это такое творится-то ?», то рекомендую прочитать эту статью, где я на примере нашего нового функционала в приложении для физических лиц расскажу, что это есть на самом деле и как лёгким взмахом волшебной палочки backend-разработчик становится отчасти frontend’ером, реализуя на стороне серверной части не только логику, но и вёрстку всех экранов приложения.
https://habr.com/ru/companies/alfa/articles/866990/
#sdui #kotlin #микросервисная_архитектура #архитектурны #архитектурные_паттерны #архитектурные_шаблоны #serverdriven_ui #паттерны #програмиирование #мультиплатформенная_разработка
-
SDUI, или Как backend-разработчику почувствовать себя frontend’ером
Вы не стали чаще слышать о таком трендовом явлении, как Server Driven UI? Если вы ещё с ним не сталкивались, то в будущем обязательно столкнётесь. Я, как инженер, познакомилась с таким подходом чуть больше года назад, перейдя в другой проект в Альфа-Банке. И если вы, как и я тогда, задаёте себе вопрос: «Что же это такое творится-то ?», то рекомендую прочитать эту статью, где я на примере нашего нового функционала в приложении для физических лиц расскажу, что это есть на самом деле и как лёгким взмахом волшебной палочки backend-разработчик становится отчасти frontend’ером, реализуя на стороне серверной части не только логику, но и вёрстку всех экранов приложения.
https://habr.com/ru/companies/alfa/articles/866990/
#sdui #kotlin #микросервисная_архитектура #архитектурны #архитектурные_паттерны #архитектурные_шаблоны #serverdriven_ui #паттерны #програмиирование #мультиплатформенная_разработка
-
Пайплайны записи своими руками: думали — велосипед, оказалось — паттерны
Привет, Хабр! Я Роман Щербаков, ведущий инженер в Sage — это платформа мониторинга в Т-Банке, которую мы разрабатываем с 2019 года. За пять лет нагрузка на платформу возросла многократно, и, чтобы ее выдерживать, мы постоянно докручиваем наше решение. В этой статье расшифровка моего доклада с Saint HighLoad++ 2024 о том, как мы строим нагруженные пайплайны записи. И о том, как было бы здорово заранее знать, что нам потребуется. Мы придумали много всего для надежной работы пайплайнов, а посмотрели ретроспективно, и оказалось, что это просто одни сплошные стандартные паттерны.
-
Принципы SOLID на примерах из жизни и разработки
Задача этой статьи только одна - попробовать уложить принципы SOLID на понятных «бытовых» примерах, а уже потом посмотреть, как оно может работать на практике - в коде. Итак, SOLID - это 5 принципов, которые используются при разработке приложений. На каждый принцип по букве: 1. S — Single Responsibility Principle (Принцип единственной ответственности) Определение : Каждый класс должен выполнять только одну задачу. Пример из жизни: Например, мы купили шкаф для одежды.
https://habr.com/ru/articles/849350/
#solid #паттерны_проектирования #паттерны #java #подготовка_к_собеседованиям #подготовка_к_собеседованию #javarush
-
Паттерны левел дизайнеров — часть 1
В контексте дизайна уровней, паттерн это шаблоны, которые часто можно увидеть в локациях своих игр. Существует ряд распространенных паттернов, о которых идет речь ниже.
https://habr.com/ru/articles/848490/
#leveldesign #дизайн_уровней #уровни #локации #туториал #паттерны
-
Паттерны применения многопоточности на коммерческом проекте (на примере Java)
В данной статье я постарался показать паттерны многопоточности, с которыми сталкивался в работе, не затрагивая низкоуровневые механизмы volatile, synchronized, барьеры и др. Список рассмотренных паттернов: - Запуск асинхронного процесса по сигнал - Параллельное выполнение задач без ожидания результата - Ограничение количества потоков для вызова внешнего сервиса - Выполнение Scheduled задач - Параллельное обращение к разным источникам, с последующим объединением результатов - Контекст - Ожидание асинхронного ответа
https://habr.com/ru/articles/838402/
#многопоточность #completablefuture #semaphore #resilience4j #Java #паттерны #кеширование #scheduled #executorservice #async
-
Паттерны применения многопоточности на коммерческом проекте (на примере Java)
В данной статье я постарался показать паттерны многопоточности, с которыми сталкивался в работе, не затрагивая низкоуровневые механизмы volatile, synchronized, барьеры и др. Список рассмотренных паттернов: - Запуск асинхронного процесса по сигнал - Параллельное выполнение задач без ожидания результата - Ограничение количества потоков для вызова внешнего сервиса - Выполнение Scheduled задач - Параллельное обращение к разным источникам, с последующим объединением результатов - Контекст - Ожидание асинхронного ответа
https://habr.com/ru/articles/838402/
#многопоточность #completablefuture #semaphore #resilience4j #Java #паттерны #кеширование #scheduled #executorservice #async
-
Паттерны применения многопоточности на коммерческом проекте (на примере Java)
В данной статье я постарался показать паттерны многопоточности, с которыми сталкивался в работе, не затрагивая низкоуровневые механизмы volatile, synchronized, барьеры и др. Список рассмотренных паттернов: - Запуск асинхронного процесса по сигнал - Параллельное выполнение задач без ожидания результата - Ограничение количества потоков для вызова внешнего сервиса - Выполнение Scheduled задач - Параллельное обращение к разным источникам, с последующим объединением результатов - Контекст - Ожидание асинхронного ответа
https://habr.com/ru/articles/838402/
#многопоточность #completablefuture #semaphore #resilience4j #Java #паттерны #кеширование #scheduled #executorservice #async
-
Паттерн «Интерпретатор»: что такое и как использовать
Привет, хабровчане! Я Дима, Python-разработчик из 21YARD , сервиса поиска строительных подрядчиков. В статье расскажу о паттерне Интерпретатор . Разберемся, когда его использовать, какие концепции лежат в его основе. После используем паттерн, чтобы написать программу для решения математических выражений.
https://habr.com/ru/articles/845524/
#паттерны_проектирования #паттерны #интерпретатор #паттерн_интерпретатор #ооп #лексический_анализ #абстрактное_синтаксическое_дерево #токены
-
Рефакторим легаси при помощи ООП
Спустя годы проекты обрастают тёмными местами, в которые никто не хочет соваться, поскольку их сложно понять и легко сломать. Сегодня мы посмотрим на кейс рефакторинга такого кода с переводом на ООП рельсы при помощи паттернов, причём со стилем (современным).
https://habr.com/ru/companies/pvs-studio/articles/842140/
#стоитель #builder #паттерны #паттерны_проектирования #итератор #net #c# #рефакторинг #проектирование #ооп
-
Methodcentipede
Когда-то в детстве я лежал на кровати и долго разглядывал узоры на старом советском ковре, видя в них животных и фантастические фигуры. Теперь я чаще смотрю на код, но в моем сознании по-прежнему рождаются похожие образы. Как и на ковре, эти образы складываются в повторяющиеся паттерны. Они могут быть как приятными, так и отталкивающими. Сегодня я хочу рассказать вам о таком неприятном паттерне, который встречается в программировании.
-
Архитектура и ООП
Изначально этот материал планировался как урок в PHP-курсе по полиморфизму. Но он, в конце концов, перерос сам урок, и я решил сделать из него отдельную статью. В ней практически ничего PHP-специфичного, поэтому рекомендуется для прочтения всем без исключения. Напомню, что модель классов PHP взята из Java. Наличие интерфейсов и всех сопутствующих элементов очень сильно влияет на способ организации кода в PHP. Этот способ часто отличается от того, как организуется код в JavaScript, Ruby или Python. И ещё больше отличается от таких языков, как Clojure или Elixir. И всё это на фоне того, что в каждом из этих языков есть ООП. ООП в этих языках настолько разное, что PHP-программисты, попадающие в Ruby или JavaScript, не понимают, как так можно писать, ведь многие подходы противоречат их представлениям о мире. То же самое происходит и в обратной ситуации. Так где же правда? Правда в том, что есть вещи, которые действительно определяют архитектуру кода. И это не структура классов, не наличие интерфейсов и не использование полиморфизма. Возьмём тот же MVC. В нём говорится о слоях, об их задачах (зонах ответственности) и способе взаимодействия друг с другом. Это крайне важно для модульности. В модульной системе отсутствуют циклические зависимости. В MVC ничего не говорится про классы и ООП в целом, потому что между этими понятиями нет связи. Реализовать MVC можно в любом языке общего назначения, каким бы он ни был. То же самое можно сказать обо всех других архитектурных шаблонах. Архитектура опирается на особенности среды, в рамках которой она применяется, а не на конструкции языка. Например, в вебе господствует HTTP, который построен вокруг концепции "запрос-ответ". Именно поэтому микрофреймворки разных языков выглядят так похоже, независимо от того, есть там ООП или нет: в каждом микрофреймворке есть запрос, ответ и обработчик ответа. Подробнее о разработке я пишу в своем телеграм-канале организованное программирование . Присоединяйтесь если статья понравилась :)
https://habr.com/ru/articles/833968/
#ооп #фп #чистый_код #архитектура #паттерны #проектирование #хекслет #за_php #эрланг_ван_лав
-
Архитектура и ООП
Изначально этот материал планировался как урок в PHP-курсе по полиморфизму. Но он, в конце концов, перерос сам урок, и я решил сделать из него отдельную статью. В ней практически ничего PHP-специфичного, поэтому рекомендуется для прочтения всем без исключения. Напомню, что модель классов PHP взята из Java. Наличие интерфейсов и всех сопутствующих элементов очень сильно влияет на способ организации кода в PHP. Этот способ часто отличается от того, как организуется код в JavaScript, Ruby или Python. И ещё больше отличается от таких языков, как Clojure или Elixir. И всё это на фоне того, что в каждом из этих языков есть ООП. ООП в этих языках настолько разное, что PHP-программисты, попадающие в Ruby или JavaScript, не понимают, как так можно писать, ведь многие подходы противоречат их представлениям о мире. То же самое происходит и в обратной ситуации. Так где же правда? Правда в том, что есть вещи, которые действительно определяют архитектуру кода. И это не структура классов, не наличие интерфейсов и не использование полиморфизма. Возьмём тот же MVC. В нём говорится о слоях, об их задачах (зонах ответственности) и способе взаимодействия друг с другом. Это крайне важно для модульности. В модульной системе отсутствуют циклические зависимости. В MVC ничего не говорится про классы и ООП в целом, потому что между этими понятиями нет связи. Реализовать MVC можно в любом языке общего назначения, каким бы он ни был. То же самое можно сказать обо всех других архитектурных шаблонах. Архитектура опирается на особенности среды, в рамках которой она применяется, а не на конструкции языка. Например, в вебе господствует HTTP, который построен вокруг концепции "запрос-ответ". Именно поэтому микрофреймворки разных языков выглядят так похоже, независимо от того, есть там ООП или нет: в каждом микрофреймворке есть запрос, ответ и обработчик ответа. Подробнее о разработке я пишу в своем телеграм-канале организованное программирование . Присоединяйтесь если статья понравилась :)
https://habr.com/ru/articles/833968/
#ооп #фп #чистый_код #архитектура #паттерны #проектирование #хекслет #за_php #эрланг_ван_лав