LINUX.ORG.RU

Сообщения Jefail

 

Про final в Java замолвите слово

Форум — Development

Последнее время у меня появились сильные загоны на перфекционизм. Глядя на продакшен код проектов понимаешь, что он говно, и хочется хотя-бы в своей уютной репе всё делать по канонам. Большинство вопросов у меня возникло по final в разных контекстах его применения, которые хотелось бы тут обсудить (без срача, пожалуйста, только аргументы и факты).

Первое - классы. Если опираться на трактовку Open Closed принципа, то мы должны иметь возможность отнаследоваться от класса, чтобы расширить его функциональность, потому final классами должны быть как правило только утилитные классы, либо то, что логически по тем или иным причинам не должно использоваться как родитель чего-либо.

Методы - а вот тут уже интереснее, опять же возвращаемся к трактовке Open Closed, правильно ли я понимаю, что все методы класса должны быть помечены как final? Т.е. даже если кто-то отнаследуется от класса, он сможет только докинуть своих методов, но не сможет переопределить то, что уже имеется. Такой же вопрос к методам-реализациям. Если класс, допустим, является реализацией какого-либо интерфейса, должны ли Override методы из этого интерфейса быть final?

Переменные: Локальные - да, если не меняются на протяжении области видимости, в сигнатуре функции судя по всему тоже да, чтобы не было возможности сделать вот так

public void foo(String s) {
    s = "New String";
}

Соб-но, дискасс, а где и как ты, ЛОРовец, используешь final и как видишь данную ситуацию?

 , , ,

Jefail
()

Как рассчитать примерный write limit для SSD?

Форум — Desktop

Соб-но, сабж. Стараюсь делать регулярные бэкапы, но всё же, просто чтобы понимать. Судя по смарту в моём ноуте стоит SAMSUNG MZVLW512HMJP-000H1 на 512 гб. С декабря того года записано 7.07 TB. Я не знаю много это или мало, но это обычный workload для этой системы, вопрос: Сколько он всего протянет и когда стоит задумываться о замене диска?

 , , ,

Jefail
()

L1TF CPU bug present and SMT on, data leak possible.

Форум — Desktop

Привет, ЛОР. Заметил сейчас случайно в dmesg логе такую строку

[Aug30 14:01] L1TF CPU bug present and SMT on, data leak possible. See CVE-2018-3646 and https://www.kernel.org/doc/html/latest/admin-guide/l1tf.html for details.
У меня вот вопрос: Правильно ли я понимаю, что после всех заплаток, которые и так превратили мой процессор в тыкву, они еще хотят, чтобы я HT руками выключил?


Если да, есть ли у кого истории успеха по поводу срача / возврата товара из-за этих аппаратных дыр?

 , , ,

Jefail
()

Товарищ ищет работу тестировщиком (Junior)

Форум — Job

Ночи доброй, ЛОР. Один знакомый хочет податься в IT и начать с тестирования, проблема: Сейчас из опыта только теоретический багаж, образование к IT никакого отношения не имеет, потому можно сказать что самоучка. Если есть тут те, кому нужен джун / стажёр на позицию ручного тестирования - дайте знать пожалуйста. Основной целью является получение опыта. Приоритетным направлением является тестирование сайтов / мобильных приложений, но я думаю, что это не принципиально.

По вопросам можно писать мне на почту: v.sulimov <AT> fastmail.fm

 ,

Jefail
()

Можно ли сравнить два буфера через vim -d?

Форум — General

Привет, ЛОР. Очень часто в работе использую vim -d для сравнения запросов от сервера, чудесная штука, но есть у неё один оверхед, надо перед этим запросы в файлы сохранить и потом ей скормить. У меня такой вопрос: В системе ведь есть 2 буфера обмена (1-ый системный, второй, насколько я понимаю, от Xorg), можно ли натравить vim diff на содержимое этих 2х буферов?

 , , , ,

Jefail
()

Жопорукий рукожоп

Форум — Talks

