12.02.2025
Начал изучать Junit (тестирование программ)
Продуктивный день, но не для программирования. Единственное что успел изучить так это Assertions. По сути они просто нужны для сравнения ожидаемого результата программы с актуальным при помощи огромного количества методов, но дмдев говорит все равно маловато как то, подключим дальше больше.
Еще странно, иногда пишут, что делали 3 проект месяц+, непонятная ситуация конечно, возможно конечно они просто с 0 знаний начали его делать🤨 ну окээй. Ну и в общем за сегодня ничего интересного.
Успел напрогаться час
Начал изучать Junit (тестирование программ)
Продуктивный день, но не для программирования. Единственное что успел изучить так это Assertions. По сути они просто нужны для сравнения ожидаемого результата программы с актуальным при помощи огромного количества методов, но дмдев говорит все равно маловато как то, подключим дальше больше.
Еще странно, иногда пишут, что делали 3 проект месяц+, непонятная ситуация конечно, возможно конечно они просто с 0 знаний начали его делать🤨 ну окээй. Ну и в общем за сегодня ничего интересного.
Успел напрогаться час
🥰2💯2🤝1
13.02.2025
Junit 5
Узнал что есть аннотации которые дают возможность сделать действия перед/после каждого теста, всех тестов, ну для инициализации различных значений, или быть может что то подчистить. Еще интересная тема TDD, которая по сути говорит о том, что сначала мы пишем тесты, а потом код под них, так даже мыслим иначе при написании программы, уж в будущем думаю пригодится это. Плюс дмдев рассказал про доп. возможности для тестирования (assertJ, Hamcrest) ну из них явно удобнее пользоватся ассертJ.
Сонный денёк сегодня.🥱😴
Программировал 2-2.5 часа
Junit 5
Узнал что есть аннотации которые дают возможность сделать действия перед/после каждого теста, всех тестов, ну для инициализации различных значений, или быть может что то подчистить. Еще интересная тема TDD, которая по сути говорит о том, что сначала мы пишем тесты, а потом код под них, так даже мыслим иначе при написании программы, уж в будущем думаю пригодится это. Плюс дмдев рассказал про доп. возможности для тестирования (assertJ, Hamcrest) ну из них явно удобнее пользоватся ассертJ.
Сонный денёк сегодня.🥱😴
Программировал 2-2.5 часа
🤩3❤2🦄2
🗓15.02.2025
Junit 5
Прошел extension model сам он по себе из нескольких компонентов, в общем благодаря этой штуке, можно управлять жизненным циклом, описать действия перед\после блоков и тестов (ну описал не очень но там полезная фича), также появляется замечательная штука такая DI (внедрение зависимостей) ии можно внедрять зависимости как в методах, так и в полях, ну и остальное не так уже интересно. Посмотрел также один видос про моки, пока прям не успел уяснить все, но я так понимаю, что это замена реальных объектов (некая имитация), чтобы упростить себе жизнь при тестировании. Скоро подберусь к хиберу.
Не могу не вставить эстетик программирование вместе с дмдев.🤩
👨💻Программировал 2-3 часа, но что то непродуктивно снова😠
Junit 5
Прошел extension model сам он по себе из нескольких компонентов, в общем благодаря этой штуке, можно управлять жизненным циклом, описать действия перед\после блоков и тестов (ну описал не очень но там полезная фича), также появляется замечательная штука такая DI (внедрение зависимостей) ии можно внедрять зависимости как в методах, так и в полях, ну и остальное не так уже интересно. Посмотрел также один видос про моки, пока прям не успел уяснить все, но я так понимаю, что это замена реальных объектов (некая имитация), чтобы упростить себе жизнь при тестировании. Скоро подберусь к хиберу.
Не могу не вставить эстетик программирование вместе с дмдев.🤩
👨💻Программировал 2-3 часа, но что то непродуктивно снова😠
❤3👍3🔥2
🗓16.02.2025
Junit 5 (завершен). Начал Hibernate.
Прошел моки, спаи и даже есть то, что понял. Например моки:
Например, здесь на 2 строке мы пользуемся фейк объектом(если я правильно понимаю) и указываем если в дао метод delete попадет id который указан как NAME.getId() то тогда дао возвратит сразу же true и никакой логики из настоящего класса не будет, это и круто т.к проверяем конкретный класс, тут это сервис (уже не зависящий от логики dao) на его работоспособность.
Также есть спаи (spy), но его отличие в том что он уже отчасти, возможно полностью работает как реальный объект, что тоже иногда нужно при тестировании.
В общем курс имба, мне понравилось. 👍
А по hibernate прошел только введение.
👨💻Программировал 2 часа.
Junit 5 (завершен). Начал Hibernate.
Прошел моки, спаи и даже есть то, что понял. Например моки:
@Test
void shouldDeleteExistedUser() {
userService.add(NAME);
Mockito.when(userDao.delete(NAME.getId())).thenReturn(true);
boolean delete = userService.delete(1);
assertThat(delete).isTrue();
}
Например, здесь на 2 строке мы пользуемся фейк объектом
Также есть спаи (spy), но его отличие в том что он уже отчасти, возможно полностью работает как реальный объект, что тоже иногда нужно при тестировании.
В общем курс имба, мне понравилось. 👍
А по hibernate прошел только введение.
👨💻Программировал 2 часа.
👍3❤2💔1
🗓17.02.2025 и 18.02.2025
Изучал Hibernate
Как мне подсказали, для 4 проекта будет достаточно посмотреть блок про Hibernate от Заура Трегулова. И разница действительно есть, даже в том, что dmdev я бы смотрел минимум 2 недели. Особенно учитывая, что он в сравнении с Трегуловым настолько углубляется и начинает про хибер рассказывать, что там это реально лишнее.
Смотря заура, я будто бы ощущаю себя мега профи во всем программировании, он и рассказывает по несколько раз так еще и простые вещи. Посмотрел последние видео про отношения в таблицах на 1.5-2х, нормально зашло.🔥
Так вот для тех кто не знает что такое Hibernate такой фреймворк, который на самом деле упрощает жизнь программисту, и вместо того чтобы вручную писать запросы к базам данных, он позволяет это сделать одной командой типа save, delete. Ну и главная фишка перевод данных из реляционного представления в объект (строка из базы данных -> объект в джаве)
Тут по сути получение сессии, открытие транзакции, и все, пишем запросы и закрываем транзакцию.🥱
Программировал за эти дни 4-4.5 часа
Изучал Hibernate
Как мне подсказали, для 4 проекта будет достаточно посмотреть блок про Hibernate от Заура Трегулова. И разница действительно есть, даже в том, что dmdev я бы смотрел минимум 2 недели. Особенно учитывая, что он в сравнении с Трегуловым настолько углубляется и начинает про хибер рассказывать, что там это реально лишнее.
Смотря заура, я будто бы ощущаю себя мега профи во всем программировании, он и рассказывает по несколько раз так еще и простые вещи. Посмотрел последние видео про отношения в таблицах на 1.5-2х, нормально зашло.🔥
Так вот для тех кто не знает что такое Hibernate такой фреймворк, который на самом деле упрощает жизнь программисту, и вместо того чтобы вручную писать запросы к базам данных, он позволяет это сделать одной командой типа save, delete. Ну и главная фишка перевод данных из реляционного представления в объект
try (SessionFactory factory = new Configuration()
.configure("hibernate.cfg.xml")
.addAnnotatedClass(Employee.class)
.buildSessionFactory();
Session session = factory.getCurrentSession()) {
session.beginTransaction();
Employee employee = session.get(Employee.class, 4);
employee.setName("Igor");
session.save(employee);
session.getTransaction().commit();
}
Тут по сути получение сессии, открытие транзакции, и все, пишем запросы и закрываем транзакцию.🥱
Программировал за эти дни 4-4.5 часа
❤3👍3🔥2
Всем вошедшим привет👋 , хочу рассказать как я учусь вообще и может вас замотивирую учить вполне хороший язык программирования -> java
Начну с роадмапа Сергея Жукова, который реально помогает закрепить все изученное.
В нем есть 7 петпроектов, начиная с java core, ООП до Spring + важные технологии для джуна. Плюс так понимаю что там есть и для python.
https://zhukovsd.github.io/java-backend-learning-course/
Как он говорит сделав 6 проект а это у нас уже использование spring, hibernate и mysql, да и получается, что можно искать работу. В общем, имба.
Но откуда брать материалы тогда, чтобы учить технологии для петпроектов, ведь все же платно? Но уже нет, давно люди уже всё слили, и вот например тут все курсы от dmdev в самом вверху да и плюс там еще много материалов.🤩
https://t.me/nickelodeona_ch
Начну с роадмапа Сергея Жукова, который реально помогает закрепить все изученное.
В нем есть 7 петпроектов, начиная с java core, ООП до Spring + важные технологии для джуна. Плюс так понимаю что там есть и для python.
https://zhukovsd.github.io/java-backend-learning-course/
Как он говорит сделав 6 проект а это у нас уже использование spring, hibernate и mysql, да и получается, что можно искать работу. В общем, имба.
Но откуда брать материалы тогда, чтобы учить технологии для петпроектов, ведь все же платно? Но уже нет, давно люди уже всё слили, и вот например тут все курсы от dmdev в самом вверху да и плюс там еще много материалов.🤩
❤8🔥5💩4
🗓20.02.2025
Решил наконец таки прочитать ревью на свойустрашающий проект на сервлетах. Текста и соответственно ошибок куча, много из-за того, что просто уже в конце забил и побыстрее бы закончить :) Где то пользовался оберткой над примитивами за зря, а где то уже на уровне запросов к БД наложал (почти). 😔
Записал для себя что нужно будет не забыть при написании 4 проекта.
В общем, думаю надо начать с того, что у меня есть пробелы в знаниях по solid и попробую почитать книгу "Чистый код", там должно быть то, что мне нужно знать. Еще думаю лекцию по MVC глянуть, будто бы тоже есть что я могу не знать(так и есть) Также, когда уже перейду к следующему проекту, то буду уже его рефакторить, смотреть чужой код, кто да как сделал и изучать новые для себя фичи, все как надо постараюсь сделать, буду исправляться.
👨💻 Почти программировал сегодня 2 часа
Решил наконец таки прочитать ревью на свой
Записал для себя что нужно будет не забыть при написании 4 проекта.
В общем, думаю надо начать с того, что у меня есть пробелы в знаниях по solid и попробую почитать книгу "Чистый код", там должно быть то, что мне нужно знать. Еще думаю лекцию по MVC глянуть, будто бы тоже есть что я могу не знать
👨💻 Почти программировал сегодня 2 часа
❤6👍2🔥1
🗓21.02.2025 и 22.02.2025
Всем привет 🙋.
Читал эти дни книжку чистый код. И она реально неплоха. Прочитал главу про имена, но там +- вода типа выбирайте имена не используя сленг, остроумие и все подобное. 💧
Но вот глава про функции уже оказалась полезной. Только гляньте как он капсом пишет, что должны делать функции. Мне нравится как он на примерах объясняет как можно сокращать функции, как можно оставить функцию на одном уровне абстракции, то есть например она не должна получать какую-то страницу и одновременно с этим обрабатывать данные этой страницы (обработку вынесем в отдельный метод) .
Из книги:
Также глянул лекцию про MVC, интересно.
👨💻 Времени в айти: +3.5 часа
Всем привет 🙋.
Читал эти дни книжку чистый код. И она реально неплоха. Прочитал главу про имена, но там +- вода типа выбирайте имена не используя сленг, остроумие и все подобное. 💧
Но вот глава про функции уже оказалась полезной. Только гляньте как он капсом пишет, что должны делать функции. Мне нравится как он на примерах объясняет как можно сокращать функции, как можно оставить функцию на одном уровне абстракции, то есть например она не должна получать какую-то страницу и одновременно с этим обрабатывать данные этой страницы
Из книги:
Короче говоря, программист, пишущий чистый код, — это художник, который проводит пустой экран через серию преобразований, пока он не превратится в элегантно запрограммированную систему.
Также глянул лекцию про MVC, интересно.
👨💻 Времени в айти: +3.5 часа
❤3⚡2💘2
🗓24.02.2025
Всем привет 🙋.
Продолжаю читать книжку, надеюсь уже скоро закончу.
Вроде как пробежался по главам, а все равно времени прошло нормально так.
1) Узнал, что комментарии - зло и писать их лучше не нужно, надо акцентироваться на рефакторинге кода, чтобы комментарии казались излишними.
2) Еще например, что вызывающие функции должны находится выше вызываемых.
3) Пользоваться чаще нужно непроверяемыми исключениями т.к проверяемые нарушают принцип открытости\закрытости. Разрабы, которые хотели добавить новую фичу, отличающуюся от остальных яп 😥
Ну и не только это, но остальное уже не так важно. Даже эти моменты иногда спорные и всё зависит от команды разработчиков и как они пишут код.
👨💻 Времени в айти: +2 часа
Всем привет 🙋.
Продолжаю читать книжку, надеюсь уже скоро закончу.
Вроде как пробежался по главам, а все равно времени прошло нормально так.
1) Узнал, что комментарии - зло и писать их лучше не нужно, надо акцентироваться на рефакторинге кода, чтобы комментарии казались излишними.
2) Еще например, что вызывающие функции должны находится выше вызываемых.
3) Пользоваться чаще нужно непроверяемыми исключениями т.к проверяемые нарушают принцип открытости\закрытости. Разрабы, которые хотели добавить новую фичу, отличающуюся от остальных яп 😥
Ну и не только это, но остальное уже не так важно. Даже эти моменты иногда спорные и всё зависит от команды разработчиков и как они пишут код.
👨💻 Времени в айти: +2 часа
❤8❤🔥2💔1
Всем привет. 👋
Хочу рассказать, благодаря кому я вообще вдохновился создать этот канал.😆
Это Даниял и он тоже как и я, но еще лучше, рассказывает о том, что изучает и как учится.
Каждый раз, когда я к нему обращался он всегда был готов помочь, он мега добрый человек.
Слежу за его каналом, за каждым постом, тут он даже своим конспектом по докер делится со всеми. А еще тут крутые мемчики))
Поддержите его https://t.me/+XeK18lwgW-45ZWY6 🤩
Хочу рассказать, благодаря кому я вообще вдохновился создать этот канал.😆
Это Даниял и он тоже как и я, но еще лучше, рассказывает о том, что изучает и как учится.
Каждый раз, когда я к нему обращался он всегда был готов помочь, он мега добрый человек.
Слежу за его каналом, за каждым постом, тут он даже своим конспектом по докер делится со всеми. А еще тут крутые мемчики))
Поддержите его https://t.me/+XeK18lwgW-45ZWY6 🤩
Telegram
Хочу стать Java Middle Developer⚽️
Я был бывшим Middle Unity Developer.
Но потом сломался и выбыл на два года.
Много путешествовал, пытался найти себе место, но внутри была пустота. И в 24 году осенью, меня осенило, что Backend - это моё. Теперь я начал с нуля.
@
Но потом сломался и выбыл на два года.
Много путешествовал, пытался найти себе место, но внутри была пустота. И в 24 году осенью, меня осенило, что Backend - это моё. Теперь я начал с нуля.
@
❤5🔥3🤡1
🗓25.02.2025
Всем привет 🙋.
По книге еще чуть чуть осталось.
Сегодня читал главу про тесты, особо ничего такого, типо в одном тесте не надо делать кучи различных проверок. Тесты должны быть быстрыми, очевидными, независимыми. Это все и так понятно, суметь бы сделать еще.
Также читал про классы, что они должны выполнять одну ответственность, эт ясно.
Но вот как это делать именно (мини конспект):
Вроде это так.🧐
👨💻 Времени в айти: +1.5 часа
Всем привет 🙋.
По книге еще чуть чуть осталось.
Сегодня читал главу про тесты, особо ничего такого, типо в одном тесте не надо делать кучи различных проверок. Тесты должны быть быстрыми, очевидными, независимыми. Это все и так понятно, суметь бы сделать еще.
Также читал про классы, что они должны выполнять одну ответственность, эт ясно.
Но вот как это делать именно (мини конспект):
Если мы хотим из большой функции взять какой-то участок кода и выделить его в более малую функцию, при учете того что в исходной объявлены переменные, то эти переменные пускай будут лучше описаны в самом классе. Но теперь класс может терять связность т.к есть переменные которые не задействуются в остальных методах, а это и есть признак того, что нам нужно создавать новый класс и переносить логику туда.
Вроде это так.🧐
👨💻 Времени в айти: +1.5 часа
❤5👍1🤡1
🗓28.02.2025
Всем привет 🙋.
Дочитал книжку до 12 главы (Прочитал все что нужно было)
По сути книга "Чистый код" неплохая, но как для меня текста слишком много, а полезной инфы из нее как-то маловато, в итоге возможно проще было глянуть видео, что я и сделал после того как дочитал. Вспомнить то надо что там происходит. В основном писалось, чтобы все было компактно, быстро, понятно. И так про всё :)
👨💻 Времени в айти: +1.5 часа
Всем привет 🙋.
Дочитал книжку до 12 главы
По сути книга "Чистый код" неплохая, но как для меня текста слишком много, а полезной инфы из нее как-то маловато, в итоге возможно проще было глянуть видео, что я и сделал после того как дочитал. Вспомнить то надо что там происходит. В основном писалось, чтобы все было компактно, быстро, понятно. И так про всё :)
Начинаю потихоньку следующий проект про теннисные матчи из роадмапа.
👨💻 Времени в айти: +1.5 часа
❤6🔥2
Всем привет.
Почти сделал функционал для создания нового матча, там чуток еще. В основном думал над тем, как правильно все написать, чтобы потом сильно исправлять не пришлось.
Плюсом слишком много что-то с самого начала смотрел чужую реализацию проекта, почему то сам нормально не мог придумать, тяжко было понять описание проекта.
Пока только додумал до contextListener который хранит в себе объекты в атрибутах, так удобнее внедрять зависимости +-.
Это я на фотке, только с этими проектами.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🔥3
Всем привет. 👋
Давненько не было постов, эти дни я старался заниматься, но не всегда получалось найти более часа времени. Поэтому думаю лучше писать посты, когда я уже что-то +- значимое сделал.
Так вот на сегодняшний день🗓 имеем наполовину готовый подсчет очков матча. Честно не знаю, почему так много времени уходит на то, чтобы сделать вроде как простые вещи.
Продолжаю также подсматривать в другие проекты, постоянно забираю себе некоторые фичи, и потом уже стараюсь реализовать в своем проекте.
Сейчас уже есть достаточно много того, что нужно будет рефакторить, ээх.🙁
Давненько не было постов, эти дни я старался заниматься, но не всегда получалось найти более часа времени. Поэтому думаю лучше писать посты, когда я уже что-то +- значимое сделал.
Так вот на сегодняшний день
Продолжаю также подсматривать в другие проекты, постоянно забираю себе некоторые фичи, и потом уже стараюсь реализовать в своем проекте.
Сейчас уже есть достаточно много того, что нужно будет рефакторить, ээх.
Из интересного: постоянно перестает работать фронт для проекта, не пойму почему, один день работает, другой уже нет.🤔
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5🔥1
Итак. Всем привет
Весь основной функционал я написал. Теперь можно и создавать матчи и вести счет этого матча и смотреть завершенные матчи, в общем все как и должно быть. Но пока на данный момент не сделал валидацию полей и нет обработок ошибок, в общем еще есть что поделать. Далее буду писать уже тесты, рефакторить и деплой проекта.
Не знай, в итоге нормально я пишу проект или нет, потом ревью мне отправят и там жесть будет как всегда.
Кто смотрит за моим каналом, напишите как и что вы изучаете? Интересно узнать
Скоро обязательно заработает фронт часть!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5
Стать джуном pinned «Ну что ж, создал канал, где я буду писать о своем обучении, буду записывать сюда каждый день что изучил или не изучил. Как и написано везде, собираюсь стать Junior Java Developer и писать себе спокойно бэкенд на Spring. Джаву выбрал т.к только по ней приходит…»
Стать джуном pinned «Всем вошедшим привет👋 , хочу рассказать как я учусь вообще и может вас замотивирую учить вполне хороший язык программирования -> java Начну с роадмапа Сергея Жукова, который реально помогает закрепить все изученное. В нем есть 7 петпроектов, начиная с java…»
Кажется это конец, да? Ну с проектом уж точно.🥳
Возможно он не самый лучший, но главное, что не ужасен как прошлый.
Сам по себе проект естественна качает навыки и по сервлетам и по хиберу, буду надеяться что в спринг на изи залечу, а там дела в гору.😎
Куча проблем была с подсчетом очков, поэтому и смотрел что и как там у других. В целом считаю это и хорошо, т.к подглядел всякие различные фичи.
Проблемы были еще с путями в моих jsp файликах они не могли просто увидеть путь к css, сделал немного иначе, но картинки так и не прогрузились.
Ну и также тесты я не очень написал, можно было и побольше их сделать, но и так сойдет)🙄
После прочтения чистого кода, возможно код и стал лучше, хотя не знаю, все равно лазил спрашивал у гпт как лучше написать то или это, а не знай как иначе. Все равно тут больше практика нужна и без нее никак.
Надеюсь я не упустил чего то важного в проекте, а то потом переделывать уж не захочется. Только если мне заревьювят и я немножко подрефакторю. Сам рефактор я сделал и даже читать код вроде можно, но там явно не идеально. Были конечно варианты использовать паттерны типа состояния, но по сути это будет лишним.🤠
Вот проект.
И вот деплой на котором можно глянуть, что получилось.
Возможно он не самый лучший, но главное, что не ужасен как прошлый.
Сам по себе проект естественна качает навыки и по сервлетам и по хиберу, буду надеяться что в спринг на изи залечу, а там дела в гору.
Куча проблем была с подсчетом очков, поэтому и смотрел что и как там у других. В целом считаю это и хорошо, т.к подглядел всякие различные фичи.
Проблемы были еще с путями в моих jsp файликах они не могли просто увидеть путь к css, сделал немного иначе, но картинки так и не прогрузились.
Ну и также тесты я не очень написал, можно было и побольше их сделать, но и так сойдет)
После прочтения чистого кода, возможно код и стал лучше, хотя не знаю, все равно лазил спрашивал у гпт как лучше написать то или это, а не знай как иначе. Все равно тут больше практика нужна и без нее никак.
Надеюсь я не упустил чего то важного в проекте, а то потом переделывать уж не захочется. Только если мне заревьювят и я немножко подрефакторю. Сам рефактор я сделал и даже читать код вроде можно, но там явно не идеально. Были конечно варианты использовать паттерны типа состояния, но по сути это будет лишним.
Вот проект.
И вот деплой на котором можно глянуть, что получилось.
Please open Telegram to view this post
VIEW IN TELEGRAM
GitHub
GitHub - velz01/tennis-match
Contribute to velz01/tennis-match development by creating an account on GitHub.
❤5👏2🔥1
