Задать вопрос
  • Для чего изучать линукс?

    @rPman
    Так уж повелось, что основное (большее) количество разработчиков работают в среде linux или средах разработки и библиотек, изначально разрабатываемых для работы в linux

    Т.е. когда ты видишь модули npm, пакетный менеджер python pip, compose от php и прочее прочее, везде изначально разработчики ориентируются на окружение linux.

    Само собой, разработчики люди порядочные, и понимают что особенно новички, начинают свое знакомство с миром программирования там где привыкли
    в windows
    это потому что майкрософт стала планетарным монополистом и удерживает свое положение рыночными методами - т.е. подкупом и угрозами, например к разработчикам железа, или попиранием стандартов, навязыванием и запутыванием и кучей других максимально мерзких способов, внешне даже выглядящих порядочными - вот например wsl, я считаю, - один из таких инструментов подгадить всему linux сообществу

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

    В linux же выглядит так (решили основные проблемы за тебя) заметно чаще (почти всегда) и часто трудности вылезают при ну очень необычных ситуациях (например попытка водрузить компоненту на не поддерживаемые/старые/новые версии ос или аппаратные платформы).

    Linux - это отраслевой стандарт. Не linux сервера могут быть только там где тебя поставили в такие условия намеренно (вендорлок) или по скудоумию. Отсюда не изучать его - глупо и не эффективно.

    p.s. на десктопах linux-у плохо именно из-за того что производители железа намеренно (им за это заплатили или чтобы не наказали) тормозят развитие (плюс конечно деньги, зачем тратить ресурсы на поддержку в нескольких средах, когда хватит только одной windows)

    p.p.s. да у linux тоже куча проблем, поддерживать все его многообразие иногда настоящий ад
    Ответ написан
    Комментировать
  • Как получить название столбца sqlite?

    @rPman
    у каждой базы данных свои способы определения структуры
    https://www.sqlitetutorial.net/sqlite-describe-table/
    Ответ написан
    Комментировать
  • Из системы пропал HDD диск. Можно ли восстановить?

    @rPman
    ccleaner конечно та еще странная программа, поломавшая ОС и мозги не малого количества новичков, но чтобы удалять диски из системы это перебор.

    Первое нужно удостовериться что причина пропажи софтварная (какой то гдюк в конфигурации ОС) или аппаратная.

    Для этого достаточно загрузиться с чистой (не тронутой кривыми программами) операционной системы, настоятельно рекомендую linux liveusb, какую-нибудь xubuntu более чем подойдет, там посмотреть и диски и разделы и файлы почитать и все в графическом интерфейсе.

    Если linux диск не увидит, можно заняться аппаратными причинами:
    * сменить кабель, которым он подключен (можно вообще извлечь все диски кроме одного проблемного)
    * сменить порт, в который он подключался на материнке (редко но бывает ломается контроллер выборочно по портам)
    * сменить компьютер на заведомо рабочий, чтобы исключить проблемы с материнской платой вообще (проверь, виден ли диск у друга или поищи внешний usb контроллер)

    Если стало ясно что причина в железе - нести в сервис восстановления данных, если данные важны или на мусорку

    p.s. если причина в настройках ОС то это странное, советов у меня мало,.. например найти в реестре остатки информации о диске (в windows каждый диск ставится виртуальный как бы драйвер даже на разделы) и удалить их, формально при подключении диска через другой порт появятся новые записи
    Ответ написан
    3 комментария
  • Разные версии игры для разных регионов?

    @rPman
    https://developer.android.com/google/play/publishi...
    в настройках разных версий регистрируете разные фильтры, там точно есть фильтры вплоть до локации по gps (но наверное это хардкор), я с ходу не нашел языковых фильтров но как я понял все там есть.
    Ответ написан
  • Можно ли получить вирус на пк если скачать ехе файл и не открывать его?

    @rPman
    в windows Да, с оговорками

    Были уязвимости в проводнике windows, которые позволяли запускать злонамеренный код просто при просмотре каталога в проводнике

    каждое приложение, прописывающее себя в проводнике (библиотеки отрисовки миниатюр), могут содержать ошибки, позволяющие запускать код в таких ситуациях

    Или, например, сейчас при двойном клике на сетевом диске или флешке в проводнике будет запущено приложение, прописанное в autostart файле настроек в корне этого диске, без спроса (и кажется без возможности это отключить), т.е. ты только хотел открыть в проводнике каталог не cdrom а проводник уже запустил с него программу, считая все диски cdrom-ами

    p.s. возможно в windows 11 много поменяли, я уже не отслеживаю, но не сомневаюсь, с таким подходом к безопасности, наделали там не меньше дыр

    тупой пример - ты скачиваешь документ ms office, при открытии тебе говорят - макросы заблокированы, но не дают даже отправить его на печать, не разблокировав эти макросы (которые имеют полный доступ к компьютеру с правами пользователя)
    Ответ написан
  • Как это можно реализовать?

    @rPman
    Так чем не нравится шаблон?

    окей, создай промежуточную функцию, где определи весь свой код со значением твоего enum в параметрах, можно даже пометить ее inline чтобы наверняка, если не доверяешь автоматической оптимизации

    temlate <typename Derived1Enum> inline void Derived1::_someMethod(const Derived1Enum _state) {
    ...одинаковый код...
    state = _state
    ...одинаковый код...
    }
    void Derived1::someMethod() {
    _someMethod(Derived1Enum::SomeStateDerived1)
    }
    void Derived2::someMethod() {
    _someMethod(Derived2Enum::SomeStateDerived2)
    }

    upd. подправил с использованием шаблона
    Ответ написан
  • Как внутри javascript'а запустить php код?

    @rPman
    На тот случай, если автор вопроса буквально хочет то что сказал а не то что логично подразумевают все тут ответившие, дам ответ:

    есть возможность запустить php и не только в браузере, с помощью крутой технологии wasm (это подмножество javascript, работающее за счет ряда ограничений значительно быстрее универсального js, в него компилируют почти любые программы и заставляют их работать в браузере)
    Ответ написан
    Комментировать
  • Новый ПК, намертво зависает при любой нагрузке. В чём проблема?

    @rPman
    Мемтест тоже не проходит, пару минут и зависает.
    вот этот момент говорит что не обязательно проблемы с охлаждением

    выбирай дефолтные профили памяти в биосе или даже понижай частоты и тайминги, убирай весь разгон что ты сделал, добейся сначала прохождения мемтест

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

    так же нельзя исключать проблемы с материнкой или блока питания, правильное выявление сбойного компонента это буквально тестирование по отдельности своих компонентов в заведомо рабочем конфиге
    Ответ написан
    1 комментарий
  • Можно ли перемещать папку "Android" (видимо системная) на SD-карту?

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

    делать это не следует либо делай только для тех программ, данные которых тебе не требуется сохранить (это штатно можно сделать в настройках - хранилище - приложения - выбрать приложение - очистить)
    Ответ написан
    Комментировать
  • Куда класть приложения из .tar.gz?

    @rPman
    в linux для приложений, устанавливаемых неконтролируемым методом make install или распаковкой готовых бинарников является каталог /opt, порядок любой, создаешь внутри каталог по имени приложения и в него распаковываешь

    для make install есть практика устанавливать в каталог /home/xxx с той же структурой bin/lib/... что и в оригинале, обычно это средствами самого установщика настраивается.
    Ответ написан
    2 комментария
  • Как правильно делать паузы между запросами к api?

    @rPman
    На самом деле без знания, как именно сервис учитывает интервал времени, точный ответ на этот вопрос дать не получится и для действительной необходимости придется исследовать сервис, делая специально запросы чаще чем необходимо, выдерживая разный интервал времени (я помню как то для одной криптовалютной биржи заморочился и провел исследование, делая ряд запросов на грани бана и проверял, когда он появлялся, пытаясь вычислить эту ошибку,.. тольку от этого особого обычно нет, достаточно добавить с запасом +1 секунду и не заморачиваться).

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

    Или же сервис может определить момент начал отсчета интервала, например как T-модуль деления (T/интервал), т.е. каждый интервал учета количества запросов для всех клиентов начинается с одного и того же времени, и сохранять для каждого пользователя количество сделанных запросов, сбрасывая в ноль это число при переходе к следующему интервалу. Само собой если количество это больше лимита то отказывать в обработке. Этот алгоритм можно расширить, к примеру хранить количество запросов за прошлый интервал (или несколько) и текущий, складывая их при проверке на лимит, в этом случае настоящий лимит, который указывается пользователям в документации, больше во столько раз, сколько хранится истории запросов для каждого пользователя.
    (этот механизм проще для реализации на сервере, меньше требует памяти, и хотя не такой точный как первый, может использоваться)

    ...

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

    Все вышесказанное тебе может не понадобиться, так как в подавляющем большинстве случаев сервер сообщает о количестве доступных запросов и/или времени, через которое можно будет сделать следующий вопрос прямо в ответе на каждый запрос. Для этого заводится соответствующий заголовок и это указывают в документации. В этом случае тебе достаточно будет проверять этот заголовок и делать sleep (точнее usleep) ровно таким, как указано там (там бывает пишут сразу timestamp, когда можно делать следующий запрос).

    p.s. посмотри внимательно, возможно долбить сервис http rest запросами не самый лучший способ получения оперативной информации, вдруг сервис предлагает более удобные инструменты, например websocket или даже старый long pooling
    Ответ написан
    Комментировать
  • Как устроены сайты по типу хабра?

    @rPman
    Ответы другими пользователями даны абсолютно верные

    Но хочу все же напомнить что вполне возможно существование веб сервиса который создает на каждую страницу реальный файл на диске при создании и редактировании поста как механизм кеширования (дублируя информацию с базой данных), так как современные веб серверы (nginx например) работают с таким файлами (это называется статичные файлы) невероятно эффективно, на порядок эффективнее чем делать это на лету при каждом запросе, так же он может быть заранее сжат (deflate, gzip, br) что позволит сэкономить еще и на сетевом трафике., да веб сервер и так это делал бы на лету, но за счет процессора.
    Ответ написан
    Комментировать
  • Почему ПК на HASSOS не видит WIFI?

    @rPman
    HassOs основан на linux так что чуда не будет
    мало того вероятность получить рабочий драйвер видео выше именно на ubuntu чем на очень непопулярной версии.

    в основном это является причиной
    ubuntu lts по ощущениям работает медленнее чем на win10

    А еще выбор именно ubuntu с рабочим окружением unity, он отвратителен по большинству показателей и несовместим ни с какой стороны с идеологией linux кроме - "свободы разрабатывать так плохо как тебе хочется"

    Поставь xubuntu/lubuntu/edubuntu, если что можно просто установить пакет в стандартном репозитарии, а настройка меняется тут же при первом логине, так что переустанавливать ничего не надо.

    p.s. гугл говорит что на этот стик устанавливали еще 14-ую и 16-ую версию ubuntu и там все работало без проблем
    Ответ написан
    Комментировать
  • Как правильно продиагностировать M.2 накопитель?

    @rPman
    Однозначно диск под замену.
    Но в идеале протестировать и материнскую плату (разъем), вставив гарантированно рабочий накопитель или вставив подозрительный накопитель в гарантированно рабочий компьютер.

    У nvme дисков тоже есть smart, так что его можно смотреть стандартным smartcl или gui утилитами
    Ответ написан
    Комментировать
  • Как избавиться от большого количества конструктий if-else?

    @rPman
    Это нормально.
    И да, много это не 2-3 уровня а сотни и тысячи.

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

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

    @rPman
    Это счетчик непрочитанных новостей
    Варианты реализации:
    - для каждого пользователя у каждой новости есть отметка boolean (например в базе данных связь М - М, наличие записи - прочитана, отсутствие - нет), количество новостей без таких отметок для пользователя и есть искомое число (можно оптимизировать триггерами в базе данных на создание новостей)
    этот вариант подходит, если есть возможность и необходимость мониторить прочтение каждой новости
    - для каждого пользователя сохраняется дата последнего его захода на сайт (чтения страницы новостей), соответственно количество новостей с датой выхода больше сохраненной у пользователя - искомое число
    этот вариант сильно быстрее работает но дубовый и не учитывает что пользователь мог не прочитать новости
    Ответ написан
    Комментировать
  • Что выбрать для сёрфинга и работы в браузере + MS Office- ноутбук, ультрабук или планшет?

    @rPman
    В указанных приложениях можно нормально работать только при наличии нормальной клавиатуры, поэтому планшетник отпдает сразу, при желании бери планшетник с возможностью присоединения клавиатуры (были одно время такие, в т.ч. дешевые)

    Поэтому ультрабук - меньшее из предложенных зол.
    Гугли - ноутбук с полноразмерной клавиатурой (они не идеальны но лучше чем типовые огрызки). Цены и выбор тебя огорчат.

    p.s. чем меньше размер экрана (и клаватуры) устройства тем ближе оно к потреблению контента а не "работы"
    просто потому что весь интерфейс рабочих приложений разрабатывается с учетом:
    * большого экрана (без вариантов, в идеале 24" но иногда можно потерпеть и с 15" ноутбуком, если это не основное место работы а только по мелочи, меньше размер, как не выкручивайся, тупо не удобен, времени убдет уходить в несколько раз больше)
    * большая клавиатура (в идеале отдельная с расширенной цифровой), но есть люди, которые окромя ноутбука ничего не видели, пальцы привыкли работать на этих неудобных раскладках, и таким людям возможно это заходит,... человек вообще ко многим неудобствам привыкает
    * манипулятор типа мышь, потому что он очень точный! точность сенсорного экрана очень низкая, такие банальные операции - выделение, перенос, просто попасть с одного клика мышкой на порядок удобнее, а сенсорный экран дает много промахов. Тач ноутбука это костыль, к нему можно привыкнуть но скорость работы с ним почти в 2 раза ниже чем мышкой на столе.

    это не заговор, просто разработчики сидят за десктопами, тестеры сидят за десктопами, юзабилити тюнится под десктопы, операционные системы win/linux/mac все нормально работают только на десктопах... такова селяви
    Ответ написан
  • Есть инсталлятор Electron-приложения для Windows?

    @rPman
    никак

    electron это браузер, и в нем мало сделано чтобы этот браузер не был похож на хромиум (есть эксперименты делать на основе firefox, без разницы), соответственно что бы ты не делал, чтобы все работало в результате должен быть браузер с его профилем и файлами.

    гугли electron obfuscation, может что то тебе подойдет, для сокрытия и запутывания исходников
    Ответ написан
  • Как верстать без Бутстрапа?

    @rPman
    на таблицах
    <на правах шутки>
    Ответ написан
    1 комментарий
  • Redmi 3s подтянет Miui 11?

    @rPman
    как можно не пользоваться гуглом?

    11 работает
    я в шоке!
    12 тоже
    (как я понял кастомные)
    и есть даже на основе 13! 4pda но само собой, никаких обновлений безопасности, все на свой страх и риск и т.п.
    Ответ написан
    Комментировать