Путь программиста
41 subscribers
50 photos
12 links
Каждый день пишу отчёт о проделанной работе💪
Download Telegram
День 70
Впервые за 70 дней я не занимался программированием. Были очень срочные дела. В пятницу начну догонять свой же график. Надеюсь сегодня тоже получится немножко поработать. Но я создал и наполнил контентом инстаграм Путь программиста prog.way, что тоже неплохо 😄. Всем продуктивного дня!
День 71
Вчера у меня было ограниченное время для учебы и я решил поучить вопросы к собеседованию. Кстати, если вам нужны эти вопросы, я их нашел тут javastudy.ru/interview/list-of-question-java-interview . Может быть тут не те вопросы которые будут задавать на реальных собеседованиях, но я думаю тут охвачено 90% из них. Выучил 10 вопросов. Первые 5 были на тему Объектно-Ориентированного программирования. Там были вопросы по типу “Что такое интерфейс”, “Для чего он нужен”, про final и static в интерфейсах а также про виды классов в Java. Вторые 5 вопросов были из темы Работа со строками. Вопросы такого порядка “Как сравнить значение двух строк”, “Как перевернуть строку”, “Как работает сравнение двух строк” и все это с практическими примерами.

На все это я выделил 2 часа, т.к. больше времени вчера физически у меня не было. Вот такой итог дня, сегодня изучаю SQL на одном классном сайте, завтра скину ссылку💪
День 72
В этот день я решил возобновить решение
практических задач. 1 час я уделил JavaRush, решил 1 сложную задачу, где нужно было работать с таким шаблоном проектирования как адаптер. Адаптер — это структурный паттерн проектирования, который позволяет объектам с несовместимыми интерфейсами работать вместе. Проще говоря, это такой класс прослойка, который один формат например, xml переводит в другой, например json. Очень полезный паттерн, нужно его выучить, применяется он часто.

2-3-4 час я занимался на классном сайте, о котором прочитал на форуме . Сайт вроде бесплатно-платный, но именно вот этот курс по SQL пока бесплатный, я на пункте 1.3. Всего 145 лекций, которые объясняют основы этого языка для базы данных и конечно же упражнения по окончании лекции. Некоторые упражнения проще простого, а по некоторым мне пришлось гуглить.

И наконец, 5 час вчерашних занятий я посвятил чтению литературы. Мне много раз попадалось на глаза такая книга как “Грокаем алгоритмы” и все ее нахваливали. Да, эта книга действительно достойна всех похвал, пока я дочитал до 45 страницы, все очень просто и интересно объясняется с кучей рисунков, о том как алгоритмы и структуры данных работают. Вообще эта книга может быть интересна и не программистам, всем рекомендую прочитать хотя бы пару страниц, затягивает.

На этом все, я пошел дальше учиться и развиваться, всем продуктивного дня💪
День 73
Ух и денек был, вроде я
поставил рекорд вчера, 6.4 часа чистой учебы по системе помодорро. Но доволен ли я проделанной работой, как бы не так. Начал я вчерашнее обучение опять с SQL. Все на том же сайте я пытался решать упражнения и читать лекции по этому языку. Решил около 15-16 задач без подсказок и в которых полностью вник, и вроде понял тему. Уже довольно неплохо ориентируюсь в базах данных, как выбирать тот или иной столбец, по критерием как определять и т.п.

Также где - то на форуме увидел книгу по SQL Алан Бьюли — «Изучаем SQL». Недавно я рекомендовал эту книгу вместе с остальными, и рекомендация оказалась не напрасной. Книга действительна легко читается и запоминается, также как и “Грокаем алгоритмы” с кучей иллюстрацией. Как я понял писательница которая написала эту книгу писала и серию книг Head First, которую многие рекомендуют, там также много иллюстраций

Еще немного времени опять уделил алгоритмам, чуть более часа я читал “Грокаем алгоритмы” и пытался вникнуть в материал. Там даются интересные математические задачки, которому и самому интересно решать. Материал подается очень разжевано, но и поразмышлять также заставляет.

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

На этом все, всем удачи и продуктивного дня!
День 74
Вчерашний день начал с повторения пройденных вопросов
за прошлую неделю. Задавал себе вопрос и отвечал как смог, по собственным оценкам, материал знаю на 80%, что довольно неплохо. Проблемы у меня вызывают не столько понимание вопроса, сколько развернутое объяснение ответа. Нужно будет подтягивать этот аспект.

Еще решил вчера закрыть свои пробелы в некоторых вопросах, которые давно хотел изучить. Например, что такое атомарность, композиция, агрегация и сериализация. Эти вопросы всегда где-то всплывались, но я не решался их изучать. Еще меня всегда преследуют темы Stream API, Лямбда выражение (хотя и их и изучал, но уже подзабыл из-за неиспользования), нереляционные базы данных и еще некоторые темы. Также я посмотрел видео про REST API, xml, json. REST API это некие правила-принципы по которым ты должен строить свое приложение, чтобы другие приложения могли с ним взаимодействовать. XML это расширенная версия HTML (как я понял). Json из той же серии, только JavaScript, но который используется и в других языках.

