Pull to refresh
12
0
Sergey Mazulev @Squatch

iOS developer

Send message

Дауншифтинг для программиста? Камбоджа, опыт выживания и опыт жизни

Reading time7 min
Views237K
image

Привет, уважаемые читатели. Сразу скажу, что я немного странный человек и мой опыт приемлем далеко не для всех и часто сталкиваюсь с непониманием, как со стороны близких, так и со стороны абсолютно незнакомых людей. Речь пойдет о том, как я бросил всё и уехал с 300$ в кармане в новую для себя страну, казавшуюся мне чем-то диким и непознанным. В обсуждении одного из постов я вскользь упомянул о моем опыте и меня попросили написать подробнее.
Читать дальше →
Total votes 217: ↑199 and ↓18+181
Comments320

Перевод учебника по алгоритмам

Reading time1 min
Views166K


Рад сообщить, что вышел перевод отличнейшего учебника Дасгупты, Пападимитриу, Вазирани «Алгоритмы», над которым я работал последние несколько лет. В книге многие алгоритмы объяснены гораздо короче и проще, чем в других учебниках: с одной стороны, без излишнего формализа, с другой — без потери математической строгости. Откройте книгу на каком-нибудь известном вам алгоритме и убедитесь в этом. =)

В общем, угощайтесь: печатный вариант перевода, электронный вариант перевода (PDF), печатный вариант оригинала, электронный вариант оригинала (PDF).
Читать дальше →
Total votes 323: ↑321 and ↓2+319
Comments109

Скрытые возможности Xcode 5

Reading time4 min
Views34K
Здравствуйте, уважаемые читатели Хабрахабра!

Команде Бессвязного Девелопа удалось получить корпоративный аккаунт благодаря чудотворной программе Хабрахабра по поддержке начинающих стартапов без действующей монетизации. Мы — это ребята, которые частенько устраивают трансляции разработки различных приложений за 24 и 48 часов. Сегодня мы взяли курс на создание бесплатных аналогов нужных, но платных или обвешанных рекламой программ.

Чтобы наш приветственный пост не получился «Ни о чем», сегодня я расскажу о некоторых вкусностях работы с Xcode 5, подсмотренных на iOS 7 Tech Talks. В программе вечера:

  1. Автодополнение кода: печенье, которое еще не все попробовали
  2. Edit in scope: сытный шоколадный тортик
  3. Объекты IB: назовите этот сорт клубничного желе
  4. Двойной статус-бар: подавайте шоколадный шейк охлажденным
  5. Color Blended Layers: вы неправильно наносите ромовый крем
  6. Concurrent Object Enumeration: покройте все сахарной пудрой
  7. Локализация: хватит каждый раз греть духовку

Читать дальше →
Total votes 98: ↑82 and ↓16+66
Comments58

Локализация приложений для iPhone: как получить на 767% больше загрузок с помощью перевода ключевых слов

Reading time11 min
Views26K
Все разработчики для iOS мечтают попасть в Топ-10 App Store. Профессиональная локализация — путь к успеху. Проблемы, которые могут повстречаться на пути, самые разнообразные — забытая на старте проекта локализуемость, плохой переводчик, “кривое" тестирование локализации.

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

Переведено в Alconost.


Читать дальше →
Total votes 38: ↑35 and ↓3+32
Comments1

Почему 98% текстов на ваших сайтах не работают. Вообще. И как это починить

Reading time7 min
Views284K

Вот так люди видят вашу страницу

Привет!
Проблема вот в чём. Если зайти на практически любой сайт интернет-магазина или компании с услугами, вы встретите контент. Точнее — отвратительные тексты, которые писали, кажется, маркетологи, воспитанные сеошниками.

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

По моим примерным подсчётам (усреднение с ряда позиций), конверсии для нас выглядят так:
  • Только название и картинка — около 1,5%.
  • С описанием от производителя — чуть более 2%.
  • С описанием человека, который держал это в руках и знает правила — около 6%.

Ниже — рассказ про то, как мы доводили время на сайте от 3 минут сначала до 6:40, а потом до 20:48. Да-да, двадцати минут сорока восьми секунд для среднего посетителя. Честного среднего, с учётом отказов и по полной выборке.
Читать дальше →
Total votes 294: ↑282 and ↓12+270
Comments121

Учимся писать в информационном стиле

Reading time2 min
Views105K
По работе я пишу тексты: посты на хабр, email-рассылку, статьи в СМИ. Пишу уже пару лет, последние полгода не меньше двух текстов в неделю. Значительным шагом в развитии моего навыка письма было открытие для себя информационного стиля и советов Максима Ильяхова.

Цель текста в информационном стиле — донести информацию до читателя. Информационный стиль: лаконичный, однозначный, точный и объективный. В информационных текстах нет лишних слов, эмоций, личного мнения. Они читаются легко и быстро.

