• Логирование сообщений с Easylogging++


      Система логирования — незаменимый инструмент для протоколирования работы приложений. Для тех, кто не хочет реализовывать его самостоятельно, на C++ уже существует бессчётное количество готовых библиотек (Log4cplus, Apache log4cxx, Boost.Log и тд.), однако Easylogging++ отличается простотой использования и компактностью, не требует сторонних библиотек или инсталляции. Весь её код содержится в одном единственном заголовочном файле, который просто необходимо включить в код приложения.

      Данная статья предлагает краткий обзор функционала Easylogging++ и примеры использования этой библиотеки.
      Читать дальше →
    • Кэшинг пакетов для Composer

        Используя современный подход к разработке проектов начинаешь пользоваться прелестями менеджера пакетов, в случаe с разработкой на PHP это Composer. В данной статье мы кратко рассмотрим Composer и далее речь пойдёт о настройке локального кэша пакетов.
        Читать дальше →
        • +15
        • 11,8k
        • 9
      • Сборка Qt 5.3.0 в Visual Studio 2008

        • Tutorial
        Всех с наступающим!

        Digia предлагает Qt5 для Windows только скопилированную под Visual Studio 2010, причем с параметрами, которые не для всех идеальны. В частности это

        • Собственно, сама необходимость использовать только VS2010 и зависимость Visual C++ 2010 Runtime (msvcr100.dll, msvcp100.dll)
        • зависимость Qt5Core.dll (и соответственно вашего приложения) от ICU. Это следующие DLL-ки: icuin49.dll, icudt49.dll, icuuc49.dll
        • зависимость Qt5Gui.dll от Angle Library. Это следующие DLL-ки — libEGL.dll, libGLESv2.dll

        В конце также будет рассмотрен вопрос последующего распространения приложений без необходимости устанавливать Microsoft Visual C++ 2008 Redistributable Package при установке вашей программы.
        Читать дальше →
      • Java собеседование. Коллекции

          С недавнего времени у меня появилась настойчивая мысль, что профессиональное развитие сильно замедлилось и это хочется как-то исправить. Да, читаю книги, слушаю курсы, но в то же время приходит и понимание того, что возможно пришло время сменить работу, здесь вроде как все изучено, плавно уходим в рутину. Данная мысль сподвигла меня на рассылку своего резюме в несколько компаний — лидеров рынка. После прохождения собеседования в 3 из них, я решил, как водится внести свои 5 копеек в освещение обширной темы собеседования, а именно технических вопросов по Java коллекциям, с которыми приходится сталкиваться. Да, знаю, читатель скажет: «коллекции — избитая тема, сколько можно», но часть из приведенных ниже вопросов, я задавал своим знакомым разработчикам, которые занимают именно позиции разработчиков («крепких середнячков», по меркам недалекой от Москвы глубинки, которые уверенно справляются со своей работой на практике, а вот в теории скажем так есть пробелы, потому, что работа не требует решения каких-то нетривиальных задач, да и потому что не всем это интересно — изучать как внутри работает структура данных), вызывало растерянность. Думаю, что рассмотренный материал будет не очень интересен разработчикам выше уровня Junior (я попрошу их комментировать, дополнять и критиковать изложенный здесь материал), а вот Junior`ы уверен, найдут в этой статье интересное для себя.
          Читать дальше →
        • Система расширений Qt Creator

          • Tutorial

          Предисловие


          Всем привет. Сразу признаюсь, я начал писать данный пост уже достаточно давно, но времени полностью завершить его написание всё не хватает. Поэтому, сейчас я публикую его в текущем состоянии, а описание трёх незавершённых разделов всё же отложу и постараюсь опубликовать отдельным постом.

          Введение


          Это заметка, в которой я хотел бы немного описать архитектуру и систему расширений среды разработки Qt Creator. Изначально, я предполагал лишь перевести документ Writing-Qt-Cretor-plugins.pdf, но так уж вышло, что развитие Qt Creator не стоит на месте и во первых, данный документ уже не столь актуален (сам устарел, API поменялось, куски кода не полные и часто не работают), а во вторых со времени его написания появлись дополнительные возможности расширения Qt Creator, которые хотелось бы описать.

          Тем не менее, не будь этого документа, не было бы и данной заметки: из него я взял очень много, вплоть до структуры поста, при этом постаравшись где-то что-то выкидывая/заменяя/добавляя сделать пост актуальным для последней на текущий момент времени версии Qt Creator 2.4.0.

          Кому может быть полезен данный документ? В первую очередь это конечно же Qt-программисты, которые выбрали данную IDE как основную среду разработки.

          Кроме того, благодаря продуманной системе расширений Qt Creator, данный материал будет полезен тем, кто собрался создавать собственные средства разработки, но не хотят начинать писать их с чистого листа: человек может отключить все ненужные ему расширения Qt Creator и написать свои собственные, пользуясь при этом готовыми примерами в исходниках Qt Creator.

          Итак, что же нас ожидает под катом (жирным отмечены готовые разделы):

          1. Сборка Qt Creator
          2. Первое расширение
          3. Добавление новых меню и пунктов меню
          4. Архитектура Qt Creator
          5. Добавление нового редактора (Editor)
          6. Добавление боковой навигационной панели
          7. Добавление страницы в диалог настроек
          8. Добавление фильтра в диалог поиска
          9. Добавление нового типа проекта

          Напомню, что Qt Creator является кросс-платформенной свободной IDE для работы с фреймворком Qt, разработанной Trolltech (Nokia). Что не мешает сделать из него простой текстовый редактор с подсветкой синтаксиса, простым отключением всех расширений. Внимание, сотни картинок!
          Читать дальше →
        • Фотографии высокого качества

            С радостью сообщаем хабраюзерам об увеличении качества загружаемых фотографий ВКонтакте. Судя по комментариям, которые мы постоянно анализируем и выносим на обсуждение, ограничение на размер фотографий мешало многим пользователям.

            Читать дальше →