Вы когда-нибудь пробовали пользоваться любимым сайтом с закрытыми глазами? Или только одной рукой? А может быть с громко играющей музыкой в наушниках, которая мешает сосредоточиться на интерфейсе? В такие моменты каждый из нас хотя бы отчасти приближается к пониманию того, что испытывают люди с инвалидностью ежедневно.
Рано или поздно любая задача по написанию кода сводится к одному и тому же циклу: собрал проект -> запустил -> прогнал тесты -> поймал проблему -> выдвинул гипотезу -> внёс правки -> и снова по кругу, каждый раз надеясь, что в этот раз «точно всё».
HashMap – наверное, самая используемая коллекция в Java. Мы кладём в неё элементы, достаём, редко задумываясь, что происходит под капотом. И в целом это нормально: класс работает, документация есть, сообщество стабильно советует переопределять equals и hashCode.
Добро пожаловать в заключительную статью нашей серии о языке программирования Go. В ней мы рассмотрим три возможности языка: работу с изображениями через пакет image, обобщения (дженерики) для написания универсального кода и конкурентность — одну из главных «визитных карточек» Go.
В этой заметке кратко рассмотрим, каким образом происходит обнуление иконки с числом непрочитанных уведомлений в iOS приложении. Приведем фрагмент кода, который позволяет убрать все непрочитанные уведомления при входе в приложение
Добрый день!
Сегодня я хочу поговорить о механизме Identity Brokering внутри Keycloak, а точнее о возможности использовать один realm как Identity Provider для другого. Звучит просто, но на практике нюансов хватает, поэтому давайте разберёмся по порядку.
В 60-е и 70-е годы прошлого века, когда компьютерная наука только зарождалась, в ней не было правил. Не было стандартов, догм или «единственно верных» подходов. Были только чистые листы и смелые умы, готовые пробовать всё, что приходило в голову.
Мы часто думаем о дизайне как о красоте, стиле или удобстве. Но на более глубоком уровне эффективный дизайн — это тонкая и мощная форма психологического воздействия. Он не просто украшает интерфейс, он направляет наше внимание, формирует восприятие, упрощает сложное и, в конечном счете, подталкивает нас к определенным решениям — от нажатия на кнопку до совершения покупки.
Интерфейсы — один из элегантных инструментов Go, который позволяет писать гибкий и масштабируемый код. В отличие от многих других языков программирования, Go использует имплицитную (неявную) реализацию интерфейсов, что делает их особенно удобными и гибкими. Если вы когда-нибудь сталкивались с жёсткой типизацией и сложными иерархиями наследования в других языках, интерфейсы Go принесут в вашу жизнь глоток свежего воздуха. В этой статье мы разберёмся с основами интерфейсов, узнаем, как они работают под капотом, и изучим практические примеры, которые помогут вам использовать их в своих проектах.
Swagger давно уже можно назвать своего рода стандартом среди инструментов для документирования и тестирования RESTful API. Тем не менее в каждом решении бывают свои недоработки, баги и проблемы. Одна из проблем - это обработка сложных multipart-запросов, где части тела запроса представлены разными типами. Рассмотрим, в чем суть этих проблем, как починить отправку multipart-запросов из Swagger
В своей практике на работе, если вы захотите проявить инициативу, или просто будете достаточно ответственны, то обязательно встретитесь с необходимостью руководить другими людьми. Cегодня мы поговорим не об управляемых, а об управляющих. Какие бывают стили менеджмента, и как понять, кем вы сами являетесь как руководитель? Для этого используем классификацию PAEI.
Задача по динамическому программированию: «Карьерный путь в Tune-IT»
Условия задачи
В компании Tune-IT программист строит карьеру, зарабатывая славу, деньги и влияние в зависимости от выбранного пути.
Одной из особенностей в Go, которая часто озадачивает разработчиков из других языков программирования, — является отсутствие классов. Однако это не означает, что мы не можем организовать код в объектно-ориентированном стиле. Вместо классов в Go используются методы и структуры. В этой статье мы разберём, как работают методы в Go, в чём различия между методами со значением в качестве получателя и указателем в качестве получателя, а также когда использовать каждый из них.
В этот позднедекабрьский день мы снова возвращаемся к Apache NiFi, чтобы в простой и компактной форме поделиться своим опытом и некоторыми практиками, связанными с организацией потока обработки данных.
В мире стартапов и быстрой разработки часто возникает ситуация: продукт должен быть создан вчера, бюджет ограничен, а в команде нет профессионального дизайнера. Разработчики, менеджеры продуктов, даже основатели вынуждены брать на себя роль дизайнера.
Недавно на работе я столкнулся с задачей, которая на первый взгляд казалась несложной: необходимо было создать API для отправки кастомных уведомлений пользователям портала. В этой статье я покажу, как программно настроить эту систему через REST API и как выглядит сервис отправки.
В современном цифровом мире дизайн давно перестал быть лишь эстетическим дополнением продукта. Это стратегический инструмент, который напрямую влияет на бизнес-показатели, пользовательский опыт и конкурентные преимущества.
В этой статье мы подробно разберем одни из самых фундаментальных аспектов языка Go: указатели, структуры, коллекции данных (массивы и срезы), карты, а также функции как значения и замыкания. Эти концепции являются основой для написания профессионального кода на Go и используются повседневно в разработке веб-приложений, микросервисов и систем обработки данных.
Допустим, что мы используем Apache NiFi и в нашем потоке передачи данных мы встали перед необходимостью реализации сложной логики, требующей вызова дополнительных подзапросов к сторонним API внутри Groovy-скрипта.
Недавно передо мной встала задача сгенерировать Java классы на основе документации, представленной в виде xsd схем. С этим был призван справиться JAXB, а именно его инструмент xjc. Запустить его можно через командную строку, задачу Ant, или через разнообразные maven или gradle плагины.
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями
использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании
файлов cookie, нажмите здесь.