Как стать автором
Поиск
Написать публикацию
Обновить
26
0
Максым Атыгаев @atygaev

Java Backend Developer

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

200 — это хорошо или это плохо?

Время на прочтение2 мин
Количество просмотров62K
В этой трехминутной статье я хочу затронуть наболевшую тему.

Речь пойдет о статус коде HTTP 200 и ошибках в ответе.

HTTP/1.1 200 OK

{
  "error": {
    code: 2019,
    message: "Validation failed: field 'size' is invalid: the value is not a number"
  }
}

Нормально ли возвращать такой код, если возникла ошибка?

Нет? Да? Ну-ка давайте разберемся.

whaaat

Случай 1. HTTP 200 и batch операция


Допустим отправляется один запрос. Запрос выполняется успешно. Возвращаем код 200. Ответ не содержит информации об ошибке. С этим случаем всё предельно просто и понятно. А что делать если требуется выполнить batch операцию?
Давай разберемся

Предбольничный хотфикс или “Эй, Swagger! А где мои ошибки”?

Время на прочтение6 мин
Количество просмотров4.9K
Случалось ли вам налажать во время хотфикса в мастер? Нет?! А вот мне удалось!

Эта история о том, как я забыл обновить документацию. Как в итоге, написал плагин для Swagger (со второго раза). И как увлекся этим так, что забыл про свой больничный и пошел на поправку!


А еще немного про Optional не из Java 8.
История провала и успеха

10 интересных нововведений в JUnit 5

Время на прочтение7 мин
Количество просмотров75K
В минувшее воскресенье Sam Brannen анонсировал выход JUnit 5! Ура!


Поздравляю всех участников @JUnitTeam а также всех, кто использует JUnit в своей работе! Давайте посмотрим, что же нам приготовили в этом релизе.
Посмотрим

DeclarativeCOS — Декларативное программирование на Caché

Время на прочтение5 мин
Количество просмотров2.6K
Проект DeclarativeCOS — крик души по теме программирования на COS.

Цель проекта — обратить внимание сообщества к улучшению внутреннего ядра COS.

Идея проекта — поддержка лаконичного синтаксиса при работе с циклами и коллекциями.

image

Итак, что же лаконичного я придумал? Добро пожаловать в примеры!
Читать дальше →

MonCaché — реализация MongoDB API на основе InterSystems Caché

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

ИДЕЯ


Идея проекта — попробовать реализовать базовые функции MongoDB API для поиска, сохранения, обновления и удаления документов так, чтобы можно было бы не меняя клиентский код вместо MongoDB использовать InterSystems Caché.

МОТИВАЦИЯ


Возможно, если взять интерфейс MongoDB и в качестве хранилища данных использовать InterSystems Caché, то можно получить некоторый выигрыш в производительности.

Ну, а почему бы и нет?! ¯\_(ツ)_/¯
Читать дальше →

NSNJSON. 道 (Заключительная статья)

Время на прочтение4 мин
Количество просмотров6.9K
道 — путь. В этой заключительной статье о формате NSNJSON я хочу рассказать о моем пути, который привел меня к изобретению этого формата.

В комментариях к моим прошлым статьям («Усложнённый упрощённый JSON» и «JSON для любителей скобочек») неоднократно прозвучали вопросы о смысле, сложности, удобности и применимости этого формата. Итак, спешу поздравить всех неравнодушных — Вы дождались!


Читать дальше →

Не COSим от разработки на Caché

Время на прочтение6 мин
Количество просмотров5K
Привет! Я учусь в одном из лучших вузов нашей страны. Я учусь в НГУ (Новосибирский Государственный Университет)!



В октябре 2015 года компания InterSystems в рамках академической программы провела два обучающих курса по технологиям InterSystems Caché:
— «Ensemble. Разработка»,
— «DeepSee. Основы».

Ранее, весной 2015, мы прошли еще один обучающий курс от InterSystems:
— «Разработка приложений в объектно-реляционной среде».

Какие трудности возникли у нас, как у начинающих Cache ObjectScript разработчиков и о том, как мы их решили, я и буду рассказывать в этой статье. Надеюсь, данный материал может пригодиться и другим начинающим COS-разработчикам! Я хочу показать, что программирование на Caché ObjectScript это совсем не страшно, а иногда даже удобно! (Осторожно, много картинок)
Читать дальше →

JSON для любителей скобочек

Время на прочтение6 мин
Количество просмотров15K
Продолжая тему «Ненормальное программирование и JSON» меня посетила еще одна мысль об еще одном представлении JSON данных.

В своей прошлой статье «Усложнённый упрощённый JSON» я уже рассказал о формате NSNJSON, который позволяет представить любые JSON данные с помощью всего 4 JSON типов: number, string, array, object.

На этот раз я расскажу о способе представления любых JSON данных с помощью всего 3 типов: number, string, array.


Читать дальше →

Усложнённый упрощённый JSON

Время на прочтение7 мин
Количество просмотров16K
Есть такой известный и весьма простой текстовый формат JSON.

JSON формат определяет следующие типы: null, boolean (true, false), number, string, array, object.

А что, если поставить задачу о представлении любых JSON данных с помощью всего 4 типов: number, string, array, object?



Добро пожаловать в ненормальное программирование!
Гость программы: NSNJSON (Not So Normal JSON)!
Читать дальше →

Декларативная разработка на Caché

Время на прочтение3 мин
Количество просмотров3.6K
    В Caché есть несколько различных способов пройтись по коллекции и выполнить какие-нибудь действия с ее элементами. Самым простым является while-цикл. Такой способ позволяет решить поставленную задачу в императивном стиле. Разработчику приходиться явно заботиться об итераторе, о переходе к следующему элементу и о проверке выхода за пределы коллекции.
    Но разве это то, о чем должен заботиться разработчик?! Разработчик должен решать поставленную перед ним задачу, за максимально короткое время с максимально хорошим качеством кода. Было бы очень здорово просто взять коллекцию и применить к ней функцию, которая выполняет необходимые действия на каждом элементе этой коллекции. Не проверять границ, не создавать итератор, не вызывать вручную функцию на каждом элементе. Такой способ решения задач называется декларативным программированием.
Declarative programming is when you write your code in such a way that it describes what you want to do, and not how you want to do it.
(c) 1800-information
Давайте подумаем, как же решить поставленную задачу декларативно, используя средства и возможности Caché.
Читать дальше →

OMG Scala is a complex language!

Время на прочтение5 мин
Количество просмотров19K
Я постоянно замечаю, что «О, святые небеса, Scala — это сложно!». Знаете, возможно это правда. Давайте попробуем посмотреть на эту сложность и пройтись по основным отличиям Scala от других объектно-ориентированных языков (например, Java или C++).

Подробности

Классические паттерны проектирования на Scala

Время на прочтение14 мин
Количество просмотров37K
Об авторе:
Pavel Fatin работает над Scala plugin'ом для IntelliJ IDEA в JetBrains.

Введение



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

Содержание статьи составляет основу моего выступления на JavaDay конференции (слайды презентации).

Читать дальше →

Информация

В рейтинге
11 646-й
Откуда
Бердск, Новосибирская обл., Россия
Дата рождения
Зарегистрирован
Активность

Специализация

Backend Developer
Lead
Java
PostgreSQL
Docker
Spring Boot