Как стать автором
Обновить
26
0
Яков @Zifix

Qt/QML Developer & UX Designer

Отправить сообщение

Работа с моделями и делегатами на примере создания списка аля FireFox

Время на прочтение8 мин
Количество просмотров27K
Не раз проскакивали сравнения сложности построения интерфейсов на Qt. В данной статье приведу пример, как можно сделать список в стиле списка модулей FireFox.



Для этого воспользуемся MVC подходом, который реализован в Qt. На выходе получим что-то вроде этого:


Весь процесс разделим на 3 части:
  1. создание модели
  2. создание делегата
  3. создание представления


Читать дальше →
Всего голосов 54: ↑47 и ↓7+40
Комментарии12

Интервью с разработчиком TuxOnIce Найджелом Каннингемом

Время на прочтение14 мин
Количество просмотров2.1K
Разработчик подсистемы гибернации для ядра Линукса, Найджел Каннингем (Nigel Cunningham), любезно уделил время ответам на вопросы читателей Хабра и ЛОРа.

В интервью затрагивается тема разработки TuxOnIce и включения его в ядро, а также увлечения Найджела и его предпочтения.
Читать дальше →
Всего голосов 29: ↑28 и ↓1+27
Комментарии7

10 правил хорошего тона при описании багов

Время на прочтение6 мин
Количество просмотров201K
Здравствуйте, меня зовут Наталья, я инженер по тестированию компании Docsvision.
Иногда, когда я просматриваю ошибки, записанные новенькими (а иногда и старенькими) тестировщиками, рука машинально тянется к лицу. В голове возникает только одна мысль:



«Что? Что я сейчас прочитала?»

В интернете много информации о том, ЧТО обязательно должно присутствовать в баг-репорте. А я решила поделиться с вами своими мыслями о том, КАК нужно писать баг-репорт, чтобы было понятно, о чём вы пишете.
В первую очередь, я писала это для инженеров по тестированию и инженеров технической поддержки, которые передают нам баги, присланные заказчиками. Также моя статья может помочь сформировать описание возникшей проблемы при обращении пользователя в техподдержку: корректное описание позволяет без дополнительных вопросов быстрее обработать инцидент.
Вообще её может быть полезно почитать всем членам команды разработки ПО, которые фиксируют своё общение в багтрекинговой системе.
Читать дальше →
Всего голосов 56: ↑36 и ↓20+16
Комментарии65

Создание дизайна Landing Page

Время на прочтение11 мин
Количество просмотров242K


Landing Page – (далее по тексту Целевая страница) – одностраничный сайт, построенный таким образом, чтобы обеспечить сбор контактов максимального количества целевых посетителей и максимальную конверсию в контексте его использования.

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

Так научимся же создавать качественные и красивые целевые страницы. Разобьём урок на 3 части. Содержание, Оформление и Практика.
Читать дальше →
Всего голосов 50: ↑32 и ↓18+14
Комментарии47

Эффективная работа с SQLite на примере ICQ

Время на прочтение9 мин
Количество просмотров29K
Как и во многих других приложениях, нам в мобильном ICQ приходится хранить достаточно много информации: сообщения, контакты и тому подобное. Когда количество запросов к этим данным достигает какого-то критического значения, приложение начинает тормозить. Долгий запуск, медленное открытие чата, медленная отправка сообщений, постоянные спиннеры — все это жутко напрягает. Чаще всего причиной тормозов является неудачная работа с данными. В статье я хочу поделиться нашим опытом рефакторинга структуры данных, оптимизации запросов и некоторыми удобными приемами для миграции.

Несколько слов об исходной задаче. Основная сущность у нас — профиль ICQ, у которого есть список контактов, а у тех есть сообщения. Наше приложение существует уже много лет, разрабатывалось разными людьми с разными подходами, номер версии основной БД уверенно приближался к 30. Кроме того, количество фич в продукте невозможно предсказать заранее, это тоже повлияло на архитектуру. В общем, модель данных изначально была примерно такой:

