java-master.com
165 subscribers
1 photo
35 links
Телеграм канал сайта java-master.com.
Download Telegram
​​Кто еще не до конца разобрался с терминологией Spring? Попытался простыми словами сделать обзор всего фреймворка в кратце. Если делать подробно - статья может потянуть на целую книгу😁😅
Мини заметка по нахождении и исправлении багов

Первое - смотрим на ошибку (логи или консоль) и пытаемся понять, что не так; анализируем и если нужно, лезим в гугл.

Запускаем приложение в дебаг режиме (совет на будущее - всегда запускай приложение в дебаг режиме. Тогда не нужно будет его перезапускать)
Ставим точку перед потенциальным местом выброса ошибки и смотрим что приходит на вход.

Время обнаружения и исравления ошибок со временем будет меньше.

Если не получается исправить или обнаружить ошибку в течении 30 минут - делаем перерыв на 5 минут и только потом продолжаем.

Если не получается исправить или обнаружить ошибку в течении 5 часов - делаем перерыв как минимум на 10 часов: берем другую задачу в работу или, если есть возможость, выключаем комп.😉
Работа с Kafka стала очень простой с использованием фреймворка Spring Boot. Записал небольшое видео по этой теме:
https://www.youtube.com/watch?v=ZVnpKs6X1Vc&ab_channel=JavaMaster
Новое видео: Spring MVC Thymeleaf. Давно просили - получайте. Показал базовые вещи с контроллером и таймлиф. Также очень просили обход списка на странице. Это также есть в видео: https://www.youtube.com/watch?v=nd-_Dsu_VhU
Имплементация корзины на ReactJS. В прошлом видео из серии Online Store мы сделали функционал по оформлению заказа. В этом видео доделали фронтенд. Не обошлось без изменения бекенда.
https://youtu.be/8TF18qe5sLw
Пагинация с помощью Spring Boot Data JPA будет очень полезна когда нужно отобржать большие объемы данных на веб страницах. Советую ознакомиться:
https://youtu.be/53VK2qwS89Y
Не знаете чем заняться на выходных? Как насчет написать игру "Крестики нолики"? Возможно не самое приятное занятие😂 Но зато это отличная возможность подучить программирование на Java и Javascript в развлекательном формате😉
Ссылка на бекенд часть: https://youtu.be/XwQJRfv9Mfg

Ссылка на фронтенд часть: https://youtu.be/UP0GJPpMV3c

Сервер и клиент написаны в очень простой форме.
Код содержит некоторые баги и потребует доработок. Не стал дорабатывать чтобы не удлинять туториал, А также чтобы, Вам было над чем поработать самим😄
Разбираем JDBC, JPA, Hibernate, Spring Data Jpa и разницу между ними. У Вас же наверняка есть эти технологии в резюме?😁😂
Подготовил видео по Java JDBC. Пришлось даже старый код найти чтобы вспомнить азы. В самом видео нет пула соединений и вообще с соединением обошлись там не очень😁 Но цель была показать как делать запросы в базу.

https://youtu.be/zkWOA5M7f5Q
​​Небольшая заметка по REST API.
Использование REST AP подразумевает слабую зависимость между проектами в отличие от spring mvc.

Преимущества рест апи в том, что фронт абсолютно не связан c бекендом.
Ты можешь сегодня подключить фронтенд веб приложения, а завтра сможешь использовать свой бекенд для мобильного приложения или для передачи данных сторонним сервисам. В этом и прелесть rest api.

Простой и удобный для чтения формат JSON, в котором передаются данные позволяет программистам без труда создать тестовый объект в Postman, сделать тестовые запросы и проверить свой сервис. В отличие от того же XML в котором очень сложно и долго создавать тестовый макет “руками”. А дефолтная поддержка REST фреймворком Spring позволяет начать писать REST API без дополнительной конфигурации со стороны разработчика.
Деплоим ReactJS проект на Google Firebase Console хостинг. В гугла есть бесплатный тарифный план с минимальными параметрами.

