Задать вопрос
  • Возможно ли использовать Ubuntu в WSL2, как Portable программу, которую можно записать на флэшку, вставить в другой комп и работать, как на первом?

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

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

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

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

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

    Вообще процесс разработки очень сложен, многие не пользуются подходами к Test Driven Development (когда все вращается вокруг создания тестов и инфраструктуры вокруг их запуска) и делают многие вещи вручную, удерживая важные моменты в голове, что сильно делает проект зависимым от конкретного человека (который знает что перед обновлением нужно в этой табличке отключить индекс, а потом вернуть, а в той хранимке нужно закомментировать три строчки, потому что иначе скрипт, написанный пол года назад левым фрилансером будет работать трое суток вместо часа, но записи пользователей, оставленные в этот момент нужно будет вручную обработать вот тем sql скриптиком и т.п.), со временем эта информация затеряется, люди меняются и в проекте уже никто ничего не понимает
  • Возможно ли использовать Ubuntu в WSL2, как Portable программу, которую можно записать на флэшку, вставить в другой комп и работать, как на первом?

    @rPman
    В PHPStorm есть много функционала, который требует установленного PHP. Например, CodeSniffer, XDebug.
    Если проект вместе с PHP, MySQL и т.д. будет в виртуалке, а PHPStorm будет в Windows,
    все указанное работает в windows

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

    С php в windows я помню была особенность работы с потоками в асинхронном режиме, отсутствие posix расширения и по мелочи, не думаю что тебе это актуально
  • Возможно ли использовать Ubuntu в WSL2, как Portable программу, которую можно записать на флэшку, вставить в другой комп и работать, как на первом?

    @rPman
    черт, ты все по перепутал

    Виртуалка может быть любой, хоть virtualbox (она даже удобнее) хоол встроенная в windows - hyper-v (кстати на машине может быть либо одна либо другая программа виртуализации но не одновременно), если собираешься на этой машине для других задач использовать wsl2 то у тебя выбора нет кроме как hyper-v (как установить третий пункт мышевозекательно)

    Виртуалка будет быстрее той же задачи но в wsl2 из-за того что работа с диском может быть организована эффективнее (я написал - использовать диск целиком)

    Я не понимаю твоей задачи, причем тут phpstorm, зачем тебе вообще ubuntu? (нет я бы спросил зачем тебе windows чтобы запускать все необходимое из виртуалки, когда как лучше установить ее нативно но мне кажется ты еще не готов к этому кунфу ;)
  • Возможно ли использовать Ubuntu в WSL2, как Portable программу, которую можно записать на флэшку, вставить в другой комп и работать, как на первом?

    @rPman
    даже быстрее!

    wsl2 работает поверх hyper-v, но файловая система организована по хитрому через хост систему с понижением перфоманса (с не монопольным доступом к файлам)

    Когда как простая виртуалка работает с монопольным доступам с нативной фс linux (кстати работа с файлами в linux лучше майкрософтовского, подтверждается тьмой тестов).

    * По возможности пробрасывай в виртуалку сразу диск/раздел а не файлы образов (иначе постарайся не использовать ntfs для хранения образов, а используй exfat, размер кластера этой файловой системы и внутри linux должны совпадать).
    * Если твоя задача docker - используй файловую систему btrfs, там поддержка быстрых снапшотов, поддерживается docker и не используется медленные надстройки для этого.
  • Обновление свои android приложения централизовано, как?

    @rPman
    Кирилл 1, вопрос в чем? ты не сможешь запилить приложение которое будет в виде службы, периодически подключаться к захардкоженному серверу по https и скачивать обновление при наличии?
  • Помoгите с выбором проца и видяхи для фото/видео/3D?

    @rPman
    для фото/видео тебе хватит абсолютно любой видеокарты, начиная со встроенных
    p.s. да есть поддержка ускорения работы условного фотошопа на видеокарте, но она опциональна и не нужна для получения результата
  • Зачем задавать ip интерфейсу?

    @rPman
    CityCat4, тут бы один сегмент заработал бы
  • Зачем задавать ip интерфейсу?

    @rPman
    Akina, раньше сеть работала в локальной сети workgroup for windows без домен контроллера

    p.s. я без особого старания пробовал настроить локальную сеть win10 из двух машин + linux samba, не получилось, винда упорно не хочет собирать список машин
  • Как заблокировать возможность делать скриншоты на моем сайте или хотя бы по нажатию на PrtScn возвращать серую картинку вместо изображение сайта?

    @rPman
    там должен быть черный экран именно на скриншоты и запись экрана
    если у тебя не так значит где то глюк
  • Чистил БД и сломался сайт, восстановление бекап БД не решает проблемы, как починить сайт?

    @rPman
    Раз не работает, значит что то не до конца вернул!
    Это очевидно, решение либо разбираться буквально занимаясь отладкой кода, либо решать задачу восстановления сайта. Раз сайт в каком то смысле работает (под конкретным пользователем) значит проблема почти наверняка в месте аутентификации и настройки прав доступа.

    Если не было рабочих бакапов, в следующий раз ты делать их станешь (и само собой проверять на работоспособность), такова селяви.
  • Чистил БД и сломался сайт, восстановление бекап БД не решает проблемы, как починить сайт?

    @rPman
    Warning: fileperms(): stat failed for /var/www/www-root/data/www/babyki.by/index.php in /var/www/www-root/data/www/babyki.by/wp-admin/includes/file.php on line 2147

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

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

    Очевидно что кроме базы данных ты что то сделал с файлами, откати и их назад
  • Чистил БД и сломался сайт, восстановление бекап БД не решает проблемы, как починить сайт?

    @rPman
    Ответ не является допустимым ответом JSON.
    смотри в консоли разработчика браузера (вкладка network -> выбрать запись -> вкладка Response), что тебе вернулось в этом json, скорее всего сообщение об ошибке смешалось с ответом, так же смотри логи веб сервера, там будут так же сообщения об ошибке, по которым все можно будет понять
  • Как скачивать сторонние приложения не из microsoft store на windows 11?

    @rPman
    С каких пор Майкрософт сделала возможность устанавливать приложения как из аппстор но сторонних? От них это требовали десятилетие, а они не реализовывали, наверняка по причинам пожелания монополии?
  • Почему некорректно выводится строка?

    @rPman
    Максим Косьмин, покажи проблему текстом, на картинке ничего этого нет
  • Что почитать про диски (HDD, SSD) и файловые системы, желательно какое-то системное описание?

    @rPman
    Алексей,
    У меня когда доходит до 10-100 млн файлов все прям умирает (5-10х потери скорости чтения запросов по имени типа "/mnt/disk/files/1/2/3/img.jpg"), при условии максимум 1000 файлов/каталогов в одном каталоге, отсюда и появилось желание ускорить/посмотреть как правильно
    миллион файлов это что то с чем то.

    Многоуровневое хранение - верное решение но...

    если тебе не лень, можешь организовать собственное хранилище, самое простое из индексного файла (загружается в память, формат любой, рекомендую базу данных, обслуживать будет проще) в котором хранишь:
    * имя файла (или его уникальный идентификатор)
    * имя/номер файла контейнера (если их будет больше одного, например на нескольких дисках размещать)
    * смещение в файле контейнере (можно поделить на размер кластера файловой системы, сделай это константой, задав значение заведомо максимальным из используемых фс, обычно это 4кб или 8кб)
    * размер файла-изображения
    и 1.. любое количество контейнеров, в котором файлы просто записаны друг за другом (обязательно выравнивай на размер кластера файловой системы, заполняя оставшееся место нулями)

    код работы с такой 'базой' пара строчек (тебе же только на чтение), для записи контейнеры перезаписывай.

    p.s. когда то давно я делал такой, вместо базы со смещениями у меня был 64-битный идентификатор, в котором были зашиты смещение и размер файла, а сам контейнер размещался напрямую в диске без разделов файловых систем.
  • Что почитать про диски (HDD, SSD) и файловые системы, желательно какое-то системное описание?

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

    Под твою конкретную задачу выбор у тебя только купить ssd (nvme) и файловую систему по проще, тот же ext4 и опцию noatime (кстати если сделаешь размер кластера равным или больше файла изображения, это может заметно уменьшить накладные расходы файловой системы (правда за счёт накладных расходов на место, так как какого бы размера файл не был, он бы занимал минимум кластер)
  • Что почитать про диски (HDD, SSD) и файловые системы, желательно какое-то системное описание?

    @rPman
    shurshur, спасибо, мой косяк, nmap это утилита анализа сетей и открытых сервисов на машинах в ней
  • Что почитать про диски (HDD, SSD) и файловые системы, желательно какое-то системное описание?

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

    В linux это кстати буквально файл (открываешь хоть fopen файл с именем /dev/sda1 но нужно либо настраивать права доступа или делать это под root)

    Про random access я уже сказал, все проблемы создает физическая реализация носителей, только RAM может без особых накладных расходов позволять читать случайно.

    Дорогие ssd позволяют так же выдавать высокий iops именно с random access. Остальные же (и тем более hdd) дадут считанные десятки/сотни запросов в секунду (но благодаря тому что за один запрос устройство может выдать сразу большой блок данных, можно заранее сохранить несколько записей рядышком и запрашивать их сразу скопом, кратно увеличивая итоговое количество 'записей в секунду')

    Еще раз резюмирую, хочешь большие скорости - пили свой формат хранения

    p.s. работа с нейронками не требует особо высокой СЛУЧАЙНОЙ скорости, ведь данные там запрашиваются последовательно, а значит их можно разместить в одном файле. Еще момент, если размер изображения - сотни килобайт- мегабайт, можешь вообще не заморачиваться с форматами и размещать по одному файлу на картинку, современные файловые системы очень неплохо это оптимизируют!
  • Как подключить 2 внешних монитора к AMD Radeon R4 Graphics?

    @rPman
    если не работает монитор, подключаемый через hdml, могу предположить что его работа запаралелена с внутренним lvds экрана ноутбука, и при закрытии крышки происходит аппаратное переключение

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

    удостоверься что монитор не желает работать в linux