Привет, ЛОР. Название топика - описание меня в 2х словах, в общем, история такова. Есть HP ProBook 450 G5, куплен был в декабре того года, в конце января апгрейдил ему ОЗУ и немного налажал. Закрутил болт отсека так, что сорвал ему шлиц, выкрутить подручными средствами не получается, да ладно выкрутить, тут способов много, вопрос, где найти замену? Сабж на гарантии, но что-то мне подсказывает, что случай не гарантийный, усугубляется ситуация тем, что я сейчас в Уфе и тут нет горбушек и прочего. Без болта отсек использовать не вариант, ибо болт там всего один и он играет важную роль. Что в таких ситуациях делают нормальные люди?

 

Jefail
()

rsync по крону, файлы в директории назначения получаются ro

Форум — Desktop

Привет, ЛОР. В продолжение моей предыдущей темы.
Автоматизация синхронизации со всеми возможными кейсами.
Скрипт сделал, крон настроил, всё работает, но... файлы на диск бэкапятся в ro, я, кажется понимаю, почему так происходит, всё это дело пускается от рута и права на файл вешаются рутовые, соответственно. Вопрос: Как это можно исправить?

 , , , ,

Jefail
()

Автоматизация синхронизации со всеми возможными кейсами.

Форум — Desktop

Привет, ЛОР. Есть такой сетап: Ноутбук + внешний HDD на пару тб, ноутбук большую часть времени используется как десктоп (т.е. стоит закрытый с аптаймами в недели). При этом, директория Documents бэкапится на внешний HDD (сейчас делается руками, что доставляет мне боль). Нашел решение проблемы используя rsync, works like a charm, но теперь хочется автоматизировать и учесть всевозможные сценарии, потому вопрос. Как правильнее всего настроить запуск команды каждую ночь в определенное время, например, в 3 часа ночи? При этом чтобы всё не развалилось, если на момент запуска команды внешний HDD не подключен. Хост - Ubuntu 18.04, буду благодарен за любую помощь.

 , , ,

Jefail
()

Пара вопросов по snap приложениям.

Форум — Desktop

Привет, ЛОР. Дошла и до меня волна хайпа, решил попробовать снапы (на хосте Ubuntu 18.04), но у меня возникло несколько вопросов.
1) Если поискать, например, Chromium в Ubuntu Software, то в результатах поиска их будет 2, разные лишь developer'ы, но оба, судя по всему ubuntu (один из них Canonical, другой bionic-universe-updates...), есть ли принципиальная разница откуда ставить?
2) Второе уже критичнее, поставил из снапов LibreOffice Writer и Calc, летают аки пушка-гонка, но выглядят как в Windows 98, гугление не помогло, кто-нибудь может подсказать, как это починить? (Другие приложения из снапа подхватывают системную тему адекватно, проблема только с либрой)

 , , , ,

Jefail
()

Хочу поковырять lor-sources, подскажите пару моментов.

Форум — General

Привет, ЛОР. Я Android разработчик с большим стажем, сервера пилил всего пол года, но тема интересна. Хочу поковырять lor-sources, возник один главный вопрос: Правильно ли я понимаю, что нормальные люди разворачивают сервер в контейнере и используют жабовский remote debug к этой штуке? В lor-sources вики не очень хорошо это описано, буду признателен за любую помощь / пинок в нужную сторону.

 , ,

Jefail
()

ssh-agent и ключи

Форум — Desktop

2 раза ЛОР мне уже помог, надеюсь и в этот раз не бросите. Есть KDE, ZSH и git, который использует SSH ключ. Проблема: Не могу заставить эту конструкцию сохранить пароль в KDE Wallet. Делал по инструкции
https://wiki.archlinux.org/index.php/KDE_Wallet#Using_the_KDE_Wallet_to_store...
Если честно, я вообще перестал понимать что происходит. При попытке сейчас вызвать ssh-add я получаю ошибку

Could not open a connection to your authentication agent.
При этом в списке процессов ssh-agent висит. Любой чих с гитом постоянно требует пароль от SSH ключа, переменная окружения
export SSH_ASKPASS=/usr/bin/ksshaskpass
ЧЯДНТ, лор?

 , ,

Jefail
()

Помогите допилить арч

Форум — Desktop

Привет, ЛОР. Сегодня накатил арч уже на реальную машину (hp pro book 450 g5). Базовая инсталляция с минимальными кедами (только plasma-desktop) и... Проблемы с которыми столкнулся: Система не видит батарею ноутбука, не регулируется яркость экрана вообще никак (стоят иксы и Mesa без xf86-video-intel). Не могу сходу понять, что для этого нужно и буду благодарен за наводки.

 , , ,

