Задать вопрос
  • Как получить данные формы и отправить дальше?

    @rPman
    Старый и идеологически уже не правильный способ, при формировании кода страницы 2 в значения value тегов input можно вставлять значения, принятые со страницы 1 (глобальная переменная $_POST или $_GET), но при этом необходимо пропустить эти данные через htmlspecialchars а для данных вне атрибутов, например для select или textarea, - более мощную htmlentities, но в любом случае с осторожностью, например \n там для html опций не конвертируется (а для xml да но другие нюансы), советую полистать комментарии под этими функциями.

    Если из страницы 1 нужно было передать данные полей, которых нет на странице 2 но нужны на странице 3, то использовали скрытые input type=hidden

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

    @rPman
    Красивый интерфейс - это дизайн (+ mobile UX trend)
    Удобный интерфейс - это юзабилити дизайн (все на это почему то забивают)
    Красивый код - это... code style и может быть это (первое что гугл выдал)
    Ответ написан
    Комментировать
  • Как получить доступ к файлу?

    @rPman
    Либо закрывай файл после создания, либо файл нужно создавать с указанием режима прав доступа ReadWrite
    Для этого подойдет собственно конструктор FileStream
    в доке какраз ниже пример:
    FileStream fWrite = new FileStream("test.txt", FileMode.Create, FileAccess.ReadWrite, FileShare.None, 8, FileOptions.None);


    лучше сохранять объект FileStream для переиспользования чем каждый раз заново открывать файл да еще и отдавать вопросы синхронизации на откуп системы (это тупо медленней)
    Ответ написан
    Комментировать
  • Андроид эмуляторы под убунту?

    @rPman
    не поддерживает нужные мне приложения в гугл сторе - Your device isn't compatible with this version
    изучи подробнее, покопавшись в apk, что именно не нравится

    вполне возможно не подходит архитектура процессора?
    или к примеру разработчики не хотят чтобы их приложение работало в эмуляторе?
    Ответ написан
  • Что можно майнить на Rasberry?

    @rPman
    idena.io - главная идея проекта, майнят не мощности а идентити (человек).

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

    Для прохождения валидации уже не хватит процессора малинки (но апдейт это исправляющий уже вышел и прошла валидация, пока безрезультатно, разрабы что то пилят), желательно ssd вместо hdd да и памяти надо больше 1гб, очень кушает сетевой трафик (в месяц больше терабайта в обе стороны), но тут можно пользоваться shared node (бесплатно никто не выкладывает доступ но вроде дешево) и проходить валидацию в браузере, хоть с телефона, майнить кстати тоже можно делегировать кому-то, но публично пулов я не видел, надо договариваться.

    p.s. на прохождение валидации тратится (сейчас раз в ~2 недели) примерно пол часа.
    1 аккаунт даст с майнинга в сутки примерно 0.25 центов, за прохождение валидации от 0 до 20$ (каждый успешно выданный инвайт может принести в конечном счете ~20-30$, на это уйдет 3-4 валидации, каждую валидацию аккаунту дают по 1 инвайту, если ты human, плюс если скор высокий еще одну.

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

    p.p.s. с каждой валидацией увеличивается количество желающих (10k+ как раз последняя принесла и в криптоэкономике это много, ибо даже в худшем, половина реальных активных людей) и уменьшается доход пропорционально, так же увеличиваются требования к машине, если год назад все работало чуть ли не на калькуляторах, то теперь дешевых 1$ vps-ок уже не хватит, я видел пример когда на старенького фенома уже нехватало
    Ответ написан
    Комментировать
  • Лучший ssh клиент с подсказкой и сохранением команд?

    @rPman
    в корне неверный подход использования инструментов:
    * чтобы не вводить пароли, нужно настраивать беспарольную аутентификацию по ключу
    * для длинных доменов можно настроить алиасы по их адресу в /etc/hosts либо создать локально скрипты или алиасы bash на всю команду подключения (к примеру если часто нужно еще и нестандартный порт указывать)
    * автодополнение команд выполняется не на твоей машине, а на удаленной, штатным инструментом bash completion, так же можно использовать другие шелы типа zsh, 'все в голос' считают его удобнее, но нужно привыкать и настраивать.

    про автодополнение по истории команд, смотри этот вариант
    Ответ написан
    2 комментария
  • Слетает ли гарантия с ноутбука при переустановке ОС?

    @rPman
    Нет, но на гарантию может повлиять к примеру разгон/изменения вольтажа (процессора или видеокарты) плюс смена прошивки видеокарты (при обновлении прошивки биоса материнки на штатный - нет), на это иногда закрывают глаза но формальный повод у сервиса имеется
    Ответ написан
    Комментировать
  • Какой эмулятор мне подойдёт?

    @rPman
    Правильнее сказать какую хост систему выбирать, в windows выбор только с виртуализацией, но для linux есть паравиртуализация, запуска другого linux без виртуализации, на основе lxc есть успешные попытки anbox.io
    Статья
    Ответ написан
  • Не устанавливается .msi, что делать?

    @rPman
    Читай логи устновщика, запустив его вручную, чтобы лог создавался где тебе надо

    msiexec /i "myapp.msi" /l*v "myapp.log"
    Ответ написан
  • Как преобразовать базовый диск с установленной Windows 10 в динамический?

    @rPman
    Если я верно понимаю, windows ограничивает использование динамический дисков на removable drive, именно поэтому вылетает такая ошибка, но даже если нет и тебе удастся сделать диск динамическим (вручную с помощью штатной консольной утилиты diskpart, там нет кучи ограничений ее графического аналога, может и тут прокатит), то есть другое ограничение:
    https://ru.wikipedia.org/wiki/Динамический_диск
    Windows не может быть установлена на Dynamic Disk, что имеет неприятное следствие — из всех RAID-конфигураций Dynamic Disk загрузочным томом Windows может являться только «зеркало» (установка производится на обычный диск, потом он конвертируется в Dynamic, потом создаётся «зеркало» добавлением второй половины, с другими RAID-конфигурациями это невозможно).


    В теории наверное можно будет попытаться поставить windows на второй диск с помощью виртуальной машины, и отключив secure boot и uefi (в биосе это может наызваться legacy boot) загружаться с помощью, к примеру, grub, установленного на первый системный диск, но сам процесс установки может оказаться не простым.

    p.s. если же необходимость расширения системного диска, то можно воспользоваться символическими ссылками, перемещая каталоги, в т.ч. Program files, ProgramData, MSOCache,.. и возможно некоторые из windows (с осторожностью) на другой диск и оставляя на первом только ссылки на него. Еще я помню создавал символические ссылки на каталоги, в которые система складывает крупные обновления ($WINDOWS.~BT кажется) но делать это придется каждый раз как прилетает это обновление, в общем мониторить использование системного диска (я пытался поддерживать работу windows на старенькой машине со встроенным 32гб диском, перенося часть файлов на карту памяти, это реально но муторно).

    обязательно поковыряй профиль пользователя, очень много приложений сохраняют там гигабайты информации, включая само приложение, все прекрасно разруливается символическими ссылками - AppData\Local\переносить_этот_каталог , AppData\Local\Roaming\или_этот

    С каталогом windows есть сложность, его размер порядка 24гб (20гб сжатие ntfs) и переместить что либо от туда сложно. Дело в том что removable диски доступны в системе не сразу и если переместить критичные системные файлы на такой диск, система не сможет быть загружена. Еще проблема - сам процесс копирования, внутри очень активно используются символические ссылки ntfs, права доступа и если я верно понимаю - даже ntfs file stream, но тут я не проверял, и не всякий инструмент копирования способен правильно сдублировать структуру данных, с учетом ссылок, особенно это сложно, так как подобную операцию придется делать из другой ОС (загрузившись с флешки например). В общем я помню ломал установку, делая копирование в Far Commander (т.е. все работало но системный диск тогда стал занимать в итоге сильно больше места).

    Использование wim образа может немного помочь (сжатие немного лучше чем ntfs) но после каждого крупного обновления потребуется этот образ обновлять, иначе только хуже станет.
    Ответ написан
  • Как включить немецкий язык в синтезаторе речи?

    @rPman
    а соответствующий голос в синтезаторе на машине есть?
    window.speechSynthesis.getVoices()

    на хроме работает
    var u = new SpeechSynthesisUtterance('Ich bin nicht sicher, dass er ein gutes Beispiel wäre.');
    u.voice=speechSynthesis.getVoices()[2]; // SpeechSynthesisVoice {voiceURI: 'Google Deutsch', name: 'Google Deutsch', lang: 'de-DE', localService: false...
    speechSynthesis.speak(u)

    upd. очень странно инициализируется в первый раз в браузере язык, самый первый раз выбирая язык может остаться язык по умолчанию, но повторная попытка через некоторое время срабатывает, полагаю браузер подгружает поддержку локально (она несколько мегабайт вестит)
    Ответ написан
  • Как разбить диск 6tb на разделы по 1tb и зазеркалить каждый либо создать Raid-1 массив?

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

    Советую только софтварный рейд.
    p.s. Об аппаратных думать надо когда контроллеры будут стоимостью с полноценный комп и то я бы дважды подумал и посчитал бы деньги

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

    Про разделы, не создавай себе проблем, не дели разделы по задачам, если это не разные операционные системы (т.е. к примеру установить две разные системы на один диск), так как место оно не резиновое, и выискивать когда оно закончится по остаткам на кучи разделов будет неудобно.
    Ответ написан
  • Как производить переиндексацию в таблице SQLite?

    @rPman
    В ответах все правильно сказали, но не дали собственно решения, вот оно:
    заведи поле num, в котором будет размещаться порядковый номер записи, при запросе записей делай group by num

    при каких то модификациях порядка (удаление или например вставка в середину порядка записи) делай номер с половинкой (например вставить запись между 3 и 4, то num пусть будет 3.5) и обновляй порядок
    update table set
    num = ROW_NUMBER () OVER ( ORDER BY num ) RowNum
    ...


    кстати вместо половинчатых номеров можно сначала сдвинуть все номера больше нужного (например вставить 3-им, добавляешь условие where num>3 а потом вставлять.
    Ответ написан
    Комментировать
  • Как в массив вставить цикл foreach?

    @rPman
    можно использовать array_map, на вход подаешь $_GET[CART] и функцию, обрабатывающую каждый элемент (то что у тебя внутри foreach)

    'items' => array_map(function($v){...},$_GET[CART])
    Ответ написан
    Комментировать
  • Как сделать многостраничный сайт без PHP/python/React?

    @rPman
    Начинать изучение веб технологий нужно было с этого, а не с фреймворков.

    Кстати многостраничным сайт может быть и с одной физической страницей, когда содержимое меняется с помощью javascript. Никаких фреймворков для этого не надо, максимум упростить себе жизнь, используя готовый шаблонизатор (можно найти минимальный в виде простенькой функции из десятков строк, а сами шаблоны хранить тут же в документе внутри <script type='text/html'>).

    Пример, рисуешь в пределах одного документа сразу несколько страниц, буквально разместив каждый в своем контейнере (div), указав им каждому стиль display:none, затем навигацию между страницами реализуешь с помощью anchor # (адрес страницы размещается в ссылке после #, такие ссылки не перегружают страницу с сервера но ловить изменения можно либо на onclick значимых ссылок либо по таймеру), поочередно меняя нужным частям документа на display:block и обратно.

    Если на странице есть информация 'о документе по ссылке', то заполняешь ее тем же скриптом, простейший пример document.getElementbyId('идентификатор').innerText или value позволит поменять значение на нужное.

    Если нужна коммуникация с сервером, используй ajax, который по факту внутри штатный XMLHttpRequest, и даже не сильно многословный код получится.

    p.s. 99% бонусов, получаемых от фреймоврков - это решение проблем с кроссплатформенностью и кроссбраузерностью. Мое мнение, все остальное - это проблемы, стоимость решения которых зачастую выше тех профитов, которые получаешь от фреймворка.

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

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

    А вот реализация правильной синхронизации клиент сервера действительно очень сложная задача.

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

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

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

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

    Хорошим способом борьбы с нагрузкой на сервер может являться p2p, когда данные об изменения, паралеллельно с сервером обрабатываемые клиентами, рассылаются не через сервер, а напрямую клиентам, а сервер рассылает только хеши результата. Это сильно усложнит код (я не слышал чтобы крупные проекты так делали) но позволит решить кучу проблем как с лагами так и с высокой стоимостью сервера.
    Ответ написан
    Комментировать
  • Можно ли хранить в графовых базах данных JSON?

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

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

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

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

    p.s. json это значит для контроля над целостностью, индексации и поиска придется городить свои надстройки, с другой стороны это освобождает руки от непреднамеренного усложнения хранилища там где это не требуется, в общем осторожностью нужно подходить к этому, это не плохо и не хорошо, это просто еще один способ со своими плюсами и минусами
    Ответ написан
    4 комментария
  • Как выбрать сервер для офиса?

    @rPman
    Вопрос главный - на сколько высокая нагрузка на доступ к файлам? а то одни гигабайтовые проекты в фотошопе тянут, и таких 20 человек, причем одновременно, а другие раз в день документ на мегабайт закинут и все. То же самое на объем, как много хранить собираешься?

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

    Если требования высокие и нужно гигабайты туда сюда и желательно за секунды, то придется раскошеливаться на 10-гигабитную машину (это не так дорого, старые серверные материнки, не шибко старые процессоры intel и цена порядка от 40т.р.).

    Если требования низкие, то в принципе любая офисная машина подойдет (помним про оперативную память без ECC и мизерный шанс порчи данных на такой), только диск ssd даже не обсуждается, в частых случаях можно совместить медленные hdd и кеш на ssd (bcache). Софтварный raid на основе mdadm и/или bcache/zfs желательны.

    Про 1с пока помолчу, нагрузки там тоже бывают не типичные. Но настоятельно рекомендую не смешивать функционал сервера приложений и сервера хранилища, хотя конечно при слабых нагрузках можно и совмещать. Очень хорошей практикой с самого начала размещать задачи на виртуалках (с паравиртуализацией, lxc, оно бесплатно по ресурсам) чтобы было проще потом раскидывать по железо при увеличении нагрузки... да и вообще, очень приятно, когда есть возможность на ходу добавить (хоть временную) машину в кластер виртуальных машин, и с помощью live migration (кстати это хардкор) перекинуть работающий софт на нее, вплоть до возможности выключения основной машины, и пользователи даже не заметят. но для этого NAS сервер-хранилище должен быть отдельной машиной

    p.s. Очень хороший вопрос, а нужен ли файловый сервер? а то есть ситуации, когда просто syncting синхронизации будет достаточно? буквально, общая папка на всех машинах, синхронизируется все со всеми с помощью syncting, все работают локально, и главная проблема - коллективный доступ на один и тот же документ одновременно (она и с файл сервером появляется но другая), плюс заметно выше нагрузка на локальную сеть в целом (так как рассылать все всем тупо дороже по трафику, но часто это та цена которую можно 'заплатить')
    Ответ написан
    Комментировать
  • Как подключить 2-ой монитор?

    @rPman
    попробуйте подключить через dvi порты.

    Владислав, там dvi-d, он чисто цифровой, т.е. читай он тот же hdmi, поэтому бери пассивный переходник dvi-hdmi (папа-мама) и уже в него вставляй hdmi-vga

    впервые слышу что у современной видеокарты порты взаимозависимые, обычно полностью независимые, а это значит какие то помехи вносит адаптер hdmi-vga
    Ответ написан
    Комментировать
  • Каким образом почистить и перезаписать большой файл с номерами телефона?

    @rPman
    20т записей это маленький файл, большой это миллиарды

    русские номера это начинающиеся на +7 или 8
    еще есть местные городские номера, без кода города, вот что это за номер 58510350

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