Действительно ли гуглить плохо для разработчика?

Навыки разработчика оценивают по способности его решать задач без ошибок и в разумное время. Что есть разумное время для всех разное понятие. Без ошибок тоже. Никто не пишет без ошибок, но снизить их количество каждый разработчик просто обязан. Как снизить количество ошибок в разрабатываемом программном продукте? Первый и самый важный совет: используйте готовые библиотеки. Этого принципа я стараюсь придерживаться везде, если есть уже что-то готовое и оно подходит - почему нет?

Настройка Monosnap и WebDAV на своем сервере

Каждый год приходится обновлять программу или сервис по обработке и хранению скриншотов. Поначалу зарекомендовавшиея себя сервисы со временем превращаются в помойку из релкамы и казино. Давно пользую программой Monosnap и все бы хорошо, если бы имел удобный доступ к своим скриншотам. В один момент решено было завести хранения скриншотов на своем сервере. В этой статье мы настроим загрузку и хранение скриншотов на своем сервере. Настройка Windows Server Для начала необходимо включаем необходимые серверные роли, необходимые для осуществления как службы WebDAV дак и аутентификации.

Сравнение ARC и Garbage Collector

С приходом ARC (в XCode 4.2) разработчики iOS и OS X получили возможность не вызывать вручную retain release в Objective C. Такой подход стал очень похож на работу сборщика мусора. (нет). ARC является подвидом сборщика мусора, но для простоты понимания тут будем считать что это разные системы и ARC подразумевается использование со Swift, а сборщик мусора из мира .NET. Сравнение начнем с принципов работы каждого механизма. Если не очищать использованные переменные то очень скоро вся доступная память кончится.

Скрытие логики внутри сервисов как архитектурный паттерн

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

Автоматизируем сборку iOS проектов используя XCode и скрипт на Ruby

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

Полезные плагины для XCode Swift

В этой заметке я поделюсь списком используемых плагинов для XCode при разработке на языке программирования Swift. Без некоторых плагинов уже не представляю себе XCode, некоторые поставлены для интереса и прижились. Тем не менее если они есть в этом списке, значит мне они показались полезными. Fuzzy Autocomplete Незаменимый помошник, пока родной механизм автодополнения в XCode работает не очень. Действительно лучший и полезнейший плагин для ускорения и облегчения работы. [github] XcodeColors Плагин, позволяющий сделать вывод в консоль XCode разными цветами.

Разработка многопоточных приложений в iOS / OS X

Параллелизм позволяет выполнять несколько операций одновременно. С развитием многоядерных процессоров появилась возможность запускать несколько приложений одновременно. Большинство приложений и программ, запущенных в фоне, выполняют некоторые операции и не требуют мощных вычислительных ресурсов. Другое дело - приложение на переднем плане, с которым работает пользователь. Это должно быть очень отзывчивое приложение, показывающее текущее состояние и не создающее ощущения зависания. Ранее, при создании многопоточных / параллельных приложений необходимо было вручную создавать дополнительный поток. И многие знают, работа с потоками не самое приятное занятие.

Настраиваем удобную консоль в Mac (iTerm2, Oh My Zsh)

В этом руководстве я постараюсь собрать все необходимое, по шагам с минимум необходимых действий. Вот что получится в итоге. Для начала скачаем и установим альтернативу стандартному терминалу, а именно iTerm2. По умолчанию в Mac OS установлена оболочка zsh. Это альтернатива оболчки shell по умолчанию. Следующий шаг это установка Oh My Zsh. Oh-My-Zsh это open source фреймворк, который поддерживается сообществом. Предназначен для управления настройками ZSH. Поставляется с большим количеством дополнительных функций, плагинов и тем.

Автоматическая валидация объектов POST запросов в Asp.Net Mvc Web Api

Разрабатывая серверную часть web api хочется быть уверенным, что все данные, которые необходимы для обработки конкретного запроса с клиента переданы. Что все данные проходят валидацию на соответствие требований. Update 2016-06-27 Поиск пути Написав несколько серверных методов web api я получив пару 500 ошибок. Дело в том, что с клиента не всегда приходят данные, которые я ожидаю. Самый простой пример это может быть опечатка в свойстве переданного объекта. Чуть посложнее: таких данных у клиента может не быть (например его текущие координаты, в случае если пользователь мобильного приложения не разрешил доступ приложению к этим данным).

Боковое меню и открытая клавиатура

Столкнулся с проблемой, что боковое меню (MMDrawerController) при открытии оставляет открытую клавиатуру. Это конечно не проблема меню, но повозиться пришлось. Существует несколько вариантов скрыть клавиатуру в iOS. Вся их идея заключается в том, чтобы снять так называемый фокус с объекта, который этот фокус поддерживает. Первый способ это вызвать соответствующий метод. textField.resignFirstResponder() Для вызова этого метода нужно знать соответствующий testField (или другой объект, являющимся в фокусе). Второй способ вызвать метод endEditing у UIView, которая содержит объект в фокусе.