На сегодня план посвятить время JavaRush и вопросам, где у меня есть пробелы. Всем удачи и продуктивного дня. Скрин работы за вчера⬇️
День 75
Этот день я провел за практикой.
Естественно это был Джавараш в котором задачки стали супер сложными для меня(19 уровень). Во всех задачах я понимаю и решаю около 90% и эти 10% ну никак не могу добить. Приходится идти в раздел помощь и читать людей, которые столкнулись с этими же проблемами. Так пока и решаю задачи, надеюсь с набором практики смогу полностью решать задачи самостоятельно. Есть конечно задачи которые я решаю самостоятельно, но они основаны на предыдущих.

Я планировал начать изучения Spring Framework 10 сентября, но решил что надо все таки немного подтянуть практику. Начну пожалуй 20 сентября, когда пройду на Джавараше 20 уровень и получу статус “Продвинутый”. Дальше в планах изучать Spring + Hibernate и сделать свой мини проект до отъезда в Москву, и уже с этим проектом ходить на собеседование, чтобы работодатель видел мой код.

Также сейчас распечатаю оставшиеся вопросы по Java EE (около 300) и начну их изучение. Учился вчера 5.5 часов. Всем удачи и продуктивного дня!
День 76
Вчера не удалось уделить
достаточно времени программированию. В начале я пытался решать задачи на JavaRush. Задачи средней и легкой сложности я решил, потом почитал условия тяжелой задачи и я понял что не смогу ее решить. На этом моменте я отправился изучать доп. материал. Сначала смотрел видео на Ютубе, потом начал читать книгу "Грокаем алгоритмы". И тут, на форуме Джавараша я читаю комментарий такого содержания (в прикрепленном фото). Ситуация очень похожая на мою, и все что нужно, это продолжать дальше учиться, даже если у тебя нет мотивации решать какие то задачки, можно просто включить видео на фон, это будет намного лучше, чем если ты просто будешь ничего не делать.

В общем, на этом все, вчера я учился 3 часа. Всем удачи и продуктивного дня💪
День 77
Красивая цифра:) Не верится что всего 2 с половиной месяца назад я ничего не знал о программировании и о Java в частности, а сегодня уже собираюсь пилить свой проект на Java и фреймворке Spring. Это будет бот который будет работать со сторонним API. Бот будет вполне себе рабочим проектом, не "учебным". Функциональность у него будет одна, но очень важная. Будет интересно, сейчас пока раскрывать не буду идею, ближе к октябрю расскажу.
И вот этот проект хочу добавить к себе в портфолио, чтобы был опыт самостоятельной разработки, что хорошо ценится для Junior специалистов.

Вчера я учился 5 часов. Прочитал пару десятков страниц книги Эффективное программирование, мне понравилось, хотя написана она уже как для профессионалов, более сухая чем все предыдущие книги которые я читал. Также немного читал "Грокаем алгоритмы". Посмотрел еще одно видео собеседование на Junior Java. Когда не понимал или не знал вопроса полностью, ставил на паузу, шел в гугл и читал материал. Так я стараюсь закрывать пробелы.

Еще узнал про 2 книги "Java Persistence JPA и Hibernate" и "Спринг для профессионалов" которые рекомендовали где то в комментариях. Т.к. там больше 1000 страниц в книге, буду их паралельно читать и делать свой проект + гугл + видео Ютуб. Также вчера много читал и смотрел видео про сериализацию и десериализацию. Материал понял, теперь осталось применить его на практике Джавараша. На этом все, всем удачи и продуктивного дня и вечера💪😄
Уже 250 часов. Неплохо...
День 78
Смотрел много видео на ютуб и заполнял свои пробелы по знаниям Java Core. Повторил вопросы по Java собеседованию, уже неплохо знаю сам Java Core. И рассказать то нечего, пока скучно и все повторяется, но сегодня начинаю новую тему фреймворки Spring и Hibernate. Буду их изучать и параллельно делать проект, о котором вчера рассказывал.

Вчера учился 5 часов + смотрел некоторые интервью с историями успеха. Люди с разными возрастами и разных социальных групп устраиваются айтишниками и это мотивирует. Короткий отчет, завтра будет больше😁💪
День 79
Вчера я начал читать 2 книги по Spring и Hibernate. По Hibernate я понял что это такой инструмент для облегчения работы с базами данных. Т.е. можно писать такой java код в перемешку с SQL и все это будет переводится в язык базы данных, разных баз данных, например MySQL postgresql, Ms SQL и т.п. Очень удобная штука которая всегда нужна. Но в том же Spring есть такой же инструмент и я не знаю что чаще используется.

Spring это очень большой фреймворк который избавляет от необходимости писать много лишнего кода на java. Как я понял главная его фишка в том что он сам создаёт объекты за тебя и как то их связывает. Нужно ещё разобраться, пока не совсем понятно.

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

На этом все, вчера учился 5 часов. Всем удачи и продуктивного дня💪
День 80-81
Решил совместить эти дни в один отчет т.к. ничего особенного сейчас не происходит. Паралельно пытаюсь читать несколько книг по алгоритмам Spring и Hibernate + смотрю видео про Spring Core и вообще как все это работает на практике. Видео с ютуб канала alishev, хорошо объясняет для новичков, но его проблема в том что он совсем не углубляется в тему, показывает как будто это все легко и просто. Также было даже и на его платном курсе продвинутая Java, хотя если покопаться, то все эти темы очень сложные.

На сегодня план купить лицензию IDEA для того чтобы там работать со Спрингом, т.к. бесплатная версия поддерживает только Java код. И самому "пощупать" Спринг и сделать свое веб приложение. Веб приложение я уже делал, но это было на старом Java EE, посмотрим какие отличия здесь есть.

На сегодня все, за эти 2 дня я занимался 8 чистых часов + еще смотрел какие то интервью и читал статьи общие об IT. Всем удачи и продуктивного дня💪
День 82
Вчера целый день изучал Spring по видео из Ютуб
. Сначала скачал среду разработки intelij idea, и как оказалось, за первые 30 дней не нужно было платить. Этому я обрадовался т.к. не хочется платить когда тебе ещё не платят😉 Дальше по инструкции из видео настроил проект через сборщик проектов Maven, зашёл на их сайт и скопировал зависимости со Spring Core и ещё несколькими. Собрал и импортировал модули Спринг.

По самой теме пока материал усваивается процентов на 50, нужно ещё много дополнительного читать, чтобы было полное понимание. На практике сделал бины (объекты) через xml файл и аннотации. Как я понял сейчас везде используются аннотации т.к. они максимально удобны и без лишнего кода.

Вчера занимался 5.4 часов, сегодня планирую 7 и дальше буду набирать обороты т.к. вечно учиться нельзя, нужно применять знания на работе. На этом все, всем удачи и продуктивного дня!
День 83
Вчера был мой рекорд по продолжительности учебы в день — 7.5 часов. Читаю некоторых людей на форумах которые говорят что учатся по 14-16 часов, что я считаю абсолютно невозможным. Или ты убиваешь свое здоровье или ты неправильно считаешь. Убивать свое здоровье конечно можно, но в таком ритме больше нескольких недель находиться нельзя, попадешь в больничку надолго. Я думаю оптимально-максимальный режим это до 7-8 часов чистой учебы (если отвлекаемся, останавливаем время).

Вчера целый день уделил спрингу, в основном это видео с Ютуб и книга "Спринг для профессионалов". Наконец разобрался как работать с аннотациями в Спринге и как вообще работать без устаревшего xml кода. Аннотации это очень крутая штука, которая содержит в себе часть кода. Например, ставишь какую - нибудь аннотацию вида @ Annotation и он может заменить по 20-30 строчек кода и более. Я думаю что это одна из основных фишек Спринга и роста его популярности.

Также, вчера узнал о такой полезной штуке как Lombok. Этот проект также работает с аннотациями и заменяет излишний код в проекте. Например нам очень часто нужны несколько дефолтных методов и конструкторов к классу или полям. Мы просто пишем определенные аннотации и они заменяют нам 100-200 строк так называемого бойлерплейт кода, которые мы в ином случае писали бы вручную.

Это очень облегчает трудности разработчика и ставит обратно Java на равне с новыми языками, которые более удобны - Scala, Kotlin и т.п.

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

Т.к. в моем графике обучения появился целый большой фреймворк Спринг, который нужно изучать столь же долго и нудно как и Java, я решил разделить эти 2 области по дням. Поочередно по дням буду изучать то Спринг, то Java. Вчера был день Джавы, и начал я с JavaRush. Задачи на 20 уровне очень мутные и не дается какой то конечной цели которую надо решить. Ты должен прочитать код и сопоставить их в логическую цепочку, что дается очень сложно. Так, я первый час пытался вникнуть что от меня хотят и на второй час пошел доучивать теорию по этой задаче, а на 3 час решил ее. Решение буквально до 10 строчек, но чтобы догадаться до них нужно потратить кучу попыток.

На этом я решил что задачек хватит на сегодня и пошел учить теорию и смотреть видео. В принципе, по теории Java, по моему мнению у меня мало пробелов, что касается основ. А вот где у меня пробелы, это те области которые были добавлены в JDK 8. Это касается функционального программирования, Stream API и лямбда, и еще одной областью является Reflection API, который используется в Спринге. Этим 3 темам и еще библиотеки многопоточности Concurrency я хочу уделить особое внимание в дальнейшем.

Занимался вчера 7 часов по помодорро, а сегодня день Спринга. На этом все, всем удачи и продуктивного дня💪😎