Jefail
()

Подскажите по Intel графике в арче

Форум — Desktop

Ночи доброй, ЛОР. Сразу предупрежу, 6 лет федоры за плечами, на арче ровно столько не был. Хочу поставить как основную систему по личным соображениями, для теста раскатал на виртуалку, всё ок, но вот в wiki секции про графику написана странная вещь

Install the mesa package, which provides the DRI driver for 3D acceleration.

For 32-bit application support, also install the lib32-mesa package from the multilib repository. For the DDX driver (which provides 2D acceleration in Xorg), install the xf86-video-intel package. (Often not recommended, see note below.) For Vulkan support (Ivy Bridge and newer), install the vulkan-intel package.

У меня процессор 8го поколения (Kaby-Lake-R), мне что в итоге ставить? Mesa или xf86-video-intel? Обвесом будут кеды и несколько мониторов в конфигурации.

 , ,

Jefail
()

Fedora 28, невозможно зацепиться за VPN после спячки.

Форум — Desktop

Привет, ЛОР. Обновился недавно на 28 федору и наступил на граблю.
Если кинуть ноутбук в спящий режим и разбудить его - пропадёт возможность зацепиться за VPN. Gnome выдаёт ничего не объясняющую ошибку «Activation of network connection failed», а попытка поднять VPN соединение через консоль валится вот так

Wed Apr 25 18:12:49 2018 WARNING: --keysize is DEPRECATED and will be removed in OpenVPN 2.6
Wed Apr 25 18:12:49 2018 WARNING: file '/home/vsulimov/.cert/tunnelBear/PrivateKey.key' is group or others accessible
Wed Apr 25 18:12:49 2018 WARNING: file '/home/vsulimov/.cert/tunnelBear/tunnelbear.key' is group or others accessible
Wed Apr 25 18:12:49 2018 OpenVPN 2.4.5 x86_64-redhat-linux-gnu [SSL (OpenSSL)] [LZO] [LZ4] [EPOLL] [PKCS11] [MH/PKTINFO] [AEAD] built on Mar  1 2018
Wed Apr 25 18:12:49 2018 library versions: OpenSSL 1.1.0h-fips  27 Mar 2018, LZO 2.08
Wed Apr 25 18:12:49 2018 WARNING: --ns-cert-type is DEPRECATED.  Use --remote-cert-tls instead.
Wed Apr 25 18:12:49 2018 TCP/UDP: Preserving recently used remote address: [AF_INET]95.143.195.159:443
Wed Apr 25 18:12:49 2018 UDP link local: (not bound)
Wed Apr 25 18:12:49 2018 UDP link remote: [AF_INET]95.143.195.159:443
Wed Apr 25 18:12:49 2018 WARNING: this configuration may cache passwords in memory -- use the auth-nocache option to prevent this
Wed Apr 25 18:12:50 2018 [9913/server] Peer Connection Initiated with [AF_INET]95.143.195.159:443
Wed Apr 25 18:12:51 2018 ERROR: Cannot ioctl TUNSETIFF tun0: Device or resource busy (errno=16)
Wed Apr 25 18:12:51 2018 Exiting due to fatal error
Прошу помощи, мозг уже сломал. Ребут системы помогает, но это слишком суровое решение, гугление ошибки приводит на темы 2007-х годов и ничего дельного. До обновления на 28 такой проблемы не было, понимаю, что возможно где-то баг, но может хотя-бы workaround есть, да и понять бы в чём баг, чтобы его отрепортить.
/cast i_gnatenko_brain xvitaly

 , ,

Jefail
()

Фрагментации памяти тред.

Форум — Development

