Как стать автором
Обновить
35.7
Карма
0
Рейтинг
Дмитрий Исаев @x256

iOS Ninja

  • Подписчики 27
  • Подписки 20

Мобильный банк для iOS: добавляем блочную архитектуру к Cocoa MVC

Разработка под iOSРазработка мобильных приложенийПроектирование и рефакторингSwift
Если вы пишете приложение мобильного банка для iOS, какие у вас приоритеты? Думаю, их два:

  1. Надёжность;
  2. Скорость внесения изменений.

Ситуация такова, что нужно уметь вносить изменения (и в частности выкатывать новые банковские продукты) действительно быстро. Но при этом не скатываться в индусокод и копипаст (см. пункт 1). Всё это при том, что приложение действительно огромное по функционалу, по крайней мере в задумке (банки хотят намного больше, чем умеют). Соответственно, во многих случаях это проекты на десятки человеко-лет. Те, кто участвовал в таких проектах, уже наверно поняли, что задача нетривиальная, и школьные знания тут не помогут.
Что же делать?
Всего голосов 19: ↑15 и ↓4+11
Просмотры4.8K
Комментарии 4

Пол-пикселя?

CSS
По-русски если гуглить «полпикселя», везде какая-то истерика: пиксель не делится, и всё тут. По-английски всё чинно :) например. Полпикселя существует, но браузеры пока плохо их рендерят. Местами реагируют на доли пикселя (например, в параметрах шрифтов), но чаще любят округлять до целого.

Почему так? Раньше понятно, железо не позволяло прорисовывать «половинки». Сейчас им лень. Но каких-то подвижек можно ожидать: технология Flash уже поддерживает точность до 1/20 пикселя.

Что такое пиксель?


По терминологии Google, у слова «пиксель» есть 3 значения:
1. Элемент матрицы экрана. Например, в LCD-экранах один пиксель — 3 светящихся элемента (RGB).
2. Device-independent pixel (dip) — масштабированный, «кажущийся» размер пикселя, который на любом экране смотрится одинаково. Тут учитывается типичное расстояние от глаз до девайса.
3. CSS-пиксель. Например, width: 20px;

Так бывает ли полпикселя?
Всего голосов 87: ↑67 и ↓20+47
Просмотры70K
Комментарии 52

Паттерны ООП в примерах для iOS

Разработка под iOSРазработка мобильных приложенийООП
Перевод
Tutorial

От переводчика


Искали тут двух русскоязычных разработчиков — на iOS и на C++ под Windows. Видел десятки выполненных тестов. Разница в знании ООП между представителями двух платформ — огромная. На C++ обычно красивый расширяемый код, как само собой разумеющееся. На Objective C картина удручающая. Почти все iOS-кандидаты не знали ООП дальше своего носа NSString'ов и AppDelegate'ов.

Понятно, что плюсы учат по Страуструпу и «банде четырёх», а Objective C — больше по туториалам и Stack Overflow. Фастфуд-обучение не оставляет места на фундаментальные вопросы… Но такой разницы я не ожидал.

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

Качественная разработка ПО — творческий процесс, уникальный для каждой конкретной головы. Поэтому не существует общей инструкции: if (A and (B or C)) then use Pattern_N;
Как это нет инструкции? Что же делать?
Всего голосов 77: ↑71 и ↓6+65
Просмотры144K
Комментарии 50

ГОСТ по юзабилити

ИнтерфейсыUsability
Через неделю на всей территории России вступит в действие национальный стандарт по юзабитили ГОСТ Р ИСО 9241-210-2012 «Эргономика взаимодействия человек-система. Часть 210. Человеко-ориентированное проектирование интерактивных систем».
Эргономика? Фи, это не то! Юзабилити шире эргономики, скажете вы.
Да, понятие «юзабилити» включает в себя эргономику. Но подождите: как они определяют «человеко-ориентированное проектирование», о котором стандарт?

Человеко-ориентированное проектирование (human-centred design) — способ разработки интерактивных систем, направленный на создание пригодных в использовании и полезных систем…

А вот и юзабилити! «Пригодность использования» — не совсем ясная фраза, но именно так они переводят слово «usability». Наверно, когда придёт всеобщий к… минимализм, тогда ГОСТ по юзабилити будет называться «ГОСТ по юзабилити». Но пока так.

Хочу вкратце рассказать, почему этот документ — не пустой звук. Пойдём по порядку.

1. Задачи документа


Кому он нужен?
  • Руководителям — показать место человеческого фактора и эргономики в процессе проектирования.
  • UX-специалистам — рассказать, как происходит проектирование, и каково их участие в этом процессе.
Читать дальше →
Всего голосов 68: ↑60 и ↓8+52
Просмотры55K
Комментарии 23

Как я сходил на World Usability Day

Usability
Вы всё ещё думаете, что юзабилити — это какая-то секретная функция или скилл дизайнера, помноженная на адекватность руководства? Я был в этом уверен до посещения WUD в Москве.



