• Как передать данные с одной вкладки браузера в другую?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Я бы попробовал на одном из доменов разместить страницу, которую бы открывал в iframe с обоих доменов, postMessage'ом бы говорил в этот фрейм, что нужно передать, затем использовал события localStorage для передачи данных с одного iframe в другой. Ну и затем postMessage наружу.
    Ответ написан
    Комментировать
  • Можно ли применить define что бы изменить реализацию функции, или как лучше это сделать?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Не программирую на C++, не использую Qt, но похоже ваш moc — это отдельный тул, который участвует в процессе сборки. Нет никаких проблем после него запустить программу на любом ЯП, которая выполнит чуть более умный препроцессинг, найдя в файле позицию ClassA::qt_metacall и затем заменит первое вхождение QObject::qt_metacall на InterfaceA::qt_metacall.
    Ответ написан
    2 комментария
  • Как загрузить и обработать несколько файлов в node. Js?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Нужно использовать что-нибудь для обработки multipart/form-data, вроде node-multiparty.

    Там в событии part будут приходить потоки, нужно будет копировать их содержимое в список в таблицу имяфайла → список кусков. Затем по окончанию запроса посчитать общую получившуюся длину файлов в каждом списке, сделать такой буффер, скопировать всё в один, обрабатывать как хочется.

    Отправить тривиально — держать ссылку на response, как закончили обрабатывать — туда можно записать ответ. Только если у вас не текстовые файлы и хотите, чтобы он автоматически скачался, а не показался в браузере — установите заголовок ответа в application/octet-stream.
    Ответ написан
    Комментировать
  • В чем при программировании многопоточности возникает ошибка?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    В документации SuspendThread написано, что его лучше использовать только отладчикам, а не в реальной жизни.

    Calling SuspendThread on a thread that owns a synchronization object, such as a mutex or critical section, can lead to a deadlock if the calling thread tries to obtain a synchronization object owned by a suspended thread.


    Кроме того, SuspendThread/ResumeThread инкрементируют/декрементируют счётчик, в зависимости от того поток работает или нет. Проверяйте что возвращают функции, т.к. если, например, ResumeThread провалится, в итоге вы получите рассинхронизацию счётчика и уже никогда не сможете его разбудить.

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

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    1. Создаём общую очередь задач (потокобезопасную, блокирующую/неблокирующую, зависит от шансов коллизий)
    2. Запускаем сколько нам нужно потоков, которые в цикле берут себе задачу из очереди, обрабатывают её и кладут куда нужно результат (лучше — вызывают коллбек у задачи, который сам решит, что делать с результатом)
    Ответ написан
    1 комментарий
  • Как собрать 3 файла в одном js?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Переопределяется переменная info, поэтому можно сделать так:

    <script src='http://cw1.worldoftanks.ru/static/551254/wgcw/regions/reg_01/map.js'></script>
    <script>var info1 = info;</script>
    <script src='http://cw1.worldoftanks.ru/static/551254/wgcw/regions/reg_02/map.js'></script>
    <script>var info2 = info;</script>
    ...


    А затем тот код, который рисует обернуть в функцию, чтобы передавать ей разные info (info1, info2, ...) и элементы, куда рисовать.
    Ответ написан
  • JavaScript - Как написать свой lexer \ parser?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Для джаваскрипта советую посмотреть на PEG.js. Он осиливается за час-два, плюс PEG-грамматики крайне мощные, способные описывать даже контекстно-зависимые грамматики местами (обычно используются только контекстно-свободные).

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

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Если смотреть на эту формулу, то видно, что весь факториал считать не нужно и она немного сокращается (начало факториала N делится на весь факториал M).

    C = N! / (M! * (N - M)!)


    import math
    
    def combinations(n, m):
        k = n - m
        if k == 0:
            return 1
    
        result = 1
        for i in range(m + 1, n + 1):
            result *= i
    
        result //= math.factorial(k)
        return result
    
    print(combinations(30, 25)) # 142506
    Ответ написан
    Комментировать
  • Как через js определить пользователя, пришедшего с яндекс маркета?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Во-первых, как сказал Иван , можно проверять utm_source=marketYandex в запросе.

    Во-вторых можно попытаться глянуть на referrer:

    if (/^(?:\?|.*&)utm_source=marketyandex(?:&.*)?$/i.test(document.location.search) ||
        /^.*?\/\/market\.yandex\.[a-z]+\/.*$/i.test(document.referrer))
    {
        // скорее всего с яндекс маркета
    }
    Ответ написан
    1 комментарий
  • Что будет при приёме udp пакетов, если клиентская программа их не обрабатывает?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Аккуратнее со своими UDP-протоколами. Вам нужен congestion control, чтобы регулировать скорость передачи пакетов с одной стороны на другую.

    Клиент серверу может слать, в принципе, сколько угодно, если ему провайдер даёт лишь пару мегабит. Но если сервер «плюнет» своим стогигабитным каналом одному клиенту чего-нибудь — будет довольно плохо (пакеты будут сбрасываться ещё по пути к клиенту, а из того что дойдёт всё равно сбросится большая часть, ну и сети придётся не очень по вкусу подобное).
    Ответ написан
    Комментировать
  • Где программисту искать стартап-идею?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Просто работайте над чем-нибудь. Идеи будут возникать сами собой, проверено.
    Ответ написан
    Комментировать
  • Клиент-серверное приложение по сбору информации?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Можно банально написать shell-скрипт, который будет в цикле спать и отправлять по HTTP POST'ом содержимое файла на сервер.

    #!/bin/bash
    while true
    do
      curl --data-binary @/some/path/to/file http://remote-server.example/uploaded -sS > /dev/null
      sleep 60
    done


    А затем обрабатывать их на той стороне чем угодно.

    Можно усовершенствовать скрипт, наблюдая за изменением файла, а не просто посылать по таймауту (у node.js, например, можно использовать fs.watchFile).

    Ну и затем если файл довольно объёмный — подумать, как организовать отсылку лишь разницы изменений, а не весь целиком.
    Ответ написан
    2 комментария
  • Где найти пример подбных «карточек»?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Используется Masonry.

    Ну а эффект появления блока при наведении реализовать тривиально. Просто кладём название/цену в блок, туда же описание. При наведение на родительский блок показываем блок с описанием, показываем бордер, увеличиваем z-index всему этому добру. Вполне возможно реализовать на чистом CSS.
    Ответ написан
    Комментировать
  • Как сделать такой логотип?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Надеюсь, вы не будете рисовать такие логотипы. Разве что для стирального порошка.

    Если не использовать никаких специальных средств для создания 3D-эффектов, а использовать только кривые Безье, то можно каждую сторону нарисовать отдельно, затем в нужных местах добавить радиальные/линейные градиенты, используя копии поверхностей в качестве масок, чтобы градиенты находились только внутри этой поверхности.

    Тогда можно будет достичь эффектов бликов, которые ведут себя по-разному на сплошных гранях и на рёбрах (для рёбер придётся нарисовать дополнительные фигуры, по которым будет распространяться блик).
    Ответ написан
    5 комментариев
  • Как формируется курс валюты?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Далёк от финансов и не знаю ни одного из понятий выше, но мне всегда казалось, что курсы валют формируются биржей.

    Положим, у нас есть пара доллар/евро. На биржу приходят люди с мешками долларов и евро. И, например, у кого-то есть мешок долларов и ему нужны евро. И он считает адекватной ценой 0.9 евро за 1 доллар. И говорит, что у него есть 10к долларов, которые он продаст по такой цене.

    Те, у кого есть евро, но которым нужны доллары смотрят — можно взять доллар за 0.9 евро. Если их это устраивает — то покупают, если нет, то делают свои предложения. Например, 1 доллар за 0.8 евро.

    В итоге получаются с двух сторон предложения с разными стоимостями и объёмами. Разрыв между предложением покупки и продажи — та самая разница, которую показывают в банках. Если хочется купить/продать сразу же — меняемся с самым выгодным вариантом. Если хочется повыгоднее — выставляем своё предложение и ждём, пока найдётся тот, кто хочет купить сейчас.

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

    Более визуально можно увидеть это на примере графика. Например, вот для биткоина (market depth). Показан объём биткоинов, которые готовы купить/продать за разное кол-во $. И текущий курс находится там, где за него готовы столько платить.

    Где синие это те, кто хотят продать биткоины, а красные — кто хотел бы их купить.

    9b081fdf34d2483c9e218ddd69c33131.png28ae94a4c9a947bd9e805f1f936ca5e9.png
    Ответ написан
  • В чем проблема в использовании setInterval в обработчике события mouseenter?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Вы перепутали mouseover с mouseleave: jsfiddle.net/jykppa8k/1
    Ответ написан
    Комментировать
  • Как повысить уровень программирования в общем и в C++ в частности?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Больше велосипедов в домашних проектах.

    Например, попробуйте на C++ написать свой HTTP-сервер. Который бы был полностью асинхронен. Чтобы можно было взять вашу библиотеку, создать экземпляр сервера, указать ему порт, навешать хэндлеров на обработку запросов, которым бы передавались объекты для управления запросом (в том числе считывание/запись данных, сервер не должен делать этого сам, приложение должно) и от которого не требовалось бы произвести обработку запроса тут же на месте, а когда ему захочется в будущем.
    Ответ написан
    Комментировать
  • Как вернуть конкретный элемент из массива js?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Если я всё правильно понял, то вам не нужен slice, а просто взятие элемента по индексу:

    var lastOption = $('option', $lastdp);
    hide = {2: $('option', $lastdp).slice(1, 8), 3: [lastOption[0], lastOption[4], lastOption[9]]}
    Ответ написан
    1 комментарий
  • Загрузка svg на страницу из директории?

    Rulexec
    @Rulexec
    Метатеоретик теории типов
    Вы можете ajax-запросом получить содержимое svg, создать из этой строки элемент и добавить в DOM.

    $('button').click(function(){
      $.get("/some.svg", function(data) {
        var svgEl = $(data);
        $('div').empty().append(svgEl);
      }, 'text');
    });


    Пример: https://dl.dropboxusercontent.com/u/10234425/toste...
    Ответ написан
    4 комментария