Максим вводит понятие стоп-слов. Стоп-слова не характерны для текстов в информационном стиле и если вы встретили его — задумайтесь и перефразируйте это место. Стоп-слова это «кстати», междометия, модальные глаголы, отглагольные существительные и другие, всего около 100.

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


Читать дальше →
Total votes 215: ↑199 and ↓16+183
Comments88

Основы работы с OpenGL ES 2.0 на iPhone 3G S

Reading time7 min
Views17K
Одно из самых приятных нововведений в iPhone 3GS — более быстрая и мощная графическая платформа с поддержкой OpenGL ES 2.0. К сожалению, информации от Apple о том, как именно задействовать открывшиеся возможности, крайне мало. Практически для всех API у них есть отличная документация с образцами кодов, но проблема в том, что в случае с OpenGL примеры всегда оставляли, мягко говоря, желать лучшего.

Более того, начинающим работу с OpenGL ES 2.0 не предлагается ни базовых примеров, ни шаблона XCode. Чтобы воспользоваться расширенными графическими возможностями, придется осваивать их самостоятельно. Не стоит ошибочно полагать, что OpenGL ES 2.0 — незначительно доработанная версия OpenGL ES 1.1 с парочкой новых функций. Отличия между ними кардинальные! Конвейер с фиксированными функциями исчез, и теперь для отображения на экране обычного треугольника понадобится более глубокое знакомство с основами компьютерной графики, включая шейдеры.
Читать дальше →
Total votes 61: ↑53 and ↓8+45
Comments28

Как начать летать самостоятельно, без риска для жизни

Reading time12 min
Views119K
Прочитал я недавно тут пост Как начать летать, хоть на чем-то, самостоятельно. Вдохновляет. Несомненно. Но мне кажется, что рисков для жизни в этом деле много больше, чем описывает автор. Это мое личное мнение, и, возможно, оно ничем не подкреплено. В комментариях к посту про это сказано не мало слов и останавливаться на этом я не буду.

В этом посте я хочу поделиться с вами не менее вдохновляющим процессом создания летательного аппарата по мотивам тематики «Сделай это сам».
Подробности
Total votes 144: ↑135 and ↓9+126
Comments65

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

Reading time13 min
Views73K
Вы хорошо поработали, и вот ваше приложение в App Store!

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

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

Как мы тестируем поиск в Яндексе. Screenshot-based тестирование блоков результатов

Reading time5 min
Views41K
Чем крупнее и сложнее становится сервис, тем больше времени приходится уделять тестированию. Поэтому желание автоматизировать и формализовать этот процесс вполне законно.

Чаще всего для автоматизации тестирования веб-сервисов применяется Selenium WebDriver. Как правило, с его помощью пишут функциональные тесты. Но, как всем хорошо известно, функциональные тесты не могут решить задачу тестирования верстки сервиса, что требует проведения дополнительных ручных, зачастую кроссбраузерных, проверок. Как тест может оценить корректность верстки? Чтобы обнаружить регрессионные ошибки верстки, тесту потребуется некоторый эталон, в качестве которого может выступать изображение корректной верстки, взятой, например, с продакшен-версии сервиса. Этот подход носит название screenshot-based testing. Подход этот применяется достаточно редко, и чаще всего верстку все же тестируют вручную. Причина этому – ряд достаточно строгих требований к сервису, к среде выполнения тестов и к самим тестам.

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

На примере тестирования колдунщиков в поиске мы расскажем, какими особенностями должен обладать тестируемый сервис, какие проблемы возникают у нас при использовании screenshot-based testing, и как мы их решаем.

image
Читать дальше →
Total votes 78: ↑71 and ↓7+64
Comments17

20 лет техподдержки: как мир менялся вокруг нас

Reading time9 min
Views107K
image
Мы в 1995-м

Мой коллега как-то срочно повёз в Мурманск блоки питания – там завод встал 30 декабря, ни одна служба доставки не работала. Да и с проводником или лётчиком не передашь. Плюс железа такого ни у кого уже лет 5 нет. Нашёл чудом через знакомых, загрузил в машину, сам поехал. По дороге машина сломалась, он её в -25 прямо под сильным ветром чинил. Приехал, они блоки в стойку вставили – так они прямо там сразу погорели.

В общем, берите чай и заходите внутрь слушать тёплые добрые истории. У нас на поддержке сотни заказчиков, включая самые крупные компании в стране. Случалось всё что угодно. Буду потихоньку рассказывать, как мы начинали, и что делаем сейчас.
Читать дальше →
Total votes 148: ↑134 and ↓14+120
Comments37

Избранное: ссылки по IT безопасности

Reading time3 min
Views110K




Давно хотел написать этот пост с подборкой полезных ссылок, так как очень часто спрашивают подобное (думаю, у многих, кто в этой (да и в других) сфере). Ссылки разбиты на категории.




Читать дальше →
Total votes 92: ↑86 and ↓6+80
Comments18

Самоидентификация роботов: книги, фильмы, аниме

Reading time9 min
Views42K


Новые материалы, алгоритмы движения и поведения, инженерные решения и, самое главное, некоторые успехи в создании искусственного интеллекта вселяют робкую надежду на появление первых полноценных андроидов хотя бы при нашей жизни. Но что будет потом? Каковы будут последствия обитания среди нас действительно умных машин? Учёные, писатели и режиссёры на самые разные лады описывают всевозможные сценарии будущего сосуществования людей и андроидов. Диапазон варьируется от апокалиптического порабощения людей до идиллических картин в духе «Приключения Электроника»: «…Вкалывают роботы, / А не человек». С точки зрения коммерческого успеха, большинство фантастических фильмов и книг о роботах обыгрывают гротескные ситуации: войны, угнетение, борьбу то нас с ними, то их с нами. Иными словами, будущее людей и роботов обычно так или иначе окрашено в мрачные тона. Особенно в последние годы сценаристам приглянулась тема безысходного, тягостного будущего. Тем интереснее становятся менее популярные, и потому интересные умеренные точки зрения и сценарии.

Читать дальше →
Total votes 60: ↑42 and ↓18+24
Comments57

Вы можете развить свой интеллект: 5 способов максимально улучшить свои когнитивные способности

Reading time17 min
Views509K
Не стоит преследовать цели, которые легко достичь. Стоит нацеливаться на то, что удается сделать с трудом, приложив немалые усилия — Альберт Эйнштейн

Несмотря на то, что Эйнштейн не был нейробиологом, он точно знал все, когда говорил о способности человека добиваться чего-либо. Он интуитивно догадывался о том, что лишь сегодня нам удалось подтвердить с помощью данных, а именно: что заставляет когнитивные способности работать на максимально высоком уровне. По существу: То, что тебя не убивает, делает тебя умнее.
Читать дальше →
Total votes 167: ↑135 and ↓32+103
Comments108

Введение в анализ сложности алгоритмов (часть 1)

Reading time10 min
Views384K
От переводчика: данный текст даётся с незначительными сокращениями по причине местами излишней «разжёванности» материала. Автор абсолютно справедливо предупреждает, что отдельные темы покажутся чересчур простыми или общеизвестными. Тем не менее, лично мне этот текст помог упорядочить имеющиеся знания по анализу сложности алгоритмов. Надеюсь, что он будет полезен и кому-то ещё.
Из-за большого объёма оригинальной статьи я разбила её на части, которых в общей сложности будет четыре.
Я (как всегда) буду крайне признательна за любые замечания в личку по улучшению качества перевода.


Введение


Многие современные программисты, пишущие классные и широко распространённые программы, имеют крайне смутное представление о теоретической информатике. Это не мешает им оставаться прекрасными творческими специалистами, и мы благодарны за то, что они создают.

Тем не менее, знание теории тоже имеет свои преимущества и может оказаться весьма полезным. В этой статье, предназначенной для программистов, которые являются хорошими практиками, но имеют слабое представление о теории, я представлю один из наиболее прагматичных программистских инструментов: нотацию «большое О» и анализ сложности алгоритмов. Как человек, который работал как в области академической науки, так и над созданием коммерческого ПО, я считаю эти инструменты по-настоящему полезными на практике. Надеюсь, что после прочтения этой статьи вы сможете применить их к собственному коду, чтобы сделать его ещё лучше. Также этот пост принесёт с собой понимание таких общих терминов, используемых теоретиками информатики, как «большое О», «асимптотическое поведение», «анализ наиболее неблагоприятного случая» и т.п.
Читать дальше →
Total votes 106: ↑98 and ↓8+90
Comments27

Опыт вывода приложения в Toп русского App Store: цифры, графики, расследования

Reading time7 min
Views42K
Всем привет!
Всегда с удовольствием читаю case study разработчиков под iOs и хочу внести посильный вклад в понимание магии App Store — рассказать нашу историю создания и продвижения приложения в категории Entertainment для iPhone.

Немного тизеров:
1. Про нас написало большинство крупных площадок России и Украины. Вся аналитика и выводы представлены.
2. Мы поднялись до 3 места в общем Топе App Store России и Украины, 1-2 место в категории. На текущий момент мы уже 4-й день в Топ-5 с более чем 60К установок и около 500 отзывами/оценками в App Store.
3. Мы тщательно документировали весь процесс и по пути делали много скриншотов.


Читать дальше →
Total votes 49: ↑41 and ↓8+33
Comments47