Читать дальше →
Всего голосов 50: ↑46 и ↓4+42
Комментарии8

Спросите Итана №18: Почему мы все не внутри чёрной дыры?

Время на прочтение4 мин
Количество просмотров41K
image
Мир вам ничего не должен – он был тут раньше вас.
— Марк Твен

Читатель спрашивает:
А почему Вселенная не сжалась в чёрную дыру сразу после Большого взрыва?

Честно говоря, я и сам об этом много думал. И вот почему.
Читать дальше →
Всего голосов 44: ↑40 и ↓4+36
Комментарии75

7 правил создания красивых интерфейсов. Часть 2

Время на прочтение9 мин
Количество просмотров104K


Недавно мы в «Я люблю ИП» закончили курсы по дизайну от trydesignlab.com. И это одна из самых важных статей, которую нам посоветовал ментор в процессе обучения. Сегодня мы публикуем вторую часть перевода. Посмотреть все наши работы с курсов можно в ВКонтакте по тэгу #design101@iloveip.

Мы говорили о правилах создания чистых и красивых интерфейсов.

Вот эти правила:
  1. Свет падает сверху (Часть 1)
  2. Сначала черное и белое (Часть 1)
  3. Увеличьте белое пространство (Часть 1)
  4. Научитесь накладывать текст на изображения
  5. Научитесь выделять и утапливать текст
  6. Используйте только хорошие шрифты
  7. Крадите как художник

Читать дальше →
Всего голосов 46: ↑44 и ↓2+42
Комментарии15

GammaRay — средство интроспекции Qt-приложений

Время на прочтение4 мин
Количество просмотров15K
Фреймворк Qt предоставляет неплохие средства разработки — входящая в него IDE Qt Creator включает дизайнер, отладчик, профайлер и другие удобные вещи. К сожалению, даже со всем этим иногда не очень понятно, почему приложение в данные момент выглядит так, как выглядит: чего-то не видно, что-то выглядит не так, как ожидалось, где-то неподходящий размер шрифта или неверная картинка.

Часть этих проблем может быть решена в Qt Designer, но только часть. Qt Designer имеет несколько существенных недостатков: во-первых, он неверно отображает положение Qt Quick компонентов в случае активного использования Javascript при расчете их координат и размеров, во-вторых в дизайнере мы видим состояние только «пустой» формы, без загруженных в неё данных. В общем, очень не хватает чего-то вроде инструментов разработчика в любом современном браузере: чтобы можно было посмотреть всё дерево компонентов, найти нужный, увидеть его положение относительно других, свойства, поправить на лету что-то, подобрать цвет\шрифт\размер, увидеть какие обработчики повешены на события и т.д.

И такой инструмент в мире Qt появился! Встречайте — GammaRay, средство интроспекции приложений на Qt. GammaRay понимает, что такое Qt, из чего состоит ваше Qt-приложение, как в нём взаимодействую компоненты, как они выглядят, как генерируются и обрабатываются события и т.д. Давайте посмотрим, что умеет GammaRay.


Читать дальше →
Всего голосов 28: ↑28 и ↓0+28
Комментарии6

Налоговый суслик. Особенности упрощенной системы налогообложения при работе по договорам с Apple, Google и другими

Время на прочтение46 мин
Количество просмотров54K
В данной статье я постараюсь провести краткий юридический ликбез для разработчиков по некоторым положениям Гражданского кодекса, имеющим значение в контексте деятельности индивидуальных предпринимателей и организаций, применяющих упрощенную систему налогообложения, в работе по договорам с Apple, Google и другими компаниями, а также обратить внимание на некоторые не всегда очевидные налоговые нюансы, которые, как показал личный опыт изучения данной темы, довольно часто ускользают от внимания разработчиков или вызывают множество вопрос и споров.

Прочтите внимательно эту статью, если вы применяете упрощенную систему налогообложения с объектом налогообложения «доход» по ставке 6 процентов и продаете игры или приложения в Google Play, Apple App Store, а также прочий цифровой контент — например, 3D-модели — в Steam, Unity Asset Store или на других площадках, в условиях договоров с которыми фигурируют комиссии, агентские вознаграждения и прочие формы разделения выручки между сторонами.

Из материала вы узнаете:

  • Почему разработчику желательно обладать хотя бы базовой юридической грамотностью
  • Чем с точки зрения Гражданского кодекса являются игры и приложения и какие права на них есть у разработчиков помимо авторского права
  • Что такое агентский договор и почему все это важно при работе по договору с Apple или Google
  • Кто такой налоговый суслик и почему он может превратиться в пушного зверя
  • Какой «подвох» существует для применяющих «упрощенку» в части определения налоговой базы
  • Почему налог на добавленную стоимость (НДС) продолжает преследовать нас, даже когда мы не являемся его плательщиками
  • Как, с точки зрения Федеральной налоговой службы, облагаются НДС внутриигровые покупки (InApp Purchases)
Покажите мне суслика!
Всего голосов 40: ↑36 и ↓4+32
Комментарии84

Как сделать красивую документацию для Web API, за которую будет не стыдно

Время на прочтение3 мин
Количество просмотров40K
Я хотел бы рассказать вам об утилите, с которой вы сможете забыть о боли создания документации для Web API. О том как это сделать прошу всех под кат.


Все вкусняшки тут
Всего голосов 45: ↑39 и ↓6+33
Комментарии25

Как красиво оформить публикацию на Хабре

Время на прочтение7 мин
Количество просмотров45K
Публикация – основная единица связи автора с читателем. Практика показывает, что на Хабре можно разместить почти любой формат: небольшой анонс и лонгрид-обзор, интервью, фотоотчёт, трансляцию события, урок и многое-многое другое. Нередко успех публикации зависит и от её оформления – приятно оформленный материал читать одно удовольствие. В этой статье мы постараемся предоставить вам много полезных советов по хорошему оформлению материала.

И первый лайфхак – кликабельная картинка до ката, которая ведёт сразу внутрь публикации:


Читать дальше →
Всего голосов 140: ↑121 и ↓19+102
Комментарии112

Создание удобного OpenFileDialog для Android

Время на прочтение12 мин
Количество просмотров38K
Наверное, как и многие разработчики под Android, столкнулся на днях с необходимостью реализовать в своем приложении выбор файла пользователем. Так как изначально в Android такого функционала нет, обратился к великому и ужасному. Это показалось мне странным, но из вороха вопросов на stackoverflow и небольшого числа отечественных форумов можно выделить всего три основных источника:
  1. Android File Dialog – почти все ссылки из stackoverflow ведут сюда. В принципе, неплохое решение, но реализовано через отдельную activity, а хотелось чего-то в духе OpenFileDialog’а из .Net.
  2. В данной статье речь идет вообще об отдельном файл-менеджере, и почерпнуть какие-то идеи из неё не удалось.
  3. Идея же отсюда очень понравилась, однако, как мне показалось реализовать все это можно несколько красивее.

В результате, начав реализовывать своё решение, я столкнулся с некоторыми трудностями решать которые показалось очень интересно. А посему, решил описать в данной статье не просто готовое решение, а все шаги, которые к нему привели. Желающие пройти их вместе –
добро пожаловать!
Всего голосов 13: ↑9 и ↓4+5
Комментарии16

Интеграция приложения на QML с веб-ресурсами

Время на прочтение14 мин
Количество просмотров30K
Здравствуй, дорогой хабражитель! Я хочу рассказать, как интегрировать программу на новомодном языке QML с веб-ресурсами.

