Путь программиста
43 subscribers
50 photos
12 links
Каждый день пишу отчёт о проделанной работе💪
Download Telegram
День 91-92

Продолжаю по той же схеме чередуя изучение Джавы и Спринга. По джаве темы уже повторяются, сложно найти что то новое что пригодилось бы для работы Junior специалиста. Одним из последних тем для изучения было логирование. Эта такая вещь которая записывает в файл или куда угодно то что происходит в программе. Но на практике его используют чтобы фиксировать ошибку и после их исправлять.

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

По спрингу, все также, смотрю видео и повторяю, пытаюсь вникнуть в код. Что то запоминаю, что то уже понимаю. Архитектура построения приложения мне понятна, но многих используемых классов не знаю и их стоит поучить. Параллельно по видео делаю веб приложение, и вечно сталкиваюсь с какими то багами, сижу их и исправляю. На это уходит больше времени 😃

На этом все, за эти дни учился 8 и 6 часов соответственно. Всем удачи и продуктивного дня!🦾
Мой код: *Интуитивно понятен и прекрасно структурирован*
Я: *Отвернулся на 5 секунд*
Тот же код:
День 93-95

Времени особо не было чтобы писать отчёты
, занимаюсь по 8 часов каждый день, чтобы максимально получить знания за минимальное время. Эти дни были посвящены Java, Spring и повторам по воскресеньям. По java изучил, повторил темы лямбда, стримы, наследование, дженерики, аннотации, логирование и ещё много тонкостей по другим темам.

По спрингу я делал проект из видео на Ютуб, но делать его не очень просто, т.к. видео старое и приходится лезть в комменты и на официальные сайты фреймворков чтобы обновлять данные. Иначе программа не будет работать. Так, над 2-3 ошибками в одном видео я просидел целый день, но такой кайф в итоге их исправить 😄 Потом за 20 минут написал и запустил уже следующее видео.

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

На этой неделе начну мою задумку по созданию боту телеграм, собираюсь его делать с применением всех технологий которые я уже знаю. Также нашел много материалов по этой теме, будет интересно 😄 На этом все, всем удачи и продуктивного дня🦾
День 96-99
Процесс обучения начал замедляться
т.к. все ранее неизвестные мне термины были изучены, а теперь стоит в них углубиться. Повторять то что уже "знаешь" не очень весело, но нужно для того чтобы не растерять так трудно добытые знания. Сейчас план такой же, один день изучаю Java, другой Spring. По Спрингу я сейчас делаю бота в телеграм, он по функциональности простой, но его сложно делать так как моих знаний пока не хватает, нужно изучать кучу документаций по Telegram API и библиотеку Java для ботов.

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

Также, в связи с эпидемиологической ситуацией буду искать работу удаленно, начну в ноябре, когда закончу бота. Если предложат оффер, то тогда уже поеду в офис (или нет, если можно работать удаленно).

В последнее время стал писать реже, т.к. это отвлекает меня от учебы, но если буду писать отчет вечером, то нормально. Так и буду делать в дальнейшем, этот пост тоже был написан вчера (привет из прошлого😃). На этом все, всем удачи и продуктивного дня🦾
День 100 и я готов на все 💯

Но пока это преувеличение😄 Надо еще поднажать по некоторым пунктам. Вчера уделил время тестам по Java. Это сертифицированные тесты Oracle, владельца Java. То есть я сдавал не сам тест, а похожий на него, т.к. сам тест является секретным и выдают его только в сертифицированных центрах за 150$. Если проходишь барьер 65% ты сдал, и ты сертифицированный разработчик Java. У меня вчера было 50% что я считаю неплохим результатом, ошибки которые я совершал я легко разобрал и повторил. Все что там давалось я уже знал, но если не применять их каждый день, то потихоньку забывается.

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

Просмотрел одно интервью на разработчика уровня мидл. То есть человека уже с опытом. Никаких прямо новых вопросов я не услышал, но так, с переменным успехом мог отвечать. Обозначил свои пробелы, в основном связано уже не с Java, а с Hibernate, таким "фреймворком" для работы с базой данных, который повсеместно используется.

На этом все, всем удачи и продуктивного дня🦾
День 101

Вчера восполнял свои пробелы
по базам данных и в частности по Hibernate. Конечно, за 1 день такой фреймворк не выучить, но основные понятия и сложности которые там возникают можно узнать. Так, я узнал что значили те аннотации которые я прописывал в учебном проекте по Спрингу, оказывается это не совсем чистый Hibernate, а Spring Data с имплементацией Hibernate, он более легкий в использовании и не требует конфигурации, все настройки пишутся автоматически.

После этого, на чистом Hibernate не хочется писать, и в будущем собираюсь применять именно Spring Data + Spring Boot, который включает в себя многие автоматические настройки. Но, конечно, знать внутреннюю структуру Hibernate стоит. Например, если возникнет какая-нибудь ошибка или нужно оптимизировать код для работы с базами данных.

