Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

12 неочевидных правил проектирования REST API

Уровень сложностиСредний
Время на прочтение10 мин
Количество просмотров24K

Раскрываем 12 кейсов проектирования спецификации REST API из практики red_mad_robot, которые помогут сэкономить время для разработки. А также объясняем, почему стоит следовать подходу contract first — писать спецификацию прежде кода.

Читать далее
Всего голосов 12: ↑9 и ↓3+10
Комментарии16

8 вещей, о которых забывают разработчики при переносе приложения в Kubernetes

Время на прочтение11 мин
Количество просмотров15K

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

Наш субъективный список — под катом. Пополните его своими рекомендациями в комментариях!
Читать дальше →
Всего голосов 59: ↑57 и ↓2+72
Комментарии2

Spring Boot. Настройка профилирования времени выполнения

Уровень сложностиПростой
Время на прочтение9 мин
Количество просмотров6.5K

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

Т.к. речь шла о сервисе, который был написан довольно давно, и в него многие месяцы не вносились изменения, повинуясь принципу “работает - не трогай”, я решил постараться сделать это, не прикасаясь к самому коду сервиса.

Читать далее
Всего голосов 6: ↑5 и ↓1+5
Комментарии13

Java и низкая задержка

Время на прочтение8 мин
Количество просмотров8.9K
Источник

Я уже сбился со счёта, сколько раз мне говорили, что Java — неподходящий язык для разработки приложений, основным требованием к которым является высокая производительность. Обычно первым делом я прошу уточнить, что подразумевается под словом «производительность», поскольку две самые популярные метрики — пропускная способность и задержка — иногда конфликтуют друг с другом, а способы оптимизации одной из них существенно ухудшают вторую.

Существуют методики разработки Java-приложений, которые соответствуют требованиям к производительности (или даже превосходят их) приложений, созданных на языках, традиционно применяемых для этой цели. Однако даже этого может быть недостаточно, чтобы обеспечить наилучшую производительность с точки зрения задержек. Java-приложениям по-прежнему приходится полагаться на операционную систему в вопросе предоставления доступа к оборудованию. Обычно чувствительные к задержке приложения (часто называемые «приложениями реального времени») лучше всего работают, когда имеют практически прямой доступ к оборудованию, то же самое относится и к Java. В этой статье я познакомлю вас с методиками, которые можно применять, когда мы хотим, чтобы приложения максимально эффективно задействовали системные ресурсы.
Читать дальше →
Всего голосов 35: ↑31 и ↓4+39
Комментарии29

Как устроено электронное голосование простым языком и в рисунках

Время на прочтение4 мин
Количество просмотров24K

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

Читать далее
Всего голосов 83: ↑78 и ↓5+91
Комментарии42

Разбираемся в Apache Kafka: подборка полезных статей и кейсов

Время на прочтение3 мин
Количество просмотров16K

Разрабатываете приложения с применением Apache Kafka? Мы собрали для вас статьи, которые помогут освоить инструмент, познакомят с рабочими кейсами с использованием ПО. Делимся пользой и свежими идеями, подборками книг и реализованными задумками.

Читать далее
Всего голосов 12: ↑11 и ↓1+11
Комментарии1

Алгоритмы для веб-разработчиков простыми словами

Время на прочтение6 мин
Количество просмотров48K

Здравствуйте, друзья! Данным постом мы открываем цикл статей об алгоритмах и структурах данных.

В этой статье мы поговорим о том, зачем вообще их нужно знать веб-разработчикам, и затронем тему оценки сложности алгоритмов и Big O нотации.

Зачем мне алгоритмы? Я фронтендер!

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

С одной стороны, знание алгоритмов и структур данных действительно напрямую не пригодится вам в практической работе. Но с другой стороны, существует одна весомая причина инвестировать немного своего времени в их изучение: знание алгоритмов и структур данных сделает вас лучше как разработчика.

Многие веб-разработчики на таких форумах, как Reddit и Stack Overflow, отмечали, что, освоив даже на базовом уровне эти фундаментальные основы программирования, чувствовали себя увереннее, профессиональнее и писали более чистый и структурированный код.

Также это помогло им прокачать главный скилл разработчика – умение логически думать и решать сложные технические задачи.

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

Ведь они ищут лучших из лучших, и знание алгоритмов как раз делает вас лучше как разработчика. Тем более, лучше инвестировать свое свободное время в новые знания и навыки, чем в сериалы на Netflix.

И на этой прекрасной ноте давайте перейдем к основной теме статьи.

Читать далее
Всего голосов 23: ↑19 и ↓4+19
Комментарии25

Разбираемся с концепцией аутентификации в HTTP

Время на прочтение20 мин
Количество просмотров39K

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

Хотелось создать статью, которая поэтапно раскроет базовые концепции аутентификации и авторизации на практике, после чего можно применять эти знания, чтобы реализовать свою кастомную аутентификацию и примерно понимать, как она работает в очередном пакете для django-rest-framework, flask или fastapi. А вообще в целом эти концептуальные знания должны пригодиться(надеюсь) и для реализации аутентификации в других экосистемах. В статье есть упрощения, код для учебных целей.

Читать далее
Всего голосов 21: ↑19 и ↓2+19
Комментарии4

Копнём поглубже: сравниваем популярные алгоритмы оптимизации с менее известными

Время на прочтение7 мин
Количество просмотров12K


Привет, Хабр! Меня зовут Мария Белялова, и я занимаюсь data science в мобильном фоторедакторе Prequel.

Эта статья открывает наш цикл материалов со сравнением алгоритмов оптимизации для обучения нейросетей. Помимо классических методов, которые давно зарекомендовали себя, мы рассмотрим и менее известные методы, и совсем новые: например, алгоритм MADGRAD, разработанный в Facebook в этом году. В первой статье мы сравним поведение алгоритмов на тестовых функциях, во второй — посмотрим, как они ведут себя на игрушечной задаче по распознаванию цифр из датасета MNIST, а в третьей — проверим эти алгоритмы в бою на реальной задаче из продакшена.
Читать дальше →
Всего голосов 15: ↑15 и ↓0+15
Комментарии10

Собеседование Backend-Java-разработчика: вопросы и где искать ответы. Часть 2

Время на прочтение30 мин
Количество просмотров80K

Публикую продолжение сборника вопросов-ответов с собеседований на Backend-Java-разработчика. В первой части мы прошлись по Java и Spring. А в этой поговрим о Hibernate, базах данных, паттернах и практиках разработки, об одной популярной библиотеке, поддержке и сопровождении наших приложений, а также посмотрим на альтернативные шпаргалки и подведём итоги.

Потопали
Всего голосов 15: ↑12 и ↓3+15
Комментарии14

Hibernate и Spring Boot: кто отвечает за имена таблиц?

Время на прочтение5 мин
Количество просмотров9K

Когда мы добавляем зависимость в проект, мы подписываем контракт. Зачастую, многие условия в нем «написаны мелким шрифтом». В этой статье мы рассмотрим кое-что, что легко  пропустить при подписании трехстороннего контракта между вами, Hibernate и Spring Boot. Речь пойдет о стратегиях именования.

Читать далее
Всего голосов 15: ↑14 и ↓1+15
Комментарии2

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность