Всем привет!
Сегодня решила поделиться тем, что мне поднадоели алгоритмы 😁
Так как я уже почти прошла этот курс (осталось уже меньше месяца), могу поделиться впечатлениями о курсе в целом.
Мой вердикт: слишком интенсивно.
Если держаться в расписании 2х недельных спринтов, надо примерно на первой неделе решить 7-8 не самых легких, а иногда и самооценку-разрушающих сложных задач, чтобы перейти к решению финальных задач ко второй недели.
Они тоже очень варьируются по сложности. В одном спринте к финальным задачам был буквально псевдокод-решение, которое чуть подредактировать и проходило все тесты. Причем это дается раньше, чем сами задачи, то есть нельзя сначала попробовать решить самостоятельно, ведь сначала дается объяснение с подробным решением пусть немного не в полном синтаксисе, в стиле псевдокода.
Но все равно, пока разбираешься, откладывается и когда уже дойдешь до финального задания будет не сложно решить. А некоторые задачи прямо вообще отрываются от сложности типичных задач спринта куда-то в небеса (как было с финальными задачами на графы). После них, кстати, я какое-то время разочаровалась в своих способности вообще) Хотя все спринтовые задачки решила с легкостью.
В общем, такие качели в сложности. В объяснениях многие вещи хорошо поданы, но в теме с деревьями не очень.
В целом курс рекомендую, но думаю, что некоторые сложные спринты бы хорошо было растянуть на 3 недели. Потому что усталость накапливается и сейчас уже хочется в отпуск после этого курса 😅 (хорошо что он у меня скоро😁) Из плюсов, разобралась в темах, которые до этого сильно отпугивали (например, графы и деревья).
Еще из плюсов, должен быть под конец курса тренировочный собес на алгоритмы. Думаю скоро у меня уже будет, тогда поделюсь как все пройдет.
Сегодня решила поделиться тем, что мне поднадоели алгоритмы 😁
Так как я уже почти прошла этот курс (осталось уже меньше месяца), могу поделиться впечатлениями о курсе в целом.
Мой вердикт: слишком интенсивно.
Если держаться в расписании 2х недельных спринтов, надо примерно на первой неделе решить 7-8 не самых легких, а иногда и самооценку-разрушающих сложных задач, чтобы перейти к решению финальных задач ко второй недели.
Они тоже очень варьируются по сложности. В одном спринте к финальным задачам был буквально псевдокод-решение, которое чуть подредактировать и проходило все тесты. Причем это дается раньше, чем сами задачи, то есть нельзя сначала попробовать решить самостоятельно, ведь сначала дается объяснение с подробным решением пусть немного не в полном синтаксисе, в стиле псевдокода.
Но все равно, пока разбираешься, откладывается и когда уже дойдешь до финального задания будет не сложно решить. А некоторые задачи прямо вообще отрываются от сложности типичных задач спринта куда-то в небеса (как было с финальными задачами на графы). После них, кстати, я какое-то время разочаровалась в своих способности вообще) Хотя все спринтовые задачки решила с легкостью.
В общем, такие качели в сложности. В объяснениях многие вещи хорошо поданы, но в теме с деревьями не очень.
В целом курс рекомендую, но думаю, что некоторые сложные спринты бы хорошо было растянуть на 3 недели. Потому что усталость накапливается и сейчас уже хочется в отпуск после этого курса 😅 (хорошо что он у меня скоро😁) Из плюсов, разобралась в темах, которые до этого сильно отпугивали (например, графы и деревья).
Еще из плюсов, должен быть под конец курса тренировочный собес на алгоритмы. Думаю скоро у меня уже будет, тогда поделюсь как все пройдет.
🔥12👏6❤2👍1😁1
Всем привет!
Осталась я в двух задачах до конца курса по алгоритмам 🥳
После всяких страшно-звучащих топологических сортировок графов и пирамидальной сортировки, последний спринт посвящен строкам.
И знаете, что самое первое нам сказали, после почти 4х месяцев обучения?
Но под конец они добавили, конечно, сложных задач, которые объясняли всякими запутанными сочетаниями, в стиле:
После чего мозг немного сопротивлялся воспринимать информацию. 😁
Но ничего, осталось две финальные задачки и тестовый алго-собес и можно будет переключиться на другую тему. Думаю побольше углубиться в System Design. Попробую действовать по этой рекомендации и начну с Clean Architecture.
Так уж получилось, что в алгоритмы я начала вкатываться примерно по совету с того же канала (начала с "Грокаем алгоритмы", потом курс по алгоритмам, теперь в планах "Cracking coding interview" и натаскивание отдельных тем на Leetcode, но уже в спокойном режиме).
Поэтому думаю и в System Design буду погружаться тоже по его совету. Оставлю ссылки здесь, если кому-то это тоже интересно🤗
Осталась я в двух задачах до конца курса по алгоритмам 🥳
После всяких страшно-звучащих топологических сортировок графов и пирамидальной сортировки, последний спринт посвящен строкам.
И знаете, что самое первое нам сказали, после почти 4х месяцев обучения?
Необходимо приводить строки к одному регистру перед сравнением! 😱
Но под конец они добавили, конечно, сложных задач, которые объясняли всякими запутанными сочетаниями, в стиле:
каждая подстрока является суффиксом некоторого префикса
После чего мозг немного сопротивлялся воспринимать информацию. 😁
Но ничего, осталось две финальные задачки и тестовый алго-собес и можно будет переключиться на другую тему. Думаю побольше углубиться в System Design. Попробую действовать по этой рекомендации и начну с Clean Architecture.
Так уж получилось, что в алгоритмы я начала вкатываться примерно по совету с того же канала (начала с "Грокаем алгоритмы", потом курс по алгоритмам, теперь в планах "Cracking coding interview" и натаскивание отдельных тем на Leetcode, но уже в спокойном режиме).
Поэтому думаю и в System Design буду погружаться тоже по его совету. Оставлю ссылки здесь, если кому-то это тоже интересно🤗
Telegram
FAANG Master
Подготовка к System Design с нуля и для разных уровней
Эти книги и ресурсы пригодятся не только тем, кто готовится к собеседованиям в FAANG/Big Tech, но и тем, кто хочет развить свои навыки в architecture, software design и system design. Эти умения особенно…
Эти книги и ресурсы пригодятся не только тем, кто готовится к собеседованиям в FAANG/Big Tech, но и тем, кто хочет развить свои навыки в architecture, software design и system design. Эти умения особенно…
🔥14❤4👍4
Всем привет!
Сегодня завершила курс по алгоритмам🥳
А в понедельник у меня будет тестовый алгоритмический собес! Отпишусь потом как все пройдёт.
Вчера начала читать Clean Architecture, как книжку для начинающих в теме system design.
Кстати, есть один интересный репозиторий с разными заметками, теорией по разным темам. Есть там также и по system design.
Вот, например, подготовка к собеседованию по этой теме.
Сама ещё не полностью прочитала эту статью/заметку, пока таких собеседований не планируется на горизонте, но начало понравилось 👍
Сегодня завершила курс по алгоритмам🥳
А в понедельник у меня будет тестовый алгоритмический собес! Отпишусь потом как все пройдёт.
Вчера начала читать Clean Architecture, как книжку для начинающих в теме system design.
Кстати, есть один интересный репозиторий с разными заметками, теорией по разным темам. Есть там также и по system design.
Вот, например, подготовка к собеседованию по этой теме.
Сама ещё не полностью прочитала эту статью/заметку, пока таких собеседований не планируется на горизонте, но начало понравилось 👍
🔥10🎉6🍾4👍2
Всем привет!
Сегодня у меня прошло тестовое алгоритмическое собеседование🧑💻
Мне дали решать одну задачу уровня hard. Вот она на Leetcode.
За время собеседования я ее не решила, точнее итоговое решение при проверке в IDE не отработало. 🫠
Потом нашла ошибки и исправила, уже после собеседования, но осадочек остался, как говорится 😁
Начала там на Leetcode учебный план "150 задач с собеседований", поставила цель решать 1 в день. Буду продолжать оттачивать навыки, но уже в спокойном режиме☕
Сегодня у меня прошло тестовое алгоритмическое собеседование🧑💻
Мне дали решать одну задачу уровня hard. Вот она на Leetcode.
За время собеседования я ее не решила, точнее итоговое решение при проверке в IDE не отработало. 🫠
Потом нашла ошибки и исправила, уже после собеседования, но осадочек остался, как говорится 😁
Начала там на Leetcode учебный план "150 задач с собеседований", поставила цель решать 1 в день. Буду продолжать оттачивать навыки, но уже в спокойном режиме☕
LeetCode
Split Array Largest Sum - LeetCode
Can you solve this real interview question? Split Array Largest Sum - Given an integer array nums and an integer k, split nums into k non-empty subarrays such that the largest sum of any subarray is minimized.
Return the minimized largest sum of the split.…
Return the minimized largest sum of the split.…
🔥13👍9❤8
Всем привет!
Сегодня дочитала Clean Architecture. Ничто так сильно не мотивировало меня читать, как надпись в приложении, что книга доступна в подписке до конца недели😅
В книге много полезных идей, сделала себе много пометок и заметок.
Много про SOLID, очень подробно про архитектурные идеи, связанные с принципами SOLID, но с другими названиями.
Из минусов, много повторяющихся историй из 60-70х годов. Какая-то идея, сказанная и обоснованная в начале, обязательно встретится в середине и конце книги. Под конец уже чувство, что читаешь одно и тоже снова и снова.
Понравилась идея про (микро)сервисы (читала в оригинале, поэтому перевод от официального может отличаться):
В тему приводился пример, когда добавляется, условно говоря, поле в ДТО и мы из-за этого должны в 3х сервисах делать изменения - это говорит о тесной связанности сервисов и возможно эти сервисы были разделены зря. Возможно какое-то действие нужно вынести в отдельный компонент системы, который будет работать с этим ДТО, а не связывать несколько сервисов, только усложняя разработку.
У нас кстати на проекте есть такое, но я вам этого не говорила😁
*Dependency Rule вместо Dependency Inversion из SOLID, но в целом о том же, только на уровне приложения.
Сегодня дочитала Clean Architecture. Ничто так сильно не мотивировало меня читать, как надпись в приложении, что книга доступна в подписке до конца недели😅
В книге много полезных идей, сделала себе много пометок и заметок.
Много про SOLID, очень подробно про архитектурные идеи, связанные с принципами SOLID, но с другими названиями.
Из минусов, много повторяющихся историй из 60-70х годов. Какая-то идея, сказанная и обоснованная в начале, обязательно встретится в середине и конце книги. Под конец уже чувство, что читаешь одно и тоже снова и снова.
Понравилась идея про (микро)сервисы (читала в оригинале, поэтому перевод от официального может отличаться):
Архитектура системы определяется границами, отделяющими высокоуровневую логику от низкоуровневых деталей, и подчиняется Dependency Rule*. Сервисы, которые просто разделяют поведение приложений, представляют собой не более чем дорогостоящие вызовы функций и не обязательно имеют архитектурное значение
В тему приводился пример, когда добавляется, условно говоря, поле в ДТО и мы из-за этого должны в 3х сервисах делать изменения - это говорит о тесной связанности сервисов и возможно эти сервисы были разделены зря. Возможно какое-то действие нужно вынести в отдельный компонент системы, который будет работать с этим ДТО, а не связывать несколько сервисов, только усложняя разработку.
*Dependency Rule вместо Dependency Inversion из SOLID, но в целом о том же, только на уровне приложения.
🔥4❤1👍1😁1
Всем привет!
Прошло две недели с того, как закончились курсы по алгоритмам и я поймала себя на мысли, что хочу снова на какой-нибудь курс😅
В выходные пассивно выбирала, листая разные курсы по CI/CD и Kubernetes, но пока не выбрала)
Еще с середины августа планирую прочитать Designing Data-Intensive Applications, до этого уже несколько раз начинала ее читать и дальше середины не доходила. В этот раз планирую начать с начала и за месяц ее прочитать.
Так сложилось, что у меня появится она в аудио-формате примерно в середине августа и я смогу читать в любимом режиме (под аудиокнигу).
А в остальном, потихоньку прохожу задачки из Top Interview 150, пока решила 13)
А у вас как дела?🤗
Прошло две недели с того, как закончились курсы по алгоритмам и я поймала себя на мысли, что хочу снова на какой-нибудь курс😅
В выходные пассивно выбирала, листая разные курсы по CI/CD и Kubernetes, но пока не выбрала)
Еще с середины августа планирую прочитать Designing Data-Intensive Applications, до этого уже несколько раз начинала ее читать и дальше середины не доходила. В этот раз планирую начать с начала и за месяц ее прочитать.
Так сложилось, что у меня появится она в аудио-формате примерно в середине августа и я смогу читать в любимом режиме (под аудиокнигу).
А в остальном, потихоньку прохожу задачки из Top Interview 150, пока решила 13)
А у вас как дела?🤗
LeetCode
Top Interview 150 - Study Plan - LeetCode
Must-do List for Interview Prep
🔥7👍2❤1
Всем привет!
Решила составить оглавление для своего канала по темам.
Технические посты с гайдами и теорией:
Что такое Optional
Что такое сервлет
Знакомство с Vaadin
Что такое докер
Как устроена HashMap и HashSet
Знакомство с Kafka
Что такое Spring Security
Что такое Json Web Token
Что такое CORS
Что такое OAuth 2
Что такое проблема "n + 1" и как ее решать
Интересный факт о Hibernate и аннотации Lob
О дженериках
Настраиваем запуск Liquibase в docker-compose
Уровни кэша в Hibernate
Настраиваем Github Actions
Применение паттерна Стратегия при чтении данных с Excel
Особенности Hibernate 6 в сравнении с предыдущей версией
Разбиваем SQL запросы с WHERE .. IN (..) на партиции
Ограничиваем память java heap в тестах через Maven plugin
Рубрика под названием "Делаем кривыми руками":
Настраиваем Feign клиент
Покоряем @EmbeddedId
Используем ZipInputStream
Рекомендации / отзывы / полезное:
Бесплатный курс со stepik, Java Middle от МТС
Правильное использование @Transactional
Spring Security in Action
Курсы по Кубернетису
Design Patterns от Head First
Designing Data-Intensive Applications
Мотивационные:
Что меня мотивирует
Оценка личной производительности
Разные события:
День рождения канала
Пост на окончание курса Java-разработчик
Комикс о моем обучении на курсе Java-разработчик
*Будет дополняться
Решила составить оглавление для своего канала по темам.
Технические посты с гайдами и теорией:
Что такое Optional
Что такое сервлет
Знакомство с Vaadin
Что такое докер
Как устроена HashMap и HashSet
Знакомство с Kafka
Что такое Spring Security
Что такое Json Web Token
Что такое CORS
Что такое OAuth 2
Что такое проблема "n + 1" и как ее решать
Интересный факт о Hibernate и аннотации Lob
О дженериках
Настраиваем запуск Liquibase в docker-compose
Уровни кэша в Hibernate
Настраиваем Github Actions
Применение паттерна Стратегия при чтении данных с Excel
Особенности Hibernate 6 в сравнении с предыдущей версией
Разбиваем SQL запросы с WHERE .. IN (..) на партиции
Ограничиваем память java heap в тестах через Maven plugin
Рубрика под названием "Делаем кривыми руками":
Настраиваем Feign клиент
Покоряем @EmbeddedId
Используем ZipInputStream
Рекомендации / отзывы / полезное:
Бесплатный курс со stepik, Java Middle от МТС
Правильное использование @Transactional
Spring Security in Action
Курсы по Кубернетису
Design Patterns от Head First
Designing Data-Intensive Applications
Мотивационные:
Что меня мотивирует
Оценка личной производительности
Разные события:
День рождения канала
Пост на окончание курса Java-разработчик
Комикс о моем обучении на курсе Java-разработчик
*Будет дополняться
🔥11❤🔥3❤3
Всем привет!
Сегодня расскажу про несколько планируемых активностей.
Во-первых, появилась идея создать свой курс для джавистов уровня стажёров (не зря же у меня 2 педагогических образования😁).
Планирую сделать немного теории, проверяемые задания и практические воркшопы в записи. Курс собираюсь сделать бесплатным на Stepik.
Думаю практическим заданием будет разработка проекта, в котором будет реализация не простого CRUD, а какой-нибудь нетривиальной бизнес логики. Уже есть идеи на импорт и экспорт из/в Excel, поиск с кучей фильтров, подключение Keycloak, Liquibase и ещё много всего нужного🧑🎓
Дело не быстрое, пока знакомлюсь с платформой, составляю план и скоро приступлю к реализации. 🧑💻
Вторая активность начнётся с конца следующей недели - начну читать Data-Intensive Applications, хочу прочитать ее примерно за месяц. Без сроков у меня часто технические книжки откладываются и потом тяжело вливаться в контекст.📖
А про третью активность расскажу чуть позже, когда уже можно будет сказать получилось или нет и тогда порефлексировать над ошибками)
Сегодня расскажу про несколько планируемых активностей.
Во-первых, появилась идея создать свой курс для джавистов уровня стажёров (не зря же у меня 2 педагогических образования😁).
Планирую сделать немного теории, проверяемые задания и практические воркшопы в записи. Курс собираюсь сделать бесплатным на Stepik.
Думаю практическим заданием будет разработка проекта, в котором будет реализация не простого CRUD, а какой-нибудь нетривиальной бизнес логики. Уже есть идеи на импорт и экспорт из/в Excel, поиск с кучей фильтров, подключение Keycloak, Liquibase и ещё много всего нужного🧑🎓
Дело не быстрое, пока знакомлюсь с платформой, составляю план и скоро приступлю к реализации. 🧑💻
Вторая активность начнётся с конца следующей недели - начну читать Data-Intensive Applications, хочу прочитать ее примерно за месяц. Без сроков у меня часто технические книжки откладываются и потом тяжело вливаться в контекст.📖
А про третью активность расскажу чуть позже, когда уже можно будет сказать получилось или нет и тогда порефлексировать над ошибками)
🔥12❤7⚡5👍4❤🔥1
Всем привет!
Последние пару недель не получилось особо начать ни один из планов поста выше, так что нечем было поделиться🫣
Зато сегодня пришло приглашение на митап по Keycloak, может кому тоже будет интересно.
Я правда буду смотреть в записи (там есть возможность попросить запись).
На работе у нас планируется два параллельных воркшопа. Один по Kubernetes, другой по применению RAG. Очень жду) Возможно поделюсь какими-то общими вещами на тестовых примерах здесь, если можно будет по NDA.😉
Последние пару недель не получилось особо начать ни один из планов поста выше, так что нечем было поделиться🫣
Зато сегодня пришло приглашение на митап по Keycloak, может кому тоже будет интересно.
Я правда буду смотреть в записи (там есть возможность попросить запись).
На работе у нас планируется два параллельных воркшопа. Один по Kubernetes, другой по применению RAG. Очень жду) Возможно поделюсь какими-то общими вещами на тестовых примерах здесь, если можно будет по NDA.😉
ecom-tech.timepad.ru
ecom.teсh x keycloak community meetup / События на TimePad.ru
Поговорим о том, как устроены современные подходы к аутентификации и защите доступа. Разберём, почему компании переходят от паролей к SSO и как Keycloak помогает автоматизировать управление доступами. Погрузимся в механику Kerberos, чтобы понимать, как он…
👍5🔥3❤🔥2❤2🤝1
Всем привет!
Вам приходилось специально убавлять память (Java heap) для тестов при запуске через Maven? Чтобы, например, отловить какой-нибудь непроизводительный тест?
Если вы, как и я до сегодняшнего дня, не знали, как это можно сделать, сейчас поделюсь.
У нас случился пятничный коллапс на gitlab, падали сборки с OutOfMemory при тестах, а локально всё по классике работало.
Поэтому пришла идея локально ограничить память, чтобы найти виновника.
Для этого нужно добавить в плагин maven-surefire-plugin в тег configuration строку:
Это будет означать что будет выдано 256 мегабайт памяти. Таким образом, локально получилось воспроизвести и найти виновника🤓
Вам приходилось специально убавлять память (Java heap) для тестов при запуске через Maven? Чтобы, например, отловить какой-нибудь непроизводительный тест?
Если вы, как и я до сегодняшнего дня, не знали, как это можно сделать, сейчас поделюсь.
У нас случился пятничный коллапс на gitlab, падали сборки с OutOfMemory при тестах, а локально всё по классике работало.
Поэтому пришла идея локально ограничить память, чтобы найти виновника.
Для этого нужно добавить в плагин maven-surefire-plugin в тег configuration строку:
<argLine>-Xmx256m<argLine>
Это будет означать что будет выдано 256 мегабайт памяти. Таким образом, локально получилось воспроизвести и найти виновника🤓
🔥7👍6✍2❤🔥1
Всем привет!
Вам бывает сложно начать что-то делать?)
Практически месяц назад я написала о том, что запланировала сделать свой курс на Stepik. И только сегодня, я, наконец, его начала.
Поделюсь, что помогает мне, а вы делитесь в комментариях, кому что помогает 🙏
Для учебных целей, я часто пишу о своих планах здесь и потом меня заставляет мысль это делать, потому что уже рассказала людям, что буду. Но это частный случай.
Самый частый случай у меня бывает со скучными задачами. Их бывает очень сложно начать. Для меня просто ни в какую не хочется делать задачу, если знаешь, что там будет нудно или скучно.
Кстати, самые скучные задачи для меня копипастные или около того. Где надо сделать что-то, что было уже сделано, по образцу - копировать, вставить, заменив пару строк различий.
Дело на пятнадцать минут, собраться это сделать может занять пару часов 🫣
Что мне помогает:
* Прочитать задание / описание (мозг волей неволей начинает обдумывать и продумывать решение)
* Включить в фоне видео (что-то что можно слушать, больше чем смотреть), либо музыку (очень подходит, например, такое радио)
* Написать первую строку, что-то для выполнения. Создать ли новый класс или найти нужный метод.
Ведь самое сложное в этом случае начать, а уже потом всё не так страшно и уже и не так скучно ☺️
А у вас есть лайфхаки? ✍️
Вам бывает сложно начать что-то делать?)
Практически месяц назад я написала о том, что запланировала сделать свой курс на Stepik. И только сегодня, я, наконец, его начала.
Поделюсь, что помогает мне, а вы делитесь в комментариях, кому что помогает 🙏
Для учебных целей, я часто пишу о своих планах здесь и потом меня заставляет мысль это делать, потому что уже рассказала людям, что буду. Но это частный случай.
Самый частый случай у меня бывает со скучными задачами. Их бывает очень сложно начать. Для меня просто ни в какую не хочется делать задачу, если знаешь, что там будет нудно или скучно.
Кстати, самые скучные задачи для меня копипастные или около того. Где надо сделать что-то, что было уже сделано, по образцу - копировать, вставить, заменив пару строк различий.
Дело на пятнадцать минут, собраться это сделать может занять пару часов 🫣
Что мне помогает:
* Прочитать задание / описание (мозг волей неволей начинает обдумывать и продумывать решение)
* Включить в фоне видео (что-то что можно слушать, больше чем смотреть), либо музыку (очень подходит, например, такое радио)
* Написать первую строку, что-то для выполнения. Создать ли новый класс или найти нужный метод.
Ведь самое сложное в этом случае начать, а уже потом всё не так страшно и уже и не так скучно ☺️
А у вас есть лайфхаки? ✍️
AccuRadio online radio
Lo-fi Beats - Listen to Free Radio Stations - AccuRadio
Chillhop, instrumental. Study, focus, or just lay back and chill.
❤🔥5❤4👍3🔥3
Всем привет!
С воскресенья проходила квест по тому, чтобы добавить видео в курс на Stepik, и вот сегодня спустя 5 дней, видео, длиною в 7 минут, наконец, загрузилось и отображается без ошибок! 🥳
Уже словила демотивацию и думала бросить эту гиблую затею, но после 5 попыток, все получилось. Можно продолжать делать курс дальше👨💻
Но теперь думаю, что возможно видео записей будет меньше, чем я изначально планировала😅 Но посмотрим, может быть и останется по задумке.
Книгу по Data-Intensive Applications опять забросила, опять на том же месте - 5-6 главы с очень подробным разбором как работают партиции, лидеры, подписчики. Не знаю, что-то не идет и все тут. Внимание моментально рассеивается и мысли уходят в разные стороны) Пока отложила.
Думаю прочитать может теперь DevOps Handbook, чтобы поглубже погрузиться в настройку пайплайнов) В тему, сегодня на работе выпросила задачу (как я думала), чтобы встроить одну джобу в пайплайн, но оказалось, что мою идею поняли чуть по-другому и надо теперь сделать то, что возможно вообще никогда никому не пригодится😅
А у вас как дела?🤗
С воскресенья проходила квест по тому, чтобы добавить видео в курс на Stepik, и вот сегодня спустя 5 дней, видео, длиною в 7 минут, наконец, загрузилось и отображается без ошибок! 🥳
Уже словила демотивацию и думала бросить эту гиблую затею, но после 5 попыток, все получилось. Можно продолжать делать курс дальше👨💻
Но теперь думаю, что возможно видео записей будет меньше, чем я изначально планировала😅 Но посмотрим, может быть и останется по задумке.
Книгу по Data-Intensive Applications опять забросила, опять на том же месте - 5-6 главы с очень подробным разбором как работают партиции, лидеры, подписчики. Не знаю, что-то не идет и все тут. Внимание моментально рассеивается и мысли уходят в разные стороны) Пока отложила.
Думаю прочитать может теперь DevOps Handbook, чтобы поглубже погрузиться в настройку пайплайнов) В тему, сегодня на работе выпросила задачу (как я думала), чтобы встроить одну джобу в пайплайн, но оказалось, что мою идею поняли чуть по-другому и надо теперь сделать то, что возможно вообще никогда никому не пригодится😅
А у вас как дела?🤗
❤6🔥4👍3
Всем привет!
Последние пару недель было много интересных событий по работе, но они, к сожалению, попадают под 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