Первый же выступающий dmitrysatin развеял этот миф. Оказывается, human-centred design — это процесс, который очень ясно и современно описан в ISO и (внезапно) в ГОСТ. Это значит: юзабилити — не фантом. Это то, о чём можно говорить, исследовать, улучшать.
Ещё впечатления
Всего голосов 17: ↑15 и ↓2+13
Просмотры6.7K
Комментарии 10

Ломаем iOS-приложение! Часть 2

Разработка под iOSРазработка мобильных приложенийОтладка
Перевод
Tutorial
В первой части мы изучили некоторые вопросы безопасности хранения и передачи данных. Теперь переходим к защите исполняемого кода. Мы будем модифицировать функционал iOS-приложения во время выполнения и проделаем реверс-инжиниринг. И снова, помните! Наша цель — не стать гадким взломщиком, а защитить ваше приложение и пользователей от злонамеренных действий. Для этого нужно понять, что может сделать взломщик.

Много текста и картинок
Всего голосов 38: ↑38 и ↓0+38
Просмотры43K
Комментарии 10

Ломаем iOS-приложение. Часть 1

Разработка под iOSРазработка мобильных приложенийОтладка
Перевод
Tutorial
Вы хорошо поработали, и вот ваше приложение в App Store!

  • Храните учётные записи юзеров?
  • Используете встроенные покупки?
  • Не хотите показывать своё ноу-хау?

Повод задуматься о безопасности кода и данных! Мы будем искать уязвимости в тестовом приложении. В этой статье поговорим о безопасности данных, а в следующей — перейдём к коду.
Много текста и картинок
Всего голосов 63: ↑51 и ↓12+39
Просмотры69K
Комментарии 22

Одна точка зрения на тестовое задание

Карьера в IT-индустрии
«Смысл поста можно выразить в одной фразе». Знакомо?

Просто приведу точку зрения одного работодателя (где я ПМ и иногда вынужденно HR):

Тестовое задание нужно, чтобы показать, на что вы способны, а не рассказать о том, что бы вы сделали, если бы это был не тест.


Минусуйте, но я оставлю это здесь.
Всего голосов 55: ↑15 и ↓40-25
Просмотры5.8K
Комментарии 15

Востребованность программистов растёт и будет расти?

Программирование
Code.org — некоммерческая организация, ставящая целью популяризацию программирования под девизом: «Anybody can learn». Британские учёные провели любопытное исследование: оказывается, в ближайшие 7 лет разница между числом вакансий и студентов вырастет во много раз:
Да ну?
Всего голосов 71: ↑60 и ↓11+49
Просмотры67K
Комментарии 72

Пять правил успешного кросс-платформенного проекта

Совершенный кодПроектирование и рефакторинг
Перевод
От переводчика: я сейчас по крупицам собираю литературу по проектированию кросс-платформенного ПО. Этот небольшой текст — самое интересное, что я пока нашёл.

Кодеру для реализации конкретной фичи достаточно гугла, но ведь есть особые требования к проектированию? Скажем, ветвление
#ifdef в методах — единственное средство выделения platform-specific частей проекта? (Не много ли макарон?) Есть ли более высокоуровневые подходы, шаблоны, «надстройки» над #ifdef? Надеюсь, этот пост послужит пищей для дальнейшего обсуждения.
Итак, 5 правил
Всего голосов 15: ↑6 и ↓9-3
Просмотры2.7K
Комментарии 4

Зачем нужны паттерны ООП?

ПрограммированиеООП
Эта статья — попытка ответить на вопрос 11-летнего олимпиадника: «Зачем нужны паттерны?» Ещё не отправил, выношу на общий суд и прошу любой критики. Цель — не дать исчерпывающий ответ, а вызвать новые вопросы.

Итак


Как учат программированию в школе? Вам дают формочки и учат делать куличики из песка. Это хорошо, надо ведь с чего-то начинать.
А если куличики - неинтересно?
Всего голосов 39: ↑17 и ↓22-5
Просмотры32K
Комментарии 54

Поиск утерянного телефона на Windows Phone 7 — на практике

Разработка под Windows Phone
«Поиск телефона облегчает возврат телефона или предотвращает его использование кем-либо без вашего разрешения.»
инструкция к Windows Phone 7

В данной статье описана проблема, которая делает невозможным использование функционала «Поиск телефона» («Find My Phone») для Windows Phone 7. Надеюсь, когда-нибудь она будет описана на сайте Microsoft или в инструкциях к телефонам.
Читать дальше →
Всего голосов 36: ↑33 и ↓3+30
Просмотры21K
Комментарии 63

Кастомизация Skype для Linux. Оповещение о появлении «избранных» контактов в сети

Мессенджеры
Из песочницы
Основное средство общения в нашей компании — это шашлыки чат Skype. Статус «в сети» означает присутствие на рабочем месте. Иногда ждёшь кого-то, начальству не напишешь «зайди плиз срочно» — в общем, уведомление о появлении в сети определённого человека было бы полезно.

В Skype для Linux нет такой «галочки» для отдельных контактов (думаю, что и пользователи других ОС с этим знакомы). Зато есть неоспоримое преимущество — почти безграничные возможности командной строки:
Читать дальше →
Всего голосов 50: ↑44 и ↓6+38
Просмотры5.1K
Комментарии 8

Информация

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