Java Developer
6.45K subscribers
235 photos
8 videos
12 files
279 links
MAKE JAVA GREAT AGAIN

Мемы: @java_memes
加入频道
Думай как программист

Системное подход решения задач - это крутейший навык в любой области. Есть проблемы, которые часто повторяются. Системный подход помогает найти такое решение, которое избавляет от этих проблем. На Хабре по этой теме вышел перевод статьи "Уроки по решению задач" https://habr.com/post/422543/.

Что нужно делать, когда сталкиваешься с новой задачей:
1. Докапывайтесь до сути задачи
Бывает, долго сидишь над задачей и не знаешь, как её решить. Только начинаешь рассказывать её коллеге - решение тут же приходит само. Поэтому важно описать задачу, нарисовать схему или объяснить кому-то простым языком.

2. Планируйте решение
Нет ничего лучше расписанного плана решения на бумажке. Когда будете делать план, задайте себе вопросы типа: "если взять X, то какие шаги нужно сделать, чтобы получить Y".

3. Декомпозируйте
Декомпозиция - это разделение одной большой задачи на несколько маленьких простых задач. Легче решить 5 задачек и объединить их, чем обдумывать одну огромную. Бывает, к такой задаче даже страшно притронуться.

4. Дебажьте, если застряли
Проверяйте каждый шаг, чтобы найти ошибку. Если это не помогает, то вернитесь на шаг назад и попробуйте другое решение. Ещё хороший вариант - найти решение схожей задачи, разобрать его и заюзать в своих целях.
Что посмотреть на выходных — 8

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

Интервью с разработчиком из YouTube
https://youtu.be/AtzHvKYWRM8

Как живут программисты в США
https://youtu.be/8J91m5oGFDI

Интервью с основателем школы QA в кремниевой долине
https://youtu.be/oSDo1VMtcDI

Следить за новыми видосами можно здесь @progblogtv

#чтопосмотреть
Онлайн-компилятор

Когда очень хочется проверить решение задачки, а компа с IDE под рукой нет
https://ideone.com/
https://www.jdoodle.com/
Давно не было голосовалок. От меня смайл с сердечками за Джаву
Как вы относитесь к Java?
​​Comments

Комментарии — это строки в коде, которые не влияют на выполнении программы.

Однострочный комментарий
// single line comment

Многострочный комментарий
/*
  /*not compile*/
  comment
*/

JavaDoc
/**
* JavaDoc comment
* @author zybkin
*/

Попробуйте напечатать и запустить код с картинки
​​Зарплаты в IT

Средние зарплаты в IT из октябрьского номера журнала Зарплатомер
​​Keywords

— ключевые слова нельзя использовать в качестве имён переменных, методов или классов
const и goto зарезервированы, но не используются
— на скрине все ключевые слова, которые есть в Джаве
Как освоить Git

Больше всего проблем у начинающих разработчиков с Гитом. Но в разработке без него никуда. Вот крутой интерактивный учебник по Гиту https://githowto.com/ru — лучше пока не видел. Кому нужно срочно вникнуть в основы, советую пройти первые 10 уроков.

Что такое Гит
https://yangx.top/java_developer/15

Ещё ресурсы по Гиту
https://yangx.top/java_developer/21
5 ошибок при изучении программирования

Отсутствие цели
Правильная цель мотивирует, и благодаря ей вы видите, куда движетесь. Думаю, цель «устроиться на работу Java Junior через полгода» должна мотивировать. А если написать подробный план, то будет видно, где вы сейчас, и куда нужно двигаться.

Отсутствие плана
Нет плана — нет движения в нужном направлении. Нужно понимать, какие этапы и шаги необходимо пройти, чтобы достигнуть цели. Например, вы знаете, что в этом месяце разбираетесь со Spring: проходите курс и читатете Spring in Action. В следующем приступаете к изучению Hibernate.

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