Больше рассказать тут нечего, если буду бросаться терминами будет уже скучно:) Также можно поделиться крутыми статьями тык, тык и тык. Все хорошие статьи уже идут на английском, так как на этом уровне уже нет смысла переводить, все и так должны знать английский.

На этом все, всем удачи и продуктивного дня🦾
Уже 400 часов учебы🥳 Цель 600-700 часов
134 день (не точно)

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

Еще, сейчас в процессе быстрого прогресса на JavaRush, стараюсь в минимальные сроки сделать хотя бы 35 уровней (сейчас 27), чтобы это тоже внести в резюме и подписать, что я окончил их курсы. Это будет тоже на пользу. Далее, нужно сделать хорошую фотографию и описание. Краткое, емкое и чтобы глаз HR зацепился. Недавно читал что HR просматривает в среднем резюме соискателя 8 секунд и за это время нужно его чем то зацепить, чтобы он сразу понял, вот он идеальный кандидат.

По теории я готов больше всего, уверенность здесь есть. А вот практику постараюсь максимально подтянуть. Нужно делать тестовые практические задания из интернета и проходить тесты на общее знание Java, что то подобных Oracle тестам.

На этом все, сегодня планирую заниматься минимум 5 часов, а дальше как пойдет. Всем удачи и продуктивного дня🦾
135 день

Вчера занимался практикой. Делал веб приложение и задачи на JavaRush. Рассказывать особо нечего, т.к. столкнулся с проблемами, которые до сих пор не могу решить. Разбираюсь с базой данных (Postgres). Проблема в так называемой миграции БД, не могу ее сделать, выскакивает куча ошибок. Постараюсь сегодня эту миграцию завершить. Все это нужно для того чтобы приготовить приложение к деплою, чтобы он был доступен всем по ссылке, а не только мне, на локальном хостинге.

На этом все, завтра постараюсь побольше написать. Всем удачи и продуктивного дня🦾
136-137 день

За эти 2 дня делал веб-приложение по примеру из ютуба и задачки на Javarush. Позавчера, я говорил о проблеме миграции БД, которую я сразу же после отчета решил. Но из консоли я не смог ничего сделать, как делал автор видео и говорили комментаторы. Я зашел на клиент Postgres и вручную удалил и создал новый БД. Потому что, если создавать с таким же именем, то возвращается старый БД, что странно. И прописал опять все данные БД в своем приложении и успешно осуществил миграцию.

Т.к. видео, по которому я делаю проект, уже 3 года очень часто выскакивают какие-то ошибки. После того как я поправил миграцию, перестала отправляться пользователю почта, хотя месяц назад все было успешно. У меня был почтовый клиент от Яндекса, и как я понял, они решили ввести плату на корпоративных клиентов, то есть на сайты, приложения и т.п. Они прямо в середине коде ошибки пишут ссылку на сайт с оплатой. В итоге, я перевелся на почту Гугла и все заработало.

Третья ошибка была в том что я не мог настроить подтверждение пароля, когда нужно ввести 2 пароля, которые совпадают. Здесь немного ошибся сам автор видео, но потом исправил на 2 видео, но у меня все равно не работало, т.к. я немножко видоизменил код под себя. Я пишу все в русском варианте, и пароль у меня идет после заполнения email, а у автора наоборот. Из-за этого я немного ошибся, и написал password 2 вместо password2, из-за этого все приложение ломалось. Еще один раз, из-за точки с запятой, не поднималось все приложение. Вот так, пропускаешь какую-то мелочь и все многомиллиардное приложение просто ложится, но конечно в коммерческой разработке такое почти невозможно, потому что все тестируется 300 раз.

По Javarush я достиг 28 уровня. Цель: хотя бы 35 уровней, а лучше 40 до заполнения резюме и начала откликов. На этом все, всем удачи и продуктивного дня🦾
138-140 дни
Также занимаюсь моим проектом для резюме aka веб-приложение. Возникают проблемы, решаю их и дальше иду по видео материалу. Уже довольно много сам сделал, дорабатываю сам. Хочу немного видоизменить проект к концу, чтобы не было простой копипастой. Много читал про интеграционное тестирование, вчера впервые попробовал, интересно. А сегодня надо делать модульное тестирование, его я раньше уже делал на других проектах. Вообще, весь проект, каждый кусок кода должен быть покрыт тестами, это сейчас обязательное условие на проектах. Нельзя полагаться на авось и писать код, нужно или сразу проверять тестами, или даже писать сначала тест, а потом код, сейчас такое в тренде.По проекту остались уроки про тесты и пару доработок, потом деплой на сервера и выставление в резюме.

По JavaRush все медленно продвигается, сегодня хочу достигнуть 30 уровня. Сейчас там стало чуть полегче, по сравнению с 17-20 уровнем, т.к. я не очень люблю работать с перекидыванием байтов туда-сюда и точечной настройкой. В конце 25 уровня и дальше появляется одна большая задача, вместо маленьких, обычно это игра, но иногда попадаются интересные вещи, например сделать MVC проект с нуля. Сейчас я его и делаю.