Ночи доброй, ЛОР. Давно на жабе уже пишу, а задумался об этом только сейчас, но, скорее всего, это и к другим языкам относится. Вот есть у нас List<T>, у него есть 2 реализации, LinkedList и ArrayList. Насколько я помню ещё из С, мы можем производить т.н. арифметику указателей в случае с массивом (ArrayList), т.е. память под него выделяется одним куском, в то время как LinkedList, насколько я понимаю, может быть раскидан по всему адресному пространству, просто каждая нода содержит указатель на next, если таковой имеется. Главный вопрос: Правильно ли я понимаю, что в ситуации, когда у нас доступно, допустим, 8 кб памяти и мы пытаемся создать List с данными на 6 - мы можем вывалиться в ООМ в случае с ArrayList из-за фрагментации этой самой памяти? И верно ли утверждение, что в случае с LinkedList такого не произойдет, потому что ему на фрагментацию положить? Заранее спасибо.
/cast stevejobs

 ,

Jefail
()

Рабочее место удалёнщика

Галерея — Рабочие места

По личным причинам пришлось брать удалённую работу и валить из столицы, но в этом и прелесть работы программистом, ибо всем грубо говоря пофиг откуда ты этот самый код пишешь.
Что имеем:
Рабочая лошадь HP ProBook 450 G5, около топовый конфиг, ОЗУ докинута до 32 ГБ. За свои деньги устраивает более чем полностью. Десктоп для меня не вариант, ибо иногда приходится мататься в другие города.
2 монитора HP 27es
Много Sony звука (меломан / сонибой) в виде 5,1 акустики, беспроводные уши WH-900N, проводные XBA-A1
Обычная перефирия от Logitech

На мониторах типичная рабочая конфигурация в виде Android Studio и браузера с рабочим барахлом, ну и торба-на-круче из колонок.

Снято на тапок Sony Xperia XZ1 Compact

 , ,

Jefail
()

Подскажите по дебагу / разработке гномовского софта.

Форум — Development

Ночи доброй, ЛОРовцы. Предыстория такова: Есть Gnome Disks, который всем хорош, но не умеет показывать S.M.A.R.T. для nvme SSD накопителей. Что интересно, smartmontools эту инфу с диска без проблем вытаскивает. Значит в принципе такая возможность есть. С помощью товарища смог собрать gnome-disk-utility через meson с ninja, но у меня несколько вопросов возникло.
1) Процесс сборки тащит за собой кучу зависимостей, которые нигде больше не нужны. Можно ли как-то запилить это в изолированную среду (контейнер, например) при этом организовать возможность запуска собраного бинарника на хосте и отладку?
2) Может инструменты подскажите для удобной работы. Я в коде то шарю, но я Java / Android разработчик и у нас всё через JetBrains $product name с гуёвыми плюшками. CLI меня не пугает, но gdb выглядит уж совсем хардкорно.

 , , , ,

Jefail
()

Насколько страшен перегрев до троттлинга для процессора?

Форум — Linux-hardware

Соб-но, сабж. К сожалению СО ноутбуков делают из говна и палок и потому при активной работе (сборка проекта, эмулятор в фоне) процессор валится в троттлинг. Подтверждается это сообщениями в dmesg вида

[24915.441030] CPU6: Core temperature above threshold, cpu clock throttled (total events = 1)
[24915.441031] CPU2: Core temperature above threshold, cpu clock throttled (total events = 1)
[24915.441033] CPU2: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.441035] CPU6: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.441073] CPU1: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.441074] CPU7: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.441075] CPU3: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.441075] CPU5: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.441076] CPU4: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.441077] CPU0: Package temperature above threshold, cpu clock throttled (total events = 357)
[24915.444037] CPU6: Core temperature/speed normal
[24915.444038] CPU1: Package temperature/speed normal
[24915.444039] CPU5: Package temperature/speed normal
[24915.444039] CPU2: Core temperature/speed normal
[24915.444040] CPU2: Package temperature/speed normal
[24915.444040] CPU6: Package temperature/speed normal
[24915.444069] CPU4: Package temperature/speed normal
[24915.444070] CPU0: Package temperature/speed normal
[24915.444071] CPU7: Package temperature/speed normal
[24915.444072] CPU3: Package temperature/speed normal
[25356.170042] CPU1: Core temperature above threshold, cpu clock throttled (total events = 352)
[25356.170043] CPU5: Core temperature above threshold, cpu clock throttled (total events = 352)
[25356.170045] CPU5: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.170047] CPU1: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.170084] CPU0: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.170084] CPU4: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.170086] CPU2: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.170086] CPU6: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.170087] CPU7: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.170088] CPU3: Package temperature above threshold, cpu clock throttled (total events = 361)
[25356.187038] CPU1: Core temperature/speed normal
[25356.187039] CPU5: Core temperature/speed normal
[25356.187040] CPU7: Package temperature/speed normal
[25356.187041] CPU4: Package temperature/speed normal
[25356.187042] CPU0: Package temperature/speed normal
[25356.187043] CPU3: Package temperature/speed normal
[25356.187043] CPU5: Package temperature/speed normal
[25356.187044] CPU1: Package temperature/speed normal
[25356.187048] CPU6: Package temperature/speed normal
[25356.187048] CPU2: Package temperature/speed normal
Скажу так, один ноутбук из-за перегрева я уже сдал в магазин, но судя по всему такая проблема у всех (троттлился даже макбук 17го года), потому зайду с другой стороны: Насколько вредно для железки пару десятков раз за день улетать в такие температуры? Я имею ввиду долгосрочную перспективу.

 , , ,