Что такое ASO и почему оно крайне необходимо сегодняшним разработчикам

Reading time5 min
Views49K
Это первая статья из серии материалов, которые я планирую посвятить продвижению мобильных приложений с помощью ASO и локализации. Поэтому, в первую очередь, хотелось бы объяснить, что же такое это ASO, из каких компонентов оно состоит, с чем оно неотъемлемо связано и почему так необходимо. В дальнейшем, я, на основе своего опыта (и, соответственно, опыта компании, в которой я работаю), с удовольствием расскажу, как пользоваться этими инструментами наиболее эффективно, каких результатов ждать в долгосрочной и краткосрочной перспективе, приведу алгоритм асо действий и поделюсь полезными ресурсами, которые помогают сократить время на ASO деятельность.
Но начнем с основ. Каждый разработчик мобильных приложений хочет, чтобы его продукт был успешным. Успешность можно измерять по-разному (количество скачиваний и активных пользователей, оценки и отзывы пользователей, и т.д.), но мы же с вами понимаем, что одним из важнейших показателей успешности является окупаемость, а затем и прибыльность всего дела. Итак, что говорят нам цифры: в 2012 году мировой рынок мобильных приложений составил приблизительно 7,83 млрд долл. Российский же сегмент рынка мобильных приложений по разным оценкам в 2012 году достиг 120-160 млн долларов, и продолжил рост в первом квартале 2013 на 11%. Есть в этих замечательных цифрах как хорошая новость, так и плохая. Хорошо, что русскоязычный рынок растет. Это значит, что нам с вами есть, где развернуться, есть активная аудитория, готовая скачивать приложения и пользоваться ими. Благодаря этой аудитории мы можем совершенствовать свои продукты и делать их максимально прекрасными. А вторая новость заключается в том, что нам с вами, чтобы быть действительно успешными и много зарабатывать, нужно выходить из зоны русскоязычного комфорта и осваивать интернациональные рынки. И это совсем не плохо. Это интересно, это, как говорят наши англоязычные друзья, challenging.
Читать дальше →
Total votes 11: ↑6 and ↓5+1
Comments10

Мониторинг файлов с помощью GCD

Reading time4 min
Views5.7K
Думаю, что большинству разработчиков под iOS известно как легко включить iTunes File Sharing в своем приложении, добавив лишь одну строчку в Info.plist:
UIFileSharingEnabled = YES
Но это даже не полдела. Соль в том, что, по-хорошему, приложение теперь должно остлеживать все изменения с файлами, происходящие в директории Documents и соответственно обновлять свои данные. Как это релизовать в своём коде и расскажет данная статья.
image
Читать дальше →
Total votes 14: ↑13 and ↓1+12
Comments2

Core Data для iOS. Глава №1. Практическая часть

Reading time12 min
Views26K
Хабралюди, добрый день!
Сегодня хочу начать написание ряда лекций с практическими заданиями по книги Михаеля Привата и Роберта Варнера «Pro Core Data for iOS», которую можете купить по этой ссылке. Каждая глава будет содержать теоретическую и практическую часть.



Содержание:
  • Глава №1. Приступаем (Практическая часть)
  • Глава №2. Усваиваем Core Data
  • Глава №3. Хранение данных: SQLite и другие варианты
  • Глава №4. Создание модели данных
  • Глава №5. Работаем с объектами данных
  • Глава №6. Обработка результатирующих множеств
  • Глава №7. Настройка производительности и используемой памяти
  • Глава №8. Управление версиями и миграции
  • Глава №9. Управление таблицами с использованием NSFetchedResultsController
  • Глава №10. Использование Core Data в продвинутых приложениях


Очень много больших картинок. Осторожно.
Total votes 35: ↑30 and ↓5+25
Comments24

Core Data для iOS. Глава №1. Теоретическая часть

Reading time16 min
Views111K
Хабралюди, добрый день!
Сегодня хочу начать написание ряда лекций с практическими заданиями по книги Михаеля Привата и Роберта Варнера «Pro Core Data for iOS», которую можете купить по этой ссылке. Каждая глава будет содержать теоретическую и практическую часть.



Содержание:
  • Глава №1. Приступаем (Практическая часть)
  • Глава №2. Усваиваем Core Data
  • Глава №3. Хранение данных: SQLite и другие варианты
  • Глава №4. Создание модели данных
  • Глава №5. Работаем с объектами данных
  • Глава №6. Обработка результатирующих множеств
  • Глава №7. Настройка производительности и используемой памяти
  • Глава №8. Управление версиями и миграции
  • Глава №9. Управление таблицами с использованием NSFetchedResultsController
  • Глава №10. Использование Core Data в продвинутых приложениях


Читать дальше →
Total votes 47: ↑44 and ↓3+41
Comments48

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity