• Тематика ресурса тостер ру?

    TosterModerator
    @TosterModerator Куратор тега Тостер
    Модератор Хабр Q&A
    Прекратите нарушать правила и будет вам счастье:
    https://toster.ru/help/rules
    5. Категорически запрещается размещать на страницах Сервиса:
    5.4. Любую информацию, способную спровоцировать нарушение законодательства РФ.
    Описания нарушений законодательства или способов ухода от наказания за противоправные деяния.
    Ответ написан
  • KMS сервер. Как исправить ситуацию?

    @dshumov Автор вопроса
    Олдскул - Фигурнов форева
    1 комментарий
  • Как рекурсивно преобразовать объект в xml?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const createXML = obj => Object
      .entries(obj)
      .map(([ k, v ]) => `<ns1:${k}>${v instanceof Object ? createXML(v) : v}</ns1:${k}>`)
      .join('');

    UPD. Если нужны переносы строк и отступы, то

    const createXML = (obj, tabSize = 2, depth = 0) => {
      const indent = ' '.repeat(tabSize * depth);
      return Object.entries(obj).map(([ k, v ]) =>
        indent +
        `<ns1:${k}>${
          v instanceof Object
            ? `\n${createXML(v, tabSize, depth + 1)}\n${indent}`
            : v
        }</ns1:${k}>`
      ).join('\n');
    };
    Ответ написан
    Комментировать
  • Как рекурсивно преобразовать объект в xml?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Теряется потому что вы его никуда не добавляете - просто начинаете обрабатывать ключи
    {
            xml += `<ns1:${key}>${value instanceof Object ? parseXML(value) : value }</ns1:${key}>`
     }
    Ответ написан
    3 комментария
  • Как вести совместное ведение проекта в Юнити?

    Griboks
    @Griboks Куратор тега Unity
    В юнити, как вы могли заметить, компонентная система. Работу над проектом разделяют на отдельные части: уровни, скрипты, персонажи, сюжет. Потом всё это соединяют.

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

    IgorPI
    @IgorPI
    try {
        $pdo = new PDO('mysql:host=localhost;dbname=mybdname;port=3306;charset=utf8','mybdname','3fJUIvtyfTD2');
        $stmt = $pdo->prepare('SELECT * FROM ConomyValue WHERE username=:user LIMIT 1');
        $stmt->execute(array(
            'user' => $member_id['name'],
        ));
        $balance = $stmt->fetch(PDO::FETCH_ASSOC);
        if (!empty($balance)) {
            $balance = $balance['balance'];
        } else $balance = 0;
        echo ''.$balance.'';
    }catch (\Exception $e) {
        echo "ERROR!";
    }
    Ответ написан
    2 комментария
  • Каково 3D модель радиосигнала?

    longclaps
    @longclaps
    Если не трудно можно без аналогов объяснить а то аналоги всегда неточны.
    Легко.

    3D модель радиосигнала описывается уравнениями Максвелла, а последние описываются много где.

    Применительно к радиосигналу часто так же говорят о плоской волне - простейшем частном случае, описываемой частотой либо длиной волны, и амплитудой. Если это не дает представления о самой волне, значит, у тебя что-то не то с воображением: всем остальным даёт.

    Как длина волны связана с цветом - ты ведь не настолько туп, чтобы не суметь спросить у гугла?
    Ответ написан
    6 комментариев
  • Какой лучший способ передачи данных между PHP и Python скриптами?

    @Evgeny_A Автор вопроса
    Решение, найденное с подсказки xmoonlight

    Значит в PHP файл пихаем это:

    $sock = stream_socket_client('unix:///tmp/echo.sock', $errno, $errst); 
    fwrite($sock, $type); 
    $response = fread($sock, 1024); 
    fclose($sock);

    А в Python файл пихаем это:

    # Адрес файла, который будет мостиком для общения между PHP и Python
    SERVER_PATH = '/tmp/echo.sock'
    
    # Если файл уже есть, его надо удалять
    if os.path.exists(SERVER_PATH):
    
        os.remove(SERVER_PATH)
    
    # Создаем новый UNIX сервер
    server_socket = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
    server_socket.bind(SERVER_PATH)
    server_socket.listen()
    
    while True:
    
        client, adress = server_socket.accept()
        message = client.recv(1024)
        # Печатаем входящее сообщение
        print('received:', message.decode("utf-8"))
        # Отправляем ответ 
        client.send('This is my Response!'.encode())
    
    client.close()
    server_socket.close()
    print('UNIX сервер закрыт!')

    Запускаем Python файл из под того же пользователя, что и PHP файл и вуаля, все работает.
    Ответ написан
    3 комментария
  • Что делает frontend разработчик кроме создание внешнего вида сайта?

    sfi0zy
    @sfi0zy
    Creative frontend developer
    Что делает frontend разработчик кроме создание внешнего вида сайта?

    Пьет смузи, катается по офису на гироскутере, делает умное лицо на конференциях.

    Скучно ли быть фронтендером? Эта однотипная работа?

    Кто-то клепает однотипные магазины на потоке, а кто-то делает замороченные рекламные сайты с кучей анимаций, интерактивные 3d-презентации и другую дичь. Это очень разные вещи. Но рутина наступает везде. Любая сложная область в конечном счете разбивается на набор известных задач, и все, дальше нужно делать почти одно и то же много раз. Принципиально новые проекты - большая редкость в программировании, лишь единицы что-то изобретают, большинство же решает задачи бизнеса. А они особо не меняются. Таков мир. А интерес - понятие очень субъективное. На вкус и цвет фломастеры разные.
    Ответ написан
    2 комментария
  • Двумерный массив в виде шахматной доски?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    if((Math.floor(i*0.25)+Math.floor(j*0.25))%2 == 0) mas[i][j] +=1;
    Ответ написан
    1 комментарий
  • Можно ли достичь уровня middle в разработке без опыта в офисе?

    sergey-gornostaev
    @sergey-gornostaev
    Седой и строгий
    Можно ли достичь уровня middle в разработке без опыта в офисе?

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

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

    Попытаться можно. Надо только понимать, что если позиционируешь себя как мидл, то и спрашивать будут как с мидла.
    Ответ написан
    1 комментарий
  • Каким образом платные сервисы от DDOS атак работают?

    dollar
    @dollar
    Делай добро и бросай его в воду.
    Во-первых, DDOS, это не всегда запросы к сайту. Это может быть просто поток сетевых пакетов с целью перегрузить ваш канал. Если он слабый, типа домашнего Интернета, то это вообще не проблема. Поэтому платные сервисы тупо дают широкий канал, и загрузить такой сервис очень сложно. Далее такой флуд легко фильтровать по простым критериям, и до вас, до вашего сервера, доходит лишь "чистый" трафик, от нормальных пользователей.

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

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

    В общем, война никогда не меняется. Поэтому ответить вам, что вот, мол, такие сервисы следуют такому-то рецепту - не получится. Технологии постоянно развиваются. И через год будут новые способы атаки и защиты. Платные сервисы просто берут деньги за то, что участвуют в этой войне, а как и что у них там получается - это отдельная наука. Для любой брони можно подобрать снаряд. И для любого снаряда можно подобрать броню. Вопрос в цене. Побеждает тот, у кого больше ресурсов (времени и денег), но потери по итогам несут все стороны конфликта (наживаются только спонсоры).
    Ответ написан
    1 комментарий
  • Кто хорошо знаком и желательно специализируется на алгоритмах?

    saboteur_kiev
    @saboteur_kiev
    software engineer
    Чтобы написать Алгоритм нужно знать предметную область.
    Учителя по Алгоритмам не существует, это общее понимание о математическом складе ума и понимании предметной области. Например, чтобы составить математический алгоритм, надо знать математику.

    Чтобы составить алгоритм как накачать мышцы, надо примерно разбираться в биологии, питании и спорте.

    И так далее.
    А Алгоритм отдельно от предметной области - абстракция.
    Ответ написан
    Комментировать
  • JavaScript неправильно вычитает числа 8.18 - 1.99. В чем дело?

    lamer350
    @lamer350
    กำลังสูงสุด
    Простите конечно, тут просто не знаю даже если возможность шутить... Но вы примерно 6 999 9999 999й человек который это заметил. Вы хоть одну книжку по JS видели?
    Ответ написан
    7 комментариев
  • Как добавить большую часть html кода с помощью js?

    0xD34F
    @0xD34F Куратор тега JavaScript
    const keys = [
      [
        { on: [ 'ё', 'Ё' ], off: [ '`', '~' ], name: 'Backquote' },
        { on: [ '1', '!' ], off: [ '1', '!' ], name: 'Digit1' },
        ...
      ],
      ...
    ];
    
    
    document.querySelector('.keyboard').innerHTML = keys.map(row => `
      <div class="row">${row.map(n => `
        <div class="key">
          <span class="${n.name} on">
            <span class="case down">${n.on[0]}</span>
            <span class="case up">${n.on[1]}</span>
          </span>
          <span class="${n.name} off">
            <span class="case down">${n.off[0]}</span>
            <span class="case up">${n.off[1]}</span>
          </span>
        </div>`).join('')}
      </div>`).join('');
    Ответ написан
    Комментировать
  • Сколько жить осталось диску[ssd smartbuy 60gb]?

    Zoominger
    @Zoominger
    System Integrator
    Нехило так он поработал.
    Для некритичных сервисов пока сойдёт.
    Ответ написан
    1 комментарий
  • Можно ли вообще писать 2д игры в Android studio?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Возможно, есть библиотеки, например libgdx.
    Ответ написан
    Комментировать
  • BTC нода для интернет магазина, как настроить права доступа?

    dimonchik2013
    @dimonchik2013
    non progredi est regredi
    все плохо, брат

    seed фраза кошелька


    это выдает непрофессионала в битках, т.е. непонимание процессов: никакого seed и никакого восстановления в биткоине НЕТ, есть только пара ключей - публичный и приватный, и восстановить приватный из публичного иначе как перебором - нельзя

    а если кто-то говорит, что есть какой-то seed, это означает только одно - доступ к приватному ключу есть не только у тебя, и кошелек только твоим считаться не может
    Ответ написан
    Комментировать