Pull to refresh
0
0

Разработчик IOS

Send message

Архитектурные паттерны в iOS: страх и ненависть в диаграммах. MV(X)

Reading time15 min
Views26K

Каждый iOS разработчик в своей жизни уходил с собеседования в расстроенных чувствах и мыслью “это что еще за новая аббревиатура?” Архитектурами пугают и джунов, и миддлов, и синьоров (и наверное даже синьорит). Важно не просто знать что стоит за названием, но ещё и в каком случае какую использовать. Литературы по этому вопросу преступно мало, редкие обсуждения в интернете ограничиваются собственным опытом и какими-то поделками на гитхабе.

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

Первая часть посвящена MV(X) паттернам: самым известным и распространенным практикам в индустрии.

Читать далее
Total votes 39: ↑39 and ↓0+39
Comments12

Кроссплатформенное приложение на Qt: Иконка

Reading time2 min
Views24K

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

Для начала следует подготовить исходники в разных разрешениях (Windows, OS X, Linux), которые мы будем запекать в файл иконки. Необходимо добавить, что разрешения для OS X в таблице ниже условны, и в идеале иконки одинакового размера должны быть разной степени детализации, для обычных и Retina-дисплеев.
16
32
48 64
128 256
512
1024
OS X*
* * * * * * *
Linux * * * * *
Windows * * * *
Читать дальше →
Total votes 28: ↑19 and ↓9+10
Comments9

Создание иконок для приложений Mac OS X

Reading time3 min
Views17K

По роду деятельности я начинающий IOS кодер. Так случилось что недавно собрал совсем маленькую прогу под Mac и мне нужно было сделать иконку для своего же небольшого приложения. Узнав что установка иконки под эти две платформы сильно отличается решил опубликовать туториал для тех кому это может понадобиться.
Читать дальше →
Total votes 25: ↑15 and ↓10+5
Comments19

Кроссплатформенное приложение на Qt: Таблицы стилей

Reading time4 min
Views52K
Сегодня я хотел бы рассмотреть вопрос кастомизации интерфейса программ на Qt. Основным вариантом является использование Qt Style Sheets. Как становится очевидно из названия, это немного специфичный аналог привычных всем каскадных таблиц стилей (CSS2), без которых немыслим современный интернет. QSS чаще всего применяются для двух вещей: либо доточить какой-нибудь виджет до более родного вида, либо наоборот, сделать интерфейс более нарядным, выделяющимся, возможно одинаковым на всех платформах.


На скриншоте приведен один из диалогов нашего органайзера для студентов, весь интерфейс которого реализован на QSS.
Читать дальше →
Total votes 13: ↑9 and ↓4+5
Comments8

На пути к «10x инженеру»: шорткаты, сниппеты, шаблоны

Reading time15 min
Views13K
Мы разобрались, как избежать рутины с помощью шорткатов для навигации, редактирования и отладки, чем могут помочь кастомные сниппеты и как прокачать файловые шаблоны. Описали это в «методичке» по командам в Xcode. Добавляйте в закладки, чтобы посмотреть при случае (а навигация в статье поможет быстро найти то, что нужно).


Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments3

Qt 5.3: низкий старт в мобильной кроссплатформе

Reading time37 min
Views38K
Приветствую всех, кому интересна кроссплатформенная разработка для мобильных устройств! До недавнего времени относился с огромным скепсисом к инструментариям, позволяющим создавать ненативные приложения, которые работали бы сразу на ряде платформ. Однако в один момент любопытство и желание попробовать что-то новое всё же перевесили сдерживающий рассудок. Выбор пал на Qt 5.3. Почему? Потому что Qt открыт и бесплатен для некоммерческого и коммерческого (под лицензией LGPL) использования, имеет продолжительную историю (вышел в свет в 1996 году) и достаточное количество качественных проектов (навскидку — Skype, приложения 2ГИС), реализованных с использованием данных библиотек.

Цель публикации — познакомить читателей с мобильной разработкой на последней версии Qt: показать реализацию основных элементов клиент-серверных приложений и осветить возможные «подводные камни» при работе с библиотеками Qt.
Требуемый уровень подготовки и опыта — минимальный (знание основ C++, элементарное умение конфигурации локального сервера).
Материал для удобства восприятия разбит на 4 части: «Подводные камни», История одного проекта и работа над ошибками, Основы клиент-серверной разработки, Резюме.

Читать дальше →
Total votes 48: ↑39 and ↓9+30
Comments37

