Всем привет!
Решила поделиться последними новостями своего обучения. В Практикуме у нас начался Maven и Spring. Спринг требуется почти во всех вакансиях Java-разработчика, поэтому я рада, что он, наконец, у нас начался. Прохожу на степике SQL — тоже обязательное требование практически во всех вакансиях, что мне встречались.
Читаю еще книжку с советами от перешедших в IT после 30-ти — “The Coding Career Handbook”. Очень понравился совет — no zero days – хоть немного, но сделать что-то по учебе каждый день. В принципе, это у меня как-то, не задумываясь, само получалось и так, но, прочитав этот совет, очень прониклась и загорелась его соблюдать.
Решила поделиться последними новостями своего обучения. В Практикуме у нас начался Maven и Spring. Спринг требуется почти во всех вакансиях Java-разработчика, поэтому я рада, что он, наконец, у нас начался. Прохожу на степике SQL — тоже обязательное требование практически во всех вакансиях, что мне встречались.
Читаю еще книжку с советами от перешедших в IT после 30-ти — “The Coding Career Handbook”. Очень понравился совет — no zero days – хоть немного, но сделать что-то по учебе каждый день. В принципе, это у меня как-то, не задумываясь, само получалось и так, но, прочитав этот совет, очень прониклась и загорелась его соблюдать.
🔥4👍1👏1
Всем привет!
Сегодня расскажу о своих впечатлениях о Spring Boot. В начале недели, при первом поверхностном знакомстве у меня сложилось мнение, что Spring Boot – это такая легкая штука, что даже скучно ее было использовать в заданиях. Задания были, естественно, простые — написать буквально два-три эндпоинта в две-три строчки.
А потом дошла до финального проекта этого спринта (9й уже по счету, один спринт — две недели, сейчас идет первая). Сначала также показалось, что всё будет мега-элементарно, мол, можно написать за пару часов. Но оказалось, что не всё так просто.
Взяла дополнительный челлендж в задании — сделать все проверки с помощью Hibernate Validator. Быстрый поиск в гугле выводит, что Hibernate Validator «считается эталонной реализацией Bean Validation», идея которой «в том, чтобы определять такие правила, как «Это поле не может быть null» или «Это число должно находиться в заданном диапазоне» с помощью аннотаций».
И вот тут Spring Boot для меня начал раскрываться — столько нюансов, столько интересных вещей можно сделать. Для реализации проверки одного поля написала кастомный валидатор. О такой возможности нам пока не рассказали в теории, но есть много информации в интернете. Нашла классную статью об этом, попробовала — получилось. Радости не было предела :) Правда пока проект еще на проверке, возможно нужно будет внести изменения.
В общем, проект в этот раз очень понравился, делала его с удовольствием. Spring Boot покорил своими возможностями. Нужно будет побольше о них узнать.
Сегодня расскажу о своих впечатлениях о Spring Boot. В начале недели, при первом поверхностном знакомстве у меня сложилось мнение, что Spring Boot – это такая легкая штука, что даже скучно ее было использовать в заданиях. Задания были, естественно, простые — написать буквально два-три эндпоинта в две-три строчки.
А потом дошла до финального проекта этого спринта (9й уже по счету, один спринт — две недели, сейчас идет первая). Сначала также показалось, что всё будет мега-элементарно, мол, можно написать за пару часов. Но оказалось, что не всё так просто.
Взяла дополнительный челлендж в задании — сделать все проверки с помощью Hibernate Validator. Быстрый поиск в гугле выводит, что Hibernate Validator «считается эталонной реализацией Bean Validation», идея которой «в том, чтобы определять такие правила, как «Это поле не может быть null» или «Это число должно находиться в заданном диапазоне» с помощью аннотаций».
И вот тут Spring Boot для меня начал раскрываться — столько нюансов, столько интересных вещей можно сделать. Для реализации проверки одного поля написала кастомный валидатор. О такой возможности нам пока не рассказали в теории, но есть много информации в интернете. Нашла классную статью об этом, попробовала — получилось. Радости не было предела :) Правда пока проект еще на проверке, возможно нужно будет внести изменения.
В общем, проект в этот раз очень понравился, делала его с удовольствием. Spring Boot покорил своими возможностями. Нужно будет побольше о них узнать.
👍3🔥1
Кстати, SQL тоже я недооценила. Чем дальше идет курс на степике, тем больше деталей и сложных задач. Одну такую задачу решала полтора дня. А оказалось, что синтаксис перепутала при сравнении на пустое значение. Сначала не хотела идти в комментарии, чтобы случайно ответ не увидеть, но потом все-таки пошла и увидела там свою ошибку в синтаксисе. Их решение смотреть не стала, пошла исправлять свое и в итоге все получилось. Потом решила и другим способом, для тренировки.
🔥3👍1
Всем привет!
Проект мне вчера утром зачли без особых замечаний, поэтому до пятницы у меня снова каникулы. В выходные один очень умный человек сказал мне, что любой проект надо рассматривать как продукт, который всегда можно развивать.
Это натолкнуло меня на мысль не бросать свой пет-проект, а улучшить его. Поэтому сегодня добавила в него Spring boot, maven. В планах на неделю — переделать API на спринговский, добавить валидации и проверки. Вчера смотрела видео по Spring boot, там было про подключение базы данных, собираюсь подключить пока H2. Там же было показано, как подключить небольшой веб-интерфейс, через html, где можно было бы (в моем случае) добавлять новую задачу в более удобном виде, не через текст/консоль. Теоретически у меня есть для этого подходящий менеджер, который может принимать информацию и сохранять ее. Также хочу реализовать логин/пароль для пользователей, но это не на эту неделю план, потому что у меня есть еще одна цель на эту.
Вторая моя цель на эту неделю — это улучшить свой ИИ в крестиках-ноликах, недавно написала на джаве. В субботу смотрела, как можно сделать обучение ИИ на основе статистических данных (на питоне). В планах на эту неделю — сделать эту реализацию на джаве. Скоро меня будет обыгрывать компьютер в крестики-нолики :)
Проект мне вчера утром зачли без особых замечаний, поэтому до пятницы у меня снова каникулы. В выходные один очень умный человек сказал мне, что любой проект надо рассматривать как продукт, который всегда можно развивать.
Это натолкнуло меня на мысль не бросать свой пет-проект, а улучшить его. Поэтому сегодня добавила в него Spring boot, maven. В планах на неделю — переделать API на спринговский, добавить валидации и проверки. Вчера смотрела видео по Spring boot, там было про подключение базы данных, собираюсь подключить пока H2. Там же было показано, как подключить небольшой веб-интерфейс, через html, где можно было бы (в моем случае) добавлять новую задачу в более удобном виде, не через текст/консоль. Теоретически у меня есть для этого подходящий менеджер, который может принимать информацию и сохранять ее. Также хочу реализовать логин/пароль для пользователей, но это не на эту неделю план, потому что у меня есть еще одна цель на эту.
Вторая моя цель на эту неделю — это улучшить свой ИИ в крестиках-ноликах, недавно написала на джаве. В субботу смотрела, как можно сделать обучение ИИ на основе статистических данных (на питоне). В планах на эту неделю — сделать эту реализацию на джаве. Скоро меня будет обыгрывать компьютер в крестики-нолики :)
🔥3👍2
Привет!
Не сказать, что я ему проигрываю теперь, но ставит он теперь нолики более "осознанно". Сын ему два раза даже проиграл. Если играть с ним по-серьезному будет либо ничья, либо выиграешь его, потому что иногда он путается. Я сначала столкнула случайный выбор против случайного выбора, потом попробовала столкнуть случайного с "умным" плюсом к статистике. Надо будет сделать "умного" ИИ для крестиков и столкнуть умного нолика против умного крестика и тогда посмотреть будет ли непобедимый после этого. Потому что пока его можно победить, особенно если занять его любимую позицию в центре.
Не сказать, что я ему проигрываю теперь, но ставит он теперь нолики более "осознанно". Сын ему два раза даже проиграл. Если играть с ним по-серьезному будет либо ничья, либо выиграешь его, потому что иногда он путается. Я сначала столкнула случайный выбор против случайного выбора, потом попробовала столкнуть случайного с "умным" плюсом к статистике. Надо будет сделать "умного" ИИ для крестиков и столкнуть умного нолика против умного крестика и тогда посмотреть будет ли непобедимый после этого. Потому что пока его можно победить, особенно если занять его любимую позицию в центре.
👍2🔥1👏1
Тру-Джава
Привет! Не сказать, что я ему проигрываю теперь, но ставит он теперь нолики более "осознанно". Сын ему два раза даже проиграл. Если играть с ним по-серьезному будет либо ничья, либо выиграешь его, потому что иногда он путается. Я сначала столкнула случайный…
Аа, нашла ошибку, в статистике у меня нолик ходил первым, а крестик вторым, а играла когда с ним, нолик шел вторым. Теперь он меня наконец выиграл)
👍1🔥1
Всем привет!
И вторая цель на неделю выполнена! Целый день над этим просидела правда))) Но, в итоге всё получилось. H2 база данных подключена, можно отправлять запросы, они добавляются в базу данных, она хранится в файле.
Надо будет написать тесты для нее, но уже не сегодня. Завтра открывается новый спринт, новая теория начнется. Так что ура)
И вторая цель на неделю выполнена! Целый день над этим просидела правда))) Но, в итоге всё получилось. H2 база данных подключена, можно отправлять запросы, они добавляются в базу данных, она хранится в файле.
Надо будет написать тесты для нее, но уже не сегодня. Завтра открывается новый спринт, новая теория начнется. Так что ура)
🔥2👍1
С праздником всех!
Решила поделиться последними новостями из моей учебной жизни. В пятницу откликнулась на hh.ru на стажировку, мне пришло приглашение пройти тест через телеграм-бот.
Условия стажировки были относительно странные - сначала этап обучения, где два раза в неделю проходят лекции, потом примерно 3 месяца работы стажером без оплаты на полный рабочий день.
Я все же захотела попробовать, согласилась пройти бот-тест. Он был также относительно странный, 1 минута на размышление, вопросы бот кидал сразу по два (после 3-го вопроса так началось) и результаты выдал раньше, чем я ответила на последний вопрос. Возможно была ошибка в подсчетах, но могу, естественно, ошибаться. В любом случае, проходной балл я не набрала и на стажировку не прошла.
Вспомнилась фраза из книжки Coding career, что бесплатно выполнять задание можно максимум до 2х дней, если больше - труд должен быть оплачен. 3 месяца труда совсем без оплаты звучит, мягко говоря, странно.
Но, со 2го числа начинаются экзамены на стажировку в Тинькофф и я собираюсь попробовать свои силы. Там также будут вопросы с лимитом на время, но и будут алгоритмические задачи. Напишу потом, какие будут результаты. Всем бобра, как говорится 🤗
Решила поделиться последними новостями из моей учебной жизни. В пятницу откликнулась на hh.ru на стажировку, мне пришло приглашение пройти тест через телеграм-бот.
Условия стажировки были относительно странные - сначала этап обучения, где два раза в неделю проходят лекции, потом примерно 3 месяца работы стажером без оплаты на полный рабочий день.
Я все же захотела попробовать, согласилась пройти бот-тест. Он был также относительно странный, 1 минута на размышление, вопросы бот кидал сразу по два (после 3-го вопроса так началось) и результаты выдал раньше, чем я ответила на последний вопрос. Возможно была ошибка в подсчетах, но могу, естественно, ошибаться. В любом случае, проходной балл я не набрала и на стажировку не прошла.
Вспомнилась фраза из книжки Coding career, что бесплатно выполнять задание можно максимум до 2х дней, если больше - труд должен быть оплачен. 3 месяца труда совсем без оплаты звучит, мягко говоря, странно.
Но, со 2го числа начинаются экзамены на стажировку в Тинькофф и я собираюсь попробовать свои силы. Там также будут вопросы с лимитом на время, но и будут алгоритмические задачи. Напишу потом, какие будут результаты. Всем бобра, как говорится 🤗
👍3
Всем привет! С праздником!
Эта неделя прошла не очень продуктивно у меня, но всё же очередной проект сдан. До пятницы у меня будут каникулы.
В этот раз мы добавили возможность ставить лайки фильмам, чтобы сортировать их по популярности, также пользователи теперь могут добавлять друг друга в друзья.
В следующем спринте будет подключена база данных, PostgreSQL. А через спринт у нас будет опыт работы в команде - каждому нужно будет реализовать свой функционал. Так что наше приложение скоро совсем разрастется.
Эта неделя прошла не очень продуктивно у меня, но всё же очередной проект сдан. До пятницы у меня будут каникулы.
В этот раз мы добавили возможность ставить лайки фильмам, чтобы сортировать их по популярности, также пользователи теперь могут добавлять друг друга в друзья.
В следующем спринте будет подключена база данных, PostgreSQL. А через спринт у нас будет опыт работы в команде - каждому нужно будет реализовать свой функционал. Так что наше приложение скоро совсем разрастется.
👍3
Всем привет!
Оказалось, что наш 11й спринт будет длиться не 2 недели, а целый месяц. Потом неделя каникул и групповая работа. Эта новость меня сначала огорчила, потому что подозреваю, что много времени останется свободного после ТЗ в конце теории. Но, с другой стороны, будет время позаниматься больше своими проектами.
У меня появилось пару идей, что я хочу сделать. Во-первых, хочу сделать игру «Быки и коровы» с компьютером. Потом на очереди надо будет сделать «Улей» по одной настольной игре. Она, в принципе, не сложная, но требует простейшей графики. На java я пока графики совсем не касалась.
Во-вторых, сын просит доделать игру с рыбками. Точнее, он хочет, чтобы я сделала совсем другую уже игру, потому что часто придумывает новые игры. Но чтобы сделать ту игру, которую он придумал, надо подучиться. Не хочется иметь кучу недоделанных проектов, поэтому думаю, рыбки должны уйти в свет (т. е. в планшет :) ) . Тем более, идея его новой игры слегка похожа по жанру.
Кстати, этот спринт с упором на SQL, мне очень пригодились знания со stepik по нему. Увидела, что разница между mySQL и PostgreSQL в синтаксисе небольшая. Вчера болела, но был интерес поучиться и поэтому смотрела вебинар по PostgreSQL. Начался он с установки PostgreSQL, DBeaver и подключения плагина в идею для работы с базами данных. Создали таблицы, писали разные интересные к ним запросы. Один вебинар на час проходила 5 часов в общей сложности 😁 То-ли самочувствие повлияло, то-ли из-за того, что сначала запросы писала сама, а потом уже смотрела, как делает лектор. Но впечатления остались отличные)
Оказалось, что наш 11й спринт будет длиться не 2 недели, а целый месяц. Потом неделя каникул и групповая работа. Эта новость меня сначала огорчила, потому что подозреваю, что много времени останется свободного после ТЗ в конце теории. Но, с другой стороны, будет время позаниматься больше своими проектами.
У меня появилось пару идей, что я хочу сделать. Во-первых, хочу сделать игру «Быки и коровы» с компьютером. Потом на очереди надо будет сделать «Улей» по одной настольной игре. Она, в принципе, не сложная, но требует простейшей графики. На java я пока графики совсем не касалась.
Во-вторых, сын просит доделать игру с рыбками. Точнее, он хочет, чтобы я сделала совсем другую уже игру, потому что часто придумывает новые игры. Но чтобы сделать ту игру, которую он придумал, надо подучиться. Не хочется иметь кучу недоделанных проектов, поэтому думаю, рыбки должны уйти в свет (т. е. в планшет :) ) . Тем более, идея его новой игры слегка похожа по жанру.
Кстати, этот спринт с упором на SQL, мне очень пригодились знания со stepik по нему. Увидела, что разница между mySQL и PostgreSQL в синтаксисе небольшая. Вчера болела, но был интерес поучиться и поэтому смотрела вебинар по PostgreSQL. Начался он с установки PostgreSQL, DBeaver и подключения плагина в идею для работы с базами данных. Создали таблицы, писали разные интересные к ним запросы. Один вебинар на час проходила 5 часов в общей сложности 😁 То-ли самочувствие повлияло, то-ли из-за того, что сначала запросы писала сама, а потом уже смотрела, как делает лектор. Но впечатления остались отличные)
👍2🔥2
Всем привет!
Читаю тут потихоньку The Coding Career Handbook с советами для начинающих программистов. Заинтересовал сегодняшний совет - teach what you learn - говорить о том, что учишь "на работе, на встречах, с семьей, с вашей собакой, с собой на своем YouTube канале".
Рассмешило дальше - а что если это будет звучать плохо? "Не волнуйся, так и будет!" И дальше призыв сделать 10 таких плохих речей/выступлений подряд и не улучшиться в этом. Звучит как план для меня 😁
Может быть попробую что-нибудь такое сделать в текстовом виде в этом блоге. У меня кстати был не очень давно опыт объяснения для коллег-одногруппников удаление узлов в двусвязном списке. Даже нарисовала схему с пояснениями и один из этих пары человек сказал, что только с помощью этой схемы понял, что же происходит с узлами и связями в момент удаления его из списка.
Читаю тут потихоньку The Coding Career Handbook с советами для начинающих программистов. Заинтересовал сегодняшний совет - teach what you learn - говорить о том, что учишь "на работе, на встречах, с семьей, с вашей собакой, с собой на своем YouTube канале".
Рассмешило дальше - а что если это будет звучать плохо? "Не волнуйся, так и будет!" И дальше призыв сделать 10 таких плохих речей/выступлений подряд и не улучшиться в этом. Звучит как план для меня 😁
Может быть попробую что-нибудь такое сделать в текстовом виде в этом блоге. У меня кстати был не очень давно опыт объяснения для коллег-одногруппников удаление узлов в двусвязном списке. Даже нарисовала схему с пояснениями и один из этих пары человек сказал, что только с помощью этой схемы понял, что же происходит с узлами и связями в момент удаления его из списка.
👍4🔥1
Всем привет!
На прошлой неделе думала, что примерно сегодня буду писать о том, что у меня начались досрочные каникулы, что я всё сдала. Но пока я еще на финальном проекте этого спринта. Еще в процессе его написания сейчас. Вот так бывает, что думаешь, что проект такой-то по объему, но потом всплывают детали и понимаешь, что все не так просто.
Подключила базу данных с 7 таблицами, половина из них связаны друг с другом логически по внешним ключам. Вносить данные нужно по заданию через jdbcTemplate, что является более сложным путем, чем работать с аннотациями JPA, как мне кажется. Но по многим видео слышала мнение, что для новичков наоборот jdbc легче для понимания. Голый jdbc включает большое количество повторения кода, а jdbcTemplate упрощает многие вещи по взаимодействию с базой данных.
Нам дали 3 примера и статью и сказали, вперед к практике! Понедельник-вторник практически не писала код, читала, смотрела про jdbc, rowMapper, что и как нужно делать. Сейчас уже больше половины функционала (по проверочным тестам postman) проходят успешно. Сегодня было в планах доработать недостающий функционал, исправить ошибки, чтобы возможно стали проходить все тесты, которых ~ 300 штук. Если все будет успешно сегодня, то завтра займусь написанием интеграционных тестов и если все будет ок, отправлю на проверку.
Потом займусь своими проектами. Вот такие планы и такие дела :)
На прошлой неделе думала, что примерно сегодня буду писать о том, что у меня начались досрочные каникулы, что я всё сдала. Но пока я еще на финальном проекте этого спринта. Еще в процессе его написания сейчас. Вот так бывает, что думаешь, что проект такой-то по объему, но потом всплывают детали и понимаешь, что все не так просто.
Подключила базу данных с 7 таблицами, половина из них связаны друг с другом логически по внешним ключам. Вносить данные нужно по заданию через jdbcTemplate, что является более сложным путем, чем работать с аннотациями JPA, как мне кажется. Но по многим видео слышала мнение, что для новичков наоборот jdbc легче для понимания. Голый jdbc включает большое количество повторения кода, а jdbcTemplate упрощает многие вещи по взаимодействию с базой данных.
Нам дали 3 примера и статью и сказали, вперед к практике! Понедельник-вторник практически не писала код, читала, смотрела про jdbc, rowMapper, что и как нужно делать. Сейчас уже больше половины функционала (по проверочным тестам postman) проходят успешно. Сегодня было в планах доработать недостающий функционал, исправить ошибки, чтобы возможно стали проходить все тесты, которых ~ 300 штук. Если все будет успешно сегодня, то завтра займусь написанием интеграционных тестов и если все будет ок, отправлю на проверку.
Потом займусь своими проектами. Вот такие планы и такие дела :)
👍3🔥2
Всем привет!
В выходные отправила свой проект на проверку. Вчера ревьюер попросил внести изменения. Сегодня отправила и теперь в ожидании. Совсем переключаться на свои проекты пока не очень хочется, поэтому "Коровы и быки" пока откладываются на несколько дней. Но пока жду проверки, нашла себе забавное развлечение.
Сначала сделала SudokuSolver - разгадывает судоку и красиво пишет результат. Потом вспомнила, что сегодня мне попалась ссылка на гитхаб с тестовыми заданиями от разных IT компаний.
Форкнула его себе, склонировала, выбрала первую задачку для выполнения - сделать SQL парсер. Это в принципе недалеко от темы ТЗ, который сейчас на проверке. Поэтому не сильно переключусь на другую тему. Решила выполнять такие задания, добавлять их в свой репозиторий с кратким описанием (либо ссылкой даже на само задание). Думаю будет здорово.
В выходные отправила свой проект на проверку. Вчера ревьюер попросил внести изменения. Сегодня отправила и теперь в ожидании. Совсем переключаться на свои проекты пока не очень хочется, поэтому "Коровы и быки" пока откладываются на несколько дней. Но пока жду проверки, нашла себе забавное развлечение.
Сначала сделала SudokuSolver - разгадывает судоку и красиво пишет результат. Потом вспомнила, что сегодня мне попалась ссылка на гитхаб с тестовыми заданиями от разных IT компаний.
Форкнула его себе, склонировала, выбрала первую задачку для выполнения - сделать SQL парсер. Это в принципе недалеко от темы ТЗ, который сейчас на проверке. Поэтому не сильно переключусь на другую тему. Решила выполнять такие задания, добавлять их в свой репозиторий с кратким описанием (либо ссылкой даже на само задание). Думаю будет здорово.
👍2🔥2👏1
С началом лета! :)
Мне во вторник вечером зачли проект. Так что начались каникулы до 19 июня, возможно откроется спринт на пару дней раньше. Теперь мне показывают, что я прошла от курса 77%!
Но своими проектами пока не получилось позаниматься - началась активная подготовка к первому классу в школе, а сегодня еще и второй день отключают днем свет) Но делала задачки со stepik, у меня ещё остался не пройден курс по mySQL. Там осталось меньше половины.
Вчера начала тренировать вопросы по java, которые могут пригодиться на собеседовании, через телеграм бота в игровом стиле. Сегодня в игре у меня уже 3й уровень и новая работа💪😁
Надеюсь и реальная работа не заставит себя долго ждать:)
Мне во вторник вечером зачли проект. Так что начались каникулы до 19 июня, возможно откроется спринт на пару дней раньше. Теперь мне показывают, что я прошла от курса 77%!
Но своими проектами пока не получилось позаниматься - началась активная подготовка к первому классу в школе, а сегодня еще и второй день отключают днем свет) Но делала задачки со stepik, у меня ещё остался не пройден курс по mySQL. Там осталось меньше половины.
Вчера начала тренировать вопросы по java, которые могут пригодиться на собеседовании, через телеграм бота в игровом стиле. Сегодня в игре у меня уже 3й уровень и новая работа💪😁
Надеюсь и реальная работа не заставит себя долго ждать:)
🔥2👍1👏1
Всем привет!
Тренировка вопросов по java с чат-ботом мне очень понравилась, многие вопросы меня подлавливают, изредка попадаются вопросы про многопоточность. Ее я еще не изучала - в Практикуме тема многопоточности начнется, возможно, через спринт-другой.
В общем, в субботу открываю браузер, а там вкладка открыта на курс на степике "Java c нуля до Junior + Подготовка к собеседованию". Смотрю содержание, а там обсуждение тонкостей разных коллекций, многопоточность и другие темы. Отзывы все положительные, решила начать и залипла! Сегодня дошла уже до 8й темы из 11, как раз подробнее о многопоточности. До этого написали небольшую программку, которая одновременно угадывала число и считала секунды.
Интересный курс, не сказала бы, что подходит для людей с нуля, потому что сходу писать свои реализации двусвязных списков и хеш-сет дело не простое. Но кастомный двусвязный список мы в Практикуме писали еще на 5 ТЗ, тогда я достаточно много на эту тему читала и очень долго разбиралась, мне бы не хватило той информации, что была в этом курсе. Но сейчас повторить теорию пока каникулы, углубиться в тонкости, потренировать вопросы с собеседований (там регулярно есть такие видео-занятия) - просто супер. Но думаю, что я его быстро закончу, потому что бОльшую часть я знаю и знаю больше способов реализовать какие-то задачи, предлагаемые в курсе. Это хорошо поднимает настроение и самооценку)
А потом есть еще много планов, в первую очередь написать SQL Parser из того тестового задания с гитхаба, а потом думала попробовать написать теоретическую заметку об Optional, что это такое, для чего используется. Как рассказывала до этого, такой челлендж мне дали в книжке Coding Career. Планов, конечно, у меня еще миллион, но всё за 2 недели не успеешь :)
Тренировка вопросов по java с чат-ботом мне очень понравилась, многие вопросы меня подлавливают, изредка попадаются вопросы про многопоточность. Ее я еще не изучала - в Практикуме тема многопоточности начнется, возможно, через спринт-другой.
В общем, в субботу открываю браузер, а там вкладка открыта на курс на степике "Java c нуля до Junior + Подготовка к собеседованию". Смотрю содержание, а там обсуждение тонкостей разных коллекций, многопоточность и другие темы. Отзывы все положительные, решила начать и залипла! Сегодня дошла уже до 8й темы из 11, как раз подробнее о многопоточности. До этого написали небольшую программку, которая одновременно угадывала число и считала секунды.
Интересный курс, не сказала бы, что подходит для людей с нуля, потому что сходу писать свои реализации двусвязных списков и хеш-сет дело не простое. Но кастомный двусвязный список мы в Практикуме писали еще на 5 ТЗ, тогда я достаточно много на эту тему читала и очень долго разбиралась, мне бы не хватило той информации, что была в этом курсе. Но сейчас повторить теорию пока каникулы, углубиться в тонкости, потренировать вопросы с собеседований (там регулярно есть такие видео-занятия) - просто супер. Но думаю, что я его быстро закончу, потому что бОльшую часть я знаю и знаю больше способов реализовать какие-то задачи, предлагаемые в курсе. Это хорошо поднимает настроение и самооценку)
А потом есть еще много планов, в первую очередь написать SQL Parser из того тестового задания с гитхаба, а потом думала попробовать написать теоретическую заметку об Optional, что это такое, для чего используется. Как рассказывала до этого, такой челлендж мне дали в книжке Coding Career. Планов, конечно, у меня еще миллион, но всё за 2 недели не успеешь :)
👏3👍2🔥2
Всем привет!
Пост хвастовства) Закончила курс, начатый в выходные. Повторила тему коллекций, стримов, чтения и записи в файл, узнала про многопоточность. До этого знания были о ней очень поверхностные.
Классные вопросы с собеседований обсуждались, я практически на все уже знала ответ, некоторые вещи пометила себе, чтобы запомнить. Курс в целом классный, но не для людей с нуля.
В бот-игре я уже 10 уровня программист, которого недавно повысили до Middle. Эх, если бы в жизни всё также было легко)))
Пост хвастовства) Закончила курс, начатый в выходные. Повторила тему коллекций, стримов, чтения и записи в файл, узнала про многопоточность. До этого знания были о ней очень поверхностные.
Классные вопросы с собеседований обсуждались, я практически на все уже знала ответ, некоторые вещи пометила себе, чтобы запомнить. Курс в целом классный, но не для людей с нуля.
В бот-игре я уже 10 уровня программист, которого недавно повысили до Middle. Эх, если бы в жизни всё также было легко)))
🔥3👍2👏2
Сегодняшний пост будет началом цикла кратких теоретических заметок. Это больше моя тренировка говорить на эти темы, чем попытка кого-то чему-то научить. Статей и книжек на разные теоретические темы написано очень много и, конечно, лучше учиться по ним, а мои короткие заметки ни на что не претендуют.
Что такое Optional?
Это своего рода контейнер, в котором может лежать значение, а может и не лежать. Если в нем лежит значение — это означает, что оно присутствует в контейнере. По-английски это переводится present. Если значения в контейнере нет — контейнер пуст, или empty. Поэтому проверяя, есть ли значение в optional, мы пишем ifPresent (если присутствует) или isPresent (присутствует) и делаем какие-то действия. Если значение есть, мы можем его из Optional получить через метод get().
Казалось бы, какая выгода с этого класса? Если у нас есть какой-либо объект, который может иметь значение null, мы также добавляем проверки в коде (if sth != null). Зачем вводить такой специальный контейнер? Одно из многих преимуществ — мы можем устанавливать значения по умолчанию с помощью метода orElse(). Например, получить значение по умолчанию какого-нибудь среднестатического только родившегося хомяка — optionalHamster.orElse(new Hamster(“Хома”, 0));
Когда мы видим Optional в коде, мы понимаем, что здесь значения может и не быть, и чтобы избежать ошибок, мы уже будем знать, что нам нужно обработать ситуации, когда значения в контейнере нет — выбросить ошибку (orElseThrow()) или получить значение по умолчанию (есть два метода orElse() и orElseGet(), первый создает объект, при отсутствии значения, который нам может быть и не нужен, а второй принимает функциональный интерфейс и возвращает результат его метода).
Хорошая статья об Optional — https://www.baeldung.com/java-optional. В следующей «серии» буду писать о валидации в Spring c помощью аннотаций.
Что такое Optional?
Это своего рода контейнер, в котором может лежать значение, а может и не лежать. Если в нем лежит значение — это означает, что оно присутствует в контейнере. По-английски это переводится present. Если значения в контейнере нет — контейнер пуст, или empty. Поэтому проверяя, есть ли значение в optional, мы пишем ifPresent (если присутствует) или isPresent (присутствует) и делаем какие-то действия. Если значение есть, мы можем его из Optional получить через метод get().
Казалось бы, какая выгода с этого класса? Если у нас есть какой-либо объект, который может иметь значение null, мы также добавляем проверки в коде (if sth != null). Зачем вводить такой специальный контейнер? Одно из многих преимуществ — мы можем устанавливать значения по умолчанию с помощью метода orElse(). Например, получить значение по умолчанию какого-нибудь среднестатического только родившегося хомяка — optionalHamster.orElse(new Hamster(“Хома”, 0));
Когда мы видим Optional в коде, мы понимаем, что здесь значения может и не быть, и чтобы избежать ошибок, мы уже будем знать, что нам нужно обработать ситуации, когда значения в контейнере нет — выбросить ошибку (orElseThrow()) или получить значение по умолчанию (есть два метода orElse() и orElseGet(), первый создает объект, при отсутствии значения, который нам может быть и не нужен, а второй принимает функциональный интерфейс и возвращает результат его метода).
Хорошая статья об Optional — https://www.baeldung.com/java-optional. В следующей «серии» буду писать о валидации в Spring c помощью аннотаций.
Baeldung on Kotlin
Guide To Java Optional | Baeldung
Quick and practical guide to the Java Optional class
👍2🔥2
Всем привет!
Пишу сегодня рассказать о своем прогрессе по курсу по mySQL. Осталось 30 баллов до сертификата (40 для сертификата с отличием). Казалось бы сделать 10 задач в день и можно до конца недели закончить этот курс, но вот пару запросов примеров какие задачки пошли под конец курса. Мозг взрывается, особенно большой запрос со скрина, долго я его составляла)))
Вот к такому селект запросу написать SQL Parser на Java выглядит как непосильная для меня задачка) Но я попробую сделать это на этой неделе.
Пишу сегодня рассказать о своем прогрессе по курсу по mySQL. Осталось 30 баллов до сертификата (40 для сертификата с отличием). Казалось бы сделать 10 задач в день и можно до конца недели закончить этот курс, но вот пару запросов примеров какие задачки пошли под конец курса. Мозг взрывается, особенно большой запрос со скрина, долго я его составляла)))
Вот к такому селект запросу написать SQL Parser на Java выглядит как непосильная для меня задачка) Но я попробую сделать это на этой неделе.
👍2👏2🔥1