Алгоритмы сортировки. Их не много, но и не мало. Есть часто используемые, есть никому не нужные. Я решил произвести обзор этих алгоритмов, чтоб освежить и свою память, и память хабрапользователей. И начнём с редкоиспользуемого алгоритма Gnome Sort(гномья сортировка).
Белоусов Александр. @jarvis
Web-разработка и продукт-менеджмент
Оптимизация графики для Retina-экранов
7 min
213KTranslation
После недавнего выпуска Retina MacBook Pro и The new IPad, экраны с увеличенной плотностью пикселей начали активно входить в нашу жизнь. Что это значит для веб-разработчиков?
Для начала разберемся в терминологии.

Для начала разберемся в терминологии.
Физические пиксели

+120
Реализуем RESTful Web Service на java
8 min
186KTutorial
Добрый день всем хаброжителям!
Поводом к написанию статьи послужило, то что к моему большому удивлению на хабре я не нашёл статьи о реализации RESTful Web Service на Java, может, конечно, плохо искал. Да написано про RESTful web services очень много, но как то вот так, чтобы простенько с примерами кода, рабочий сервис, не так уж и легко найти и не только на хабре…
Вообще с REST я познакомился совсем недавно, не больше месяца назад. Так что буду очень благодарен за советы, поправки и критику!
Разобраться было и так вообщем то не сложно, но я думаю аналогичный пост мне бы очень помог и сильно бы ускорил процесс обучения! Тем более, если вы начинающий разработчик и о многом только слышали, а руками никогда не трогали.
По моему первому впечатлению: действительно вещь очень удобная, а главное очень простая, ещё и если использовать JSON, а не XML, ну по крайней мере мне так показалось после опыта работы с SOAP и WSDL. Ну, да об этом я думаю и так все знают, кто хоть немного работал с веб сервисами.
Так что, кто заинтересовался реализацией, прошу под кат
Поводом к написанию статьи послужило, то что к моему большому удивлению на хабре я не нашёл статьи о реализации RESTful Web Service на Java, может, конечно, плохо искал. Да написано про RESTful web services очень много, но как то вот так, чтобы простенько с примерами кода, рабочий сервис, не так уж и легко найти и не только на хабре…
Вообще с REST я познакомился совсем недавно, не больше месяца назад. Так что буду очень благодарен за советы, поправки и критику!
Разобраться было и так вообщем то не сложно, но я думаю аналогичный пост мне бы очень помог и сильно бы ускорил процесс обучения! Тем более, если вы начинающий разработчик и о многом только слышали, а руками никогда не трогали.
По моему первому впечатлению: действительно вещь очень удобная, а главное очень простая, ещё и если использовать JSON, а не XML, ну по крайней мере мне так показалось после опыта работы с SOAP и WSDL. Ну, да об этом я думаю и так все знают, кто хоть немного работал с веб сервисами.
Так что, кто заинтересовался реализацией, прошу под кат
+28
Исследуем iOS SDK и используем недокументированные API
19 min
33KИз этой главы, да и из всей этой книги понятно, что самые лакомые куски программирования под iOS включены в публичные фреймворки, но не в SDK. Неофициальная политика Apple насчет этого проста: вы можете всё это использовать, но только на свой страх и риск. Ваш код может сломаться при следующем обновлении прошивки. Вам самим придётся искать компромисс между риском и прибылью.
Erica Sadun, The iPhone Developer's CookBook
Оригинал
As you’ve seen in this chapter, and throughout this book, some of the nicest bits of iPhone programming are included in the public iPhone frameworks but not in the SDK. Apple’s unofficial policy on this is clear:You can use these items in your programs, but you do so at your own risk.Your code may break at each firmware release. Striking the balance between risk and reward is up to you.
Дисклеймеры
- Приведенные здесь куски кода работают на обычных iPhone (включая 4S) и iPad (включая new iPad) и не требуют jailbreak.
- Все решения написаны и протестированы на iOS 5. Все решения также протестированы на совместимость с iOS 4.3, т.е. работают с iOS 4, если не сказано обратное. Основная часть статьи была написана до выхода iOS 6, так что приведенные решения не тестировались на совместимость с iOS 6.
- Использование недокументированных API может привести к тому, что ваше приложение не допустят в AppStore. А может и не привести :-)
Для тех, кому интересно, как Apple опрделяет использование приваетных API:«Как Apple узнаёт, что ты используешь приватные API?»
- Apple может изменить реализацию вместе со следующим релизом iOS, и в вашем коде что-то сломается. Впрочем, это решаемо, и ничем принципиально не отличается от реализации обратной совместимости для документированных API. Ниже я рассмотрел эту проблему чуть подробнее.
- Я не могу гарантировать, что у найденных мной API нет побочных эффектов. Используйте на свой страх и риск.
- Лицензионное соглашение Apple Developer Program запрещает реверс-инжинеринг iOS.
- Статья в процессе доработки. Конструктивная критика приветствуется!
Краткая инструкция по поиску в SDK
Допустим, вам нужно сделать что-то, выходящее за рамки официальной документации.
+49
Полноценное Python приложение на Android
4 min
188K
В этой статье я хотел бы рассказать о том, как создать полноценное приложение на Python для Android. Нет, это не очередной мануал для создания скрипта для sl4a, это мануал по созданию полноценного приложения с UI, возможностью собрать apk и выложить на Android Market. Заодно я хотел бы похвалиться своим первым приложением на google.play, это не hello world, а полезное приложение для фотографов, хотя и узко специализированное.
+103
Обзор JS-фреймворков. Путешествие через джунгли JavaScript MVC. Ч. 2
15 min
124KTranslation

