• Разве StringWriter унаследован от Stream?

    AlekseyNemiro
    @AlekseyNemiro
    full-stack developer
    Метод Serialize перегружен и, помимо прочего, может принимать TextWriter, от которого наследуется StringWriter.
    Ответ написан
    Комментировать
  • Взлом шифра Вернама(одноразовый блокнот). Как сделать?

    Mrrl
    @Mrrl
    Заводчик кардиганов
    Предполагаем, что известно, на каком языке сообщения, и статистика распределения символов (а также сочетаний по 2, 3 символа...)
    Зависит от того, сколько у нас сообщений.
    Если их достаточно много, то строим статистику символа с каждым порядковым номером по всем сообщениям (символ k встретился P[k] раз). Эта статистика должна получаться из стандартной статистики L для языка как P[k]=L[k^c], где c - искомый символ. Для каждого c считаем вероятность того, что на этом месте оказался именно он, и дальше начинаем искать наиболее вероятный текст для какого-нибудь сообщения.
    Если сообщений только два, то придётся использовать распределение групп символов, смотреть, из каких сочетаний наиболее вероятно получится фрагмент из C1^C2, и дальше распутывать их с помощью каких-нибудь цепей Маркова. Не знаю, получится ли.
    Сильно облегчит дело, если сообщения - фрагменты обычных ASCII-файлов, со всеми знаками пунктуации и переводами строк. Можно воспользоваться тем, что перевод строки имеет код 0D,0A, пробел - 20, другие знаки пунктуации - от 21 до 3F, большие буквы - от 41 до 5A, маленькие - от 61 до 7A (это если текст английский. Для русского ещё лучше). Смотрим на поведение битов 40 и 20. Если в каком-то месте в разных закодированных сообщениях значения бита 40 различны, значит в некоторых это буква, в остальных - знак пунктуации. Причём, буква вероятнее в тех, в которых более частое значение. Немного похимичив, получаем разделение текстов на слова, строки и предложения. Заодно в части сообщений проявляются некоторые буквы. Дальше работаем с распределением одно-, двух- и трёхбуквенных слов. Может быть, повезёт.
    Ответ написан
    5 комментариев
  • Взлом шифра Вернама(одноразовый блокнот). Как сделать?

    kumaxim
    @kumaxim
    Web-программист
    Я знаю только один метод вскрытия таких систем...

    Ссылка 1 | Ссылка 2
    Ответ написан
    Комментировать
  • Реализация арифметических операций. Как устроена?

    tsarevfs
    @tsarevfs Куратор тега C++
    C++ developer
    Реализация зависит от платформы. Вы можете посмотреть во что компилируются интересующие вас операции для конкретного компилятора с помощью дизассемблера (в студии есть встроенный, для unix есть objdump -D > somefile.asm).
    Вообще, оптимизации на уровне арифметических команд это последнее дело. Для начала желательно убедиться, что нет алгоритма с лучшей ассимптотикой (считая что все арифметические операции работают за 1).
    Для обработки однотипных данных возможно получить ускорение за счет векторных операций из расширений процессора SSE* или на GPU.
    Ответ написан
    Комментировать
  • Как узнать, подо что компилирунтся код?

    @drVatman Автор вопроса
    После копания в исходниках zend api нашёлся файл zend_long.h, а в нём определитель ZEND_ENABLE_ZVAL_LONG64, который как раз отвечает за разрядность целых чисел в пхп. Поэтому макрос такой: #ifdef ZEND_ENABLE_ZVAL_LONG64.
    Ответ написан
    Комментировать
  • Как привести объект к типу выше в древе наследования?

    GavriKos
    @GavriKos
    Если ваш Grid был инстанцирован как FileMember - то простое приведение типа и используйте (хоть это и скорее всего свидетельствует об ошибке проектирования). Если же Grid был инстанцирован как Grid - то ничего не сделаете.
    Ответ написан
    Комментировать
  • Как пользоваться ASP.NET MVC?

    Видать плохое видео, раз не понятно самой сути.
    Вообще не советую изучать по видео. На мой взгляд хорошие книги дадут максимально полное представление о технологии, а также уясните тонкости. Большинство таких "видео" исходят из недо-полноценных курсов, где обещают за месяц вас научить зарабатывать по 1.500 у.е., изучая азы HTML. И вроде Hello World напишешь - и вроде никому не нужен ...
    На счет книги по ASP.NET MVC посоветую: "А.Фримен - ASP.NET MVC с примерами на C#".

    Сможете уже через 10 минут чтения данной книги ответить на свои вопросы.
    1 глава как раз разъясняет суть MVC паттерна.
    Ответ написан
    1 комментарий
  • Как сразу убить процесс в Bash?

    @vinca
    1. $ sleep 1000
    2. CTR+z
    3. $ sleep 2000
    4. CTR+z
    5. $ jobs
    [1]- Stopped sleep 1000
    [2]+ Stopped sleep 2000
    6. $kill -9 %2 # обратите внимание на %2 - посылаем сигнал фоновому таску
    [2]+ Stopped sleep 2000
    7. $ jobs
    [1]- Stopped sleep 1000
    [2]+ Убито sleep 2000

    Если кратко - используйте набор утилит, для работы с фоновыми задачами: jobs, bg, fg.
    Отправляйте процесс в фон, используя комбинацию CTR+z, после чего Вы получите id задачи и далее id используете в утилите kill, для отсылки таску любого сигнала. В место pid процесса используйте в качестве аргумента id таска, сопровождая его процентом - % (см. пример 6).
    Ответ написан
    1 комментарий
  • Выбор функционального языка программирования?

    Tyranron
    @Tyranron
    Если под "функциональным" подразумевается функциональная парадигма, то Go тут явно аутсайдер. Советую Haskell для ознакомления с парадигмой фактически в "чистом" виде. После него - Scala и/или Rust, как удачные смешения функциональной парадигмы с другими парадигмами/направлениями. И не забудьте повертеть Erlang.

    Если же под "функциональным" подразумевается удобный инструмент с многими возможностями из коробки, то тут однозначно Go, так как и порог вхождения мал, и прививает хорошие практики. После него Scala + FRP + TypesafeStack тоже должны показаться интересными, но там порог вхождения повыше будет.
    Ответ написан
    Комментировать
  • Кто украл из Chrome-store мои нужные мне расширения?

    Symphony
    @Symphony Куратор тега CSS
    Сознаюсь, это был Я.
    Ответ написан
    Комментировать
  • Кто украл из Chrome-store мои нужные мне расширения?

    renat79
    @renat79
    dude with laptop
    расширение web developer ? firebug ?

    надо еще проставить тег "Нафаня, сундук украли" )
    Ответ написан
    Комментировать
  • Как отловить события WebBrowser в программе .net?

    Neuroware
    @Neuroware
    Программист в свободное от работы время
    Звучит как неудачный костыль, заменяющий механизм динамического создания элементов, какую задачу требовалось решить изначально, до "рождения" в программе webbrowser и прочего?
    Ответ написан
    2 комментария
  • Как подсветить объект на svg?

    @bromzh
    Drugs-driven development
    SVG - это xml. С ним можно работать, как с обыным DOM. В редакторе (хоть в текстовом) добавь нужным элементам id, потом можно либо в css добавить стили для :hover, либо через JS что-то делать
    Ответ написан
    Комментировать
  • Правила объявления интерфейсов. "I" или "!I"?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Никакой "официальной" жесткой конвенции на этот счет нет. Как уже указал RGV, какую конвенцию использовать - личное дело команды / фирмы / техдира.
    Я сам в свое время пришел к Java из Pascal и .NET, и тоже придерживаюсь нотации с I, т.к. это позволяет в коде визуально отличить интерфейс от класса. Просто для примера:
    ...
      IProducer simpleProducer = new Producer();
      IProducer sofisticatedProducer = new SpecialProducer();
    ...
      public void produceSomething(IProducer producer);

    При взгляде на такой код сразу понятно, кто из ху, без всяких дополнительных кликов, наведения курсора и прочих пританцовываний с IDE.
    И хотя это никак явно не помешает креативному балбесу влепить класс там, где нужно использовать интерфейс, это поможет проводящему ревью заметить грабли невооруженным глазом :) С моей точки зрения цена такого удобства в 1 (один !) доп. символ в имени вполне оправдана.
    Ответ написан
    Комментировать
  • Правила объявления интерфейсов. "I" или "!I"?

    clx
    @clx
    В C#:
    1. Соглашение об именовании для C# от Майкрософта, которое все используют
    2. Чтобы отличать от классов

    Как делается в яве - знают явисты и думаю у них есть причины делать как они делают(в том числе, я не знаю правы ли конкретно ваши явисты или нет), однако нет никакой причины, чтобы явисты соблюдали соглашения об именовании от c# и наоборот.
    Ответ написан
    Комментировать
  • Не работает $.ajax через GET в на всех версиях Internet Explorer?

    @amo
    Попробуйте так:
    var str = 'тест';
        $.ajax({
           url: 'http://' + window.location.host + '/search/test',
           type : 'GET',
           data: {
                  str: str
            },
           dataType: "json",
           success: function(res){
            console.log(res);
          }
        });


    ну или так, раз уж это GET запрос:
    var str = 'тест';
        $.ajax({
           url: 'http://' + window.location.host + '/search/test?str=' + str,
           type : 'GET',
           dataType: "json",
           success: function(res){
            console.log(res);
          }
        });
    Ответ написан
    1 комментарий
  • Существуют ли задачи в программировании, для которых нужно решать дифференциальные уравнения?

    SHVV
    @SHVV
    Вопрос в том, как решать дифуры. Аналитически, или численно.
    Из своего опыта, аналитически дифуры не решал ни разу. А вот численно для описания физических процессов:
    - механика сплошных сред (деформация, разрушение, фазовые переходы);
    - классическая механика (игровой физический движок);
    - теория автоматизированного управления (искусственный интеллект в игре для управления объектами с физикой - машинки например).
    Ответ написан
    Комментировать
  • Как привязать VKapi к расширению Chrome?

    EagleMoor
    @EagleMoor
    PHP Yii2 RESTful API Developer
    Chrome — js. Для vk есть vk.com/dev/Javascript_SDK. Юзайте ее и будет вам счастье.
    Ответ написан
    Комментировать
  • Стоит ли ставить крупный сайт на node.js? Не рано ли?

    rumkin
    @rumkin
    Работал над крупным проектом с охватом аудитории в несколько миллионов пользователей в сутки, использовался nodejs. Полет нормальный, единственный минус – кадры. Нужен сильный nodejs программист в комманде.
    На том же express (django для ноды) работают очень нагруженные сайты, например MySpace. Полный список: expressjs.com/applications.html.
    Ответ написан
    Комментировать