Size: a a a

2018 March 06
Java Developer
Привет! Меня зовут Дмитрий. Я работаю Java разработчиком.
   Канал создал, чтобы помочь начинающим разобраться с джавой и устроиться на работу. Буду выкладывать советы и статьи, которые помогли мне понять тонкости. Присылать вопросы и тестовые задания с собеседований, на которые я ходил. Расскажу об опыте друзей, которые поменяли профессию и работают программистами.
   Для опытных напишу о технологиях, которые изучаю и использую в работе: Spring, Hibernate, RabbitMQ, Mongo DB, ElasticSearch, AWS, Scala.
   Если задачи на JavaRush слишком лёгкие для вас. Если вы прочитали первую книгу по Java и ищите руку помощи. Если не знаете, как составить резюме без опыта разработки. Если надоела текущая работа - подписывайтесь, пишите в личку, будем разбираться вместе.
источник
2018 March 12
Java Developer
Как настроить Идею, чтобы меньше отвлекаться

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

После установки Идеи, я сразу настраиваю ее по принципу статьи "Настройка Idea для чистокодеров". 4 любимых конфига: изменение размера шрифта мышью, ВерблюжьиГоры, автоматический импорт и автосохранение файлов.

С ними я увеличиваю шрифт с помощью комбинации Ctrl + колёсико мыши. Перемещаюсь по словам с ВотТакимВотРегистром между заглавными буквами, когда передвигаю курсор стрелками влево-вправо с нажатым Ctrl. И не добавляю импорт, когда пишу имя нового класса.

Статья: https://habrahabr.ru/post/206714/
источник
2018 March 13
Java Developer
Книга для новичков "Head First Java"

Я называю её художественной книгой про Джаву. При желании она читается за две недели (каждый день по два часа после работы, например). Книга написана простым языком, а не как справочник по языку программирования с неизвестными терминами.

Основная задача книги – чтобы самый неподготовленный смог разобраться в Джаве.  Темы в ней изложены последовательно, новые понятия объясняются через бытовые сравнения. А в конце каждой главы написаны ключевые моменты и задания для закрепления.

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

Как читать "Изучаем Джаву":

- утром повторяй то, что прочитал накануне. Так ты лучше вникнешь в суть, ведь не все бывает понятно с первого раза. Для лучшего усвоения инфы, я выписывал ключевые моменты в отдельную тетрадь;

- не приступай к следующей главе, пока не выполнишь все задания из предыдущей;

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

- параллельно смотри на Ютубе видео на темы, про которые читаешь. Например, Java exceptions или Java inheritance.

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

#книги
источник
Java Developer
источник
2018 March 15
Java Developer
Что такое Git

#Git — распределённая система контроля версий. Или коротко РСКВ.

Система контроля версий хранит изменения файлов, которые нужны пользователю. Главная цель — чтобы пользователь в любой момент имел доступ к старым версиям файлов. Вот пример СКВ. Андрей пишет выпускной диплом. Получилось три файла: введение.doc, основная_часть.doc и выводы.doc. Перед тем, как печатать новые мысли, Андрей создает папку и копирует в неё файлы. А к названию папки добавляет текущую дату. Получается "Диплом 15-03-18". И теперь если Андрей случайно удалит важные мысли в выводах, то скопирует их из старого файла.

Распределенная система хранит файлы не на одном центральном сервере, а распределённо. У клиентов — копия проекта. Если умирает сервер и стираются данные, то любой клиентский проект можно скопировать обратно на сервер, чтобы восстановить проект. Когда клиент забирает свежую версию файлов, он создаёт себе полную копию всех данных.

Гит — гибкая и мощная система. Она интереснее, чем ежедневное копирование файлов в новые каталоги. Её используют программисты, чтобы отслеживать исходный код. С гитом разработчики отправляют файлы на удаленный сервер, просматривают изменения, откатывают отдельные файлы или весь проект к прежнему виду. А если модуль вдруг перестаёт работать, то в Гите видно, кто поломал проект.
источник
2018 March 21
Java Developer
Вышла Java 10

Читать, что изменилось
https://habrahabr.ru/company/jugru/blog/351694/

Скачать
http://jdk.java.net/10/
источник
2018 March 22
Java Developer
Жизненный цикл файлов в #Git
источник
2018 March 23
Java Developer
Состояния файлов в Git