Сам по себе, QML — это декларативный JavaScript-подобный язык программирования, который входит в фреймворк Qt. Разработчики Qt настроены серьезно и продвигают его как основной инструмент создания интерфейсов. Более того, достаточно много вещей можно сделать не прибегая вообще к C++, в том числе и возможность работы с веб-серверами.

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

Учитывая, что в Qt 5.1, альфа версия которой вышла на прошлой неделе, включена начальная поддержка Android и iOS, эта тема может быть особенно интересна тем, кто присматривается к Qt или активно ее осваивает. В этой статье я расскажу, как можно организовать работу с веб-ресурсами из приложения на QML на примере API ВКонтакте.

На всякий случай отмечу, что я рассматриваю последнюю стабильную версию Qt 5.0.2. В более ранних версиях каких-то возможностей может не быть.
Читать дальше →
Всего голосов 26: ↑24 и ↓2+22
Комментарии14

Разбираемся в трендах веб-дизайна

Время на прочтение6 мин
Количество просмотров109K
Несмотря на обилие в интернете разнообразных статей о направлениях веб-дизайна, разобраться в том, какой дизайн визуально устарел, а какой в тренде и почему, довольно нелегко. Для начала нужен глобальный взгляд на новейшую историю веб-дизайна, чтобы не запутаться в деталях. В этой статье рассказана краткая история визуальных направлений последних лет и даны их ключевые отличительные признаки.

Речь здесь пойдет именно о визуальной эволюции веб-дизайна, с небольшой оглядкой на вехи в развитии технологий. Дело в том, что, хотя влияние технологий заметно, оно не является определяющим. Например, и скевоморфный, и «плоский» дизайн можно сделать, применяя один и тот же стек технологий.

Итак, поехали.
Читать дальше →
Всего голосов 34: ↑30 и ↓4+26
Комментарии24

Делаем скриншоты правильно: практические советы

Время на прочтение8 мин
Количество просмотров189K
Устройство для снимка экрана на первых компьютерах (Command-Shift-3)
Устройство для снимка экрана на первых компьютерах (Command-Shift-3)

Если вы когда-либо делали хелп или мануал для своего приложения, наверняка вы отметили, как неожиданно много времени и сил занимает создание скриншотов.

Ведь кажется, что скриншот — это “секунда работы, Alt+PrintScreen и Ctrl+V!”. Некоторые клиенты удивляются, когда слышат, что скриншот в мануале может стоить и $2 и даже $5.

В этой статье я расскажу, как правильно делать скриншоты, почему это не просто “два клика” и какие подводные камни встречаются на пути неопытного скриншотера. Рассматривайте ее как чеклист или список практических советов для тех, кто документирует ПО. Надеюсь, это поможет вам избежать разочарований и порадовать юзеров красочными понятными картинками.
Читать дальше →
Всего голосов 81: ↑69 и ↓12+57
Комментарии76

Леденец из мороженого, или как привнести в ваше приложение немного Material

Время на прочтение7 мин
Количество просмотров20K
Пятая версия Android была выпущена почти полгода назад. Несмотря на это, большинство приложений в маркете до сих пор упорствуют в стиле Holo. То ли новый Material-стиль пока не по зубам среднему разработчику, то ли Android L еще не успел прочно войти в обыденность.

Как бы там ни было, новая парадигма дизайна активно пропагандируется «корпорацией добра», да и выглядит достаточно неплохо, несмотря на некоторую непоследовательность. И все больше появляется добрых волшебников, помогающих нам, простым разработчикам, оставаться «в струе» изменчивого мира мобильного UI.

Если вы, как я недавно, твердо решили обернуть своё, давно не обновлявшееся, приложение в новую «шкурку», этот обзор инструментов и библиотек может сэкономить вам N часов времени.

Осторожно, мало картинок!
Всего голосов 26: ↑23 и ↓3+20
Комментарии19

20 лет строительства и обслуживания спутниковой сети