Как подружить C++ и QML

Reading time6 min
Views30K
image
Прислали мне как то тестовое задание. Надо написать шахматы на Qt с использованием C++ и QML. QML до этого не изучал, только слышал и читал про него, поэтому решил что напишу только с использованием C++ и библиотеки Qt. Написал, отправил, возвращают и просят графическую часть переписать на QML. Делать нечего, сел за изучения сего чуда и переписал графическую часть. Теперь хочу поделиться приобретённым опытом.

Весь процесс написания шахмат описывать не буду, опишу только процесс постижения QML. Думаю эта статья будет в помощь начинающим в QML.
Читать дальше →
Total votes 19: ↑12 and ↓7+5
Comments6

Qt — трудности перевода

Reading time6 min
Views61K
Вы написали программу на Qt и хотите перевести ее на другие языки, что бы сделать ее полезной для людей в других странах. Сделать это не просто, а очень просто. Для этого нам потребуется сделать всего три простых шага.
Читать дальше →
Total votes 43: ↑39 and ↓4+35
Comments6

Делегаты и колбэки в Swift простым языком. Что же такое этот delegate, и как работает callback

Reading time11 min
Views37K

В Swift при изучении UI (User Interface) каждый рано или поздно приходит к необходимости использования делегата. Все гайды о них пишут, и вроде бы делаешь, как там написано, и вроде бы работает, но почему и как это работает, не у каждого в голове укладывается до конца. Лично у меня даже какое-то время складывалось ощущение, что delegate – это какое-то волшебное слово, и что оно прям встроено в язык программирования (вот, насколько запутаны были мои мысли от этих гайдов). Давайте попытаемся объяснить простым языком, что же это такое. А разобравшись с делегатом, уже гораздо легче будет понять, что такое колбэк (callback), и как работает он.


Официант и повар


Итак, перед тем как перейти к коду давайте представим себе некоего официанта и какого-нибудь повара. Официант получил заказ от клиента за столиком, но сам он готовить не умеет, и ему нужно попросить об этом повара. Он может пойти на кухню и сказать повару: «Приготовь курицу». У повара есть соответствующие инструменты (сковорода, масло, огонь…) и навык приготовления. Повар готовит и отдает блюдо официанту. Официант берет то, что сделано поваром и несет к клиенту.


А теперь представим себе ситуацию, что официант не может прибежать на кухню и сказать повару напрямую, какое блюдо у него заказали. Не пускают его на кухню (допустим, такие правила) или кухня находится на другом этаже (устанешь бегать). И единственный способ общения – это окошко мини-лифта. Официант кладет туда записку, нажимает кнопку, лифт уехал на кухню. Приезжает обратно с готовым блюдом. Запомнили? Теперь зафиксируем ситуацию в голове, попробуем воссоздать через код и понять, как это связано с нашей темой.

Читать дальше →
Total votes 5: ↑4 and ↓1+3
Comments11

Monitoring and Logging external services in Kubernetes

Reading time3 min
Views3.1K
image

Greetings to all!

As a matter of fact I haven't found so far any generalized guide on logging and monitoring of metrics from external systems to Kubernetes on the web. Here I want to share with you my own version. First of all it is supposed that you have already got working Prometheus and other services.

As an example I use third-party data for stateful service RDBMS PostgreSQL in a Docker container. In our company we also use the Helm package manager, and you'll find how it works below. You can see same examples in this article below. You can see same examples in this article below. For a complete solution we create a nested chart.
Read more →
Total votes 2: ↑2 and ↓0+2
Comments0

Мониторинг и логирование внешних сервисов в кластер Kubernetes

Reading time3 min
Views5.5K
image

Доброго всем.

Я не нашел в сети обобщенного руководства по логированию и сбору метрик со сторонних сервисов в системы развернутые в Kubernetes. Публикую свое решение. Данная статья подразумевает, что у вас уже имеется рабочий Prometheus и другие службы. В качестве примера источника данных внешнего stateful-сервиса будет использоваться СУБД PostgreSQL в контейнере Docker. В компании используется пакетный менеджер Helm, ниже по тексту будут примеры на нем. Для всего решения мы готовим собственный чарт, включающий в себя вложенные чарты всех используемых сервисов.
Читать дальше →
Total votes 7: ↑1 and ↓6-5
Comments15

Information

Rating
Does not participate
Location
Новокузнецк, Кемеровская обл., Россия
Date of birth
Registered
Activity