Изучение только теории
Программирование — это навык. А при изучении навыка основы сначала осваиваешь руками, а потом уже добиваешь теорией. Поэтому не нужно жестко закапываться в теорию, важно постоянно кодить. Желательно каждый день.

Перфекционизм
Когда решаешь задачу, то пытаешься её сделать идеально оптимально и красиво. Но без опыта с первого раза этого невозможно. Рекомендую такой принцип — сперва делаем задачу, чтобы она хотя бы работала. После рефакторим код — делаем так, чтобы программа выглядела красиво. И в конце оптимизируем.
Joker 2018

Java Dev тут недавно стал информационным партнёром самой мощной конференции по Java в России “Joker 2018”. Это значит, что логотип канала красуется на сайте конференции во вкладке спонсоры, а я буду о ней здесь рассказывать.

Плюс организаторы сделали специальный промокод для друзей канала. Так что, кто собирается пойти на конференцию, вбейте на сайте JavaDev и получите скидку 1000р.

Кстати, я уже купил билет и думаю вести 19-20 октября здесь фотоотчет. Стоит ли рассказывать во время конференции о том, что на ней происходит?
Что посмотреть на выходных — 9

Иван Осипов — «Kotlin DSL: теория и практика». Доклад о том, как комфортно писать компактные тесты на Kotlin
https://youtu.be/q_UM1EY2S5g

Доклад «Мавен против Грейдла»
https://youtu.be/LScps3Dl7Vw

Один день глазами программиста Кремниевой долины
https://youtu.be/hWFDujYzvbI

#чтопосмотреть
Я тут принял во внимание дизлайки на постах про идентификаторы, литералы, комментарии. И решил выкладывать посты о базовых вещах чуть реже, в перемешку с более гиковскими. Поэтому следующий пост о сборщике мусора. А для новичков в следующий понедельник открою запись на марафон — там можно будет прокачаться в основах Джавы. Всех обнял
Garbage collection

Как начать разбираться в теме сборки мусора? Для начала на Хабре есть серия статей «Дюк, вынеси мусор!», в которых автор отлично рассказывает о сборке мусора:
ч. 1 — общее введение
habrahabr.ru/post/269621
ч. 2 — Serial и Parallel
habrahabr.ru/post/269707
ч. 3 — CMS и G1
habrahabr.ru/post/269863

Дальше доклад Шипилёва «Shenandoah: сборщик мусора, который смог»:
ч. 1 https://youtu.be/JBaZ4lK6OBk
ч. 2 https://youtu.be/HBWaffsl7fo

И плюс книга «The garbage collection handbook», которую рекомендует прочитать Алексей Шипилёв.

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

Это не разработчик, который обладает всеми возможными сертификатами, который умело работает с concurrent locks, и который помнит все паттерны регулярных выражений. Самый эффективный девелопер тот, который досконально знает проект, умеет быстро и эффективно пофиксить багу или запилить важную фичу для заказчика.
Java 11

Если кто пропустил, то 25 сентября вышла Java 11. Вот тут в статье разобраны 90 новых фич:
https://habr.com/post/424683/

Кстати, какую версию Джавы вы используете?
Тестовое задание

Допустим мне пишут две компании одного уровня: одна приглашает прийти на собес, а вторая сначала предлагает выполнить тестовое задание. Почти со стопроцентной уверенность могу сказать, что вторая компания идёт нахер. Я готов решать тестовые задания, если жестко заинтересован в этой компании или это компания типа Яндекс, JetBrains, Mail.Ru, и кто там еще крутыми у нас считаются?
​​Венкат Субраманиам первый спикер на Джокере. Рассказал о сложностях в проектах, вспомнил, как программировал в молодости, показал интересные примеры.

«Two kinds of code frustrate me:
One that won’t work
One that works but shouldn’t»


«Happiness is when world understands programmer»

«You don’t use Maven... it uses you»

«Using a library is like dating, using a framework like a marriage»

Онлайн трансляция из первого зала. Сейчас идет доклад о Java 11
https://youtu.be/v3dr4e54TLA