Все сервисы Хабра

Сообщество IT-специалистов

Ответы на любые вопросы об IT

Профессиональное развитие в IT

Удаленная работа для IT-специалистов

Войти на сайт
  • Все вопросы
  • Все теги
  • Пользователи

Хабр Q&A — вопросы и ответы для IT-специалистов

Получайте ответы на вопросы по любой теме из области IT от специалистов в этой теме.

Узнать больше
другие проекты хабра
  • Хабр
  • Карьера
  • Фриланс
Задать вопрос

Frozen Coder

Java-developer
  • 173
    вклад
  • 0
    вопросов
  • 192
    ответа
  • 40%
    решений
Лайки
  • Информация
  • Ответы
  • Вопросы
  • Комментарии
  • Подписки
  • Нравится
  • Достижения
  • Как выбирать, создать поток или корутину?

    zagayevskiy
    Денис Загаевский @zagayevskiy Куратор тега Kotlin
    Android developer at Yandex
    Создавать поток рукам тебе вообще никогда не нужно. На самый крайний случай - использовать пул потоков.
    Если ты используешь корутины - используй корутины. С правильным диспатчером. В твоём случае подойдёт запуск на Dispatchers.Default. Там как раз пул потоков на JVM под капотом.
    Ответ написан 28 мар.
    10 комментариев
    Нравится 2 10 комментариев
  • Как строить карьеру senior разработчику?

    opium
    Пума Тайланд @opium
    Просто люблю качественно работать
    вам 33 года уже поздно спрашивать пора уже самому решать что делать в жизни.
    Ответ написан 17 янв.
    3 комментария
    Нравится 22 3 комментария
  • Можете подсказать практичный список литературы по разработке драйверов для linux и вообще по работе в ядре?

    jcmvbkbc
    jcmvbkbc @jcmvbkbc
    http://dilbert.com/strip/1998-08-24
    Linux Device Drivers: lwn.net/Kernel/LDD3
    Understanding the Linux Kernel: https://doc.lagout.org/operating%20system%20/linux...
    Linux Kernel Development: https://raw.githubusercontent.com/jyfc/ebook/maste...
    Understanding the Linux Virtual Memory Manager: https://www.kernel.org/doc/gorman/pdf/understand.pdf
    Unreliable Guide To Locking: https://www.kernel.org/pub/linux/kernel/people/rus...

    Содержимое каталога Documentation в ядре.
    https://lwn.net/Kernel/Index/ для точечного погружения в отдельные топики.
    Каталог doc с kernel.org: https://www.kernel.org/doc/
    Ответ написан более трёх лет назад
    2 комментария
    Нравится 14 2 комментария
  • Какие есть хорошие книги по Linux?

    jcmvbkbc
    jcmvbkbc @jcmvbkbc
    http://dilbert.com/strip/1998-08-24
    Вот тут я как-то постил свой список.
    Некоторые ссылки протухли, но по названию должно хорошо искаться.
    Вдобавок, https://lwn.net/Kernel/Index/ для точечного погружения в отдельные топики.

    А адептов секты теоретиков "читай исходники" реально надо заставлять читать исходники до просветления.
    Ответ написан 15 янв.
    2 комментария
    Нравится 8 2 комментария
  • Бесплатен ли Lombok?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Во-первых, ломбок - это процессор аннотаций, он запускается во время компиляции и генерирует тот самый код, который генерируется, когда вы "делаете деломбок". Во-вторых, что мешает вам посмотреть какая у него лицензия?
    Ответ написан 18 дек. 2020
    Комментировать
    Нравится 2 Комментировать
  • Val vs const val, я знаю что у const val нет геттера, а какие еще отличия?

    iLLuzor
    illuzor @iLLuzor
    Java, Kotlin, Android Developer
    const - это константы времени компиляции.
    После компиляции они исчезают(в байткоде их нет) и подставляются на место использования. Это позволяет, например, использовать их в аннотациях.
    Также const вычисляется во время компиляции.

    Если написать так:
    const val SUM = 1 + 2
    someFunctionCall(SUM)

    После компиляции получится(условно) так:
    someFunctionCall(3)
    Ответ написан 20 нояб. 2020
    2 комментария
    Нравится 2 2 комментария
  • Первый язык для работы?

    BojackHorseman
    Лентюй @BojackHorseman Куратор тега IT-образование
    ...в творческом отпуске...
    английский
    Ответ написан 04 авг. 2020
    2 комментария
    Нравится 10 2 комментария
  • В какой сфере IT легче найти работу (Исключая Москву и Питер)?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev
    Седой и строгий
    Если для вас первостепенная задача сейчас - это как можно быстрее начать зарабатывать, то лучше про ИТ забыть. В торговом зале, на стройке, за рулём и в других сферах, не требующих высокой квалификации, заработать проще. Без приколов.
    Ответ написан 04 авг. 2020
    Комментировать
    Нравится 6 Комментировать
  • Какое направление в it выбрать?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev
    Седой и строгий
    Во-первых, время входа и трудозатраты на него несоизмеримо больше для java enterprise. Во-вторых, конкурировать на рынке труда придётся с пришедшими в ИТ не ради денег, и они всегда будут вас обходить, поэтому ими будут заняты все топовые позиции.
    Ответ написан 01 авг. 2020
    8 комментариев
    Нравится 7 8 комментариев
  • Как устроиться на работу java junior разработчику?

    alfss
    alfss @alfss
    Ходите на собеседования, другого решения нет.
    Ответ написан 16 июл. 2020
    Комментировать
    Нравится 4 Комментировать
  • Программирование деформирует человека как личность?

    DevMan
    DevMan @DevMan Куратор тега Карьера в IT
    при чем тут программирование?
    или по вашему остальные (кроме топ–менеджеров газпрома и прочих роснефтей) меньше устают?

    40+ лет.
    20+ лет зарабатываю программированием.
    есть ли усталость и выгорание? безусловно.
    можно ли с этим бороться? элементарно: периодически менять место работы/направления.
    Ответ написан 13 июл. 2020
    7 комментариев
    Нравится 11 7 комментариев
  • Плюсы и минусы карьерной стратегии: учить Kotlin после JAVA?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Нет никаких минусов в том, чтобы всё время изучать что-то новое.
    Ответ написан 12 июл. 2020
    7 комментариев
    Нравится 10 7 комментариев
  • Чем отличается HAVING от WHERE?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev Куратор тега SQL
    Седой и строгий
    Из документации:
    Основное отличие WHERE от HAVING заключается в том, что WHERE сначала выбирает строки, а затем группирует их и вычисляет агрегатные функции (таким образом, она отбирает строки для вычисления агрегатов), тогда как HAVING отбирает строки групп после группировки и вычисления агрегатных функций. Как следствие, предложение WHERE не должно содержать агрегатных функций; не имеет смысла использовать агрегатные функции для определения строк для вычисления агрегатных функций. Предложение HAVING, напротив, всегда содержит агрегатные функции. (Строго говоря, вы можете написать предложение HAVING, не используя агрегаты, но это редко бывает полезно. То же самое условие может работать более эффективно на стадии WHERE.)
    Ответ написан более года назад
    Комментировать
    Нравится 2 Комментировать
  • Какие существуют курсы на Java разработчика, Middle-уровня?

    Adamos
    Adamos @Adamos
    Если человек пришел устраиваться на мидла и при этом козыряет какими-то курсами - собеседование можно вообще не проводить.
    Ответ написан 17 июн. 2020
    4 комментария
    Нравится 4 4 комментария
  • Как решить задачку на Kotlin?

    zagayevskiy
    Денис Загаевский @zagayevskiy Куратор тега Java
    Android developer at Yandex
    1) Разбить на строки (split)
    2) Распарсить каждую строку регуляркой(regexp) и сложить в объект с двумя полями (первым и вторым)
    3) Отсортировать список объектов(sort)
    4) Взять необходимое количество объектов из списка (take/drop)
    ...
    Профит!
    Ответ написан 15 июн. 2020
    1 комментарий
    Нравится 1 1 комментарий
  • Какую нишу IT лучше занять?

    SeaInside
    Максим Морев @SeaInside
    10 лет пилю все эти штуки
    Здравствуйте!
    Посоветуйте девушку, чтобы женой была хорошей? Какими навыками должна обладать, что сейчас в трендах?
    Мне вообще блондинки нравятся и чтобы готовить умела, но вон там на форуме говорят, что брюнетки лучше...

    У вас точно такой же вопрос. Занять нужно ту нишу, которая нравится вам. Ибо только в такой вы сможете развиться дальше остальных и быть конкурентоспособным.

    где сейчас требуются специалисты и что актуально

    Специалисты требуются всегда и везде вне зависимости от стека. Акцент на слово "специалисты".
    Ответ написан 14 июн. 2020
    Комментировать
    Нравится 8 Комментировать
  • Какую нишу IT лучше занять?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev
    Седой и строгий
    Ту, которая вам интересна.
    Ответ написан 14 июн. 2020
    7 комментариев
    Нравится 14 7 комментариев
  • Как реализуются интерфеинтерфесы в Java?

    jamakasi666
    Дмитрий Александров @jamakasi666 Куратор тега Java
    Просто IT'шник.
    Видимо не достаточно понимаете =)
    Когда вы имплементируете интерфейс, к примеру Runnable, то вы реализуете метод run(). Вы его не переопределяете а реализуете, это не одно и тоже с переопределением. В JAVA есть класс Thread в котором объявлено что он знает интерфейс Runnable(вполне конкретный) и что в нем совершенно точно есть реализация метода run(), других методов которые не объявлены в интерфейсе не знает.
    Например если вы создатите свой интерфейс:
    interface MyRunnable{
          void run(); 
    }

    То класс Thread никак не будет знать что это и что с ним делать и пошлет вас в веселую пешую прогулку.
    Даже если вы создатите "однофамильца":
    interface Runnable{
          void run(); 
    }

    То класс Thread никак не будет знать что это и что с ним делать и пошлет вас в веселую пешую прогулку. Потому что это не реализация java.lang.runnable.
    Зато такой момент сработает:
    interface MyRunnable extends Runnable{
          void some(); //Обратите внимание что тут уже run нельзя объявить т.к. он объявлен в  Runnable
    }

    и при реализации этого интерфейса вас заставят реализовывать уже 2 метода
    class CoolRunnable implements MyRunnable{
          void some(){System.out.print("some from MyRunnable")} 
          void run(){System.out.print("run from Runnable")} 
    }

    И в этом случае класс Thread увидит что класс CoolRunnable реализует интерфейс Runnable в котором есть метод run() о котором он знает и который ему нужен. Метод some() он не увидит. При запуске соответственно он выведет только "run from Runnable".

    Если попробовать на пальцах объяснить так сказать по аналогии с чемто. Скажем вы класс который может нажимать на левую кнопку мыши. Ничего другого вам не объясняли. Т.е. вам дали описание что это называется мышь и на котором есть кнопка слева и которую нужно нажать. Теперь любой производитель берет это описание и реализует мышь с левой кнопкой. Каждый свою, из разного материала, с разными механизмами кнопки и принципами работы, разной формы, и даже с кучей других кнопок. Все они попадают к вам, вы смотрите что конкретный экземпляр мыши реализован по описание которое вы знаете, кроме того это именно то описание что у вас а не одноименное. На основе этого вы признаете что эта вещь вам подходит и начинаете нажимать левую кнопку мыши на любой такой мышке которую вам дадут. Если же приходит другой предмет то вы ломаете палец, потом руку и умираете от потери крови с криками что это не по описанию что у вас есть.
    Ответ написан 07 июн. 2020
    Комментировать
    Нравится 9 Комментировать
  • Как связать Java (Spring Boot) и Vue Js?

    sergey-gornostaev
    Сергей Горностаев @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Настроить Nginx как единую точку входа.
    Ответ написан 19 мая 2020
    4 комментария
    Нравится 3 4 комментария
  • В чем отличия OpenJDK от оригинальной Java?

    Chronicler
    Даниил Демидко @Chronicler
    Программист
    Код один и тот же. Разница между этими сборками в лицензировании и поддержке. Лучше берите OpenJDK.
    Ответ написан 16 мая 2020
    Комментировать
    Нравится 3 Комментировать
Оценили как «Нравится»
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • Следующие →
Самые активные сегодня
  • Василий Банников
    • 10 ответов
    • 0 вопросов
  • 0xD34F
    0xD34F
    • 7 ответов
    • 0 вопросов
  • yupiter7575
    Yupiter7575
    • 6 ответов
    • 0 вопросов
  • BormotunJedy
    Elena Fire
    • 5 ответов
    • 1 вопрос
  • hint000
    hint000
    • 5 ответов
    • 0 вопросов
  • wataru
    Wataru
    • 5 ответов
    • 0 вопросов
  • © Habr
  • О сервисе
  • Обратная связь
  • Блог

Войдите на сайт

Чтобы задать вопрос и получить на него квалифицированный ответ.
Войти через центр авторизации