Всем привет!
Последние пару недель было много интересных событий по работе, но они, к сожалению, попадают под NDA🙊
Из того, что можно рассказать - продолжаю делать курс и заниматься всем и сразу, как обычно мало чего успевая😅
Например, сейчас начались тренировки по алгоритмам от яндекса и была уже первая вводная лекция и домашка до понедельника. Я ее пока не начала, но есть же ещё завтра 😁
Написала небольшой проект, используя GraphQL - интересная вещь, необычно решает проблему n + 1 и облегчает взаимодействие фронта и бэка. Статья на хабре со сравнением GraphQL и REST.
Если хорошо с английским, рекомендую этот доклад на эту тему, очень интересный и с примером проекта на гитхабе.
А ещё, я пишу художественную книжку, начала, наверное, после курса по алгоритмам. Надо, наверное, новый курс какой-то начать, чтобы справиться с потоком энергии 😁
Последние пару недель было много интересных событий по работе, но они, к сожалению, попадают под NDA🙊
Из того, что можно рассказать - продолжаю делать курс и заниматься всем и сразу, как обычно мало чего успевая😅
Например, сейчас начались тренировки по алгоритмам от яндекса и была уже первая вводная лекция и домашка до понедельника. Я ее пока не начала, но есть же ещё завтра 😁
Написала небольшой проект, используя GraphQL - интересная вещь, необычно решает проблему n + 1 и облегчает взаимодействие фронта и бэка. Статья на хабре со сравнением GraphQL и REST.
Если хорошо с английским, рекомендую этот доклад на эту тему, очень интересный и с примером проекта на гитхабе.
А ещё, я пишу художественную книжку, начала, наверное, после курса по алгоритмам. Надо, наверное, новый курс какой-то начать, чтобы справиться с потоком энергии 😁
Хабр
Сравнение REST и GraphQL
Перевод статьи Sashko Stubailo GraphQL vs. REST Два способа отправки данных по протоколу HTTP: в чем разница? GraphQL часто представляют как революционно новый путь осмысления API. Вместо работы...
🔥8❤🔥4❤4👏1
Всем привет!
Вовсю занимаюсь написанием курса, пока готов 1 модуль (практически), самые простые вещи, даже еще пока нет базы данных. Это все начнется во втором модуле.
Кстати, забавный факт. Знаете сколько дублей у меня ушло на запись первого видео, где просто добавлялся проект со Spring Initializr? Правильно, 17 (я же перфекционист 😁) .
Самое смешное, что оно не получилось идеальным, потому что я все же выбрала неверное расширение, но, волевым усилием, решила не перезаписывать)
На днях смонтировала второе видео с выполнением первого задания на выполнение CRUD, там уже не было именно дублей, но были отвлекающие моменты, что нужно было отойти. Например, самый внимательный сможет увидеть, что начала писать я тесты для API днем, а продолжила уже вечером)
Но в целом занятие увлекательное. Мне понравилось, преподавательская жилка во мне торжествует))
Еще интересный опыт получаю на этой неделе - начала участвовать в одном небольшом проекте на питоне. Но пока я только на стадии знакомства с проектом, научилась пока только запускать тесты😁 Но интересно, разница с проектами на java очень сильная.
Кстати, недавно ходила на конференцию IT GORKY и выиграла мерч, теперь у меня очень жизненные лозунги на рабочем столе (фото в комментариях)
Вовсю занимаюсь написанием курса, пока готов 1 модуль (практически), самые простые вещи, даже еще пока нет базы данных. Это все начнется во втором модуле.
Кстати, забавный факт. Знаете сколько дублей у меня ушло на запись первого видео, где просто добавлялся проект со Spring Initializr? Правильно,
Самое смешное, что оно не получилось идеальным, потому что я все же выбрала неверное расширение, но, волевым усилием, решила не перезаписывать)
На днях смонтировала второе видео с выполнением первого задания на выполнение CRUD, там уже не было именно дублей, но были отвлекающие моменты, что нужно было отойти. Например, самый внимательный сможет увидеть, что начала писать я тесты для API днем, а продолжила уже вечером)
Но в целом занятие увлекательное. Мне понравилось, преподавательская жилка во мне торжествует))
Еще интересный опыт получаю на этой неделе - начала участвовать в одном небольшом проекте на питоне. Но пока я только на стадии знакомства с проектом, научилась пока только запускать тесты😁 Но интересно, разница с проектами на java очень сильная.
Кстати, недавно ходила на конференцию IT GORKY и выиграла мерч, теперь у меня очень жизненные лозунги на рабочем столе (фото в комментариях)
🔥6👍3❤🔥2
Всем привет!
Чем дольше не пишешь пост, тем сложнее начать))
Наконец-то прочитала Designing data intensive applications (кабанчика)🥳
Тут как-то писала, что решила ее было отложить. Но желание закончить книгу не отпускало, и так стала читать по 15-30 минут ее не каждый день.
Рассказывается в ней о тонкостях работы баз данных, транзакциях, брокерах, партициях, лидерах и последователей, как достигается согласованность данных между отдельными частями приложения (нодами) и какие проблемы возникают при нагрузке.
Читается / воспринимается порой очень сложно, поэтому делала конспекты для "пост-обработки", чтобы закрепить прочитанное.
Книга очень понравилась, чем ближе к концу, тем легче ее было психологически читать, потому что она объемная и, когда читаешь по чуть-чуть, кажется как будто никогда ее не завершишь)
Ее рекомендую, но после Clean Architecture и базового представления что такое нода, ACID, проблемы изоляции транзакций, и за что отвечают лидеры и последователи на уровне брокеров сообщений и нескольких нод базы данных.
Пока думаю, какую следующую техническую книжку буду читать.
Вы бы что порекомендовали?🤗
Чем дольше не пишешь пост, тем сложнее начать))
Наконец-то прочитала Designing data intensive applications (кабанчика)🥳
Тут как-то писала, что решила ее было отложить. Но желание закончить книгу не отпускало, и так стала читать по 15-30 минут ее не каждый день.
Рассказывается в ней о тонкостях работы баз данных, транзакциях, брокерах, партициях, лидерах и последователей, как достигается согласованность данных между отдельными частями приложения (нодами) и какие проблемы возникают при нагрузке.
Читается / воспринимается порой очень сложно, поэтому делала конспекты для "пост-обработки", чтобы закрепить прочитанное.
Книга очень понравилась, чем ближе к концу, тем легче ее было психологически читать, потому что она объемная и, когда читаешь по чуть-чуть, кажется как будто никогда ее не завершишь)
Ее рекомендую, но после Clean Architecture и базового представления что такое нода, ACID, проблемы изоляции транзакций, и за что отвечают лидеры и последователи на уровне брокеров сообщений и нескольких нод базы данных.
Пока думаю, какую следующую техническую книжку буду читать.
Вы бы что порекомендовали?🤗
🔥7❤4👍3
Всем привет!
Вчера столкнулась с интересной проблемой с Feign клиентами.
Проблема заключается в следующем. Если мы захотим отправить MultipartFile и список каких-нибудь объектов через feign клиент, то под капотом подставится feign.form.multipart.SingleParameterWriter, в котором используется хард-код для заголовка content-type, со значением "text/plain".
Таким образом получается, если у нас в контроллере прописано что-то в стиле:
То мы получим ошибку 500 от сервера с сообщением, что он не принимает text/plain, а ожидает application/json, как и прописано в контроллере.
Такой вот баг на высоком уровне) Автор открытого issue, предложил пока в качестве решения создавать кастомный JsonFormWriter и SpringFormEncoder. Подробнее можно посмотреть по ссылке.
Попробовала сегодня, вещь рабочая, так что если кто столкнется, можно пользоваться 👍
Вчера столкнулась с интересной проблемой с Feign клиентами.
Проблема заключается в следующем. Если мы захотим отправить MultipartFile и список каких-нибудь объектов через feign клиент, то под капотом подставится feign.form.multipart.SingleParameterWriter, в котором используется хард-код для заголовка content-type, со значением "text/plain".
Таким образом получается, если у нас в контроллере прописано что-то в стиле:
@RequestMapping(
method = RequestMethod.POST,
value = "/v1/files/bulk",
produces = { "application/json" },
consumes = "multipart/form-data"
)
ResponseEntity<Files> saveFiles(
@Parameter(name = "metadata", description = "Array of file attributes", required = true) @Valid @RequestPart(value = "metadata", required = true) List<@Valid Metadata> metadata,
@Parameter(name = "files", description = "Array of Files") @RequestPart(value = "files", required = false) List<MultipartFile> files
);
То мы получим ошибку 500 от сервера с сообщением, что он не принимает text/plain, а ожидает application/json, как и прописано в контроллере.
Такой вот баг на высоком уровне) Автор открытого issue, предложил пока в качестве решения создавать кастомный JsonFormWriter и SpringFormEncoder. Подробнее можно посмотреть по ссылке.
Попробовала сегодня, вещь рабочая, так что если кто столкнется, можно пользоваться 👍
GitHub
Wrong content-type for multipart requests on JSON parts (text/plain instead of application/json) · Issue #2813 · OpenFeign/feign
I have the following request mapping defined which includes 2 parts: metadata: POJO (application/json) files: multipart @RequestMapping( method = RequestMethod.POST, value = "/v1/files/bulk&qu...
🔥8👍1
Всем привет!)
Давно не писала тут, а все потому что почему-то решила, что следующим своим постом буду рассказывать, как дописала свой курс.
Но к сожалению, этого пока не случилось😅 Дизайн приложения (структуру базы данных) придумывала только неделю.
Сейчас вовсю пишу 2й модуль, в нем по плану у меня теория про транзакции (ACID и уровни изоляции), подключение к базе данных, настройка миграции и дальше поиск по фильтрам с использованием Criteria API.
Сейчас я на втором шаге, скоро буду прописывать задание сделать схему базы данных, которая понадобится.
Но почти со всем что-то идёт не по плану. Записывая решение к домашнему заданию, часто вылезают баги, проскальзывают слова паразиты, какие-то части приходится перезаписывать, монтировать😰
При подключении базы данных, например, на автомате добавила зависимость spring-data-jpa последней версии и возник конфликт версий, потому что spring-boot-parent оказался зависимостью ниже. Пришлось смотреть дерево зависимостей в Maven и искать виновника конфликта🔎
Не помогает и что на работе начался завал, поэтому пока не уверена, что и к Новому году его допишу, но пока целюсь к этому времени🐾
Давно не писала тут, а все потому что почему-то решила, что следующим своим постом буду рассказывать, как дописала свой курс.
Но к сожалению, этого пока не случилось
Сейчас вовсю пишу 2й модуль, в нем по плану у меня теория про транзакции (ACID и уровни изоляции), подключение к базе данных, настройка миграции и дальше поиск по фильтрам с использованием Criteria API.
Сейчас я на втором шаге, скоро буду прописывать задание сделать схему базы данных, которая понадобится.
Но почти со всем что-то идёт не по плану. Записывая решение к домашнему заданию, часто вылезают баги, проскальзывают слова паразиты, какие-то части приходится перезаписывать, монтировать
При подключении базы данных, например, на автомате добавила зависимость spring-data-jpa последней версии и возник конфликт версий, потому что spring-boot-parent оказался зависимостью ниже. Пришлось смотреть дерево зависимостей в Maven и искать виновника конфликта🔎
Не помогает и что на работе начался завал, поэтому пока не уверена, что и к Новому году его допишу, но пока целюсь к этому времени
Please open Telegram to view this post
VIEW IN TELEGRAM
❤9🔥8👍5
Всем привет!
С наступающим всех Новым годом!
Желаю вам исполнения всех желаний и всего самого хорошего в новом году!
Хочу порекомендовать интересную книгу, которую начала недавно читать - Building Microservices, автор Sam Newman (русский вариант). Очень нравится, здесь про грамотное разделение монолита на микросервисы и в целом, как лучше организовать их взаимодействие.
Свой курс доделала до середины примерно, так что скоро наверняка смогу поделиться тем, что получилось.
Кстати, был у меня мок-собес по систем дизайну на днях. Первый блин оказался комом, но вынесла уроки, что нужно главное не торопиться и учиться думать вслух. Этот навык надеюсь у меня прокачается при записывании домашних заданий для курса.
Еще начала онлайн курс от Гарварда по Computer Science, чтобы разложить некоторые базовые вещи по полочкам. Знаю, что есть в переводе на ютюбе, так что можно поискать и посмотреть, если есть интерес.
Еще раз всех с Наступающим и до встречи в Новом году!😘 🎄
С наступающим всех Новым годом!
Желаю вам исполнения всех желаний и всего самого хорошего в новом году!
Хочу порекомендовать интересную книгу, которую начала недавно читать - Building Microservices, автор Sam Newman (русский вариант). Очень нравится, здесь про грамотное разделение монолита на микросервисы и в целом, как лучше организовать их взаимодействие.
Свой курс доделала до середины примерно, так что скоро наверняка смогу поделиться тем, что получилось.
Кстати, был у меня мок-собес по систем дизайну на днях. Первый блин оказался комом, но вынесла уроки, что нужно главное не торопиться и учиться думать вслух. Этот навык надеюсь у меня прокачается при записывании домашних заданий для курса.
Еще начала онлайн курс от Гарварда по Computer Science, чтобы разложить некоторые базовые вещи по полочкам. Знаю, что есть в переводе на ютюбе, так что можно поискать и посмотреть, если есть интерес.
Еще раз всех с Наступающим и до встречи в Новом году!
Please open Telegram to view this post
VIEW IN TELEGRAM
Литрес
Создание микросервисов (pdf+epub) — Сэм Ньюмен | Литрес
По мере того как организации переходят от монолитных приложений к небольшим автономным микросервисам, распределенные системы становятся все более детализированными. Второе дополненное издание предлаг…
❤8🔥7👍5🎄2