Время на прочтение14 мин
Количество просмотров49K
Сейчас в это трудно поверить, но еще каких-то два десятка лет назад — считалось большой удачей, если «по межгороду» удавалось дозвониться с первого раза. Широкополосный доступ? Беспроводной интернет? Телефон-коммуникатор в кармане у каждого? Это ведь откуда-то из «миров Полдня» Стругацких, я угадал?


Самая первая антенна, установлена на крыше ангара Всероссийского Энергетического Института. В котором я еще застал стоящий там самолет Миг-21 и экспериментальные стенды, имитирующие разряды молний.

И вот в 1995 году никому не известная компания SFMT Ltd (впоследствии выросшая в «Голден Телеком») начала строительство «наложенной» (т.е. работающей параллельно с национальной общероссийской) сети связи. А в качестве основного транспорта — было решено использовать собственные спутниковые каналы связи. Первый канал Москва-Владивосток — при запуске имел скорость всего в 128 Кбит/с (килобит!). Однако через этот канал — подавалась телефония (включая выход на достаточно популярную в то время службу Совинтела «World Access Card»), и канал передачи данных для модемного пула РоссияОнЛайн (СОВАМ Телепорт, полузабытая легенда).

Расскажу о телепорте, и его основных компонентах. Осторожно, трафик: много фотографий.
Читать дальше →
Всего голосов 70: ↑70 и ↓0+70
Комментарии39

Любите своих подчинённых, или «Как удержать сотрудников»

Время на прочтение4 мин
Количество просмотров19K
По статистике, 34% всех увольнений по собственному желанию происходят по причине «меня тут не любят, не ценят». Что же это значит? Обязаны ли мы любить своих подчинённых? И самое интересное — что значит «любить своих подчинённых»?

Вы руководите проектом, и у вас есть несколько программистов в команде, а может, вы начальник небольшого отдела или просто наставник? У вас наверняка есть своё представление о том, как стоит руководить своими подчинёнными: кто-то строг, кто-то мягок, кто-то ценит за результат, а кто-то выстраивает грамотный процесс. И все мы нацелены на то, чтобы подчинённый работал максимально эффективно. Все знают метод «кнута и пряника» — похвали за хорошую работу и поругай за плохую. И бытует мнение, что нет лучше награды, чем денежная. Но это не так. Вернее, не совсем так.
Читать дальше →
Всего голосов 17: ↑14 и ↓3+11
Комментарии17

Material Design. А был ли мальчик?

Время на прочтение8 мин
Количество просмотров34K
Недавно мой коллега (Константин Волков) посетил мастер-класс по Material Design и поделился впечатлениями. Далее рассказ пойдет от его имени.

Введение


О Material Design [1] сегодня слышали многие, его принципы обсуждают во многих новостных и профессиональных блогах, посвященных Android. Но так ли понятна эта концепция разработчикам мобильного программного обеспечения? Можно ли использовать Material Design в реальном бою, и станут ли приложения эффективнее? На эти вопросы должен был ответить мастер-класс по Material Design, который прошел в середине февраля в технополисе “Москва”.
Читать дальше →
Всего голосов 25: ↑20 и ↓5+15
Комментарии9

ООО и ведение валютных операций

Время на прочтение8 мин
Количество просмотров26K
Всем привет!

Моей компании уже три года и в этом году мы попали в план проверок валютного контроля РосФинНадзора по ведению валютных операций.

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

Эта информация будет полезна как тем кто кто уже ведет свою деятельность, так и тем, кто только собирается открывать валютный счет или вообще регистрировать ООО. Не знаю, насколько это относится к ИП, но в любом случае, будьте осторожны.
Читать дальше →
Всего голосов 118: ↑115 и ↓3+112
Комментарии70

Информация

В рейтинге
Не участвует
Откуда
Барнаул, Алтайский край, Россия
Зарегистрирован
Активность

Специализация

Software Developer, Project Manager
Lead
От 9 001 $
Qt
Software development
C++
UI/UX design
Project management
Software testing
Teaching in IT
Linux