Jefail
()

Продам 2 планки SO-DIMM DDR4 по 8гб каждая

Форум — Talks

Сабж. 2 штуки Hynix HMA81GS6AFR8N-UH. Сняты с HP ProBook 450 G5 по причине апгрейда до 32ГБ. Б/У 1.5 месяца. Цена одной такой планки в DNS составляет 5 599, отдам 2 за 7500. Москва only.
https://image.ibb.co/i2Jv66/photo5453933907402664113.jpg

 ,

Jefail
()

Есть идея — есть IKEA

Галерея — Рабочие места

Предыстория такова. В декабре 16го года на кровно заработанные 100к деревянных я купил себе Dell Latitude E5570 в топовой конфигурации. И всё бы ничего, да вот в сервисе за 8 месяцев ноутбук побывал дважды. Сначала была проблема с SSD (привет потеря данных), а после этого он стал нагреваться до 100 градусов и валитсья в троттлинг. Ответ Dell? Мы не меняем СО, только мат. плату целиком. Месяц ожидания в сумме, сорванные сроки, списанный ноутбук, гора нервотрёпки и репутация Dell, пробившая дно в моих глазах.
После этого я психанул и решил попробовать macOS, купив распоследний макпук в топовых спеках за 160к и знаете что я вам скажу? Худшего говна я в жизни не видел. У меня был опыт использования макбука в 2012 году и если тогда у них были мелочи, которые в конечном счете выливались в хороший UX, то теперь это мелочи, которые меня просто выбесили. FOA, 16 GB Soldered DDR3 RAM. Прекрасные перспективы для машины на 3 года, но это ладно, ведь у яблочников хваленая «оптимизация» и заточка под железо. Настолько хваленая, что при моей обычной нагрузке макбук улетал в своп на 5.5 гб и начинал адово тормозить. Про то, что они кастрировали IO я вообще промолчу, но вишенкой на торте для меня стало то, что клавиатура этого ноутбука царапает экран и после переноски куда-либо на экране остаются заметные следы, которые потом выливаются в так называемый staingate. В итоге через 2 месяца этот ноутбук был продал с огромными потерями для меня. И вот на этом моменте я серьезно не понимаю, как люди пользуются этим говном. У него есть плюсы, не спорю, экран годный, тачпад, жесты, но, ОС - просто убогий шлак. В конечном счете передо мной стоял выбор, я скептически относился к ULV процессорам от Intel, но в 8-м поколении они дали честные 4 ядра (а не маркетинговый BS в виде 2 + HT). Поскольку на сегодня не так много моделей с Kaby-Lake-R, то выбирать особо долго не пришлось и был взят HP Probook 450 G5. И надо сказать - я очень доволен. За свои 73к машина просто огонь и собирает проект за 45 секунд, в то время как макбук над ним пыжился 2:15. В качестве ОС была поставлена моя любимая федора, в которой все полетело из коробки (кроме сканера отпечатков, но мне он и не нужен особо). Ну а остальные же части рабочего места были притащены из ближайшей IKEA и собраны по инструкциям в картинках (правда у меня лишний дюпель от стола остался, но искать место где я налажал мне лень :D)

 , ,

Jefail
()

RSS подписка на новые темы