У вас имеется #Git-репозиторий и рабочая копия файлов для проекта. Вы работаете с классами, изменяете файлы и вскоре проект достигает состояния, которое нужно сохранить. И вы выполняете команды git add и git commit, то есть  фиксируете состояние. Зафиксированные состояния репозитория называются снимками или snapshots.

В рабочем каталоге два типа файлов: неотслеживаемые и отслеживаемые. Неотслеживаемые не находятся под версионным контролем. Это файлы, которые не входили в последний слепок состояния и не подготовлены к коммиту (git add). В Идее они коричневого цвета.

Отслеживаемые файлы — это те, которые были в последнем слепке состояния проекта или подготовлены к коммиту. Они трёх типов: неизменённые, изменённые и подготовленные. Когда вы впервые клонируете репозиторий, все файлы будут отслеживаемыми и неизменёнными. Потому что вы взяли их из хранилища и не редактировали.

Изменёнными файлы становятся, как только вы отредактируете их. Git будет рассматривать их как изменённые, потому что они изменились с последнего коммита. Подготовленными вы делаете их командой git add. Так файлы индексируются, попадают в stage. Stage - место для подготовленных файлов. И чтобы зафиксировать индексированные изменения делаете git commit. Затем цикл повторяется.

Более подробно: https://git-scm.com/book/ru/v1/Основы-Git-Запись-изменений-в-репозиторий
источник
2018 March 27
Java Developer
Ресурсы по 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
источник
2018 March 29
Java Developer
Dirty code

Раз в неделю буду выкладывать пример плохого кода, исправленную версию и разбор.
источник
Java Developer
источник
Java Developer
источник
Java Developer
Лучший вариант, когда хочешь создать лист из одного элемента. Компактность, читаемость, изящность.
источник
2018 March 31
Java Developer
Как поднять себе зарплату

На предыдущей работе эта статья помогла мне поднять зп https://journal.tinkoff.ru/thedeal/

Что нужно делать, чтобы выросла зарплата:

1. Просто подойдите к начальнику и попросите повышения: "Что мне сделать, чтобы зарабатывать столько-то?" Главное - дождитесь ответа босса. Не опережайте его даже при долгой паузе.

2. Если начальник сказал "не знаю", то предложите свои варианты. Важно подготовить их заранее. Начальника интересуют только выгодные вещи. Будьте полезны. Например, предложите свои силы ещё в одном проекте.

3. Если не пришли к решению или босс взял паузу - открывайте ХэдХантер и ищите альтернативу. С оффером перед глазами начальник быстро примет решение о повышении зп.

4.  Когда совсем все плохо - возьмите отпуск, отдохните и меняйте работу.
источник
2018 April 02
Java Developer
Книга "Грокаем алгоритмы"

Основная идея книги: алгоритмы - это просто.

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

Это книга для начинающих. Поэтому вы не увидите сложных формул. Вместо них - примеры с картинками, упражнения и шпаргалки в конце главы.

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

#книги
источник
2018 April 03
Java Developer
источник
Java Developer
Один день из жизни Git

Создать ветку для задачи
git checkout -b <branch>

Посмотреть состояние файлов
git status

Добавить все изменения
git add .

Сделать коммит
git commit -m "good job"

Отправить ветку в удаленный репозиторий
git push -u origin <branch>

#git
источник
2018 April 04
Java Developer
Доклад по Spring

"Spring-потрошитель" - динамичный и позновательный доклад Евгения Борисова. Один из любимых спикеров. В докладе он рассказывает, как работают внутренности Spring: BeanFactory, ContextListener, BeanDefinitionReader, BeanPostProcessor. Постепенно знакомит с каждой новой сущностью Spring, показывает это на картинках и примерах.

Если хочешь полностью вникнуть, как устроен Spring, то включай видео, запускай Идею. И вместе с Евгением Борисовым печатай примеры кода.

Ссылки на доклад:
1 часть - https://bit.ly/2IwOkPQ
2 часть - https://bit.ly/2JpmKFx
источник
2018 April 06
Java Developer
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
источник
2018 April 07
Java Developer
Зачем ходить на конференции

Доклады - не основная причина. Ведь все доклады можно посмотреть в сети. С JPoint'а видео выкладывают только через пол года, но сольют в инет их раньше месяца.

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

Ещё хорошо рассказал про конференции Костя Горский
https://t.me/desprod/257
Он Design Lead в Intercom, экс-дизайн-директор Яндекса.
источник