Сейчас трудно встретить сайт без кнопки «Share» (Я уже не говорю про «Like»): это быстрый и удобный способ поделиться интересной информацией с друзьями и недругами через всевозможные социальные сети. Эту же «кнопку» можно использовать и в своем Android-приложении. При этом не обязательно, чтобы приложение представляло из себя клиент Facebook'а: можно просто предоставить пользователю возможность послать себе на стенку простое сообщение, типа «Я использую Android Yorshik! Попробуй и ты!» Ну это гипотетически.
А на деле в последнем проекте мне пришлось обеспечить пользователю возможность отравлять сообщения (и картинки) на Facebook и в Twitter о своем прогрессе, и конечно же и тут не обошлось без подводных камней (куда ж без них). Перед написанием статьи Я решил вычленить часть кода, отвечающую за шаринг, в отдельный компонент, для демонстрации работы с Facebook API и Twitter API. Но потом Остапа понесло, и в результате получился реюзабельный инструмент для простого шаринга в Facebook и Twitter (а в перспективе и в другие соцсети). Под «простым шарингом» Я подразумеваю возможность только послать сообщение или картинку. Никаких «зафрендить» или «ретвитнуть» простой шаринг не предполагает. Простой функциональности — простой интерфейс! Я попытался скрыть все сложности работы с API за красивым фасадом. Но об этом далее…
Предлагаю вашему вниманию маленький сервис, позволяющий сгенерировать QRCode для размещения его на визитке. Это позволит легко сохранить информацию с Вашей визитки, например, в телефон.
Очередной топик с обзором нескольких интересных плагинов jQuery.
Mobily Map
Позволяет сделать интерфейс, подобный google-картам, на основе собственных изображений (возможность перетаскивать, ставить маркеры на изображении, реагировать на нажатие по ним и др.). Узнать больше (англ.) | Посмотреть в действии
Вопрос поиска хорошего flash-плеера с HTML-интерфейсом занимал и занимает многих. Только на хабре можно найти немало статей на похожую тему. Так сложилось, что для своих нужд я использовал Flowplayer с плагином Controlbar с официального сайта. И все же чего-то не хватало…
Однажды пришло решение – использовать удобство тем jQuery UI для стилизации элементов управления. Было очевидно, что писать плагин придется самому. Увидеть, что из этого получилось можно под катом.
Пи — математическая константа, выражающая отношение длины окружности к длине её диаметра. Обозначается буквой греческого алфавита «пи». Пи в Википедии.
Данная статья является приквелом статьи о группировке маркеров, ведь как известно, для того чтобы группировать что-то ненужное, надо сначала отобразить что-то ненужное;)
Плагин позволяет отображать множество маркеров на карте с кастомными иконками и информационными окнами, группировать (опционально). Так же есть возможность указать целевой инпут, который будет использоваться для геокодирования, перетаскиванием маркера вручную корректировать результаты и отслеживать их изменение.
Сегодня на саммите разработчиков Ubuntu был представлен новый интерфейс для Ubuntu Netbook Edition 10.10 — Unity! Unity — это «умная панель» Gnome, располагающаяся в левой части экрана.
Появилась эта задумка уже давно — с тех самых пор, когда узнал про wand.dat. До недавнего времени всё никак не доходили руки.
Итак, что у нас есть
Браузер Opera. Хранит он все запомненные пароли от сайтов в файле wand.dat в открытом виде. Правда в открытом только в том случае, если не стоит мастер-пароль, который конечно же никто не ставит. Что заставило разработчиков сохранять пароли в незашифрованном виде, если нет мастер-пароля? Неизвестно. Логичней было бы форсированно не сохранять пароли вообще, пока пользователь-таки не установит мастер-пароль.
Direct Connect. «Частично централизованная файлообменная (P2P) сеть». Пользователь расшаривает папки/файлы на своём компьютере, заходит на хабы, качает/раздаёт. Поиск работает в пределах подключенных хабов. Уникальность файлов определяется через Tiger Tree Hashing. Люди, которым нечего расшаривать (на многие хабы не пускают без минимальной шары в 10-15 ГБ), расшаривают Program Files, Windows, ну и иже с ними.
Оторваться от компьютера — частая проблема для айтишников. Нашедшее вдохновение или затягивающий интернет — и часы пролетают незаметно, а глаза после этого хотят вывалиться. Итог — садящееся зрение, понижение производительности, кривая спина и квадратная попа.
Когда собственной силы воли(или внимательности к своему самочувствию) не хватает, на помощь приходят специальные программки.
Продолжаю разговор об инструментах, с помощью которых можно сделать такой сложный и непривычный процесс написания спецификаций простым, доступным и даже прикольным (см. Часть 1. Инструменты — начинаем с простого). Я уже давно подумывал о том, чтобы приспособить для этого вики.
Что из этого вышло – читайте ниже.
Списки. Свёртка списка (reduce). Прохождение по списку (range, xrange и enumerate). Проверка всех элементов списка на выполнение условия (all и any). Группировка элементов нескольких списков (zip). Еще несколько операторов для работы со списками. Продвинутые логические операции с типом set. Словари. Создание словаря с помощью именованных аргументов. Преобразование словаря в список и обратно. «Dictionary Comprehensions».
Представляю вашему внимаю перевод статьи Shalabh Chaturvedi «Be Pythonic», рекомендованной в этом топике. Если мое начинание будет поддержано, планирую также перевести две остальные упомянутые там статьи этого автора.
Вступление
Эта статья предназначена для новичков в Python.
При переходе с одного языка на другой некоторые вещи для вас могут остаться неизвестными (см. Transfer of Learning). То, что вам известно о других языках, может быть не всегда полезным в Python. Эта статья содержит некоторые используемые в Python идиомы, которые мне особенно нравятся. Я надеюсь, читатели найдут их полезными для овладения языком.
Не давно писал как можно рекомендовать товар в Интернет-магазинах или других местах, используя информацию о пользователе. Сейчас хочу показать алгоритм, который позволяет рекомендовать друзей, например в социальных сетях.
Первый шаг, представим информацию о пользователя в интервальной шкале и рекомендуем пользователю друзей используя коэффициент корреляции Пирсона, который будет измеряет степень линейной зависимости между двумя интервальными переменными. Например, у нас есть 4 пользователя: Дима, Анна, Петя и Саша. Мы знаем о них информацию, которую представляем в виде чисел в массиве (интересы, блоги, возраст и т.д.)
Daniel Pink — автор книг и статей о современном подходе к бизнесу. Об одной из его книг как-то уже писали на хабре.
В этом коротком выступлении Daniel рассказывает о том, что «метод пряника» работает только для мотивации рутинного труда. А для сфер деятельности, требующих творческого подхода, не только не приносит пользы, но и делает работу менее эффективной. Он предлагает новые методы мотивации, которые сделали возможным появление таких продуктов как Wikipedia и Google Mail. И применение этих методов в будущем, возможно, сможет сделать мир немного лучше.