Метка «c++» - 8

Когда я изучал язык Go, мне очень понравилась идея с приведением к интерфейсам по сигнатурам методов (остальная часть системы типов мне не понравилась, слишком примитивная). Это ведь статическая утиная типизация! По научному: структурная типизация.

Если вдуматься, у такого подхода куча недостатков: начиная со сложности реализации и заканчивая нарушением принципа подстановки Лисков. Ведь если у класса есть метод с нужной сигнатурой (включая название), это совсем не значит, что этот метод делает то, что ожидается.
Поэтому в мейнстрим языках, в том числе в C#, структурная типизация не поддерживается. Казалось бы на этом и сказке конец. Но недавно я осознал что в проекте, которым я сейчас занимаюсь, структурная типизация применяется. Подробности под катом.
Читать полностью »

27-28 марта в Киеве прошла конференция Microsoft SWIT 2014. В течение двух дней докладчики провели огромное количество выступлений, в том числе и презентацию очков виртуальной реальности Oculus Rift, которые недавно купил Facebook. Но изюминкой конференции стали два доклада .NET-евангелиста и владельца компании Wintellect Джеффри Рихтера.

Предлагаю вашему вниманию короткое интервью, которое мне удалось взять у Джеффри.

Интервью с Джеффри Рихтером на конференции Microsoft SWIT 2014
Читать полностью »

Несколько дней назад мной была написана статья о реализации автоматического обновления программного обеспечения на языке C#.

Приняв во внимание конструктивную критику комментаторов, было принято решение улучшить тот код, добавив несколько новых возможностей, включая улучшение «старых»:

  • Автоматическая проверка, скачивание и установка обновлений;
  • Предоставление пользователю возможности выбора момента обновления (новое);
  • Улучшен механизм проверки версии файла;
  • Проверка целостности файла обновления (новое)

Дабы не перепечатывать текст прошлой статьи, в этой акцентирую внимание лишь на переработанных частях кода.
Читать полностью »

Свой http сервер менее чем в 40 строк кода на libevent и C++11 Просматривая временами Хабр, я периодически встречаю посты на тему создания собственного веб-сервера на C++ или на ином языке. Так как больший интерес для меня представляет C++ из языков программирования, то этот блог я больше всего и читаю. Если его полистать, то можно с легкостью найти как написать свой веб-сервер «на сокетах», с применением boost.asio или чего-то еще. Некоторое время назад я так же публиковал свой пост о создании подобного http-сервера как пример решения тестового задания. Но не ограничившись полученным оным и интереса ради я сделал сравнения с libevent и boost.asio разработками. А тестовое задание как-таковое отказался выполнять.

Для себя как-то по работе я рассматривал libevent и libev. У каждой есть свои преимущества. Если же есть желание или потребность в скорой разработке небольшого http-сервера, то для меня большой интерес представляет libevent, а с учетом некоторых новшеств C++11 код становится намного компактнее и позволяет создать базовый http-сервер менее, чем в 40 строк.
Читать полностью »

PVS-Studio. You shall not pass!
Я временами бываю озадачен, рассматривая ошибки в очередном программном проекте. Многие из этих ошибок живут в проектах годами. Смотришь на сотню ляпов в коде и удивляешься, как программа вообще работает. И ведь как-то работает. Ей даже пользуются. Причем, я говорю не о коде, рисующем покемона в игре. А, например, о математических библиотеках. Да, вы верно догадались. В этой статье пойдет речь о проверке кода математической библиотеки Scilab.
Читать полностью »

Первую статью на хабр хотел написать совершенно о другом, но в один прекрасный день коллега по работе решил заморочиться и сделать защиту от «Атаки по времени» (Timing attack). Не долго разбираясь в различных материалах на эту тему, Я загорелся и решил написать свой велосипед и покататься на нем по лаборатории поэкспериментировать.

Атаки по времени — сказка или реальная угроза?

Результат этого небольшого эксперимента под катом.
Читать полностью »

Несколько лет назад, программируя еще на Delphi, лично для себя соорудил некий код автоматического обновления, который в последствии стал незаменимым при разработке любой программы, где есть обновление. В настоящий момент этот код полностью переписан на c# и я хочу с Вами им поделиться.

image

Вначале определим цели этой реализации:

  1. При обнаружении новой версии обновление должно происходить автоматически;
  2. После обновления программа должна автоматически перезапускаться;
  3. После обновления имя программы должно остаться прежним.

Проблема состоит в том, что программа не может саму себя удалить, заменить и вновь запустить. И, казалось бы, как решить этот вопрос? Здесь нам поможет второй файл, отвечающий за переименование и перезапуск программы, так как мы не гонимся за целью хранить все коды в 1 файле.
Читать полностью »

в 13:31, , рубрики: c++, qt, метки: ,

Исходники. В сравнении с html, создавать новые окна на Qt сложнее — надо указать и тип окна-«тега», и создать новую переменную, заполнять отдельные поля. В попытке решить эту проблему возникла библиотека Qqt.Читать полностью »

Привет!

Во время наших мастер-классов и хакатонов мы неоднократно демонстрировали и помогали другим разработчикам самостоятельно убедиться, насколько легко и быстро можно освоить разработку приложений для Tizen. Мы обязательно продолжим нашу просветительскую деятельность: 2014 год будет весьма и весьма продуктивным в этом плане.

Но как же быть с разработкой самой платформы Tizen?

ОС Tizen изнутри: Meet Up в офисе Samsung 27 марта
Читать полностью »

image
В некоторых случаях Eclipse добавляет в apk исходные коды из каталога jni.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js