На этом все, всем удачи и продуктивного дня🦾
141-143 дни

Продолжаю заниматься своими проектами. Веб-приложение я почти закончил, нужно немножко доработать и залить на сервер с доменом. По JavaRush достиг 31 уровня и перешел в раздел Java Collections. Сделал пару больших задач, например, написал игру змейка на декстопе и архитектуру MVC с бизнес логикой. По теории сейчас начну немного догоняться, буду делать тесты от Oracle и хочу пройти сложный тест от GeekBrains, чтобы его тоже внести в резюме (начальный и средний у меня уже есть). По часам, уже более 500 часов, как я и предполагал в начале, нужно 600-700 часов потратить, чтобы подобраться к позиции Junior.

RoadMap, как развиваться Java разработчику в 2020 году⬆️

На этом все, получилось кратко, всем удачи и продуктивного понедельника🦾
144-146 дни

Практика, практика, практика. Именно в таком темпе нахожусь последние несколько недель. Достаточно хорошо продвинулся по пониманию Спринга и Хибернейта на практике. Представляю в голове общую картину проекта и понимаю аннотации и что делают те или иные классы, методы. Залил свой проект на Гитхаб, теперь осталось залить на Heroku, и дать ссылку в резюме. Сегодня сделаю маленькое CRUD + MySQL (create,update,delete) приложение для того чтобы продемонстрировать свои знания и в этом направлении. Это будет простая форма, куда можно внести какие-то данные (например название фильма, его режиссера, бюджет и т.п.), типа эксель,только онлайн. Данные можно вводить, редактировать, удалять.

На JavaRush достиг 35 уровня из 41. Мне стала доступна онлайн-стажировка, которая начнется в начале января, но сомневаюсь что я туда пойду, потому что там делается проект который я уже сделал (веб-приложение), и немножко добавляют JavaScript. На этом все, всем удачи и продуктивного дня🦾
JavaRush + полезный совет
Скоро будут новости, а пока мемы 😄
Не буду уже считать дни, т.к. обучение начальное, я считаю, уже закончил😁. Но я пока не знаю и 10% по всей моей профессии, буду дальше учиться и развиваться. За все время учебы, времени чистыми уделено программированию 600 часов. Этого вполне может хватить, чтобы устроиться на первую работу.

Недавно у меня было собеседование, который я прошел и мне предложили оффер. Где-то через месяц я уже начну работать и развитие пойдет семимильными шагами, т.к. будут интересные задачи, которые придется решать. Сейчас я собираюсь более плотно изучать SQL и вообще базы данных, т.к. на работе основной упор будет на это. У меня уже есть некоторые основы, но делать сейчас супер сложные запросы к БД и правильно структурировать их я не могу.

Канал тоже претерпит некоторые изменения, будут личные посты от меня и моей жизни, так и посты на разные темы, которые происходят в IT. Канал будет развиваться, будет закупаться реклама и пополняться аудитория. Хочу собрать аудиторию тех, кто хочет развиваться в общем и в частности в тематике IT. Программисты, тестировщики, бизнес-аналитики, предприниматели и все все, welcome😄 Буду рад, если вы порекомендуйте канал друзьям, знакомым.

На последок, ловите мем. Всем удачи, продуктивного дня тем кто работает/учиться, остальным отличного отдыха в воскресенье🦾🎆
Больше года я ничего не публиковал в этот канал т.к. нечего было писать. В последнем посте на канале я говорил что получил оффер на работу. Собственно, на этой работе я и проработал больше года. Для меня это был отличный опыт, я получил много знаний и прокачался как специалист по многим областям. Также занимался много самообучением и в конце прошлого года решил сменить компанию, т.к. надо было дальше развиваться, менять проект, чтобы вырасти как профессионал. Потому что когда застаиваешься на одном проекте, ты уже все знаешь о нем, знаешь как решить те или иные проблемы именно на данном проекте, и твое развитие останавливается, а внешний мир движется и осваивает новые технологии💻. В связи с этим, я решил поменять работу на ту где а) есть свежие технологии b) есть удаленка с) платят больше 🍋

Месяц назад я нашел такую компанию и получил оффер. Где-то 3 недели назад я вышел на работу. Проект в сфере финтех, абсолютно новый, все нужно писать с нуля, на микросервисах, можно использовать любые свежие технологии. Кайф вообщем💥. Но, зачем я начал опять сюда писать, конечно же, чтобы каждый день составлять отчёты. О чем будут отчеты? Возможно о нынешней работе, буду рассказывать о новых технологиях которые я осваиваю, но главная моя цель на сегодняшний день это получить оффер от зарубежных компаний до конца года. А что для этого нужно? Правильно, учить LeetCode и практиковать английский.

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