• Rust: От &str к Cow

    • Перевод

    Одной из первых вещей, которые я написал на Rust'е была структура с &str полем. Как вы понимаете, анализатор заимствований не позволял мне сделать множество вещей с ней и сильно ограничивал выразительность моих API. Эта статья нацелена на демонстрацию проблем, возникающих при хранении сырых &str ссылок в полях структур и путей их решения. В процессе я собираюсь показать некоторое промежуточное API, которое увеличивает удобство пользования такими структурами, но при этом снижает эффективность генерируемого кода. В конце я хочу предоставить реализацию, которая будет одновременно и выразительной и высокоэффективной.

    Читать дальше →
    • +34
    • 5,6k
    • 1
  • Сравниваем Swift и Rust


      Поводом для написания статьи стала публикация исходного кода языка Swift — мне стало интересно поближе познакомиться с ним. В глаза сразу же бросилась схожесть синтаксиса с другим молодым языком программирования под названием Rust, к тому же за схожими синтаксическими конструкциями просматривалась и схожая область применения этих языков. Оба языка имеют сильную статическую типизацию с локальным выводом типов, оба компилируются напрямую в машинный код. И тот и другой языки впитали в себя многие приемы из мира функционального программирования. И Swift и Rust имеют средства для запуска кода, написанного на C, что позволяет без труда писать обертки над огромным количеством библиотек. Оба языка рассматриваются как замена существующим системным языкам типа C, C++, ObjectiveC. Так что же в них общего, а что различается?
      Читать дальше →
    • Программируем микроконтроллеры stm32 при помощи QtCreator


        Как-то так незаметно получилось, что программист, который разрабатывал нам прошивку для микроконтроллера, стал банально не успевать и в некоторые моменты я начинал перехватывать инициативу и самостоятельно браться за исправление ошибок.
        Разработка велась в среде IAR, и многие согласятся со мной, что по сравнению с разработкой в QtCreator'е это боль и страдание.
        В какой-то момент мы решили, что быстрее нанять нового программиста и вместе с ним заново переписать прошивку контроллера stm32, так, как я к этому моменту уже немного сам смыслил в их программировании и к тому же обнаружил, что QtCreator умеет отладку на голом железе (плагин BareMetal), я решил принять в этом активное участие.
        Здесь я хочу поделиться шаблоном проекта для stm32f407 от Terra Electronica и рассказать об особенностях его настройки.
        Читать дальше →
      • Vreen — простая и удобная библиотека для работы с vk.api


          Представляю вам новую Qt библиотеку для работы с vk api, которая может пригодиться вам при создании любых настольных и мобильных приложений, взаимодействующих с vk. Проект родился из vkontakte плагина для qutIM'а и перерос в отдельную независимую библиотеку, которой теперь может пользоваться каждый.
          Читать дальше →
        • А давайте пощупаем Qt5

            Выход первой альфы Qt5 уже не за горами, но зачем нам ждать этого момента, если мы можем прямо сейчас окунуться в ближайшее будущее с его QtQuick2, V8 и qpa?
            Поехали
          • QtDockTile — кроссплатформенное использование доков!

              Рассматривая современные тенденции в развитии десктопов сложно не обратить внимание на то, что идея дока становится все более и более популярной. Существует как минимум три популярные реализации этого принципа: Маковский док, таскбар из windiws 7 и launcher'ы из unity. К этому списку в kde 4.8 добавится ещё и icon tasks.
              Одним словом, назревает необходимость в создании универсальной библиотеки для работы со всем этим многообразием.
              Встречаем qtdocktile
              Читать дальше →
            • Разработка приложений для Meego Harmattan

                Этот пост участвует в конкурсе „Умные телефоны за умные посты“.

                image
                В данной статье хотелось бы поделится с Хабрасообществом своим опытом по разработке софта с использованием QtComponents'ов на примере Meego Harmattan'а. Писать мы будем редактор заметок с синхронизацией средствами Ubuntu One.

                Читать дальше →
                • +40
                • 4,5k
                • 9
              • Cmake — собираем переносимые приложения для Mac Os X и Windows

                  image
                  Рано или поздно наступает тот момент, когда приложения из наших лабораторий, полных чудес, вкусных библиотек и красивых фреймворков начинают проситься в большой мир, на компьютеры простых людей, не искушённых в магии. На их компьютерах не то, что не стоят наши новомодные фреймворки и средства разработки, там даже простого компилятора днём с огнем не сыщешь. Не может наше приложение жить без библиотек, которые так редко встречаются в дикой природе, зачахнет оно без них, никогда не видать ему белого света…
                  Но не всё так печально.
                  За подробностями под хабракат
                • Разработка плагинов к qutIM'у из под Windows — быстрый старт

                    Традиционным способом начала разработки было выкачивание всех исходников и их компиляция, и даже из беглого сравнения размера инструкции для Windows и Ubuntu видно, что эта задача очень даже непростая. К счастью, появился способ проще и быстрее.
                    Читать дальше →
                  • Рисуем виджеты в заголовке окна

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

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