Содержание первой части:
■ Что такое MVC или, лучше сказать, MV*?
■ Когда нам нужен MV*-фреймворк JS?
■ Где же мы будем нуждаться в MV*, а где нет?
■ Проблема выбора: слишком много вариантов?
■ TodoMVC: общее приложение для обучения и сравнения
■ Предложенные нами критерии выбора фреймворка
■ Dojo и усложнение фреймворков на JavaScript
■ Коллекция TodoMVC (фреймворки, на которых сделаны реализации тестового приложения Todo)
+69
Книги, видео и другие материалы по разработке под iOS
4 min
114K«Хочу программировать под iPhone — говори, что почитать...»
Любимая девушка
Когда решаешься заняться разработкой под iOS, то трудно выбрать литературу и ресурсы, которые действительно были бы полезны. Хорошо еще, что Apple предоставляет множество учебных материалов и программ с открытым исходным кодом в своем центре для разработчиков. В остальных книжках можно если и не утонуть, то порядочно захлебнуться. Сейчас я жалею, что потратил время на пару «мануалов». Не буду делать им антирекламу, а лучше порекомендую хорошие материалы по программированию под iOS.
Под катом книги, видеокурсы и блоги, которые будет полезно прочитать/посмотреть.
Любимая девушка
Когда решаешься заняться разработкой под iOS, то трудно выбрать литературу и ресурсы, которые действительно были бы полезны. Хорошо еще, что Apple предоставляет множество учебных материалов и программ с открытым исходным кодом в своем центре для разработчиков. В остальных книжках можно если и не утонуть, то порядочно захлебнуться. Сейчас я жалею, что потратил время на пару «мануалов». Не буду делать им антирекламу, а лучше порекомендую хорошие материалы по программированию под iOS.
Под катом книги, видеокурсы и блоги, которые будет полезно прочитать/посмотреть.
+93
Core Data в iOS 5: как загрузить и импортировать существующие данные
8 min
14KRecovery Mode
Translation
Здравствуй Хабр. Я предлагаю вам перевод статьи, с помощью которой мне стали очевидны основные возможности Core Data.
Примечание:
Член команды обучающей программы iOS Adam Burkepile любезно обновил ряд Core Data в iOS 5. — В этом посту я немного расскажу об этом.

Это руководство было полностью переписано, чтобы показать более изящный способ предварительно загрузить данные, используя только Core Date вашего iPhone.
Примечание:
Член команды обучающей программы iOS Adam Burkepile любезно обновил ряд Core Data в iOS 5. — В этом посту я немного расскажу об этом.

