Задать вопрос
  • В чем разница ядер Линукс?

    @jenya92
    Ядро одно, а уже на его основе строится дистрибутив. Хотя да, как уже заметили выше, разработчики дистрибутивов могут немного его причесать под свои нужды.
    Ответ написан
    Комментировать
  • Почему я могу обратиться к приватным полям класса в методе main?

    sergey-gornostaev
    @sergey-gornostaev Куратор тега Java
    Седой и строгий
    Потому что язык это разрешает:

    Otherwise, the member or constructor is declared private, and access is permitted if and only if it occurs within the body of the top level class (§7.6) that encloses the declaration of the member or constructor.

    https://docs.oracle.com/javase/specs/jls/se8/html/...

    Вложенный класс - это член внешнего класса, а классы всегда имеют полный доступ ко всем своим членам. Модификаторы доступа распространяются только на доступ извне.
    Ответ написан
    Комментировать
  • Почему нету возможности отключить комментарии к вопросу?

    TosterModerator
    @TosterModerator Куратор тега Тостер
    Модератор Хабр Q&A
    Комментарии необходимы для того, чтобы пользователи могли уточнять недостающую информацию и выражать свое мнение о вопросах. Нередко комментарии оказываются гораздо полезнее ответов. Было бы предельно странно, если бы разработчики Q&A-сервиса дали авторам вопросов возможность блокировать комментарии.
    Ответ написан
    1 комментарий
  • Всегда ли нужно использовать последнюю версию JDK?

    xez
    @xez Куратор тега Java
    TL Junior Roo
    Последнюю "не LTS" вообще не понятно зачем использовать. Новые фичи плохо поддерживают и IDE и фреймворки.
    Для новых проектов имеет смысл использовать последнюю LTS (на сегодняшний день это - Java 21).
    Стартовать новый проект на java 8, я лично, не вижу смысла.
    Ответ написан
    1 комментарий
  • Как в Git в организовано хранение файлов?

    AshBlade
    @AshBlade
    Просто хочу быть счастливым
    1. Гит в истории целые файлы, уже измененные, но сжатые (изменения хранит SVN, но у него другая модель работы)
    2. Сравнение файлов происходит через сравнение хэша файла. История изменений хранится в виде графа, поэтому переключение - это по сути: 1. Найти общего предка 2. Откатиться до этого предка 3. Применить изменения до новой ветки. Дополнительно, если у тебя есть незакоммиченные текущие изменения, то гит тебе об этом скажет
    3. Скачивается вся история изменений из удаленного репозитория и потом HEAD выставляется на ветку, которую клонировал (в основном это main/master)

    Почитай как работает git

    UPD: спасибо Saboteur за важное замечание
    Ответ написан
    1 комментарий
  • Важен ли работодателю тот факт, что сотрудник состоит на нарко. учете?

    Mike_Ro
    @Mike_Ro
    Python, JS, WordPress, SEO, Bots, Adversting
    трит ли (по вышему опыту) работодатель на данный факт, или ему по барабану?

    Смотрят в основном компании от средних и выше, у которых имеется человек под эту задачу. Помимо этого, могут смотреть судимости, долги, административные производства итп.
    Ответ написан
    Комментировать
  • Что это такое и как защититься?

    trapwalker
    @trapwalker
    Программист, энтузиаст
    По двору прошелся жулик и попытался хакнуть эксплойтом для "майбаха" (условно) все тачки в вашем дворе. Майбахов не нашлось, этот жулик пошел дальше и забыл уже про ваш дворик.

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

    Вообще, если ваш сетап на виртуальных машинах в повторяемой среде и с декларативной конфигурацией вроде кубера или докера, то вы легче сможете пережить всякие такие факапы.
    Схема такая.
    Есть признаки взлома - бэкап логов, снапшот базы, бэкап стораджа, остановка сервисов (если позволяет продакшн), анализ атаки и последствий. Устраняем уязвимость по вектору атаки (гугление по логам и курение тредов), правим конфиги развёртывания и запускаем прод. Потом долго и тщательно разбираемся по логам, снапшотам и бэкапам что затронуто. Делаем тестовый чистый сетап по старой конфигурации и сравниваем пофайлово с атакованной системой, выясняем в какие места вмешались злодеи. Дифаем базу и смотрим на подозрительные различия. Делаем выводы, объявляем об утекших данных, если есть такие признаки (чтобы не подставлять пользователей), принимаем превентивные меры против похожих векторов атак.

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

    Это взгляд дилетанта по безопасности, если чего пропустил -- поправьте. Если где не прав -- расскажите.
    Ответ написан
    3 комментария
  • Как перевести этот блок if в математическую функцию?

    LaRN
    @LaRN
    Senior Developer
    Можно так попробовать например:
    F(X) = 30+(1-X)*20, где X - функция от t.
    X(t) = sign(int(t/10)), если t меньше 10, то X всегда 0, если больше, то всегда 1.
    Ну и F(0)=30, а F(1)=50.
    Но есть нюанс, я не знаю разрешены ли отрицательные числа, этот вариант только для положительных t.
    Ответ написан
    Комментировать
  • Java или Kotlin для андроид?

    xez
    @xez
    TL Junior Roo
    Джава точно не умирает.
    Для андроида надо писать на котлине.
    Ответ написан
    Комментировать
  • Почему пушатся коммиты которые я не делал в ветке?

    Aetae
    @Aetae
    Тлен
    Не бывает совсем "новых" веток - все ветки откуда-то растут.
    Если в запушеной ветке два коммита вместо одного, значит один из них уже был в той ветке, от которой вы отпочкованли "новую".
    Ответ написан
    Комментировать
  • Как забрать файлы из другой ветки?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Если нужно вытащить отдельные файлы из другой ветки, используйте checkout
    git checkout ветка -- путь/к/файлу
    Это извлечет файл в рабочий каталог. Останется только его закоммитить в текущей ветке.
    Ответ написан
    Комментировать
  • Как в bash-скрипте ограничить ввод двумя вариантами?

    ipatiev
    @ipatiev
    Потомок старинного рода Ипатьевых-Колотитьевых
    Запретить, разумеется, ничего нельзя. Но можно ограничить количество введенных символов ( -n), проверять введенное значение, и выводить запрос повторно, если оно не соответствует контрольным.

    Причем в данном конкретном случае можно проверить только на у, а любой другой ввод расценивать, как "нет".
    Ответ написан
    Комментировать
  • Как пушить нескольким пользователям с одной учетной записи компьютера?

    sergey-kuznetsov
    @sergey-kuznetsov Куратор тега Git
    Автоматизатор
    Если у вас такой коммунизм и используется общий комп и даже один профиль пользователя, то что мешает использовать общую учетку на гитхабе? Если репозитории лежат в разных аккаунтах гитхаба, то просто дайте права на запись этому общему пользователю.

    Предполагаю, что коммиты вы хотите подписывать реальными именами авторов, поэтому храните настройки подписи не в глобальном конфиге, а в локальном конфиге конкретного локального репозитория. Надеюсь хоть репозитории то у вас разные?

    git config --local user.name ...
    git config --local user.email ...

    Если хочется непременно разные аккаунты на гитхабе, то

    Как разлогиниться в гитхабе?

    Если отправляете по HTTPS, то придется каждый раз сбрасывать авторизацию после предыдущего пользователя
    echo "url=https://github.com" | git credential reject

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

    Для этого мы создаём в файле конфигурации ~/.ssh/config несколько виртуальных хостов
    Host github-alice
            Hostname github.com
            IdentityFile=/home/user/.ssh/alice_key
    
    Host github-bob
            Hostname github.com
            IdentityFile=/home/user/.ssh/bob_key

    И поправьте ссылки на origin в своих репозиториях используя псевдоним виртуального хоста
    git remote set-url origin git@github-alice:OWNER/alice-repo.git

    Есть официальная инструкция
    How do I use multiple accounts with the same hosting provider using SSH?
    Ответ написан
    Комментировать
  • Как пушить нескольким пользователям с одной учетной записи компьютера?

    @Drno
    варианты работать под разными пользователями?))
    Ответ написан
    Комментировать
  • Как скопировать файл на ext4 image без прав root?

    shurshur
    @shurshur
    Сисадмин, просто сисадмин...
    Да, можно, используя debugfs:

    $ dd if=/dev/zero of=test.img bs=1M count=10
    $ mkfs.ext4 test.img
    $ debugfs -w test.img
    debugfs: write my_file.txt new_file.txt
    Ответ написан
    1 комментарий
  • Как показать работодателю реализованные проекты?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    В портфолио показывают не код, а запущенный проект.
    Ответ написан
    Комментировать
  • В чем разница между сервлетом и контроллером?

    xez
    @xez
    TL Junior Roo
    Контроллер - абстракция над сервлетом.
    В контроллер можно принимать уже объект - фреймворк его сам извлечет из http запроса и десериализует на основании mediatype.

    Сервлет оперирует объектами HttpServletRequest/HttpServletResponse. Там все вышеперечисленное нужно реализовывать самостоятельно.
    Ответ написан
    Комментировать
  • Возможно ли выполнять c++ код введенный в переменную?

    Тк C++ язык компилируемый - нужно в приложение встроить компилятор
    Ответ написан
    Комментировать
  • Смотрят ли на оценки в дипломе при устройстве на работу?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Даже на наличие диплома редко смотрят, внутрь вообще никто никогда не заглядывает.
    Ответ написан
    Комментировать