Задать вопрос
  • Какой процессор для сервера выбрать?

    @chronic86
    Ruby on Rails junior
    1. Серверу = серверный процессор
    2. Xeon поддерживает больше оперативной памяти с большей частотой
    3. Xeon поддерживает ECC, для сервера важный критерий
    4. Xeon поддерживает ряд технологий направленных на работу с многопоточностью

    Ну и личное имхо выбор может быть сделан в пользу i7 только из за недостатка финансов на сборку серверной платформы. Например, когда денег мало и берешь мощный ПК для использования в роли сервера.
    Ответ написан
    Комментировать
  • ОС Android vs ОС Fuchsia?

    Rou1997
    @Rou1997
    Нет, не стоит, подождите 2 года пока Fuchsia допишут, потом еще 2 года пока появятся первые устройства, потом еще 5 лет пока откажутся от обратной совместимости с приложениями Android, вот тогда и начинайте изучать мобильное программирование!
    Ответ написан
    4 комментария
  • Полнодисковое шифрование Linux с ключом на USB флэшке?

    @nirvimel
    Есть же куча руководств в Сети.
    Например, это - вполне годное. Использовать Btrfs, разумеется, не обязательно. Собственно, вся суть сосредоточена в строках, добавляемых в /etc/mkinitcpio.conf и этой строке
    GRUB_CMDLINE_LINUX="cryptdevice=/dev/disk/by-label/SCOTTY:root:allow-discards cryptkey=/dev/disk/by-label/ISO:ext4:/<path/to/keyfile/on/flash drive>"
    добавляемой в /boot/grub/grub.cfg (точнее в /etc/default/grub, из которого он генерируется). Тут важно указать, что SCOTTY - это метка шифруемого тома, а ISO - это метка флешки (а не тип ФС).
    Ответ написан
    Комментировать
  • Можно ли делать ОБТ для не совсем готовой игры на Google Play?

    @scriptkiddie
    Хотите фидбек? Пилите на 4PDA.
    фидбек на гуглплей..
    <игора логает, кал улдтяю>
    <зтавлю 3 пока неделаете как в кутероте>
    Ответ написан
    Комментировать
  • Можно ли делать ОБТ для не совсем готовой игры на Google Play?

    @vashaaa
    Юх с горы
    Вы не давно в индустрии? Не каждый готовый проект выстреливает, а вы ждёте хороших отзывов от альфа версии. Я не знаю что у вас за проект. Но такое может выстрелить не доработанным только если прям идея реально новая и зацепила, на примере игры the forest, игрушка на альфа версии но в первые же дни вышедшего залаганого и неоптимизированого г... разошлась как горячие пирожки по 10$, наростив народ для тестирования и выпуская каждые 2 недели по патчу 0.01. У них была идея и хорошая реклама. Если у вас нет мега идеи и большой пиар компании, то вы хотите невозможного. Время когда нужно было сделать просто хороший продукт - прошло. Сейчас таких продуктов сотни тысяч. Хотите больше людей? Нужно выкинуть больше денег в рекламу, а если нет то ваше чудо игра уйдёт на дно списка и там и останется.
    Ответ написан
    Комментировать
  • Можно ли реализовать в игре на мобильном (android или ios) разовое использование?

    victorzadorozhnyy
    @victorzadorozhnyy
    IMEI or MEID запрашивай при регистрации и вноси в базу на сервере.
    android.telephony.TelephonyManager.getDeviceId()
    Ответ написан
    4 комментария
  • Можно ли реализовать в игре на мобильном (android или ios) разовое использование?

    GavriKos
    @GavriKos
    Микропетпроджект - домашнее облако homeCloud
    Можно. Но если к игре будет большой интерес - взломают.
    А решить можно хранением факта гибели персонажа на сервере и уникальной идентификации пользователя. Играть без интернетов не разрешать.
    Решения, базирующиеся на локальных каких то вещах без удаленного сервера - еще быстрее ломанут.
    Ответ написан
    Комментировать
  • Чем удалить удаленные данные на HDD?

    gbg
    @gbg Куратор тега Железо
    Любые ответы на любые вопросы
    Ответ написан
    Комментировать
  • Go. Почему перенаправляет на "/"?

    Это зависит от того, какой вы код редиректа используете.
    301 Moved Permanently - это постоянное перенаправление, браузер его закэширует и будет постоянно использовать, судя по всему, вы используете именно его.
    302 Found - это временное перенаправление для одноразовых редиректов. Попробуйте использовать его.
    Ответ написан
    Комментировать
  • Как убрать исключение System.IO.FileLoadException?

    Не надо ничего качать с сайтов и распаковывать.
    Открываете свой проект в Visual Studio и сразу идете в менеджер нугет пакетов и оттуда находите и инсталлируете то что вам нужно.

    VK.NET и HtmlAgilityPack там есть.

    https://www.nuget.org/packages/

    Все происходит автоматически включая обновления и зависимости. Для этого нугет и изобрели.
    Общее представление о NuGet
    Ответ написан
    1 комментарий
  • Как в Nginx сделать редирект с HTTP на HTTPS?

    nazarpc
    @nazarpc
    Open Source enthusiast
    Не мешайте HTTP и HTTPS в одном блоке, ничего хорошего из этого не получится.
    server {
        listen      80;
        server_name website.com;
        return      301 https://$server_name$request_uri;
    }
    Ответ написан
    2 комментария
  • Как сделать ограничение, чтобы пользователь мог посмотреть картинку только один раз и не мог её сохранить?

    risentveber
    @risentveber
    fullstack web developer
    Большинство пользователей в интернете уже не сможет скачать картинку, если вы вставите ее как фоновое изображение какого-либо элемента - например div'a. По крайней мере при щелчке на элементе правой кнопкой мыши в выпадающем меню такого пункта не будет.
    Ответ написан
    Комментировать
  • Как ежедневно делать копию базы SQLite на сетевой диск?

    Jump
    @Jump Куратор тега Резервное копирование
    Системный администратор со стажем.
    Ежедневно делаете следующие действия -
    Наводите курсор мыши на файл базы данных, нажимаете правую клавишу мыши, в открывшемся меню выбираете пункт "копировать".
    После чего открываете сетевой диск, нажимаете правую клавишу мыши, в открывшемся меню выбираете пункт "вставить".
    Ответ написан
    5 комментариев
  • Как выдавать временные BTC кошельки продавцов для покупателя?

    spbdimka
    @spbdimka
    Эникей
    Как я делал подобное 5 лет назад:
    VPS с демоном bitcoin - при запросе - генерируем новый кошелек. После подтверждения отправляем деньги по нужному адресу.
    как это работает сейчас - не подскажу
    Ответ написан
    Комментировать
  • Как HR и работодатели относятся к соискателям, у которых есть свой сайт?

    @metaf
    Бред какой-то.
    У вас что, сайт и блог с десятком рекламных баннеров и тысячами просмотров в день?
    А если бы вы сказали, что вязанием занимаетесь, она бы спросила, не будете ли вы вязать в свое рабочее время?
    Блог, сайт - это скорее способ самореализации и хобби, чем работа (ну я так вижу).
    Хороший сайт - значит вы способны создать и поддерживать продукт.
    Хороший блог - значит вы способны объяснить то, что знаете, готовы поделиться своими знаниями (это огромный плюс!) или хотя бы умеете переводить с английского и хотите развиваться.

    Не переживайте. На собеседованиях еще и не такого наслушаешься.
    Ответ написан
    17 комментариев
  • Всем привет, промогите разобраться с скриптом для Linux?

    gbg
    @gbg Куратор тега Linux
    Любые ответы на любые вопросы
    bs у вас откуда-то с потолка, ни для сети, ни для диска.

    Вы понимаете, что снимать копию по блокам можно только с отмонтированного устройства, иначе на выходе будет мусор?

    rm перед mv смысла не имеет, достаточно mv с ключем -f для перезаписи.

    mv -f старое новое
    Ответ написан
    Комментировать
  • Как почистить Macbook?

    DevMan
    @DevMan
    эта картинка особо ни о чем не говорит: она строится по индексу спотлайта и довольно часто имеет свойство тупить.
    если же интересно, чем вообще занято место, то лучше https://daisydiskapp.com/ я не встречал.
    Ответ написан
    2 комментария
  • PHP как передавать POST большие файлы быстро?

    @mantyr
    Пишу много Golang кода с удовольствием:)
    Что бы не упираться в ограничения:
    • разбивать файл на чанки равной длины
    • загружать чанки параллельно на несколько разных суб.доменов (st1.example.com, st2.example.com ... stN.example.com)
    • использовать http2 соединение
    • передавать файлы (и чанки в том числе) в бинарном виде


    Если количество входных точек меньше чем количество чанков то на некоторые адреса будет несколько отправлений, желательно не переустанавливать соединение, а держать хотя бы keep-alive, а ещё лучше разобраться как передать данные после текущей отправки в текущее соединение.

    Замерять скорость:
    • сети между серверами и клиентом
    • пропускную способность веб-сервера
    • общую нагрузку на сервер
    • io диска куда складываются данные


    Возможно есть проблема:
    • со скоростью работы диска, может быть он сбоит и потерял 80% своей скорости
    • с загрузкой канала между сервером и клиентом
    • слишком много запросов к веб-серверу и он просто блокируется постоянно
    • браузер перегружен плагинами или слишком много js кода который убивает отзывчивость


    Так же попробуйте отправить файл на другой сервер похожим образом и сравнить.

    Более подробно про отправку файла чанками:
    sendFile: function(file) {
                if (file.size > this.maxFileSize) {
                    this.alert('Файл слишком большой!');
                    return false;
                }
    
                var fd = new FormData();
                      fd.append("file", file);
    
                // Создаем запрос
                var xhr = new XMLHttpRequest();
                xhr.upload.addEventListener('progress', context({obj: this}, this.uploadProgress), false);
                xhr.onreadystatechange = context({obj: this, html: html}, obj.uploadFinish);
                xhr.open('POST', this.handler);
                xhr.send(fd);
            },


    Тут мы видим xhr.send(fd), теперь идём в один из примеров, например https://learn.javascript.ru/xhr-resume и видим вариант с отправкой части файла:
    var slice = file.slice(10, 100); // прочитать байты с 10-го по 99-й включительно
    xhr.send(slice); // ... и отправить эти байты в запросе.


    Если у вас получится сделать механизм многопоточной загрузки то можете контрибьютить в этот репозитарий: https://github.com/mantyr/js-drag-n-drop-file-uplo... так как он чуть более объектный чем классический dropzone
    Ответ написан
    2 комментария
  • Пропал каталист контрол сентр.Как восстановить?

    a13xsus
    @a13xsus
    Lazy developer
    Каталист в новых драйверах стал Настройками Radeon. Хотите вернуть именно его — ищите старую версию драйверов и устанавливайте их.

    noomorecatalyst.jpg
    radeonsupercharged.jpg
    Ответ написан
    7 комментариев
  • Контрольная сумма С#?

    @none7
    Для первого набора байт подходит такой простой код:
    static byte[] crc(byte[] data) {
        ushort sum = 0;
        foreach (byte b in data)
            sum += b;
        return new byte[] {(byte)(sum & 255), (byte)(sum >> 8)};
    }

    Те есть сумма всех байтов сообщения включая код операции и длину сообщения, но без чексуммы. То есть в документации косяк чексумма считается с 0 по 4+n без -1, n длина данных для команды. Но там ведь сказано, что чексумма это «сумма байтов пакета».

    А вот собственно и полный тест:
    static ushort crc(byte[] data, ushort sum = 0) {
        foreach (byte b in data) sum += b;
        return sum;
    }
    static void Main(string[] args)
    {
        // пакеты без чексумм
        byte[] mass1 = new byte[] { 75, 0, 25, 0, 3, 48, 117, 0, 126, 37, 0, 188, 138, 169, 53, 66, 15, 52, 115, 203, 112, 103, 220, 16, 92, 237, 76, 80, 254};
        byte[] mass2 = new byte[] { 75, 0, 25, 0, 3, 64, 156, 0, 126, 37, 0, 188, 138, 169, 245, 165, 14, 52, 115, 203, 96, 64, 220, 16, 92, 237, 76, 80, 254};
        byte[] mass3 = new byte[] { 75, 0, 25, 0, 3, 80, 195, 0, 126, 37, 0, 88, 138, 169, 181, 9, 14, 52, 115, 203, 120, 60, 220, 32, 131, 237, 236, 214, 255};
        byte[] mass4 = new byte[] { 75, 0, 25, 0, 3, 112, 17, 1, 126, 37, 0, 88, 138, 169, 181, 9, 14, 52, 115, 203, 120, 60, 220, 32, 131, 237, 236, 214, 255};
        byte[] mass5 = new byte[] { 75, 0, 25, 0, 3, 60, 134, 1, 126, 37, 0, 88, 138, 169, 181, 9, 14, 52, 115, 203, 120, 60, 220, 32, 131, 237, 236, 214, 255};
    
        foreach(var mass in new byte[][] {mass1, mass2, mass3, mass4, mass5}) {
            bool first = true;
            Console.Write("{");
            foreach (var b in mass)  {
                if (!first) Console.Write(", ");
                else first = false;
    
                Console.Write(b);
            }
            var sum = BitConverter.GetBytes(crc(mass));
            // вывод чексуммы
            Console.WriteLine(", {0}, {1}}}", sum[0], sum[1]);
        }
    }
    Ответ написан
    2 комментария