Это руководство было полностью переписано, чтобы показать более изящный способ предварительно загрузить данные, используя только Core Date вашего iPhone.
+5
Подборка CSS3-генераторов для упрощения фронтэнд-разработки
2 min
48KTranslation
CSS3 предоставляет много новых возможностей в мире фронтэнд-разработки. Это действительно великолепная вещь, но иногда трудно вспомнить некоторые параметры, особенно, если вы — веб-дизайнер, а не программист. Вот 10 удивительных CSS3-генераторов, которые помогут вам сэкономить время и силы (картинки кликабельны).
+70
Core Data: импорт данных с минимумом кода
5 min
11KКак и многие разработчики, я не очень люблю писать много кода, особенно там, где это кажется не нужным — на ранних стадиях стараюсь придумать, как этот код оптимизировать и обобщить. Что касается непосредственно Core Data, мне всегда казалось, что все эти бесконечные фетчи и создания новых объектов можно упростить. Тогда я открыл для себя часто упоминаемый на хабре паттерн ActiveRecord и его очень хорошую (на мой взгляд) реализацию на Objective-C — MagicalRecord. Углубляться в описание не буду — все очень доступно описано на странице проекта.
Следующим шагом упрощения должен был быть маппинг данных, поступающих извне.
Следующим шагом упрощения должен был быть маппинг данных, поступающих извне.
+6
Энергосберегающий background location + отправка данных на сервер из фона
5 min
14KПостановка задачи
В приложении необходимо отслеживать местоположение пользователя, когда приложение работает в фоновом режиме (с относительно приемлимой точностью), а также когда приложение активно (с высокой точностью).
Решение
Решение в лоб — использовать данные из коллбеков [CLLocationManagerInstance startUpdatingLocation] как в фоне, так и когда приложение активно. Первый и наиболее критичный недостаток данного решения — высокое энергопотребление (за несколько часов аккумулятор iPhone может полностью сесть). Второй — если приложение будет свернуто и 'убито', никаких апдейтов положения пользователя мы получить не сможем.
+25
Варианты построения высокодоступных систем в AWS. Преодоление перебоев в работе. Часть 2
8 min
7.6KВ этой части будут рассмотрены следующие варианты построения высокодоступных систем на базе AWS:
- Построение высокодоступной системы между зонами доступности AWS
- Построение высокодоступной системы между регионами AWS
- Построение высокодоступной системы между различными облачными и хостинг провайдерами
+21
Обработка естественного языка. Полезные инструменты
3 min
8.7KПоследнее время на Хабре зачастили статьи про обработку естественного языка.
И так уж совпало, что последнее время я работаю в этой области.
Был очень хорошо освещен sentiment analysis, и теггер частей речи pymorphy.
Но мне хотелось бы рассказать, какие средства для NLP использовал я, и что я нашел нового, чего здесь еще не было
И так уж совпало, что последнее время я работаю в этой области.
Был очень хорошо освещен sentiment analysis, и теггер частей речи pymorphy.
Но мне хотелось бы рассказать, какие средства для NLP использовал я, и что я нашел нового, чего здесь еще не было
+25
Дайджест интересных новостей и материалов из мира айти за последнюю неделю №18 (11 — 17 августа 2012)
4 min
17KПредлагаем вашему вниманию очередную подборку с ссылками на новости, интересные материалы и полезные ресурсы.


