Ну и напоследок.
REST. Финал
Ловите последнюю часть в серии постов о REST. Напомню о чем мы говорили в предыдущих частях:
Часть 1. Что такое этот REST
Часть 2. Разбор протокола HTTP
Часть 3. Создание Restful сервиса на Spring-Boot
В послдней части мы научимся взаимодействовать с Restful сервисами с помощью программы Postman.
Читать статью с нюдсами постмана
Девочки и мальчики, разминайте свои пальчики )
REST. Финал
Ловите последнюю часть в серии постов о REST. Напомню о чем мы говорили в предыдущих частях:
Часть 1. Что такое этот REST
Часть 2. Разбор протокола HTTP
Часть 3. Создание Restful сервиса на Spring-Boot
В послдней части мы научимся взаимодействовать с Restful сервисами с помощью программы Postman.
Читать статью с нюдсами постмана
Девочки и мальчики, разминайте свои пальчики )
🔥12❤1
This media is not supported in your browser
VIEW IN TELEGRAM
А вы как развлекаетесь на выходных?)
😁12🤔1🌚1
Итак, всем привет!
Свою 33-ю осень я встретил в теле бородатого мужика, который вдруг решил, что он хочет снимать Reels. Но после лобового столкновения с суровой реальностью, я вдруг осознал, насколько розовыми были линзы в моих очках.
Дело в том, что в теле бородатого мужика желания стать богатым и успешным было гораздо больше, чем идей для клевых Reels.
К тому же, бородатый мужик живет не в инстаграмной квартире. Нет, я конечно могу показывать разбросанные повсюду куклы Барби и плакаты с Эльзой, но кажется, это немножечко, очень сильно не совсем то, что нужно транслировать в блоге о программировании.
Добивающей финалочкой становится то, что бородатый мужик никогда не был фанатом iPhone. А как выяснилось, на рынке рилс выживают яблодрочеры. Добрый день, теперь я в ваших рядах.
Но есть во мне особенность, которая прямо как червь, поселившийся в мозгу, не дает покоя. Как только я слышу "Порог вхождения в эту сферу очень высок", я не могу остановиться. Это становится навязчивой, пожирающей изнутри идеей.
Так что бородатому мужику пришла в голову гениальная мысль, как прокачать и свой блог и вас.
На следующей неделе я создам для вас шаблон Spring-Boot проекта. В этом проекте будет:
🐳 Docker-compose файл с базой данных
👨👩👧👧 Пара сущностей с отношением one-to-many, many-to-one.
👩🎤Веб-морда на Thymeleaf, в которой будут все страницы для CRUD операций.
📜Комментарии. Много поясняющих комментариев.
На базе этого проекта вы сможете сосредоточиться сразу на реализации своих идей, не думая о настройке инфраструктуры. А также сможете перенять несколько базовых принципов разработки на Spring
И да, это будет бесплатно, но за небольшую взаимную услугу.
Ставь 🔥, если разделяешь идеи бородатого мужика.
Свою 33-ю осень я встретил в теле бородатого мужика, который вдруг решил, что он хочет снимать Reels. Но после лобового столкновения с суровой реальностью, я вдруг осознал, насколько розовыми были линзы в моих очках.
Дело в том, что в теле бородатого мужика желания стать богатым и успешным было гораздо больше, чем идей для клевых Reels.
К тому же, бородатый мужик живет не в инстаграмной квартире. Нет, я конечно могу показывать разбросанные повсюду куклы Барби и плакаты с Эльзой, но кажется, это немножечко, очень сильно не совсем то, что нужно транслировать в блоге о программировании.
Добивающей финалочкой становится то, что бородатый мужик никогда не был фанатом iPhone. А как выяснилось, на рынке рилс выживают яблодрочеры. Добрый день, теперь я в ваших рядах.
Но есть во мне особенность, которая прямо как червь, поселившийся в мозгу, не дает покоя. Как только я слышу "Порог вхождения в эту сферу очень высок", я не могу остановиться. Это становится навязчивой, пожирающей изнутри идеей.
Так что бородатому мужику пришла в голову гениальная мысль, как прокачать и свой блог и вас.
На следующей неделе я создам для вас шаблон Spring-Boot проекта. В этом проекте будет:
🐳 Docker-compose файл с базой данных
👨👩👧👧 Пара сущностей с отношением one-to-many, many-to-one.
👩🎤Веб-морда на Thymeleaf, в которой будут все страницы для CRUD операций.
📜Комментарии. Много поясняющих комментариев.
На базе этого проекта вы сможете сосредоточиться сразу на реализации своих идей, не думая о настройке инфраструктуры. А также сможете перенять несколько базовых принципов разработки на Spring
И да, это будет бесплатно, но за небольшую взаимную услугу.
Ставь 🔥, если разделяешь идеи бородатого мужика.
🔥25❤2
Всем привет!
У меня для вас задачка, основанная, так сказать, на реальных событиях. Периодически приходится заниматься таким на работе.
Представьте себе, что у вас в базе данных есть таблица маршрутов.
CREATE TABLE route (
id serial PRIMARY KEY, -- идентификатор маршрута
name varchar(255) NOT NULL, -- название маршрута
type smallint CHECK (type BETWEEN 1 AND 4), -- Тип маршрута
denoscription text, -- описание
distance numeric, -- Длина маршрута
start_date date -- время начала маршрута
);
Тип маршрута может быть одним из следующих:
1 - Общественный транспорт
2 - Автомобильный маршрут
3 - Велосипедный маршрут
4 - Пешеходный маршрут
У вас есть скрипт миграции, который заполняет данную таблицу данными.
В какой-то момент, ваша команда решила использовать String вместо int для поля type.
Ваша задача переписать скрипт миграции, таким образом, чтобы вместо числового значения type вставлялось строковое значение.
К примеру такую строку:
INSERT INTO route (name, type, denoscription, distance, start_date) VALUES ('Маршрут 1', 3, 'Описание маршрута 1', 2.14, '2023-4-3');
Нужно переделать на такую строку:
INSERT INTO route (name, type, denoscription, distance, start_date) VALUES ('Маршрут 1', 'BICYCLE_ROUTE', 'Описание маршрута 1', 2.14, '2023-4-3');
Делать это вручную не вариант, тк в скрипте более 10 тысяч инсертов.
Задание:
Написать програмулю на Java, которая сделает всю работу за вас. Скрипт находится в файле, а значит вам нужно поменять значения в этом файле.
При этом в скрипте могут быть ошибки (например type выходящий за диапазон [1, 4]). Такие строки необходимо записать в отдельный файл: errors, а из исходного файла удалить.
Вот сопоставление строковых и числовых типов:
1 - PUBLIC_TRANSPORT
2 - CAR_ROUTE
3 - BICYCLE_ROUTE
4 - PEDESTRIAN_ROUTE
Пример 100 инсертов, которые можно использовать в качестве входных данных: https://pastebin.com/q9aQ5rtt
Код решения можете скидывать в комментах как вам удобно
Please open Telegram to view this post
VIEW IN TELEGRAM
Pastebin
Пример инсертов - Pastebin.com
Pastebin.com is the number one paste tool since 2002. Pastebin is a website where you can store text online for a set period of time.
🔥9❤3
Как же долго все это происходит.
Я вроде программист, а чувствую себя глупой уточкой со всеми этими экспортами файлов туда-сюда-обратно.
Монтажное приложение у меня на айфоне. Скринкаст записался в формате, который айфон не поддерживает.
Конвертируешь туда-сюда.
Потом с тяжелой руки монтажера от бога 20 минут моей жизни обрели вес в 6 с чем-то гигов.
6 гигов господи...
Может я что-то не понимаю, но кажется, что Интерстеллар в 1080 весил чуть-чуть меньше в два раза 🥲
А еще, если хотите забыть о том, что вы крутой разраб, попробуйте перенести видос в 6 гигов с айфона на ubuntu.
Короче я смирился с тем, что я уточка и решил лить в youtube прямо с айтелефона.
Оно пролилось. В SD качестве, к сожалению, можно наслаждаться только моим бархатным голосом. Но уроки программирования на слух - это особый вид извращений, который мы не будем практиковать в этом канале...
Я очень хочу поскорее загрузить это все и говорить себе какой я молодец. Но ютуб, видимо, хочет чтоб я прочувствовал, как тяжело жить эстонцам на этом свете...
Как обработается в норм качестве скину вам сие творение)
Ждите. Я не хочу ждать один. Пожалуйста.... Просто обновляйте телегу, как я обновляю ютуб в надежде что чудо сейчас случится😂
Я вроде программист, а чувствую себя глупой уточкой со всеми этими экспортами файлов туда-сюда-обратно.
Монтажное приложение у меня на айфоне. Скринкаст записался в формате, который айфон не поддерживает.
Конвертируешь туда-сюда.
Потом с тяжелой руки монтажера от бога 20 минут моей жизни обрели вес в 6 с чем-то гигов.
6 гигов господи...
Может я что-то не понимаю, но кажется, что Интерстеллар в 1080 весил чуть-чуть меньше в два раза 🥲
А еще, если хотите забыть о том, что вы крутой разраб, попробуйте перенести видос в 6 гигов с айфона на ubuntu.
Короче я смирился с тем, что я уточка и решил лить в youtube прямо с айтелефона.
Оно пролилось. В SD качестве, к сожалению, можно наслаждаться только моим бархатным голосом. Но уроки программирования на слух - это особый вид извращений, который мы не будем практиковать в этом канале...
Я очень хочу поскорее загрузить это все и говорить себе какой я молодец. Но ютуб, видимо, хочет чтоб я прочувствовал, как тяжело жить эстонцам на этом свете...
Как обработается в норм качестве скину вам сие творение)
Ждите. Я не хочу ждать один. Пожалуйста.... Просто обновляйте телегу, как я обновляю ютуб в надежде что чудо сейчас случится😂
❤11👍4🔥2😁2👀1
This media is not supported in your browser
VIEW IN TELEGRAM
https://youtu.be/oVE-_MnhnIw?si=sLzzw3579FCeIgC5
Вот оно!
Пока пересматривал, обнаружил, что в моем решении есть ошибка 😱😱😱😱
Чтоб вам было интереснее смотреть, попробуйте найти ее и придумать, как ее можно исправить. Ну и естественно с нами поделиться результатами расследования)
Вот оно!
Пока пересматривал, обнаружил, что в моем решении есть ошибка 😱😱😱😱
Чтоб вам было интереснее смотреть, попробуйте найти ее и придумать, как ее можно исправить. Ну и естественно с нами поделиться результатами расследования)
👍6❤5🔥2
This media is not supported in your browser
VIEW IN TELEGRAM
Чет мне понравилось пилить видосы на ютюб, так что ждите еще один.
Поделюсь с вами секретными секретами по работе в IDEA
Поделюсь с вами секретными секретами по работе в IDEA
🔥15❤5
Media is too big
VIEW IN TELEGRAM
Ссылку на полный видос скину как полный видос полностью зальется )
Всем шикарных выходных, жамкайте кнопочки и ваших близких, и кнопочки ваших близких❤️
Всем шикарных выходных, жамкайте кнопочки и ваших близких, и кнопочки ваших близких
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13❤🔥4❤1
Ловите, друзья.
https://youtu.be/44u_IPlawE4
Осветил в видосе некотые фишки в нашей любимой среде разработки, которые бустят производительность кодогенерации.
Надеюсь будет полезно, лайкайке и делитесь в комментах своими любимыми хот-кеями. Жамкать я вам уже пожелал, а чего по круче придумать не знаю)
Смотрите мой видос)
https://youtu.be/44u_IPlawE4
Осветил в видосе некотые фишки в нашей любимой среде разработки, которые бустят производительность кодогенерации.
Надеюсь будет полезно, лайкайке и делитесь в комментах своими любимыми хот-кеями. Жамкать я вам уже пожелал, а чего по круче придумать не знаю)
Смотрите мой видос)
YouTube
⚡ Секретные фишки IntelliJ IDEA для продуктивной разработки
Telegram: https://news.1rj.ru/str/+HTd2UpOAjWYzNzZi
В этом видео я делюсь приёмами и горячими клавишами в IntelliJ IDEA, которые помогают мне работать быстрее и эффективнее. Разберём полезные шорткаты, скрытые возможности IDE и приёмы, которые экономят часы при разработке…
В этом видео я делюсь приёмами и горячими клавишами в IntelliJ IDEA, которые помогают мне работать быстрее и эффективнее. Разберём полезные шорткаты, скрытые возможности IDE и приёмы, которые экономят часы при разработке…
🔥11👍2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Всем привет, друзья!
Пропал на какое-то время. Работа, ученики, обучение, танцы… И где-то посередине борьба с собой на тему заставить себя делать крутой контент для себя и вас)
Минуточку… Танцы?! Ладно, может расскажу как-нибудь эту офигительную историю, а пока…
Просто хочу поделиться успехами одного из своих учеников.
Смотрите какой клевый получается телеграмм бот.
Все это на спринге, и смело пойдет как опыт работы фрилансером в резюме 💪
Спасибо вам, что остаетесь со мной, я это правда очень ценю ❤️
Пропал на какое-то время. Работа, ученики, обучение, танцы… И где-то посередине борьба с собой на тему заставить себя делать крутой контент для себя и вас)
Минуточку… Танцы?! Ладно, может расскажу как-нибудь эту офигительную историю, а пока…
Просто хочу поделиться успехами одного из своих учеников.
Смотрите какой клевый получается телеграмм бот.
Все это на спринге, и смело пойдет как опыт работы фрилансером в резюме 💪
Спасибо вам, что остаетесь со мной, я это правда очень ценю ❤️
🔥11❤4❤🔥3👍2
Решил написать вам как работает выбор времени для телеграм бота пред-предыдущего поста)
В сервисе есть несколько таблиц:
timeslot - Табличка для хранения возможных таймслотов.
Пример записей:
Здесь в каждой записи по порядку перечисляются: id, время начала и время конца
schedule - таблица в которой хранится расписание на каждый день недели.
Пример записей:
Здесь в каждой записи по порядку перечисляются: id, день недели, id таймслота
custom_schedule - таблица для расписания на конкретный день
Пример записей:
Здесь в каждой записи по порядку перечисляются: id, дата на конкретный день, id таймслота
appointment - таблица в которой мы храним инфу о брони:
Пример записей:
Здесь о порядку перечисляются: id, дата брони, id таймслота, id клиента, id услуги
Теперь как отдать пользователю список свободных таймслотов?
Шаг 1. Получить расписание на выбранную пользователем дату.
Возмьем, к примеру, 21 декабря.
Сперва необходимо посмотреть есть ли записи на 21 декабря в custom_schedule. И если есть, то взять список всех таймслотов за эту дату. А если нет, то мы смотрим, а какой у нас день недели 21 декабря? Четверг. Зная это мы фильтруем все записи в schedule по четвергу и получаем расписание.
Шаг 2. Получить список забронированных таймслотов на выбранную пользователем дату.
Для этого мы фильтруем записи из таблицы appointment и берем из нее все таймслоты на которые уже есть бронь.
Шаг 3. Получить список свободных таймслотов
Для этого вычитаем список занятых таймслотов (шаг 2) из расписания (шаг 1)
Далее, после того как пользователь выберет нужный таймслот, мы сохраним новую запись в таблице appointment.
На самом деле задачка немного сложнее. Потому как некоторые услуги длятся 1 час, некоторые 2. И нужно учитывать еще и продолжительность услуги при фильтрации свободных таймслотов. Но эта часть работы еще в процессе)
В сервисе есть несколько таблиц:
timeslot - Табличка для хранения возможных таймслотов.
Пример записей:
1 10:00 11:00
2 11:00 12:00
2 12:00 13:00Здесь в каждой записи по порядку перечисляются: id, время начала и время конца
schedule - таблица в которой хранится расписание на каждый день недели.
Пример записей:
1 MONDAY 1
2 MONDAY 2
3 TUESDAY 1
и т.д. Здесь в каждой записи по порядку перечисляются: id, день недели, id таймслота
custom_schedule - таблица для расписания на конкретный день
Пример записей:
1 10.12.23 1
1 10.12.23 2Здесь в каждой записи по порядку перечисляются: id, дата на конкретный день, id таймслота
appointment - таблица в которой мы храним инфу о брони:
Пример записей:
1 10.12.23 1 3 4
1 10.12.23 2 3 8Здесь о порядку перечисляются: id, дата брони, id таймслота, id клиента, id услуги
Теперь как отдать пользователю список свободных таймслотов?
Шаг 1. Получить расписание на выбранную пользователем дату.
Возмьем, к примеру, 21 декабря.
Сперва необходимо посмотреть есть ли записи на 21 декабря в custom_schedule. И если есть, то взять список всех таймслотов за эту дату. А если нет, то мы смотрим, а какой у нас день недели 21 декабря? Четверг. Зная это мы фильтруем все записи в schedule по четвергу и получаем расписание.
Шаг 2. Получить список забронированных таймслотов на выбранную пользователем дату.
Для этого мы фильтруем записи из таблицы appointment и берем из нее все таймслоты на которые уже есть бронь.
Шаг 3. Получить список свободных таймслотов
Для этого вычитаем список занятых таймслотов (шаг 2) из расписания (шаг 1)
Далее, после того как пользователь выберет нужный таймслот, мы сохраним новую запись в таблице appointment.
На самом деле задачка немного сложнее. Потому как некоторые услуги длятся 1 час, некоторые 2. И нужно учитывать еще и продолжительность услуги при фильтрации свободных таймслотов. Но эта часть работы еще в процессе)
🔥8❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Привет, ребят!
Короче, тут у нас есть чатик, где периодически возникают интересные вопросы.
Вот буквально только что рассказывал там как развернуть приложение и бд в докере, чтоб все это можно было на удаленном серваке запустить.
Залетайте, и не стесняйтесь вопросов задавать
Короче, тут у нас есть чатик, где периодически возникают интересные вопросы.
Вот буквально только что рассказывал там как развернуть приложение и бд в докере, чтоб все это можно было на удаленном серваке запустить.
Залетайте, и не стесняйтесь вопросов задавать
🔥9💘2❤1
Media is too big
VIEW IN TELEGRAM
Я больше никогда в жизни не приобрету ни одно устройство Razer
Это самый худший пользовательский опыт который у меня был
Большой ошибкой было полагать, что покупая RGB клавиатуру, она будет способна включить подсветку без кучи вспомогательного ПО, которое ко всему прочему и не работает вовсе.
Для того, чтобы эти сраные лампочки зажглись, нужны права администратора, которых нет, когда ты работаешь в корпорации программистом.
И даже получив их и установив три приложения (а это на три больше, чем нужно, для того, чтобы сраные лампочки зажглись) мое устройство не отображается в списке устройств.
У меня даже вкладки нет с утройствами
Я даже не знаю в какой из трех программ искать свое устройство
Я даже не знаю, кто в здравом уме должен изучать ваше по, для того, чтобы сраные лампочки просто зажглись.
Мой вам совет, удалите все свои репозитории и продукты.
Сделайте кнопку на самой клавиатуре, которая будет менять режимы подсветки, работая даже если ее воткнуть в простую розетку.
И не мучайте людей своими интеллектуальными испражнениями.
Если это письмо будут читать, то я хочу обратиться к тебе лично.
Друг, увольняйся, найди место по лучше, в котором людям помогают, а не пытают своими продуктами
Это самый худший пользовательский опыт который у меня был
Большой ошибкой было полагать, что покупая RGB клавиатуру, она будет способна включить подсветку без кучи вспомогательного ПО, которое ко всему прочему и не работает вовсе.
Для того, чтобы эти сраные лампочки зажглись, нужны права администратора, которых нет, когда ты работаешь в корпорации программистом.
И даже получив их и установив три приложения (а это на три больше, чем нужно, для того, чтобы сраные лампочки зажглись) мое устройство не отображается в списке устройств.
У меня даже вкладки нет с утройствами
Я даже не знаю в какой из трех программ искать свое устройство
Я даже не знаю, кто в здравом уме должен изучать ваше по, для того, чтобы сраные лампочки просто зажглись.
Мой вам совет, удалите все свои репозитории и продукты.
Сделайте кнопку на самой клавиатуре, которая будет менять режимы подсветки, работая даже если ее воткнуть в простую розетку.
И не мучайте людей своими интеллектуальными испражнениями.
Если это письмо будут читать, то я хочу обратиться к тебе лично.
Друг, увольняйся, найди место по лучше, в котором людям помогают, а не пытают своими продуктами
❤9
Привет!
Хочу про котлин че-нибудь напостить в канал, что думаете?
Хочу про котлин че-нибудь напостить в канал, что думаете?
Anonymous Poll
37%
Да, чувак, это то, что нужно
46%
Не, чувак, какой котлин? Давай чисто по джаве
17%
Я пингвин, дайте рыбу
❤2