Этого вполне хватит чтобы задеплоить свое приложение и показать его работодателю или клиенту. Имея под рукой Heroku чтобы задеплоить бекенд и Google чтобы задеплоить фронтенд (на хероку тоже можно деплоить фронтенд), Вы сможете пилить и деплоить фулстак приложения для дальнейшей демонстрации.
Смотрим, изучаем, используем:
https://youtu.be/23KUmEOu4dk
Какая версия java у вас основная?
Anonymous Poll
51%
8
32%
11
9%
13
0%
5
9%
Другое
Записал видео по Redis. Раньше как-то вокруг этого NoSql хранилища было больше шума. Сам по себе туториал - просто предыстория к туториалу по организации кеша Spring Boot приложения с момошью Redis.
https://youtu.be/UTzjU23P8II
Закончил статью Apache Kafka с примером на Java 11 и Spring Boot. Будет интересно тем, кто давно хотел понять принципы асинхронной коммуникации между сервисами.
Что такое виртуальные машины? Что такое контейнеры? Как контейнер относится к Docker? В чем отличие виртуальной машины от контейнера?
Хотите знать ответы на вышепоставленные вопросы? Читайте новую статью на сайте java-master.com😉
Почему на досуге лучше отдать предпочтение по изучению базовым вещам вместо фреймворков и библиотек?

Я тут подумал, что для подписчиков моего телеграмм канала должны быть “бонусы” в виде отдельных заметок, которые не будут выходить на сайте или ютуб канале. 😊
И сегодня я хочу выразить свое мнение насчет развития программиста в IT среде.

Сейчас выходит очень много фреймворков, технологий, терминов и прочих интересных и не очень вещей в программировании. Среднестатистическое описание вакансии на позицию Java разработчика подпадает под описание целого айти отдела разработки😁 Начиная с девелопмента бекенда, сложного фронтенда с его Ангулярами и Реактами; и заканчивая докер-кубернетес-авс-гугл-клауд-азур-елка-стек и другие.
Если раньше бекенд девелопер занимался только разработкой бекенда с небольшой примесью фронтенда на jsp то теперь набор обязанностей намного шире.

Я не могу сказать точно плохо ли это или хорошо. С одной стороны эдакий человек оркестр это очень удобно если например нужно переключиться между выполнением разных задач. Особенно это круто когда Вы пилите свой проект. Имея багаж знаний со всеми технологиями можно самому разработать все части своего пет проекта не прибегая к посторонней помощи. Да и работодателю очень удобно иметь подобных разработчиков.

С другой стороны - появление новых технологий и фреймворков заставляет разработчиков постоянно обучаться и пробовать что-то новое. Не всегда это удобно. Вместо того, чтобы провести время за сериалом или с семьей разработчик вынужден “ковырять” новый “топовый” фреймворк, который возможно года так через 3-5 будет никому не нужен.

Так что же делать в таком случае? Конкретного ответа на этот вопрос у меня нет. НО! Я поделюсь со своей схемой работы.

Я стараюсь уделять больше времени базовым вещам. Вместо изучения только что вышедшего фреймворка я могу еще раз перечитать Мартина Клепмана с его Высоконагруженными приложениями. Знание докера это хорошо и круто, но я сначала смотрю материалы по операционным системам, как устроены сети, виртуальные машины.
Иногда я открываю Лафоре с его структурами данных и т.д.

Не скажу что я не изучаю новые фреймворки и технологии. Просто я приступаю к изучению когда фреймворк нужен мне для работы или это реально закрепившееся технология, которая на рынке уже лет 5 как.
Правильно ли это я сказать не могу:) Для меня это пока работает. Я не чувствую что “выпадаю” из трендов и стаю динозавром.

Года 3 или 4 назад были очень популярны термины Big Data, MapReduce, Hadoop, BlockChain. Тогда было очень много конференций, семинаров, разного рода курсов и туториалов по этим технологиям. Почти в каждой вакансии на Java разработчика можно было встретить если не все то несколько подобных ключевых слов. Сегодня же они встречаются все реже.

