В релизе 2.1 было заявлена реализация такой функциональности, как новый фреймворк агрегирования данных. Хотелось бы рассказать о первых впечатлениях от этой весьма интересной штуки. Данный функционал должен позволить в некоторых местах отказаться от Map/Reduce и написания кода на JavaScript в пользу достаточно простых конструкций, предназначенных для группировки полей почти как в SQL.
Алексей Соловьёв @mrxak
Пользователь
Усилитель для наушников, чуть сложнее
5 мин
202K![](https://habrastorage.org/getpro/geektimes/post_images/7cd/e09/bbc/7cde09bbc716fb3eba51ef7af2373b4d.jpg)
От безысходности начал было даже слушать через bluetooth A2DP адаптор, но само собой и качество и аккумуляторы (~6 часов) вгоняли в печаль…
Стало ясно что жить так больше нельзя…
+149
Разработка WEB-проекта на Node.JS: Часть 2
12 мин
56KВ прошлой статье я начал рассказывать о своём опыте разработки экспериментального WEB-проекта «Что делать?» на Node.JS. Первая часть была обзорной, в ней я постарался раскрыть плюсы и минусы технологии, а также предупредить о проблемах, с которыми, возможно, придётся столкнуться в ходе разработки. В этой статье я подробнее остановлюсь на технических деталях.
Несколько слов о «хабраэффекте»
+59
Простая автоматизация: программируемые реле Easy
16 мин
159KЗдравствуйте, уважаемое сообщество!
На Хабре уже много сказано слов о различных устройствах автоматизации, начиная от простых Arduino, заканчивая промышленными многопроцессорными системами. Я же хочу закрасить очередное белое пятно на карте хабро-автоматики статьей о промежуточных устройствах — программируемых реле, на примере микропроцессорных устройств Easy производства корпорации Eaton (Moeller).
Прошло уже достаточно много времени с моего первого знакомства с данным типом устройств, но по-прежнему, эти «электронные малыши» остаются незаменимыми помощниками для реализации широкого спектра инженерных и бытовых задач.
![](https://habrastorage.org/storage2/76b/ac7/164/76bac716414032d17a07c7e8d50a7ef1.jpg)
На Хабре уже много сказано слов о различных устройствах автоматизации, начиная от простых Arduino, заканчивая промышленными многопроцессорными системами. Я же хочу закрасить очередное белое пятно на карте хабро-автоматики статьей о промежуточных устройствах — программируемых реле, на примере микропроцессорных устройств Easy производства корпорации Eaton (Moeller).
Прошло уже достаточно много времени с моего первого знакомства с данным типом устройств, но по-прежнему, эти «электронные малыши» остаются незаменимыми помощниками для реализации широкого спектра инженерных и бытовых задач.
![](https://habrastorage.org/storage2/76b/ac7/164/76bac716414032d17a07c7e8d50a7ef1.jpg)
+63
Модуль профайлинга «ProfilerToolbar»
3 мин
3.6KЕсли вы используете Kohana, то скорее всего уже видели модуль DebugToolbar. Испробовав его на нескольких проектах, стало понятно, что его возможностей явно не хватает. А при использовании Ajax запросов данный модуль становиться вообще бесполезным.
Имея достаточно свободного времени и желание сделать удобный инструмент для разработки, я решил написать свой велосипед с блэкджеком и плюшками. В итоге получилась такая штуковина:
![ProfilerToolbar ProfilerToolbar](https://habrastorage.org/storage2/58a/cc7/d49/58acc7d494ccbe9149c5d04bc50eebd2.png)
Имея достаточно свободного времени и желание сделать удобный инструмент для разработки, я решил написать свой велосипед с блэкджеком и плюшками. В итоге получилась такая штуковина:
![ProfilerToolbar ProfilerToolbar](https://habrastorage.org/storage2/58a/cc7/d49/58acc7d494ccbe9149c5d04bc50eebd2.png)
+41
Чёртова дюжина советов начинающим верстальщикам. Часть первая
6 мин
32KДоброго времени суток!
Я являюсь фрилансером. Раньше я не особо задумывался над тем, как и что делают верстальщики. Я делал серверную часть, а мой друг верстал и набивал контент. Совсем недавно мне захотелось попробовать «что и как». Пару дней назад мне на глаза попался материал, который мне очень понравился. Он наглядно обЪяснял, что и как нужно писать. К сожалению, сылку дать не могу, так как я не запаомнил, где располагался сей мануал, но… Казалось бы, можно это и запомнить, но я пошёл ещё одним путём — законспектировал это дело. Собственно, добро пожаловать в мою записку.
Введение
Я являюсь фрилансером. Раньше я не особо задумывался над тем, как и что делают верстальщики. Я делал серверную часть, а мой друг верстал и набивал контент. Совсем недавно мне захотелось попробовать «что и как». Пару дней назад мне на глаза попался материал, который мне очень понравился. Он наглядно обЪяснял, что и как нужно писать. К сожалению, сылку дать не могу, так как я не запаомнил, где располагался сей мануал, но… Казалось бы, можно это и запомнить, но я пошёл ещё одним путём — законспектировал это дело. Собственно, добро пожаловать в мою записку.
+151
Ещё 10 батареек для джанго
5 мин
27K![](https://habrastorage.org/storage2/a84/d98/09d/a84d9809de1b3e50d0d219592b0369bf.png)
Продолжаем делиться своим опытом использования полезных батареек для Django.
Первая часть
Ещё рекомендуем «Сумбурные заметки про python и django» и «Django проект PR Hero: что внутри и полученный опыт».
Для Django написано огромное количество пакетов. Из них мы выбрали 10, которые использовали сами в своих последних проектах и которыми остались довольны. Все они есть на PyPI. Они продокументированы и покрыты тестами, где-то больше, где-то меньше. Исключение составляет django-sphinx, о котором отдельно.
+52
Рисуем картинки с помощью кривой Гильберта
5 мин
45KВ субботу на прошлой неделе «дело было вечером, делать было нечего», и мы с хабраюзером sourcerer разговаривали не понятно о чём. И почему-то речь зашла речь о задаче обратной к задаче построения графика функции по её выражению. То есть, например, у нас есть выражение y(x) = (cos0,5x ⋅ cos 200x + |x|0,5 − 0,7)(4 − x2)0,01. График такой функции чем-то напоминает сердечко.
Но нам был интересен обратный вопрос, как, имея, например, изображение сердечка, получить выражение для функции, графиком которой будет это самое сердечко.
Какие-нибудь ряды Фурье вспоминать не хотелось, а хотелось чего-то простого и красивого. Мы начали вспоминать известные нам результаты, связанные с этим вопросом. В результате получилась программка, которая по изображению генерирует ломаную линию, чем-то напоминающую исходное изображение. На примере котёнка по имени Гав это выглядит примерно так (смотреть лучше издалека):
![](https://habrastorage.org/getpro/habr/post_images/d44/12d/464/d4412d464af54bccce0d54fae5e25720.png)
Если интересно как такое сделать, а также узнать про формулу конопли, формулу, график которой является этой же формулой, то добро пожаловать под хабракат. (Будет много картинок.)
![](https://habrastorage.org/getpro/habr/post_images/209/37a/9f9/20937a9f95ddddbc738a91038c3cddd8.png)
Какие-нибудь ряды Фурье вспоминать не хотелось, а хотелось чего-то простого и красивого. Мы начали вспоминать известные нам результаты, связанные с этим вопросом. В результате получилась программка, которая по изображению генерирует ломаную линию, чем-то напоминающую исходное изображение. На примере котёнка по имени Гав это выглядит примерно так (смотреть лучше издалека):
![](https://habrastorage.org/getpro/habr/post_images/d44/12d/464/d4412d464af54bccce0d54fae5e25720.png)
Если интересно как такое сделать, а также узнать про формулу конопли, формулу, график которой является этой же формулой, то добро пожаловать под хабракат. (Будет много картинок.)
+228
Онлайн курсы от Stanford University и Berkeley University на 2012 год
1 мин
14K![image](http://www.security-class.org/img/stanford_sig_small.gif)
![image](http://www.security-class.org/img/berkeley_sig_small.gif)
Complex Systems
Computer Science
- CS 101
- Machine Learning
- Software as a Service
- Human-Computer Interaction
- Natural Language Processing
- Game Theory
- Probabilistic Graphical Models
- Cryptography
- Design and Analysis of Algorithms I
- Computer Security
Entrepreneurship
Medicine
Civil Engineering
Electrical Engr.
+98
Полупроводниковая электроника
30 мин
372KТуториал
![](https://habrastorage.org/storage1/8b300c55/67d6b632/29aee70d/ba873afe.png)
Полупроводниковая электроника существенно изменила мир. Многие вещи, которые долгое время не сходили со страниц произведений фантастов стали возможны. Чтобы знать, как работают и чем уникальны полупроводниковые приборы, необходимо понимание различных физических процессов, протекающих внутри.
В статье разобраны принципы работы основных полупроводниковых устройств. Описание функционирования изложено с позиции физики. Статья содержит вводное описание терминов, необходимых для понимания материала широкому кругу читателей.
![](https://habrastorage.org/storage1/cc4fa474/3fb2ea77/9176c2b4/68de0749.png)
Иллюстраций: 34, символов: 51 609.
+470
+196
Десяток ресурсов, которые помогают быть дизайнером
2 мин
37KРаботать дизайнером очень интересно. Это творческая работа. И как любому творческому человеку, дизайнеру нужна муза или вдохновение.
Я уверен, что у каждого дизайнера есть набор сайтов, на которые они периодически заходят для того что бы черпать это самое вдохновение. У меня так же есть такой список. И я хочу им с вами поделиться.
Естественно, если вы расскажите о своих ресурсах, я буду благодарен.
Хочу сразу предупредить, что практически все ресурсы, собранные мной — англоязычные. Только лишь один на русском. Так же я не очень приветствую узкопрофильные ресурсы (речь о ресурсах, на которых можно скачать только кисти для photoshop и прочее).
Я уверен, что у каждого дизайнера есть набор сайтов, на которые они периодически заходят для того что бы черпать это самое вдохновение. У меня так же есть такой список. И я хочу им с вами поделиться.
Естественно, если вы расскажите о своих ресурсах, я буду благодарен.
Хочу сразу предупредить, что практически все ресурсы, собранные мной — англоязычные. Только лишь один на русском. Так же я не очень приветствую узкопрофильные ресурсы (речь о ресурсах, на которых можно скачать только кисти для photoshop и прочее).
+147
Ничего не нашлось в поиске по сайту? Нет проблем
4 мин
8.9KТуториал
Перевод
Представляю вашему вниманию перевод статьи под названием "Site Search: Strategies for No Results Found" от Linda Bustos. Перевели в компании UXDepot специально для пользователей Хабрахабра с одобрением компании Elastic Path.
Эта статья написана по мотивам книги Грега Ньюдельмана "Designing Search: UX Strategies for Ecommerce Success". Необычно видеть книгу на 300 страниц, посвященную одному единственному аспекту создания интернет-магазинов, но оптимизация поиска по сайту действительно заслуживает такого внимания!
![image](https://habrastorage.org/getpro/habr/post_images/c09/a10/907/c09a10907915a292ed9a21416fa8678f.png)
Есть одна составляющая оптимизации поиска по сайту, на которой мы часто зацикливаемся: как удержать пользователя на сайте, даже если в результате поиска ему не удалось найти то, что требовалось. Статья основана на разделе "No Search Results Strategy: Not a Zero-Sum Game" вышеупомянутой книги. Ньюдельман говорит о том, что «нет простого набора правил, которые гарантировали бы успешное внедрение страницы результатов поиска в случае, когда не было найдено ни одного совпадения. Но есть четыре принципа, от которых стоит отталкиваться»:
+84
Blender 2.6 + Python 3.2 – задействуем устройства ввода в собственной игре
26 мин
14KПрошлый топик, посвященный простейшему способу использования клавиатуры в Блендере с помощью Питона, дал нам только начальные знания об интерфейсе Блендера, а так же принципах работы с Питоном в Блендере.
Однако, если мы хотим разработать полноценную игру, то нам нужно более серьезное решение – современная игровая индустрия предлагает гораздо более широкий выбор устройств ввода, чем одна только клавиатура, а список возможных действий и событий в игре не исчерпывается движением единственного игрового объекта.
В данном топике мы попробуем создать законченную, расширяемую, универсальную систему взаимодействия с устройствами ввода в игре при помощи программирования на Python 3.2 в Blender 2.6.
Однако, если мы хотим разработать полноценную игру, то нам нужно более серьезное решение – современная игровая индустрия предлагает гораздо более широкий выбор устройств ввода, чем одна только клавиатура, а список возможных действий и событий в игре не исчерпывается движением единственного игрового объекта.
В данном топике мы попробуем создать законченную, расширяемую, универсальную систему взаимодействия с устройствами ввода в игре при помощи программирования на Python 3.2 в Blender 2.6.
+36
Как работает yield
6 мин
682KПеревод
На StackOverflow часто задают вопросы, подробно освещённые в документации. Ценность их в том, что на некоторые из них кто-нибудь даёт ответ, обладающий гораздо большей степенью ясности и наглядности, чем может себе позволить документация. Этот — один из них.
Вот исходный вопрос:
Вот исходный вопрос:
Как используется ключевое слово yield в Python? Что оно делает?
Например, я пытаюсь понять этот код (**):
def _get_child_candidates(self, distance, min_dist, max_dist): if self._leftchild and distance - max_dist < self._median: yield self._leftchild if self._rightchild and distance + max_dist >= self._median: yield self._rightchild
Вызывается он так:
result, candidates = list(), [self] while candidates: node = candidates.pop() distance = node._get_dist(obj) if distance <= max_dist and distance >= min_dist: result.extend(node._values) candidates.extend(node._get_child_candidates(distance, min_dist, max_dist)) return result
Что происходит при вызове метода _get_child_candidates? Возвращается список, какой-то элемент? Вызывается ли он снова? Когда последующие вызовы прекращаются?
** Код принадлежит Jochen Schulz (jrschulz), который написал отличную Python-библиотеку для метрических пространств. Вот ссылка на исходники: http://well-adjusted.de/~jrschulz/mspace/
+131
Несколько полезных сервисов
2 мин
126K![](https://habrastorage.org/storage1/3988db4d/63c8cb4f/a55e5dd9/bf6dd1ba.png)
Сервисы опросов
userreport.com (добавил Romanych)
simpoll.ru
webanketa.com (добавил mihass)
Кнопки постинга в социальные сети
Кнопка от Яндекса
addthis.com (добавил UksusoFF)
share42.com
+330
Полочная акустика своими руками
12 мин
507KОднажды я задумал собрать себе качественную акустику для озвучивания небольшой комнаты, а также для использования в качестве мониторов ближнего поля при работе со звуком на компе (хобби). Главное требование — адекватное звучание по отношению к источнику. Не чтобы «низы колбасило» или «тарелочки звенели», а именно адекватное естественное звучание. Итак, собираем качественные «полочники».
+226
Индикатор выполнения на CSS3
2 мин
3.7KСегодня мы будем воссоздавать прогресс-бар из программы установки Adobe Flash Player средствами CSS3, используя градиенты и тени.
![](https://habrastorage.org/storage1/3df1b8e6/d25aa9eb/927bcc2f/70b774c2.png)
Под хабракатом весь код и ссылка на рабочий пример.
![](https://habrastorage.org/storage1/3df1b8e6/d25aa9eb/927bcc2f/70b774c2.png)
Под хабракатом весь код и ссылка на рабочий пример.
+68
Маркерная доска своими руками
5 мин
212KДоброго времени суток дорогой читатель.
Сегодня я бы хотел рассказать о том как за несколько часов имея в кармане лишь 300 рублей, а за спиной мешок энтузиазма сделать себе такую полезную вещь как маркерная доска.
![](https://habrastorage.org/storage1/08a87624/9c603f57/3ad4908c/85107a84.jpg)
Подкатом картинки — примерно три мегабайта.
Сегодня я бы хотел рассказать о том как за несколько часов имея в кармане лишь 300 рублей, а за спиной мешок энтузиазма сделать себе такую полезную вещь как маркерная доска.
![](https://habrastorage.org/storage1/08a87624/9c603f57/3ad4908c/85107a84.jpg)
Подкатом картинки — примерно три мегабайта.
+243
Анимация меню при помощи CSS3
8 мин
37KПеревод
![](https://habrastorage.org/storage1/7ec823d7/371ad5e9/3987fea9/4c75b689.jpg)
В данной статье я хотел бы показать вам некоторые приёмы создания эффектов при помощи CSS3 на примере меню. Идея заключается в простой композиции элементов: иконки, основного названия и вторичного названия, которое будет анимировано при наведении курсора, используя только CSS-переходы и CSS-анимацию. Мы рассмотрим несколько различных эффектов для элементов.
+181
Информация
- В рейтинге
- Не участвует
- Откуда
- Россия
- Дата рождения
- Зарегистрирован
- Активность