Гиви Чопикашвили @atari
User
Спокойной ночи!
6 min
21K Около месяца назад я приобрел HTC Hero. Основной причиной, по которой был выбран этот телефон, а не iPhone, была возможность полноценно разрабатывать приложения под Windows.
В качестве пробы пера я написал небольшую программу, которая выключает звук на ночь. Под катом описание процесса разработки и ссылка на программу.
В качестве пробы пера я написал небольшую программу, которая выключает звук на ночь. Под катом описание процесса разработки и ссылка на программу.
+113
Радиоуправляемый шагающий робот на MG90
9 min
47KRecovery Mode
В последнее время в сети появилось много статей по созданию шагающих роботов на основе китайских сервомашинок. Все они написаны технически грамотно и со знанием дела, вот только есть небольшая проблема: в большинстве случаев описанные в них поделки в итоге не работают. Посему предлагаем вашему вниманию нашу разработку, доведенную до логического конца.
Если тут видео не показывает, то: прямая ссылка.
Особенности:
1) 4 ноги 2) радиоуправление 3) легкий 4) оптимальная цена 5) без тупой ардуины.
Если тут видео не показывает, то: прямая ссылка.
Особенности:
1) 4 ноги 2) радиоуправление 3) легкий 4) оптимальная цена 5) без тупой ардуины.
+51
Автоматическое выделение меток
5 min
23KTutorial
В машинном зрении и робототехнике есть забавный класс задачек: обнаружение заранее известных меток. Сюда можно отнести всё: QR-коды, Augmented Reality ( AR, дополненная реальность), задачи позиционирования объектов (motion capture, определение местоположения), детектирование объектов по меткам, классификация объектов в робототехнике (например при автоматической сортировке), помощь автоматическим системам в позиционировании (роботизированные захваты), трекинг объектов, и.т.д.
В статье описаны основные методы захвата меток, их возможности, границы применимости.
В статье описаны основные методы захвата меток, их возможности, границы применимости.
+50
Краткий обзор 6 бюджетных колесных платформ для роботов с Ebay
4 min
73KДоброго времени суток.
Совсем недавно я считал, что сделать робота — это дорого. Ну, не так чтобы миллион, но тысяч 5-10 точно. Именно поэтому я не думал в этом направлении и даже не рассматривал такую возможность — создать что-то движущееся и реагирующее на внешний мир. Однако, после вот этого топика roboforum.ru/forum88/topic2214.html мое представление изменилось и я загорелся идеей.
Вниманию представляется краткое описание 6 бюджетных платформ для робота до 2000 рублей. Оценка субъективна, буду рад, если хабровчане подкинут ссылок и примеров на другие бюджетные платформы и возможности, которые я упустил.
Для всех примеров приведены ссылки на Ebay, на момент статьи, выбирал самые дешевые предложения. Перед тем как делать заказ — посмотрите на рейтинг продавца, почитайте отзывы и убедитесь в стоимости доставки. А то у меня были прецеденты.
Плюсы: Дешево. Самый дешевый вариант колесной платформы, который можно придумать. Делается из всего, что может ездить на колесах и имеет моторчик. Необходимо минимум 2 мотора для создания управляемой платформы.
Минусы: Хлипкость конструкции, пластик, необходимость продумать основу для управляющей платы, непонятные моторы, неизвестные параметры редукторов, отсутствие нормальных креплений для датчиков.
Совсем недавно я считал, что сделать робота — это дорого. Ну, не так чтобы миллион, но тысяч 5-10 точно. Именно поэтому я не думал в этом направлении и даже не рассматривал такую возможность — создать что-то движущееся и реагирующее на внешний мир. Однако, после вот этого топика roboforum.ru/forum88/topic2214.html мое представление изменилось и я загорелся идеей.
Вниманию представляется краткое описание 6 бюджетных платформ для робота до 2000 рублей. Оценка субъективна, буду рад, если хабровчане подкинут ссылок и примеров на другие бюджетные платформы и возможности, которые я упустил.
Для всех примеров приведены ссылки на Ebay, на момент статьи, выбирал самые дешевые предложения. Перед тем как делать заказ — посмотрите на рейтинг продавца, почитайте отзывы и убедитесь в стоимости доставки. А то у меня были прецеденты.
Платформа из игрушек за 300 рублей
Плюсы: Дешево. Самый дешевый вариант колесной платформы, который можно придумать. Делается из всего, что может ездить на колесах и имеет моторчик. Необходимо минимум 2 мотора для создания управляемой платформы.
Минусы: Хлипкость конструкции, пластик, необходимость продумать основу для управляющей платы, непонятные моторы, неизвестные параметры редукторов, отсутствие нормальных креплений для датчиков.
+39
Быстрое определение местоположения по ip в postgresql
3 min
14KВ этом топике я хочу рассказать о задаче, очень часто встречающейся в веб-проектах — определение местоположения по ip-адресу. Начну с того, что для того, чтобы определить местоположение пользователя — нужна некая geoip база. Приведу здесь два популярных бесплатных варианта:
IpGeoBase — очень хорошая бесплатная база, но, к сожалению, только по российским ip-адресам.
MaxMind — огромная база по ip-адресам всех стран. Предоставляют бесплатную lite-версию базы. Точность базы по российским ip-адресам не настолько хороша, как у IpGeoBase. Также предоставляют некое API для работы со своей базой, которое позволяет производить выборки очень быстро.
Допустим вы скачали эти базы и залили их в таблицы вашей БД Postgresql (сама закачка — несколько out of scope, если у кого-то возникнет желание — я могу в будущем рассказать о том, что такое команда COPY и с чем ее едят). В общем случае вы получите таблицу такой структуры:
Здесь:
startip — это начало блока ip-адресов в формате long
endip — конец блока ip-адресов в формате long
location_id — идентификатор локации (город, регион, страна и т.д., maxmind даже координаты содержит).
IpGeoBase — очень хорошая бесплатная база, но, к сожалению, только по российским ip-адресам.
MaxMind — огромная база по ip-адресам всех стран. Предоставляют бесплатную lite-версию базы. Точность базы по российским ip-адресам не настолько хороша, как у IpGeoBase. Также предоставляют некое API для работы со своей базой, которое позволяет производить выборки очень быстро.
Допустим вы скачали эти базы и залили их в таблицы вашей БД Postgresql (сама закачка — несколько out of scope, если у кого-то возникнет желание — я могу в будущем рассказать о том, что такое команда COPY и с чем ее едят). В общем случае вы получите таблицу такой структуры:
startip | endip | location_id |
---|---|---|
2130706433 | 2130706433 | 1 |
Здесь:
startip — это начало блока ip-адресов в формате long
endip — конец блока ip-адресов в формате long
location_id — идентификатор локации (город, регион, страна и т.д., maxmind даже координаты содержит).
+35
Сброс группы кэшей и тэгирование в memcached
5 min
8KСерия постов про “Web, кэширование и memcached” продолжается. Начало здесь: 1, 2, 3 и 4.
В этих постах мы поговорили о memcached, его архитектуре, возможном применении, выборе ключа кэширования, кластеризации, атомарных операциях и реализации счетчиков в memcached, а также о проблеме одновременного перестроения кэшей.
Сегодня мы поговорим о тэгировании кэшей и о возможности сброса сразу группы кэшей в memcached.
Последний, шестой пост, будет посвящен различным техническим вопросам работы с memcached: анализу статистике, отладке и т.п.
В этих постах мы поговорили о memcached, его архитектуре, возможном применении, выборе ключа кэширования, кластеризации, атомарных операциях и реализации счетчиков в memcached, а также о проблеме одновременного перестроения кэшей.
Сегодня мы поговорим о тэгировании кэшей и о возможности сброса сразу группы кэшей в memcached.
Последний, шестой пост, будет посвящен различным техническим вопросам работы с memcached: анализу статистике, отладке и т.п.
+44
Кеширование FastCGI-запросов в nginx
2 min
28KДоброе утро, Хабр!
В данной статье я приведу пример конфигурации nginx для кеширования FastCGI-запросов. При желании его можно использовать его для защиты от хабраэффекта, частично от DDoS'а и, как вариант, для облегчения жизни сервера с высокой нагрузкой.
В данной статье я приведу пример конфигурации nginx для кеширования FastCGI-запросов. При желании его можно использовать его для защиты от хабраэффекта, частично от DDoS'а и, как вариант, для облегчения жизни сервера с высокой нагрузкой.
+25
Архитектура предметной области в CMF/CMS системах
6 min
3.8KПрактически любая информационная система характеризуется наличием системы хранения и оперирования данными. Возьмем, к примеру, обычные веб-сайты. Для их создания обычно используются какие-либо готовые системы (фреймворки или уже готовые CMS), в которых изначально уже заложена какая-то концепция по работе с данными, установившаяся предметная область. Обычно, если разработчик хочется добавить на сайте раздел новостей, он добавляет в интерфейсе CMS компонент, информационный блок, шаблон и т.п. Суть всех этих конструкций одна — создать сущность в БД для хранения (либо каком-то ином хранилище). В итоге имеется реляционная база данных и, зачастую, какой-то объектно-ориентированный обвес, реализующий связку объект-атрибуты-свойства-методы — реализуется предметная область.
Ниже пойдет речь об одном из вариантов архитектуры предметной области. Статья базируется на опыте работы в компании ADV, которая применяет подобные методы в разработке веб-проектов. Сложность изложенного материала позволяет понять его не только разработчикам ПО, но и веб-мастерам, которым надо периодически дорабатывать существующие веб-проекты, добавляя в них новые данные.
Самые простые системы позволяют лишь организовать хранилище, к которому разработчик в дальнейшем обращается и делает всю необходимую работу по обработке данных сам. В таком хранилище есть лишь объект, поля и данные. В более продвинутых системах между объектами появляются связи. Следующий уровень развития — взаимодействие объектов (триггеры, методы и т.п.), а так же наличие программной подсистемы, снимающую с разработчика часть забот по обработке данных.
Ниже пойдет речь об одном из вариантов архитектуры предметной области. Статья базируется на опыте работы в компании ADV, которая применяет подобные методы в разработке веб-проектов. Сложность изложенного материала позволяет понять его не только разработчикам ПО, но и веб-мастерам, которым надо периодически дорабатывать существующие веб-проекты, добавляя в них новые данные.
Самые простые системы позволяют лишь организовать хранилище, к которому разработчик в дальнейшем обращается и делает всю необходимую работу по обработке данных сам. В таком хранилище есть лишь объект, поля и данные. В более продвинутых системах между объектами появляются связи. Следующий уровень развития — взаимодействие объектов (триггеры, методы и т.п.), а так же наличие программной подсистемы, снимающую с разработчика часть забот по обработке данных.
+39
А зачем Вам CMS?
2 min
7.3KПривет, Хабрик!
Побудило написать этот топик полемика возникшая в Персональном холиваре и продолжилось в Почему я не люблю российские коммерческие CMS. С автором этих топиков я во многом согласен, но всё же сравнивать CMSпо длине пиписьки, по работе с шаблонами и по классам, плагинам, кастамизации считаю неверным.
Первоначально, до разработки какого-либо комерческого программного обеспечения разработчик должен (по идее) спросить у себя «Какую пользу принесёт покупка моего ПО?».
Побудило написать этот топик полемика возникшая в Персональном холиваре и продолжилось в Почему я не люблю российские коммерческие CMS. С автором этих топиков я во многом согласен, но всё же сравнивать CMS
Первоначально, до разработки какого-либо комерческого программного обеспечения разработчик должен (по идее) спросить у себя «Какую пользу принесёт покупка моего ПО?».
+12
Про Git на пальцах (для переходящих с SVN)
8 min
279KГод назад мы с командой решили перейти с SVN на Git. Зачем это было надо — писать не буду, т.к. на эту тему уже и так много написано. А хочу я описать типичные алгоритмы работы, понятные человеку, который долгое время пользовался SVN. Ниже — памятка, написанная для команды год назад, чтобы легче было мигрировать. Надеюсь, кому-нибудь пригодится.
+171
Apache, fastcgi и c++: «Hello, world»
6 min
42KПисать web-приложения на C/C++ дело неблагодарное. Многие говорят, что это полное безумие, когда есть PHP и Perl. И я с ними согласен. Это очень просто написать сайт на PHP(особенно используя фреймворки вроде Zend Framework).
Но..(всегда есть какое-то «но»).
Давайте не будем забывать, что простота использования складывается не только из простого синтаксиса. Учитывается множество параметров. И одним из весомых параметров является наличие статей «Get started with ...» с примерами «hello, world»-программ. Я собираюсь добавить немного простоты написанию fastcgi на C/C++. И если прочитав эту статью хоть один человек скажет «А это не так уж и сложно», то я буду считать свою миссию выполненной.
+76
Range, TextRange и Selection
13 min
77KМногим JavaScript-разработчикам приходилось сталкиваться с объектами, перечисленными в заголовке, например, при решении следующих задач:
— создание визуальных редакторов (wysiwyg),
— поиск в окне браузера,
— выставление BB-кода,
и т.д.
В этой статье автором предпринята попытка собрать перевод документации об этих объектах в одном месте + написать небольшие сопроводительные примеры. Перевод вольный, не дословный, так что если встретите неточность или корявую формулировку — пишите в комментариях.
В целом пост носит справочный характер, и, надеюсь, кому-то упростит разработку.
— создание визуальных редакторов (wysiwyg),
— поиск в окне браузера,
— выставление BB-кода,
и т.д.
В этой статье автором предпринята попытка собрать перевод документации об этих объектах в одном месте + написать небольшие сопроводительные примеры. Перевод вольный, не дословный, так что если встретите неточность или корявую формулировку — пишите в комментариях.
В целом пост носит справочный характер, и, надеюсь, кому-то упростит разработку.
+96
Прогрессивные технологии, как способ выжать из сервера максимум
5 min
12KВступление
Забавно, но когда программист разрабатывает какой-либо продукт, он редко задумывается над вопросом могут ли на одну кнопку в один момент времени нажать одновременно 2000 человек. А зря. Оказывается могут. Как ни странно но большинство движков, написанных такими программистами, очень плохо ведут себя под большими нагрузками. Кто бы подумал, а всего один лишний INSERT, не проставленный index, или кривая рекурсивная функция могут поднять load averages чуть ли не на порядок.
В этой статье я опишу как мы, разработчики проекта, сумели выжать из одного сервера с Pentium 4 HT / 512Mb RAM, максимум, держа одновременно 700+ пользователей на форуме и 120,000 на трекере. Да, проект этот — торрент трекер. Предлагаю сразу оставить в стороне разговоры о копирайтах и правах, мне это не интересно, что действительно интересно — это HighLoad.
+310
Подборка видео-проигрывателей на флэше
2 min
18KЯ большой любитель собирать списки разных необходимых вещей. В этот раз это список видео-проигрывателей на флэше,
Уже помогли. Отдельные спасибы Elected, atri, rmb. Кармы всем за мой счет ^_^
+70
Высокопроизводительные AJAX-приложения
1 min
706Translation
Примечание: ниже перевод презентации «High Performance Ajax Applications», подготовленной ведущим специалистом из Yahoo (а теперь уже из Apple) Julien Lecomte. В ней автор освещает некоторые аспекты оптимизации как JavaScript-приложений, так и веб-сайтов вообще. В целом, советов много, и почти все, действительно, по делу. Однако, встречается и откровенная реклама Yahoo :) Мои комментарии далее курсивом.
читать дальше на webo.in →
Часть 1. Разработка для высокой производительности
Планируем и проектируем для высокой производительности
- Ориентируемся на производительность с самого первого дня
- Тесно работаем с дизайнерами и менеджерами продукта
- Понимаем рациональность дизайна
- Объясняем компромиссы между дизайном и производительностью
- Предлагаем альтернативы и показываем, что еще возможно (на уровне прототипа)
- Пробуем силы в реализации нетривиального дизайна (нельзя сразу говорит «нет»)
- Помогаем упростить дизайн и взаимодействие с пользователем (добиваемся компромисса)
читать дальше на webo.in →
+69
Information
- Rating
- Does not participate
- Location
- Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity