Принудительное обновление provisioning profile в Xcode 8.3

После обновления в Xсode 8.3 исчезло окно управления provisioning profile проекта. Им было удобно пользоваться для принудительного удаления и скачивания профайлов. Например, когда добавляешь на Developer Portal новые устройства для ad-hoc установки, профайл в Xcode обновляется далеко не сразу и не всегда. Чтобы решить эту проблему, можно было зайти в настройки аккаунта, открыть окно управления профайлами и сертификатами, нажать правой кнопкой мыши на профайле, выбрать «Move to trash», после чего заново скачивался новый.

Читать далее →

Статический анализ кода при помощи SwiftLint

SwiftLint — это статический анализатор Swift-кода, разработанный компанией Realm, который проверяет его на соответствие стилю и соглашениям принятым в сообществе разработчиков. Главным образом он базируется на Swift style guide от Github. Почему это важно? Наличие соглашений и стандартов всегда лучше их отсутствия: код написанный в едином стиле, проще читать при командной разработке, а также косвенно анализаторы кода способны улучшить и стабильность приложения, так как распознают заведомо плохие практики. Начинающим изучать Swift разбор ошибок и предупреждений анализатора поможет разобраться в особенностях языка, а также избежать использования устаревших конструкций, которые могли быть скопированы с сайтов вроде Stack Overflow.

Читать далее →

Управляем сторонними библиотеками с CocoaPods

CocoaPods — менеджер пакетов, сделанный по образу и подобию RubyGems, позволяющий легко скачивать и подключать сторонние библиотеки к Swift и Objective-C проектам.

Читать далее →

Исправляем неработающий под Linux тачпад на Asus X550LN

Уже почти год моим основным компьютером является ноутбук Asus X550LN. За это время я неоднократно менял на нем операционные системы, даже пытался жить на Windows, но все время возвращался к излюбленным мной Debian-based дистрибутивам Linux. К сожалению, в 2015 году проблемы с поддержкой аппаратного обеспечения под альтернативными ОС никак не заканчиваются. Так, практически на всех испробованных мной дистрибутивах, не работает тачпад. Проблема проявляется следующим образом: при касании тачпада, в зависимости от дистрибутива, либо не происходит ничего, либо курсор двигается, но невозможно совершить клик, либо же система намертво зависает.

Читать далее →

Восстанавливаем файлы, удаленные в прошлых коммитах в Git

Сегодня передо мной встала довольно простая, но интересная задача: восстановить несколько файлов в репозитории Git, которые были удалены некоторое время назад в разных коммитах. Задача простая, потому что решение легко найти в соотвествующих ответах на Stack Overflow. Мне лишь осталось слегка адаптировать приведенные примеры команд для своих нужд.

Читать далее →

Модули Metasploit

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

Читать далее →

Погружение в Metasploit

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

Читать далее →

Homebrew

Homebrew — менеджер пакетов для Mac OS X, который упрощает установку открытого программного обеспечения. Этот проект имеет открытый исходный код, написан на языке Ruby, а его автором является Max Howell.

Читать далее →

Основы автоматизации сборки при помощи Rake

С Rake знакомы многие кто писал веб-приложения на Ruby on Rails. Но этот инструмент для автоматизации сборки может оказаться весьма полезен и вне контекста популярного веб-фреймворка. Предлагаю разобраться подробнее с его базовыми принципами и подумать где еще он может пригодиться.

Читать далее →

Vagrant: наполнение виртуальной машины при помощи shell-скрипта

Создавать виртуалку при помощи Vagrant легко и весело, но пустая виртуалка врядли будет кому-то полезна и интересна. Раз уж мы автоматизировали создание виртуальной машины, то почему бы не автоматизировать установку необходимого программного обеспечения? В терминологии Vagrant такой процесс называется наполнением (provisioning).

Читать далее →