+21
Пользовательское соглашение? Нет, не читал
2 min
8.2K"Я прочитал и согласен с условиями пользовательского соглашения..." — это почти всегда неправда. Никто их не читает. Чаще всего единственный смысл существования всех этих соглашений — защитить сервис от любых претензий со стороны пользователей, переложить на них всю ответственность и оставить компании максимальную свободу распоряжаться данными пользователей в собственных интересах.
Молодой сайт "Terms of Service; Didn't Read" (ToS;DR) пытается вернуть пользовательским соглашениям их первоначальный смысл и сделать их понятными каждому. Команда проекта анализирует пользовательские соглашения множества крупных интернет-сервисов и присваивает им класс от A до E, в зависимости от того, насколько дружественны и лояльны к пользователю правила сервиса. Класс A гарантирует, что компания уважает права пользователей и не будет злоуптреблять их данными. Класс E, наоборот, сигнализирует о том, что условия имеют очень серьёзные недочёты и составлены исключительно в пользу сервиса.
Кроме того, ключевые моменты соглашения переводятся с юридического языка на человеческий и снабжаются значками, характеризующими их как положительные, отрицательные, опасные или информативные.
Молодой сайт "Terms of Service; Didn't Read" (ToS;DR) пытается вернуть пользовательским соглашениям их первоначальный смысл и сделать их понятными каждому. Команда проекта анализирует пользовательские соглашения множества крупных интернет-сервисов и присваивает им класс от A до E, в зависимости от того, насколько дружественны и лояльны к пользователю правила сервиса. Класс A гарантирует, что компания уважает права пользователей и не будет злоуптреблять их данными. Класс E, наоборот, сигнализирует о том, что условия имеют очень серьёзные недочёты и составлены исключительно в пользу сервиса.
Кроме того, ключевые моменты соглашения переводятся с юридического языка на человеческий и снабжаются значками, характеризующими их как положительные, отрицательные, опасные или информативные.
+95
Хабракамп про облака
1 min
1.7K
Поэтому в этот раз мы будем говорить об облаках. Буду рад увидеть в экспертах технарей из русских облаков (Селектел, Скалакси, Клодо), возможно представителей западных облаков (Rackspace, Amazon), тех кто строит свои приватные или публичные облака, программистов которые пишут софт под облака, администраторов которые работают с облаками и др.
Для компаний это повод попиариться, для специалистов получить миллион +1 к карме.
Правила те же, на первом уровне комментариев специалисты пишут свою область знаний, вопрошающие задают вопросы и получают ответы.
Самые интересные на мой взгляд:
Главный технарь clodo.ru: habrahabr.ru/post/149764/#comment_5067869
Внедренец Office 365: habrahabr.ru/post/149764/#comment_5067996
Архитектор Скалакси: habrahabr.ru/post/149764/#comment_5068389
+24
Многопоточный загрузчик файлов на JS (jQuery)
5 min
5.5KДоброго времени суток, коллеги. В этой статье я опишу опыт создание многопоточного загрузчика файлов (с ограниченной нагрузкой на сервер) на JS (jQuery).
Совсем недавно у меня появилась задача (опытом решения которой я и хочу с вами поделится): сделать, в админке, возможность выбирать и загружать более одного файла за один раз. Задание вроде тривиальное и не сложное, но в итоге мое решение показалось мне довольно таки интересным, так как не было найдено аналогов.
Совсем недавно у меня появилась задача (опытом решения которой я и хочу с вами поделится): сделать, в админке, возможность выбирать и загружать более одного файла за один раз. Задание вроде тривиальное и не сложное, но в итоге мое решение показалось мне довольно таки интересным, так как не было найдено аналогов.
+24
Pinba — мониторим php в реальном времени
4 min
58KКак сказано на официальном сайте —
И это действительно так. Она позволит вам в реальном времени получать статистику по работающему приложению, при этом не замедляя само приложение.
Что делать со статистикой — это уже ваше дело, например, мы выводим ее в заббикс и используем как для мониторинга стабильности (нет ошибок, мало число длинных запросов), так и для аналитики.
Удивительно, что про это действительно замечательное изобретение не было еще ни одной статьи на хабре.

Pinba is a realtime monitoring/statistics server for PHP using MySQL as a read-only interface.
И это действительно так. Она позволит вам в реальном времени получать статистику по работающему приложению, при этом не замедляя само приложение.
Что делать со статистикой — это уже ваше дело, например, мы выводим ее в заббикс и используем как для мониторинга стабильности (нет ошибок, мало число длинных запросов), так и для аналитики.
Удивительно, что про это действительно замечательное изобретение не было еще ни одной статьи на хабре.

+175
Мониторинг производительности PHP-кода с помощью Pinba
15 min
42K
Со временем число серверов будет расти, и рано или поздно вы зададитесь вопросами
«А что сейчас вообще происходит с системой? Как часто выполняется тот или иной скрипт и как долго? Какие операции занимают большую часть времени?» Системы мониторинга типа Zabbix дают лишь общую, поверхностную картину состояния приложения.
Чтобы получить ответы на эти вопросы, в Badoo был разработан сервиc мониторинга и статистики в реальном времени — Pinba. В данной статье мы расскажем о нашем опыте использования его для мониторинга и профайлинга нашей системы.
+84
Классификатор kNN
6 min
150KkNN расшифровывается как k Nearest Neighbor или k Ближайших Соседей — это один из самых простых алгоритмов классификации, также иногда используемый в задачах регрессии. Благодаря своей простоте, он является хорошим примером, с которого можно начать знакомство с областью Machine Learning. В данной статье рассмотрен пример написания кода такого классификатора на python, а также визуализация полученных результатов.
+24
Information
- Rating
- Does not participate
- Location
- Петрозаводск, Карелия, Россия
- Registered
- Activity