К чему я все это веду. Если Вы разработчик или только начинаете свой путь в IT, уделяйте больше времени изучению базовых вещей, которые никогда не выйдут из моды, на которых базируются все новомодные фреймворки. Еще раз пройдитесь по структурам данных, паттернам проектирования. Научитесь решать задачки на hackerrank. Не все, но хотя бы находить минимальное и максимальное значение в массиве нужно уметь. Я ведь не только разработчик но еще и собеседую других людей. Бывает что в резюме полно технологий типа React, NodeJs, NoSQL, Angular, TypeScript, а человек не может написать функцию для нахождения среднего арифметического значения из массива чисел. Пытается какую-то библиотеку впихнуть, вызвать какой-то конструктор…

Конечно, все вышеописанное всего лишь мой личный опыт и он никак не отражает опыт и мнение других людей. Этой небольшой заметкой я лишь хотел поделиться своими мыслями и возможно немного подсказать новичками по основным моментам.

Постараюсь писать сюда почаще если подобный формат будет интересен.😉
Как получить опыт, когда нет работы? #пятничное_чтиво

Не знаю многие ли сейчас задаются этим вопросом, но я в свое время очень долго пытался разгадать эту загадку.
Сейчас я разумеется выскажусь только со своей точки зрения и я никоим образом не хочу чтобы эта заметка выступала истиной в последней инстанции.

Если Вы думаете, что обучение на компьютерных науках делает получение первой работы проще - возможно Вы правы. Когда же я учился в универе и на последних курсах решил искать работу, то мне казалось что направление компьютерных наук не воспринимает вообще никто. И так оно и есть. Я не говорю что человеку, который например всю жизнь был поваром, а потом решил стать айтишником будет также сложно или легко как и студенту последнего курса айти специальности. Наверное все же возраст и айти направление сделают этот путь для молодого специалиста легче.
Но как вчерашний студент, так и свитчер, который решил сменить профессию за которую достойно платят, никому не нужны без опыта.

У меня очень много общения с ит специалистами: одноклассники-курсники-коллеги-знакомые-итд. Одинаковых кейсов, которые позволили им получить первую работу в айти сфере нет. Одни имели знакомых, других взяли после универа на стажировку, третьи пилили на благотворительной основе какой-то проект и потом их позвали в контору.

Я сейчас опишу только свой опыт вхождения в айти сферу. У меня не было знакомых которые могли бы меня взять стажером или сразу на работу. Я не был сверх успешным в универе, чтобы меня заметили. Тогда, когда я только начинал еще не было такого понятия как хакатоны. Возможно они были но до меня инфа еще не доходила.

Так как же все таки получить опыт работы ничего не имея? Пишите свои проекты! Параллельно с поиском работы и рассылкой резюме всем компаниям подряд я целыми днями учил Java и пробовал писать свои проекты. Причем старался чтобы это было применимо на практике. Спойлер! Это было не применимо😄
Написать с нуля веб приложение а потом еще и фронтенд под него неплохо так качает скилы в разработке. А если потом Вы решите все это залить на свой или бесплатных сервер и перелопатите кучу статей и туториалов, то еще и в DevOps будет опыт.

У меня был примерно такой план на день: прохожу теорию 30 минут; пишу проект 1 час; отдыхаю 15-30 минут и начинаю все по кругу. Старался отдыхать не за компом, но это не всегда получалось😂 И так я мог провести весь день.

Конечно я дал этот план только для ознакомления. Так как у каждого бывают разные ситуации и не все могут сидеть без работы и целыми днями писать код. Студент это позволить может.

Имея свой проект уже не так страшно приходить на собеседования. Ведь в графе релевантный опыт работы в резюме уже не пусто. И когда начинают спрашивать чем Вы занимаетесь то можно смело сказать, что мол ищу работу и пока ищу, пишу свои проекты.

Конечно, Америку я не открыл и наверное об этом трубят на каждом углу. Просто мне кажется, что это один из главных моментов в поиске работы и первого опыта: написать хоть что-то приближенное к проекту.

Немаловажную роль играют стажировки от известных и больших компаний. Причем бывает такое что о них компании не сильно трубят. Поэтому еще я советую заходить на сайты и соцсети айти компаний и мониторить программы стажировок. Не стесняйтесь сами писать компаниям с предложением постажироваться или поработать. У меня это не сработало😊 но может быть кому-то и повезет.
👍1