• Полезные штуки для iOS-разработчика #1

      На Хабре в свое время было несколько статей «Очень много полезных штук для AS3». Автор попытался собрать ссылки на самые полезные и интересные библиотеки. И т.к. в последнее время я разрабатываю под iOS, решил последовать его примеру и сделать то же самое, но для своей платформы. Описания почти прикладывать не буду, все есть на страничках проектов.
      Читать дальше →
    • Fabric — пара прикладных рецептов

        Сегодня неожиданно понял, что скрипты — это сила (спустя несколько месяцев использования fabric). На самом деле 30 минут потраченные на написание адекватного сценария избавляют от многих совокупных часов повторения ненужных действий. Для упрощения жизни адептов python'а существует такой прекрасный модуль как fabric. И я хочу поделиться парой кусков своего fab-файла как пример упрощения жизни девелопера.

        Это будут функции: «умный» комментатор локальных файлов и git-коммитер.
        Читать дальше →
        • +24
        • 22.2k
        • 7
      • Модуль nginx для борьбы с DDoS

          Многие сталкивались с таким явлением как DDoS атака методом HTTP флуда. Нет, это не очередной туториал по настройке nginx, хочу представить свой модуль, работающий как быстрый фильтр между ботами и бэкэндом во время L7 DDoS атаки и позволяющий отсеивать мусорные запросы.
          Читать дальше →
        • Ускоряем проверку ваших iOS/Mac приложений в iTunesConnect с недели до одного дня


          Проверка приложения, отправленного разработчиком на рассмотрение Apple Review Team в iTunesConnect в среднем занимает около недели, а если вам «повезло» и вы отправили ваше приложение около выходных или праздников, то процесс проверки и появление заветного «In Review» может затянуться на гораздо больший срок.
          В данный статье я хочу описать два способа ускорения проверки iOS и Mac приложений в AppStore, работающих на сегодняшний день. Оба способа являются бесплатными.
          Читать дальше →
        • Обновление по онлайн-курсам Stanford University

            Понимаю, что все заинтересованные уже получили оповещение по почте, но для тех кто не в танке — объявление: онлайн курсы от Stanford University наконец-то начинаются.

            Probabilistic Graphical Models — начинается 19 марта, лекции пока не доступны.

            По данным курсам доступны первые лекции и задания

            Natural Language Processing — начало с 12 марта, первое задание Spamlord должно быть уже выполнено к 19 марта, так что регистрируемся.

            Design and Analysis of Algorithms I — курс по проектированию и анализу алгоритмов.

            Cryptography — доступны видео первой недели обучения.

            Game theory — начало 19 марта, материалов на сайт пока нет, но первая порция будет доступна 10 марта.

            SaaS уже начался, но для того, чтобы плодотворно учить этот курс, необходима книга (10$). Этот курс от University of California, Berkeley.

            Model thinking уже идет практически целый месяц (на самом деле курс основан на материалах University of Michigan, а не Stanford).

            Другие курсы в процессе доработки

            Computer Science 101, Computer Vision (University of California, Berkeley), Machine Learning, Making Green Buildings, Anatomy, Computer Security

            Да, все курсы переехали на платформу Coursera. Поэтому теперь эти лекции смело можно называть «Обучение от Coursera», тем более спектр университетов увеличился.

            Update:

            Information theory — 12 марта появится первая порция лекций, тоже самое для Human-Computer Interaction.

            За апдейтом апдейт: новый виток Machine learning тоже начинается 12 марта.
          • Применение AOP для отладки чужой библиотеки

              На Хабре уже поднималась тема аспектно-ориентированного программирования (Aspect-oriented programming, AOP). Этой парадигме уже не так мало лет, но ее использование отнюдь не повсеместно. В комментариях регулярно обсуждается, а нужна ли она вообще или для каких целей всё же выгодно ее использовать.

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

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

              Если вам интересно, что можно сделать в таких обстоятельствах, добро пожаловать под кат.
              Читать дальше →
              • +20
              • 1.8k
              • 9
            • Сортировки: key vs cmp

                При сортирование в Python 2 есть как минимум два способа это сортирование «настроить»: это параметры key и cmp. Первый был добавлен только в Python 2.4, а второй был удален в Python 3.0. Эти факты как-бы наводят на мысль что key действительно лучше. Кто с этим не согласен или не уверен — прошу под кат.
                Читать дальше →
              • Протестируем по-быстрому? Это не сработает

                Иногда очень хочется что-то протестировать «по-быстрому». Чаще всего это плохо работает, если только вы не знаете точно, что делаете и зачем.

                1.

                Вы руководите разработкой продукта в небольшой компании. Процесс разработки построен на базе двухнедельных итераций, периодически проводятся демо готовых вкусняшек для заказчика. Разработчики у вас достаточно сильные и опытные, продукт не выглядел чересчур сложным, так что тестировщиков на проекте изначально не было, и сейчас тоже нет.
                За уже прошедшие со старта полгода вы неплохо поработали, заказчик в целом доволен ходом работ, хотя, конечно, падения и неадекватное поведение продукта во время демонстраций его смущают. Последняя демонстрация особенно удалась – из-за возникших технических проблем показать новые фичи не получилось. Заказчик потребовал больше внимания уделять стабильности и качеству продукта.
                По планам до завершения проекта осталось три с половиной итерации, время разработчиков уже распланировано, и вы решаете нанять тестировщиков – чтоб они быстренько все протестировали, выгребли хотя бы основные проблемы и помогли тем самым выпустить достаточно хороший продукт.
                Эй, это не сработает!
                Читать дальше →
              • Приложение AppleInsider.ru: разработка, статистика, ошибки

                  image


                  Приветствую вас, читатели Хабра!

                  На прошлой неделе мы выпустили приложение AppleInsider.ru, которое в первый же день попало в топ-50 русского сегмента App Store, и в данной статье я бы хотел рассказать немного о его создании, используемом инструментарии, а так же поделиться статистикой в первые дни его запуска.
                  Надеюсь, что мой рассказ не покажется вам занудным, и вы сможете почерпнуть что-то полезное из описанного.
                  Читать дальше →
                • Пристальный взгляд на шаблоны мобильных интерфейсов

                  • Translation


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

                  Эти 70 шаблонов проиллюстрированы сотнями примеров приложений для операционных систем Apple, BlackBerry, Android, Symbian, Windows и WebOS будут изданы O’Reilly Media как «Mobile Design Pattern Gallery». Ниже приведена одна из моих любимых глав — Приглашение.

                  * Не смотря на то, что эти шаблоны ориентированы на разработку мобильных приложений, они так же могут быть использованы при работе над мобильным веб-сайтом.
                  Читать дальше →
                • Разработка виджета для центра уведомлений iOS



                  Notification Center — удобная и простая в использовании функция в iOS, но она ограничена лишь стандартными виджетами. Не секрет, что любители jailbreak уже давно пользуются сторонними твиками, но вот информации о их разработке практически нет. В этой статье я постараюсь это исправить и описать процесс создания на примере виджета для проверки баланса моего интернет-провайдера.
                  Читать дальше →
                • Настройка внешнего вида UIPopoverController

                    UIPopoverController или всплывающее окно (далее просто «поповер») элемент далеко не новый. На Хабре есть одна вводная статья на эту тему и несколько упоминаний в других топиках. Чаще всего поповеры используются «как есть» и не требуют каких-либо модификаций, но в некоторых проектах возникает необходимость изменить внешний вид этого элемента. Как раз о том как это сделать и будет эта статья.

                    Статья не просто перевод или пересказ документации Apple. Я столкнулся с проблемой в реальном проекте, пропустил материал сквозь себя (в хорошем смысле слова), приготовил тщательно разжеванное объяснение и, напоследок, приправил все это конкретной реализацией, которая может пригодиться и вам.
                    Читать дальше →
                  • Что делать, чтобы проекты не занимали в 2-3 раза дольше, чем планируется? Часть 2

                      Давайте продолжим обсуждение инструментов и методов по соблюдению сроков проектов, учитывая что предыдущий топик вызвал достаточно активную дискуссию и более двухсот человек добавили топик себе в избранное. На этот раз пост будет более унылым, постараюсь дать более подробные рекомендации в текстовом виде.
                      Следующий набор рекомендаций выглядит так:
                      • Убедитесь, что срок действительно жесткий
                      • Не берите на себя проекты с нереальными сроками
                      • Планируйте методом «набегающей волны»
                      • Периодически пересматривайте оценку проекта
                      • Оценивайте проект эмпирически
                      • Привлекайте к первоначальной оценке команду
                      Подробности под катом
                      • +25
                      • 3.6k
                      • 6
                    • Новая файловая политика iOS 5 и история реджекта по-вахтёрски



                        Good day, хабрасообщество!

                        Решил разбить эту статью на две части – первая будет про НЭП Новую Файловую Политику и чистку любимой папки Documents, т.е. полезную iOS-девелоперу информацию (вроде на хабре про это ещё не писали). Информация очень полезная, если вы хотите сберечь нервы, время и деньги при залитии обновления / нового приложения на AppStore, так что рекомендую к чтению всем-всем-всем.

                        Во второй я расскажу про войну с первой линией техподдержки Эппла и синдром вахтёра, но она носит скорее повествовательный характер и её читать не нужно.
                        Читать дальше →
                      • Методика управления рисками — обобщение моего опыта работы над проектами

                          Сегодня я хотел бы поделиться с многоуважаемыми завсегдатаями Хабрахабра своим обобщённым опытом управления рисками в рамках проектной деятельности. Данное описание методики управления рисками будет полезно руководителям проектов, лицам, принимающим решения, тим-лидам отдельных коллективов в проектных командах. Ознакомившись с методикой, вы сможете использовать её полностью или частично при управлении своими проектами.

                          Данная методика основана на рекомендациях PMBoK. Также при выкристаллизовывании методики учитывались знания и опыт, полученные мной на проектах в интересах Национального Центра Управления в Кризисных Ситуациях МЧС России. Методика апробировалась на проектах МЧС России, ГИБДД МВД, финансовых организаций и организаций-разработчиков программного обеспечения.

                          Хватит слов, к делу
                        • Немного подробностей про Class Based Views, ч.3

                            Приветствую вас вновь, дорогие читатели! Публикую очередную статью из цикла немного про Class Based Views (далее CBV) в Django. На этот раз я, как и планировал, хотел бы рассмотреть ListView (отвечает за отображение списка объектов) и DetailView (отвечает за отображение информации об отдельном объекте).

                            Часть 1, часть 2, часть 3, часть 4

                            Также, как и ранее, я буду рад обратной связи с читателями — если вы обнаружите ошибку или неточность в статье, то прошу сообщить, сделаем статью лучше вместе.
                            Читать дальше →
                          • Почему проекты в IT занимают в 2-3 раза дольше, чем планируется?

                            • Translation
                            Мы с другом решаем пойти в поход от Сан Франциско до Лос Аджелеса, чтобы заскочить в гости к нашим друзьям на Ньюпорт Бич. Посмотрим на карту и примерно прикинем путь по берегу:

                            image

                            Путь займёт около 400 миль, в день мы можем пройти 4 мили в час по десять часов, так что придём мы туда примерно через 10 дней. Мы звоним друзьям и бронируем столик на 6 вечера в воскресенье.

                            Читать дальше →
                          • Проброс видеокарты в виртуальную машину

                              Говорят, что современные аппаратные технологии поддержки виртуализации (VT-d у Intel, IOMMU у AMD) позволяют отдавать физическое устройство на шине PCI в непосредственное управление виртуальной машине. В том числе видеокарту.
                              Воображение рисует такую конфигурацию: настольный сервер с гипервизором, на нем запускается гостевая пользовательская операционная система, имеющая доступ к необходимым устройствам ввода-вывода, один-два неприхотливых сервера по мере надобности, ну и сколько надо виртуалок для бесчеловечных экспериментов. Управляем гипервизором через консоль в гостевой ОС либо удаленно, с ноутбука, скажем.
                              Вдохновленный этой картиной, я решил попробовать, но оказалось, что проброс (passthrough) видеоадаптера — задача не совсем тривиальная. Только месяца через три боданий с железом и чтения форумов удалось получить положительный результат. В качестве гипервизора пробовал VMware и Xen. Получилось только с Xen.
                              Читать дальше →
                            • Почти Hi-End. Качественная акустическая система

                              Создать данный топик меня натолкнул этот проект (Он конечно сделан неправильно, но меня поймут только проф. колонкостоители, фильтра нужно рассчитывать измеряя АЧХ и отталкиваясь от корпуса). В общем, я думал что здесь такое не интересно, но нет оказывается, есть интерес.

                              Поэтому хочу поделиться с Вами своей конструкцией. Описание проекта и много фото далее…

                              Первое, с чего я начал сборку это конечно же выбор динамиков. Система задумывалась как 4-х полосная, поэтому были выбраны следующие динамики:

                              - Tweeter(ВЧ динамик): SB Acoustics SB26STAC-C000-4

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