Привет! Меня зовут Дмитрий. Я работаю Java разработчиком.
Канал создал, чтобы помочь начинающим разобраться с джавой и устроиться на работу. Буду выкладывать советы и статьи, которые помогли мне понять тонкости. Присылать вопросы и тестовые задания с собеседований, на которые я ходил. Расскажу об опыте друзей, которые поменяли профессию и работают программистами.
Для опытных напишу о технологиях, которые изучаю и использую в работе: Spring, Hibernate, RabbitMQ, Mongo DB, ElasticSearch, AWS, Scala.
Если задачи на JavaRush слишком лёгкие для вас. Если вы прочитали первую книгу по Java и ищите руку помощи. Если не знаете, как составить резюме без опыта разработки. Если надоела текущая работа - подписывайтесь, пишите в личку, будем разбираться вместе.
Канал создал, чтобы помочь начинающим разобраться с джавой и устроиться на работу. Буду выкладывать советы и статьи, которые помогли мне понять тонкости. Присылать вопросы и тестовые задания с собеседований, на которые я ходил. Расскажу об опыте друзей, которые поменяли профессию и работают программистами.
Для опытных напишу о технологиях, которые изучаю и использую в работе: Spring, Hibernate, RabbitMQ, Mongo DB, ElasticSearch, AWS, Scala.
Если задачи на JavaRush слишком лёгкие для вас. Если вы прочитали первую книгу по Java и ищите руку помощи. Если не знаете, как составить резюме без опыта разработки. Если надоела текущая работа - подписывайтесь, пишите в личку, будем разбираться вместе.
Как настроить Идею, чтобы меньше отвлекаться
Среда разработки должна за меня делать вещи, на которые я не хочу тратить время. Например, сама импортировать классы, сохранять файлы каждые 10 секунд, запоминать предпоследнюю вкладку.
После установки Идеи, я сразу настраиваю ее по принципу статьи "Настройка Idea для чистокодеров". 4 любимых конфига: изменение размера шрифта мышью, ВерблюжьиГоры, автоматический импорт и автосохранение файлов.
С ними я увеличиваю шрифт с помощью комбинации Ctrl + колёсико мыши. Перемещаюсь по словам с ВотТакимВотРегистром между заглавными буквами, когда передвигаю курсор стрелками влево-вправо с нажатым Ctrl. И не добавляю импорт, когда пишу имя нового класса.
Статья: https://habrahabr.ru/post/206714/
Среда разработки должна за меня делать вещи, на которые я не хочу тратить время. Например, сама импортировать классы, сохранять файлы каждые 10 секунд, запоминать предпоследнюю вкладку.
После установки Идеи, я сразу настраиваю ее по принципу статьи "Настройка Idea для чистокодеров". 4 любимых конфига: изменение размера шрифта мышью, ВерблюжьиГоры, автоматический импорт и автосохранение файлов.
С ними я увеличиваю шрифт с помощью комбинации Ctrl + колёсико мыши. Перемещаюсь по словам с ВотТакимВотРегистром между заглавными буквами, когда передвигаю курсор стрелками влево-вправо с нажатым Ctrl. И не добавляю импорт, когда пишу имя нового класса.
Статья: https://habrahabr.ru/post/206714/
Книга для новичков "Head First Java"
Я называю её художественной книгой про Джаву. При желании она читается за две недели (каждый день по два часа после работы, например). Книга написана простым языком, а не как справочник по языку программирования с неизвестными терминами.
Основная задача книги – чтобы самый неподготовленный смог разобраться в Джаве. Темы в ней изложены последовательно, новые понятия объясняются через бытовые сравнения. А в конце каждой главы написаны ключевые моменты и задания для закрепления.
Если будешь читать книгу правильно, то освоишь три главных навыка: начнёшь программировать, разберёшься с основами Джавы и напишешь первые приложения. Это будут морской бой, музыкальный битбокс, игра для запоминания слов и не только.
Как читать "Изучаем Джаву":
- утром повторяй то, что прочитал накануне. Так ты лучше вникнешь в суть, ведь не все бывает понятно с первого раза. Для лучшего усвоения инфы, я выписывал ключевые моменты в отдельную тетрадь;
- не приступай к следующей главе, пока не выполнишь все задания из предыдущей;
- установи Джаву и печатай по ходу чтения каждую программу, которая разбирается в книге. Так ты начнёшь собирать своё портфолио;
- параллельно смотри на Ютубе видео на темы, про которые читаешь. Например, Java exceptions или Java inheritance.
Если ты в программировании первый день, то это лучшая книга для знакомства с Джавой.
#книги
Я называю её художественной книгой про Джаву. При желании она читается за две недели (каждый день по два часа после работы, например). Книга написана простым языком, а не как справочник по языку программирования с неизвестными терминами.
Основная задача книги – чтобы самый неподготовленный смог разобраться в Джаве. Темы в ней изложены последовательно, новые понятия объясняются через бытовые сравнения. А в конце каждой главы написаны ключевые моменты и задания для закрепления.
Если будешь читать книгу правильно, то освоишь три главных навыка: начнёшь программировать, разберёшься с основами Джавы и напишешь первые приложения. Это будут морской бой, музыкальный битбокс, игра для запоминания слов и не только.
Как читать "Изучаем Джаву":
- утром повторяй то, что прочитал накануне. Так ты лучше вникнешь в суть, ведь не все бывает понятно с первого раза. Для лучшего усвоения инфы, я выписывал ключевые моменты в отдельную тетрадь;
- не приступай к следующей главе, пока не выполнишь все задания из предыдущей;
- установи Джаву и печатай по ходу чтения каждую программу, которая разбирается в книге. Так ты начнёшь собирать своё портфолио;
- параллельно смотри на Ютубе видео на темы, про которые читаешь. Например, Java exceptions или Java inheritance.
Если ты в программировании первый день, то это лучшая книга для знакомства с Джавой.
#книги
Что такое Git
#Git — распределённая система контроля версий. Или коротко РСКВ.
Система контроля версий хранит изменения файлов, которые нужны пользователю. Главная цель — чтобы пользователь в любой момент имел доступ к старым версиям файлов. Вот пример СКВ. Андрей пишет выпускной диплом. Получилось три файла: введение.doc, основная_часть.doc и выводы.doc. Перед тем, как печатать новые мысли, Андрей создает папку и копирует в неё файлы. А к названию папки добавляет текущую дату. Получается "Диплом 15-03-18". И теперь если Андрей случайно удалит важные мысли в выводах, то скопирует их из старого файла.
Распределенная система хранит файлы не на одном центральном сервере, а распределённо. У клиентов — копия проекта. Если умирает сервер и стираются данные, то любой клиентский проект можно скопировать обратно на сервер, чтобы восстановить проект. Когда клиент забирает свежую версию файлов, он создаёт себе полную копию всех данных.
Гит — гибкая и мощная система. Она интереснее, чем ежедневное копирование файлов в новые каталоги. Её используют программисты, чтобы отслеживать исходный код. С гитом разработчики отправляют файлы на удаленный сервер, просматривают изменения, откатывают отдельные файлы или весь проект к прежнему виду. А если модуль вдруг перестаёт работать, то в Гите видно, кто поломал проект.
#Git — распределённая система контроля версий. Или коротко РСКВ.
Система контроля версий хранит изменения файлов, которые нужны пользователю. Главная цель — чтобы пользователь в любой момент имел доступ к старым версиям файлов. Вот пример СКВ. Андрей пишет выпускной диплом. Получилось три файла: введение.doc, основная_часть.doc и выводы.doc. Перед тем, как печатать новые мысли, Андрей создает папку и копирует в неё файлы. А к названию папки добавляет текущую дату. Получается "Диплом 15-03-18". И теперь если Андрей случайно удалит важные мысли в выводах, то скопирует их из старого файла.
Распределенная система хранит файлы не на одном центральном сервере, а распределённо. У клиентов — копия проекта. Если умирает сервер и стираются данные, то любой клиентский проект можно скопировать обратно на сервер, чтобы восстановить проект. Когда клиент забирает свежую версию файлов, он создаёт себе полную копию всех данных.
Гит — гибкая и мощная система. Она интереснее, чем ежедневное копирование файлов в новые каталоги. Её используют программисты, чтобы отслеживать исходный код. С гитом разработчики отправляют файлы на удаленный сервер, просматривают изменения, откатывают отдельные файлы или весь проект к прежнему виду. А если модуль вдруг перестаёт работать, то в Гите видно, кто поломал проект.
Вышла Java 10
Читать, что изменилось
https://habrahabr.ru/company/jugru/blog/351694/
Скачать
http://jdk.java.net/10/
Читать, что изменилось
https://habrahabr.ru/company/jugru/blog/351694/
Скачать
http://jdk.java.net/10/
Состояния файлов в Git
У вас имеется #Git-репозиторий и рабочая копия файлов для проекта. Вы работаете с классами, изменяете файлы и вскоре проект достигает состояния, которое нужно сохранить. И вы выполняете команды git add и git commit, то есть фиксируете состояние. Зафиксированные состояния репозитория называются снимками или snapshots.
В рабочем каталоге два типа файлов: неотслеживаемые и отслеживаемые. Неотслеживаемые не находятся под версионным контролем. Это файлы, которые не входили в последний слепок состояния и не подготовлены к коммиту (git add). В Идее они коричневого цвета.
Отслеживаемые файлы — это те, которые были в последнем слепке состояния проекта или подготовлены к коммиту. Они трёх типов: неизменённые, изменённые и подготовленные. Когда вы впервые клонируете репозиторий, все файлы будут отслеживаемыми и неизменёнными. Потому что вы взяли их из хранилища и не редактировали.
Изменёнными файлы становятся, как только вы отредактируете их. Git будет рассматривать их как изменённые, потому что они изменились с последнего коммита. Подготовленными вы делаете их командой git add. Так файлы индексируются, попадают в stage. Stage - место для подготовленных файлов. И чтобы зафиксировать индексированные изменения делаете git commit. Затем цикл повторяется.
Более подробно: https://git-scm.com/book/ru/v1/Основы-Git-Запись-изменений-в-репозиторий
У вас имеется #Git-репозиторий и рабочая копия файлов для проекта. Вы работаете с классами, изменяете файлы и вскоре проект достигает состояния, которое нужно сохранить. И вы выполняете команды git add и git commit, то есть фиксируете состояние. Зафиксированные состояния репозитория называются снимками или snapshots.
В рабочем каталоге два типа файлов: неотслеживаемые и отслеживаемые. Неотслеживаемые не находятся под версионным контролем. Это файлы, которые не входили в последний слепок состояния и не подготовлены к коммиту (git add). В Идее они коричневого цвета.
Отслеживаемые файлы — это те, которые были в последнем слепке состояния проекта или подготовлены к коммиту. Они трёх типов: неизменённые, изменённые и подготовленные. Когда вы впервые клонируете репозиторий, все файлы будут отслеживаемыми и неизменёнными. Потому что вы взяли их из хранилища и не редактировали.
Изменёнными файлы становятся, как только вы отредактируете их. Git будет рассматривать их как изменённые, потому что они изменились с последнего коммита. Подготовленными вы делаете их командой git add. Так файлы индексируются, попадают в stage. Stage - место для подготовленных файлов. И чтобы зафиксировать индексированные изменения делаете git commit. Затем цикл повторяется.
Более подробно: https://git-scm.com/book/ru/v1/Основы-Git-Запись-изменений-в-репозиторий
Ресурсы по Git
Сайт GitHowTo. Состоит из 50 мини-уроков. На каждом уроке - команда Гит, описание того, что она делает и результат выполнения. В начале курса скачиваешь файлы и постепенно выполняешь все команды на компьютере. Если застрял, то скопируй нужный урок в рабочую папку. https://githowto.com/
Курс GitHub'а. Пишешь команды в браузере - тут же получаешь результат и следующее задание. Помогает, когда редко используешь Гит в терминале. Быстро воскрешает знания основных команд https://try.github.io/
Книга "Pro Git". Подробно описано от установки на комп до низкоуровневых команд. Мне нравится глава о ветвлении https://goo.gl/nmo1b1. Читать книгу на русском https://git-scm.com/book/ru/v2/
#git #обучение
Сайт GitHowTo. Состоит из 50 мини-уроков. На каждом уроке - команда Гит, описание того, что она делает и результат выполнения. В начале курса скачиваешь файлы и постепенно выполняешь все команды на компьютере. Если застрял, то скопируй нужный урок в рабочую папку. https://githowto.com/
Курс GitHub'а. Пишешь команды в браузере - тут же получаешь результат и следующее задание. Помогает, когда редко используешь Гит в терминале. Быстро воскрешает знания основных команд https://try.github.io/
Книга "Pro Git". Подробно описано от установки на комп до низкоуровневых команд. Мне нравится глава о ветвлении https://goo.gl/nmo1b1. Читать книгу на русском https://git-scm.com/book/ru/v2/
#git #обучение
Dirty code
Раз в неделю буду выкладывать пример плохого кода, исправленную версию и разбор.
Раз в неделю буду выкладывать пример плохого кода, исправленную версию и разбор.
Лучший вариант, когда хочешь создать лист из одного элемента. Компактность, читаемость, изящность.
Как поднять себе зарплату
На предыдущей работе эта статья помогла мне поднять зп https://journal.tinkoff.ru/thedeal/
Что нужно делать, чтобы выросла зарплата:
1. Просто подойдите к начальнику и попросите повышения: "Что мне сделать, чтобы зарабатывать столько-то?" Главное - дождитесь ответа босса. Не опережайте его даже при долгой паузе.
2. Если начальник сказал "не знаю", то предложите свои варианты. Важно подготовить их заранее. Начальника интересуют только выгодные вещи. Будьте полезны. Например, предложите свои силы ещё в одном проекте.
3. Если не пришли к решению или босс взял паузу - открывайте ХэдХантер и ищите альтернативу. С оффером перед глазами начальник быстро примет решение о повышении зп.
4. Когда совсем все плохо - возьмите отпуск, отдохните и меняйте работу.
#зарплата
На предыдущей работе эта статья помогла мне поднять зп https://journal.tinkoff.ru/thedeal/
Что нужно делать, чтобы выросла зарплата:
1. Просто подойдите к начальнику и попросите повышения: "Что мне сделать, чтобы зарабатывать столько-то?" Главное - дождитесь ответа босса. Не опережайте его даже при долгой паузе.
2. Если начальник сказал "не знаю", то предложите свои варианты. Важно подготовить их заранее. Начальника интересуют только выгодные вещи. Будьте полезны. Например, предложите свои силы ещё в одном проекте.
3. Если не пришли к решению или босс взял паузу - открывайте ХэдХантер и ищите альтернативу. С оффером перед глазами начальник быстро примет решение о повышении зп.
4. Когда совсем все плохо - возьмите отпуск, отдохните и меняйте работу.
#зарплата
Книга "Грокаем алгоритмы"
Основная идея книги: алгоритмы - это просто.
Автор простым языком разбирает популярные алгоритмы: сортировки, рекурсию, хэш-таблицы, жадные алгоритмы. Вы их встретите в вопросах на собеседованиях. Плюс они важны для понимания сложных тем.
Это книга для начинающих. Поэтому вы не увидите сложных формул. Вместо них - примеры с картинками, упражнения и шпаргалки в конце главы.
В общем, если ты не успел познакомиться с классическими алгоритмами или не зашла книга Седжвика и Кнута - добро пожаловать в клуб грокающих алгоритмы.
#книги
Основная идея книги: алгоритмы - это просто.
Автор простым языком разбирает популярные алгоритмы: сортировки, рекурсию, хэш-таблицы, жадные алгоритмы. Вы их встретите в вопросах на собеседованиях. Плюс они важны для понимания сложных тем.
Это книга для начинающих. Поэтому вы не увидите сложных формул. Вместо них - примеры с картинками, упражнения и шпаргалки в конце главы.
В общем, если ты не успел познакомиться с классическими алгоритмами или не зашла книга Седжвика и Кнута - добро пожаловать в клуб грокающих алгоритмы.
#книги
Один день из жизни Git
Создать ветку для задачи
Посмотреть состояние файлов
Добавить все изменения
Сделать коммит
Отправить ветку в удаленный репозиторий
#git
Создать ветку для задачи
git checkout -b <branch>
Посмотреть состояние файлов
git status
Добавить все изменения
git add .
Сделать коммит
git commit -m "good job"
Отправить ветку в удаленный репозиторий
git push -u origin <branch>
#git
Доклад по Spring
"Spring-потрошитель" - динамичный и позновательный доклад Евгения Борисова. Один из любимых спикеров. В докладе он рассказывает, как работают внутренности Spring: BeanFactory, ContextListener, BeanDefinitionReader, BeanPostProcessor. Постепенно знакомит с каждой новой сущностью Spring, показывает это на картинках и примерах.
Если хочешь полностью вникнуть, как устроен Spring, то включай видео, запускай Идею. И вместе с Евгением Борисовым печатай примеры кода.
Ссылки на доклад:
1 часть - https://bit.ly/2IwOkPQ
2 часть - https://bit.ly/2JpmKFx
#spring
"Spring-потрошитель" - динамичный и позновательный доклад Евгения Борисова. Один из любимых спикеров. В докладе он рассказывает, как работают внутренности Spring: BeanFactory, ContextListener, BeanDefinitionReader, BeanPostProcessor. Постепенно знакомит с каждой новой сущностью Spring, показывает это на картинках и примерах.
Если хочешь полностью вникнуть, как устроен Spring, то включай видео, запускай Идею. И вместе с Евгением Борисовым печатай примеры кода.
Ссылки на доклад:
1 часть - https://bit.ly/2IwOkPQ
2 часть - https://bit.ly/2JpmKFx
#spring
JPoint 2018
JPoint - конференция по Джаве для опытных разработчиков. Она пройдёт 6-7 апреля в Москве. Будет 40 докладов и тысяча участников. Доклады, которые выкладывают на Ютуб после конференции, набирают тысячи просмотров. Например, "Spring-потрошитель" набрал 100к.
Билет на два дня стоит 35к. Но есть бесплатная трансляция с основными выступлениями. Интересно посмотреть выступления Juergen Hoel'а, сооснователя Spring. Он расскажет про запуск Spring на Java 9, функциональные и реактивных фишки пятого Spring'а.
Ссылки на трансляции:
1 день - https://bit.ly/2HceIPJ
2 день - https://bit.ly/2GX0R1T
Доклады начинаются в 10:30
JPoint - конференция по Джаве для опытных разработчиков. Она пройдёт 6-7 апреля в Москве. Будет 40 докладов и тысяча участников. Доклады, которые выкладывают на Ютуб после конференции, набирают тысячи просмотров. Например, "Spring-потрошитель" набрал 100к.
Билет на два дня стоит 35к. Но есть бесплатная трансляция с основными выступлениями. Интересно посмотреть выступления Juergen Hoel'а, сооснователя Spring. Он расскажет про запуск Spring на Java 9, функциональные и реактивных фишки пятого Spring'а.
Ссылки на трансляции:
1 день - https://bit.ly/2HceIPJ
2 день - https://bit.ly/2GX0R1T
Доклады начинаются в 10:30