• Java. Как перехватить аргумент при вызове метода?

    @nirvimel
    Случай у вас довольно тяжелый, но не стоит забывать, что рефлексия способна на чудеса.

    P.S. На python, этот (антипаттерн) называется monkey patching.
    Ответ написан
    6 комментариев
  • Может ли JavaScript (клиентский) работать с файловой системой?

    @nirvimel
    Из браузера - НЕТ.
    Ответ написан
    Комментировать
  • Как устроить быстрое чтение рандомных участков в файле в 400 гб?

    @nirvimel
    Автор должен был сразу указать, что речь идет не о физическом сервере, а о гипервизоре azure microsoft.
    Это объясняет многое... Нет, это объясняет все!
    И слово SSD будет лучше убрать, если вы этот "SSD" сами в руках не держали (и никто его в руках не держал, т.к. это просто виртуалка под гипервизором).
    Ответ написан
    8 комментариев
  • В какой момент нужно патентовать проект?

    @nirvimel
    Хочу реализовать свой проект.

    И считаю его очень оригинальным. Сами программисты до такого бы никогда не додумались.

    Проект требует вложений : в создание около 500 тыс руб и содержание в течении бесплатного периода около 5 млн.

    Но я понимаю, что проект несет большие риски.

    Есть программисты которые готовы взяться за мой проект.

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

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

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

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

    чтоб только я являлся создателем этого проекта.

    Я же придумал всю эту схему, значит я - директор. К тому же я - бизнесмен, а они простые рабы, их судьба жить от зарплаты до зарплаты, а я иду к успеху.

    И вообще какие еще юридические стороны нужно знать?

    Кроме трудового кодекса, который мне совсем не нравится.

    Рашен бизнесс во всей своей красе.
    Ответ написан
    1 комментарий
  • Доступ к файлам посетителя из браузера - как объяснить что запрещен?

    @nirvimel
    Объяснить так - скинуть ссылку, перейдя по которой он увидит: Все ваши файлы теперь зашифрованы, переведите $100500 на кошелек 64578934725243457938 чтобы получить ключ для расшифровки.
    Ответ написан
    Комментировать
  • На чем писать back-end, в котором много математики?

    @nirvimel
    Python для вычислений медленный!? Вы просто не умеете его готовить!
    Я уже писал тут, что питон только сверху динамически типизированный скрипт (что необходимо для скорости разработки), но векторные вычисления numpy выполняются на самом железе, то есть так, что вы не напишите это на C/C++ быстрее чем на несколько процентов.
    Кроме того, для тех случаев, когда векторных вычислений не хватает, существует Cython, это такой же компилируемый (и не уступающий в производительности) как C/C++ язык, с прямым доступом к питоновым объектом, передаваемым из скрипта.

    статистика, fft, свертки, обработка звука и изображений, возможно немного распознавания

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

    @nirvimel
    D' Normalization расписал все правильно, только в действительности все несколько сложнее. Функции создания окна (меню и все элементы управления - тоже окна; windows же) нигде не принимают цвет через параметр. По умолчанию окна отрисовываются в цветах системной "темы". Чтобы переопределить цвета, надо перехватывать WndProc соответствующего окна, в нем на событие WM_PAINT устанавливать цвет Pen и Brush, пересылать сообщение оригинальному обработчику и надеяться на то что он сам не переопределяет Pen и Brush на каждый вызов WM_PAINT.
    Придется дописывать много кода, компилировать его так что-бы в нем или совсем не было абсолютных адресов (относительные short jumps) или все абсолютные адреса точно попадали в ту область, в которую предполагается вставка. Тут уже без ассемблера не обойтись (сколько же на Тостере за последнее время вопросов: "Где ассемблер незаменим?").
    Далее идет внедрение кода, как у вирусов. На эту тему можно много литературы найти. Если коротко, то есть два варианта: 1) дописать свой код в "хвост" секции кода, если поместится; 2) создать еще одну секцию кода в конце файла, это вариант открывает больше возможностей, но большинство антивирусов будут ругаться на такой exe-шник.
    Потом найти точку для патча, вырезать оттуда часть кода (например, вызов api-функции с подготовкой аргументов), перенести в свой код, а в той точке пропатчить что-то типа call our_code_block \ nop \ nop \ nop ....
    В общем задачка очень серьезная и с наскока такое не решается.
    Ответ написан
    1 комментарий
  • Почему функция не видит переменную?

    @nirvimel
    check объявляется только при if node_name: В противном случае остается не объявленной.
    Ответ написан
    Комментировать
  • Стоит ли учить Scala + Akka?

    @nirvimel
    Akka предназначен в первою очередь для борьбы с проблемами, связанными со сложной логикой в многопоточном коде (всякие deadlocks, race conditions).

    сложен ли в освоении?

    Сколько времени у вас обычно занимает изучение отдельного языка программирования? Примерно столько может потребовать изучение Scala для тех, кто пришел не с Java. Для тех кто пришел с Java - примерно 2/3 от этого времени.
    Akka это клон модели акторов Erlang, соответственно, для знакомых с ней, изучение akka потребует чуть больше чем ноль минут. Для тех кто намучился с java concurrency (отчасти справедливо и для .net), акторы - как бальзам на душу, хоть и незнакомая концепция, но воспринимается очень легко (еще бы, после java concurrency!). Для тех, кто писал в основном однопоточный код, акторы (вместо прямого вызова функций) - нечто совершенно новое, своеобразно, непривычное.

    применяется ли он в продакшене?

    На странице поищите SELECTION OF PRODUCTION USERS.
    Ответ написан
    Комментировать
  • Как заменить все пробелы ограниченные определенным символом?

    @nirvimel
    1. Нельзя парcить HTML регулярками.
    2. import re
      from lxml import etree
      doc = \
          """
          <body>
          <img alt='fdsfsd' src='CONST text1 text2'/>
          adasd
          <img alt='sadsdd' src='CONST text3 text4'/>
          adasdas
          </body>
          """
      tree = etree.fromstring(doc, parser=etree.HTMLParser())
      for img in tree.xpath('//img[@src]'):
          img.attrib['src'] = re.sub(r'\s+', '_', img.attrib['src'])

    Ответ написан
    2 комментария
  • Почему не используют шары с гелием для квадрокоптеров?

    @nirvimel
    ЛегчеВоздуха vs ТяжелееВоздуха - Это спор разрешился еще в начале XX века полной победой последних.
    Если коротко:
    Чтобы держать аппарат над землей нужен ОЧЕНЬ большой объем газа.
    Большой объем == большое сопротивление воздуха.
    Большое сопротивление == большая часть мощности двигателей тратится на преодоление этого сопротивления.
    Чтобы удерживать в воздухе аппарат тяжелее воздуха (в итоге он будет более легкий) требуется меньшая мощность двигателей и меньшее потребление энергии.
    Ответ написан
    Комментировать
  • Можно ли использовать чужой код?

    @nirvimel
    Почитайте про свободные лицензии
    Ответ написан
    Комментировать
  • Машинное обучения чайника?

    @nirvimel
    Машинное обучение охватывает довольно широкий круг задач, между собой разные области не то чтобы совсем не связаны, но нельзя сказать, что разбираться в одной из этих областей невозможно без полного понимания остальных.
    Если цель - овладение машинным обучением во всей совокупности его задач и областей, то придется заплатить за это 2-3-4 года своей жизни, как сказал brainick .
    Если же интересует конкретный класс прикладных задач, то можно достаточно глубоко погрузится в одну узкую область и стать специалистом в ней. Теоретические основы вполне реально изучить за время, за которое вы изучаете отдельный язык программирования. Но нет предела совершенствования практических навыков, как и нет предела совершенствования владения языком программирования.

    Общее представление о задачах машинного обучения даст возможность выбирать для себя круг задач и специализацию. На русском доступна специальная вики по машинному обучению https://www.machinelearning.ru/ - пока еще, бледная тень английской вики (может со временем разовьется).
    Для тех, кто не боится английского - большая подборка.
    Ответ написан
    2 комментария
  • Как в xpath получить только те элементы после которых есть определенные элементы?

    @nirvimel
    xpath('//div[@id="x" and font/b]/p[1]'), xpath('//div[@id="x"]/font[1]/b[1]')

    Сама функция и формат вызова зависит от используемой библиотеки, разумеется.
    Ответ написан
    Комментировать
  • Что лучше использовать для распознавания образов? Машинное обучение или нейронные сети?

    @nirvimel
    Распознавания образов - одна из задач машинного обучения.
    Нейронные сети - одна из технологий машинного обучения.

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

    @nirvimel
    def prev_cur_next(list_arg):
        extended_list = [None]
        extended_list.extend(list_arg)
        extended_list.append(None)
        return [extended_list[i - 1:i + 2] for i in xrange(1, len(extended_list) - 1)]


    UPD: Сравнительный бенчмакр всех предложенных решений - https://ideone.com/bDogvY
    К моему удивлению, мое отстает от решений Артём Клименко и angru ,. Признаю их победу.
    Ответ написан
    3 комментария
  • Как запечатлеть или измерить синее свечении от LCD?

    @nirvimel
    Попробуйте на мониторе в настройках выкрутить синюю компоненту RGB на минимум - экран станет каким-то желтым, это будет программная защита от синего излучения.
    Когда вы купите и наклеите Особую АнтиСинюю Пленку, то экран станет таким же желтым, это будет наглядным подтверждением того, что вы потратили деньги не зря.
    Ответ написан
    Комментировать
  • XML to XML парсинг и конвертация. Как переделать структру?

    @nirvimel
    XSLT - Если хочется декларативно описыать преобразования.
    Если приятнее императивно, тогда просто руками на любом ЯП.
    Ответ написан
    2 комментария
  • Как реализовать сервис видео-загрузки файлов и отображения их на сайте?

    @nirvimel
    Если канал слабый да еще с оплатой по трафику, то о прямой трансляции видео можно забыть. Лучше на сервере открыть к каталогу с видео доступ по FTP или Samba. А на терминалах делать rsync удаленного каталога в локальный откуда идет трансляция. Это будет максимально экономично по трафику (насколько это вообще возможно) и любые проблемы с сетью могут в худшем случае только замедлить синхронизацию, трансляция же будет продолжаться бесперебойно.
    Перекодирование видео, загружаемого пользователями, конечно, необходимо. Но это уже отдельный вопрос.
    Ответ написан
    2 комментария
  • Как парсить данные из вкладки Network Developer tools?

    @nirvimel
    Можно загружать страницу при помощи Selenium. Настроить браузер на работу через прокси. Поставить прокси и настроить логгирование всех запросов. Наш скрипт может читать этот лог и извлекать оттуда те же адреса, которые ловит Network Developer Tools.
    Ответ написан