Применительно к с++03 существует “правило трех”, с появлением с++11 оно трансформировалось в “правило 5ти”. И хотя эти правила по сути являются не более чем неформальными рекомендациями к проектированию собственных типов данных, но тем не менее часто бывают полезны. “Правило ноля” продолжает ряд этих рекомендаций. В этом посте я напомню о чем, собственно, первые 2 правила, а также попробую объяснить идею, стоящую за “правилом ноля”.
Илья @WST
Инженер-программист
Самодельный кольцевой светодиодный осветитель для видео, фото и макро съемки
5 min
79KИдея создания подобного девайса у меня в голове блуждала давно, однако макро, без особых усилий, мне удавалось снимать и со вспышками, а для фото кольцевой источник не был особо и нужен, плюс лень, не дающая сделать все заранее, поэтому работы над ним постоянно откладывались, а при появлении некоторой суммы денег переходили в русло поиска по магазинам или на Ибэе за вменяемые деньги, но те, которые мне были нужны либо стоили запредельных денег, либо первое и требовали доработки.
Все случилось неожиданно, перед Новым годом, моя знакомая актриса и певица, попросила заснять ее конкурсное выступление в одном из клубов и сделать видео. Мой простенький и компактный источник видеосвета, со 160 небольшими диодами, который имелся и есть практически у всех занимающихся видеосъемкой операторов, в клубе однозначно не работает из-за мощной цветной подсветки, или иными словами с пары метров снять что-то можно, а вот метров с 10-15 можно и не снять. Пришлось срочно составить технические требования к характеристикам прибора и в интернете пересмотреть множество осветителей ими обладающих.
Все случилось неожиданно, перед Новым годом, моя знакомая актриса и певица, попросила заснять ее конкурсное выступление в одном из клубов и сделать видео. Мой простенький и компактный источник видеосвета, со 160 небольшими диодами, который имелся и есть практически у всех занимающихся видеосъемкой операторов, в клубе однозначно не работает из-за мощной цветной подсветки, или иными словами с пары метров снять что-то можно, а вот метров с 10-15 можно и не снять. Пришлось срочно составить технические требования к характеристикам прибора и в интернете пересмотреть множество осветителей ими обладающих.
+63
Медленная работа SD карточек — кто виноват и что делать?
6 min
127KДавно думал написать статью на Хабр, но все как-то не решался. Хотя и кажется, что есть мысли, которые были бы небезинтересны сообществу, но останавливает предположение, что это «кажется» проистекает от завышенной самооценки. Тем не менее попробую. Поскольку я профессионально занимаюсь электроникой, в частности, программированием микроконтроллеров, довольно-таки длительное время (как я подозреваю, дольше, чем живет большАя а может даже и бОльшая часть читателей Хабра), то за это время накопилось изрядное количество интересных случаев. Представляю на суд сообщества рассказ об одном из них.
Итак, в одной разработке мне потребовалось сохранять значительные объемы информации с целью последующей передачи через сеть в обрабатывающий центр. Поскольку полученное устройство предполагало серийное производство, был выбран вариант с применением относительно недорогих компонентов, и, в частности, микроконтроллера как центрального элемента системы. Поскольку в тот момент (середина 2012 года) предложение микроконтроллеров с Ethernet PHY на борту не отличалось разнообразием (да и сейчас положение не намного лучше), был выбран МК фирмы TI семейства Stellaris, конкретно LM3S8962, тем более что отладочная плата для него у меня уже имелась. МК на тот момент относительно новый, активно продвигаемый фирмой TI (это в конце 2013 года она ВНЕЗАПНО перевела всю серию в разряд NRND), и обладающий вполне достаточными для решения данной задачи параметрами. Для хранения информациии был выбран вариант с SD карточкой, в первую очередь из за их доступности и дешевизны, а также потому, что на отладочной плате наличествовало контактное устройство для них, а на поставляемом с платой отладки CD имелись многочисленные примеры, в том числе и для SD карт. Интерфейс к карточке был реализован простейший — SPI, предложенные примеры сходу заработали, принятое решение позволяло обрабатывать полученные данные до написания интерфейса при помощи элементарного переноса карточки из устройства в кард-ридер ПК, так что первоначальная отладка алгоритмов взаимодействия с объектом управления проблем не вызвало, по крайней мере в этой части проекта. Как все понимают, проблемы возникли несколько позже…
Итак, в одной разработке мне потребовалось сохранять значительные объемы информации с целью последующей передачи через сеть в обрабатывающий центр. Поскольку полученное устройство предполагало серийное производство, был выбран вариант с применением относительно недорогих компонентов, и, в частности, микроконтроллера как центрального элемента системы. Поскольку в тот момент (середина 2012 года) предложение микроконтроллеров с Ethernet PHY на борту не отличалось разнообразием (да и сейчас положение не намного лучше), был выбран МК фирмы TI семейства Stellaris, конкретно LM3S8962, тем более что отладочная плата для него у меня уже имелась. МК на тот момент относительно новый, активно продвигаемый фирмой TI (это в конце 2013 года она ВНЕЗАПНО перевела всю серию в разряд NRND), и обладающий вполне достаточными для решения данной задачи параметрами. Для хранения информациии был выбран вариант с SD карточкой, в первую очередь из за их доступности и дешевизны, а также потому, что на отладочной плате наличествовало контактное устройство для них, а на поставляемом с платой отладки CD имелись многочисленные примеры, в том числе и для SD карт. Интерфейс к карточке был реализован простейший — SPI, предложенные примеры сходу заработали, принятое решение позволяло обрабатывать полученные данные до написания интерфейса при помощи элементарного переноса карточки из устройства в кард-ридер ПК, так что первоначальная отладка алгоритмов взаимодействия с объектом управления проблем не вызвало, по крайней мере в этой части проекта. Как все понимают, проблемы возникли несколько позже…
+102
Поиск VPS — второй апдейт: аукционы, место для резервных копий, лицензии и отзывы о хостерах
7 min
11KВсем привет!
Сегодня я хотел бы рассказать о последних обновлениях проекта по поиску виртуальных серверов:

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

Но для начала я хотел бы немного отвлечься и раскрыть небольшую тайну. В самое ближайшее время помимо возможности поиска по виртуальным серверам появится возможность искать выделенные сервера. В самом конце статьи можно прочитать небольшой комментарий для хостеров.
+26
Тёплый ламповый свет
4 min
142KНочь. Компьютер. Интернет.
Три часа, а сна всё нет.
Если вам знакомо состояние, когда засидевшись за компьютером допоздна, вы не ощущаете усталости и не хотите спать, этот пост для вас. В нём попробуем ответить на два классических вопроса: «кто виноват?» и «что делать?».
Сравнительно недавно нормальным считался восьмичасовой ночной сон. Современный человек сократил эту норму на четверть и спит в среднем шесть часов в сутки. Немалую роль в сокращении продолжительности сна сыграл компьютер.
Всё больше людей проводит не только вечер, но и часть ночи за компьютером. Кто-то по ночам работает, кто-то не может оторваться от любимой игрушки, кто-то зависает в социальной сети. Но и после того как работа выполнена, уровень в игре пройден, лента новостей прочитана, а время уже далеко за полночь, спать всё равно не хочется. И это совсем нехорошо.
Недосыпание может спровоцировать болезни сердца и нервной системы. Человек, спящий менее 7 часов, теряет до 30% иммунных клеток, защищающих организм. Последствиями недосыпания могут стать проблемы со зрением, раздражительность, депрессия. Увеличивается вероятность возникновения сахарного диабета, онкологических заболеваний.
Три часа, а сна всё нет.
Если вам знакомо состояние, когда засидевшись за компьютером допоздна, вы не ощущаете усталости и не хотите спать, этот пост для вас. В нём попробуем ответить на два классических вопроса: «кто виноват?» и «что делать?».
Мы стали меньше спать
Сравнительно недавно нормальным считался восьмичасовой ночной сон. Современный человек сократил эту норму на четверть и спит в среднем шесть часов в сутки. Немалую роль в сокращении продолжительности сна сыграл компьютер.
Всё больше людей проводит не только вечер, но и часть ночи за компьютером. Кто-то по ночам работает, кто-то не может оторваться от любимой игрушки, кто-то зависает в социальной сети. Но и после того как работа выполнена, уровень в игре пройден, лента новостей прочитана, а время уже далеко за полночь, спать всё равно не хочется. И это совсем нехорошо.
Недосыпание может спровоцировать болезни сердца и нервной системы. Человек, спящий менее 7 часов, теряет до 30% иммунных клеток, защищающих организм. Последствиями недосыпания могут стать проблемы со зрением, раздражительность, депрессия. Увеличивается вероятность возникновения сахарного диабета, онкологических заболеваний.
+76
Как умирает техника? Элементы теории надёжности
5 min
57KНекоторые люди, которые интересуются нашими услугами, задают вопрос: «Серверы, которые вы предоставляете, новые или б/у?» Именно этот вопрос побудил нас немного углубиться в теорию надёжности и рассказать, чем не совсем новый сервер лучше совсем нового, а также какой смысл надписи «Срок службы» в документации к Вашему холодильнику, почему и из каких соображений нужно заранее думать о замене рабочего ноута и некоторые другие интересные вещи.


+48
Yii 2.0 beta
12 min
42KНам очень приятно сообщить о выходе бета-версии PHP фреймворка Yii 2. Вы можете загрузить его с yiiframework.com.
Бета включает в себя сотни новшеств, изменений и исправлений с релиза альфы.
Далее мы сделаем обзор наиболее важного, но сначала ответим на часто задаваемые вопросы.
Бета включает в себя сотни новшеств, изменений и исправлений с релиза альфы.
Далее мы сделаем обзор наиболее важного, но сначала ответим на часто задаваемые вопросы.
+84
Высоконагруженные сайты и приложения на Python / Django (29 проектов)
9 min
136KНаша компания довольно давно занимается разработкой больших веб-приложений на Python / Django. В рунете крайне мало информации об этом замечательном языке программирования и фремворке на его основе. Мы решили исправить эту ошибку и рассказать о популярных высоконагруженных сайтах на этой технологии, а также дать много интересных технических подробностей. Для удобства сравнения сайтов между собой мы приводим еще и немного статистики к каждому из проектов. В целом сайтов на Python / Django, конечно, очень много в мире, мы охватим только наиболее интересные по нашему мнению.
Небольшая таблица известных проектов (на основе данных http://builtwith.com/), кликабельно:
Небольшая таблица известных проектов (на основе данных http://builtwith.com/), кликабельно:
+35
Звук на чипе AY-3-8910 (или Yamaha YM2149F) родом с ZX Spectrum на PC через LPT-порт
2 min
48K
+69
Curiosity сфотографировал загадочное яркое свечение на Марсе
2 min
91KRecovery Mode

Curiosity запечатлел аномально яркое свечение на поверхности Марса. На фотографиях видна вертикальная полоса яркого света, которая как бы вырывается из недр Красной планеты.
На изображение с навигационной камеры (Navcam) ясно видно яркое пятно в верхнем углу снимка. Объясняется скорей всего столкновением космических лучей с детектором света или блеск солнечных лучей на скалах.
+95
Поддельные аудиофильские операционные усилители — OPA627
2 min
122K
Сразу ясно, что там что-то не то, но интересно было узнать, что именно. Заказал 1шт, а для сравнения — OPA627 в металлическом корпусе за 5$, явно откуда-то выпаянную. Результаты сравнения внутренностей — под катом.
+141
Почему в России почти нет гражданского/коммерческого высокотехнологичного производства?
27 min
412K
Ответ на него важен, если вы сами хотите создать конкурентный высокотехнологичный продукт — чтобы не потратить лучшие годы жизни в изначально неравных условиях.
Под катом попробуем разобраться чем отличаются «высокотехнологичные» компании от «низкотехнологичных», что нужно, чтобы высокотехнологичные компании могли рождаться и выживать, почему с софтом у нас лучше, чем с хардом, с чего начиналась кремниевая долина в США и можно ли её «скопировать», почему Китай всех рвет, а также — окинем взором все, что происходит в Сколково, Роснано, фонде перспективных исследований и приведут ли они к расцвету российских инноваций. Безусловно, я где-то могу ошибаться — буду рад дополнениям в комментариях.
Сразу нужно отметить, что в связи с многогранностью проблемы объем статьи получился довольно большой, так что можно начать читать с резюме в конце, и затем прочитать лишь те разделы, которые вызовут интерес. Сразу хочу предупредить — повествование «нелинейное», соседние заголовки могут описывать разные аспекты проблемы и быть друг с другом практически не связанными.
+370
Микрокомпьютер Module MB 77.07 — русский ответ Raspberry Pi
10 min
112K
Читая новости о запрете на поставку электронной компонентной базы из США для отдельных производителей в РФ, мы решили рассказать об одноплатном микрокомпьютере Module МВ 77.07, который был разработан в российском научно-техническом центре «Модуль» на базе одного из наиболее производительных российских процессоров архитектуры ARM. Также мы рассмотрим установку Linux-дистрибутива Debian на этот микрокомпьютер.
+92
Сети для самых маленьких
2 min
121KUPD://Уже опубликованные выпуски
8. Сети для самых маленьких. Часть восьмая. BGP и IP SLA
7. Сети для самых маленьких. Часть седьмая. VPN
6. Сети для самых маленьких. Часть шестая. Динамическая маршрутизация
5. Сети для самых маленьких: Часть пятая. NAT и ACL
4. Сети для самых маленьких: Часть четвёртая. STP
3. Сети для самых маленьких: Часть третья. Статическая маршрутизация
2. Сети для самых маленьких. Часть вторая. Коммутация
1. Сети для самых маленьких. Часть первая. Подключение к оборудованию cisco
0. Сети для самых маленьких. Часть нулевая. Планирование
7. Сети для самых маленьких. Часть седьмая. VPN
6. Сети для самых маленьких. Часть шестая. Динамическая маршрутизация
5. Сети для самых маленьких: Часть пятая. NAT и ACL
4. Сети для самых маленьких: Часть четвёртая. STP
3. Сети для самых маленьких: Часть третья. Статическая маршрутизация
2. Сети для самых маленьких. Часть вторая. Коммутация
1. Сети для самых маленьких. Часть первая. Подключение к оборудованию cisco
0. Сети для самых маленьких. Часть нулевая. Планирование
На хабре уже была попытка пользователя zepps начать серию публикаций о настройке оборудования cisco и практической стороне сетевых технологий, но, к сожалению, на первых двух статьях дело остановилось. Это было время моего становления, как специалиста в этой области и zepps сурово обломил меня отсутсвием продолжения.
Многократно пользователи здесь публиковали отрывочные топики о теоретической составляющей, решение сложных задач, куски из википедии или xgu.ru, но более менее цельной серии с информацией, которая непонятна после чтения цисковских книг при отсутсвии практики таки не было.
Поэтому мне пришло в голову снять несколько обучающих роликов с подробным описанием, начиная с настройки VLAN на свитчах, заканчивая… пока не знаю, чем заканчивая (может, OSPF, BGP, а может и чуточку дальше). Теории будет немного, в основном практика на PacketTracer и GNS3, с перечислением более или мене часто встречающихся трудностей.
+2
Как Минковский во Flappy Bird играл
8 min
128K
Многие пробовали играть во Flappy Bird. Редко кому удается пролететь за 50 труб, очень немногие долетают до сотни-двух. Некоторые пробовали создать бота, в том числе на хабре. Удивительно, но даже у самого успешного бота, которого можно найти на просторах интернета, результаты не очень-то впечатляют – что-то около 160 очков. Возникает вопрос, а можно ли вообще играть во Flappy Bird бесконечно долго? Или всегда с некоторой, пусть и небольшой, вероятностью может встретиться последовательность препятствий, которую даже опытный игрок/идеальный бот не сможет преодолеть?
И тут на помощь приходит математика. Давайте найдем выигрышную стратегию для Flappy Bird.
+350
Примеры использования asyncio: HTTPServer?!
8 min
51KНе так давно зарелизилась новая версия Python 3.4 в changelog которой вошло много «вкусностей». Одна из таких — модуль asyncio, содержащий инфраструктуру пригодную для написания асинхронных сетевых приложений. Благодаря концепции сопрограмм (coroutines), код асинхронного приложения прост для понимания и поддержки.
В статье на примере простого TCP (Echo) сервера я постараюсь показать с чем едят
В статье на примере простого TCP (Echo) сервера я постараюсь показать с чем едят
asyncio
, и рискну устранить «фатальный недостаток» этого модуля, а именно отсутствие реализации асинхронного HTTP сервера.+29
OpenDKIM + Postfix = просто
4 min
132K
В конце 2011 года разработчики проекта dkim-milter прекратили его поддержку и разработку. К счастью, на замену проекта dkim-milter пришел OpenDKIM, с помощью которого добавить DKIM-подпись в письма так же просто.
tl;dr: в наше время без DKIM-подписей ну никак нельзя
DKIM-подпись — это цифровая подпись, которая добавляется к заголовкам письма сервером отправителя, по которой сервер получателя может удостовериться, что отправитель письма соответствует полю From в заголовках письма. Если сервер получателя проверяет эту подпись, то по результатам проверки сервер может принять решение о том, как поступать с письмом: принять, отправлять в папку «Спам», отправить на дополнительную проверку или вовсе отказаться от приёма. Подписи DKIM проверяют и используют сами все ведущие почтовые службы, включая Яндекс и Mail.ru. Последняя открыто требует чтобы письма были подписаны с помощью DKIM.
+34
Как делают печатные платы: экскурсия на завод Технотех
13 min
215KСегодня мы выступим в немного непривычном для себя амплуа, будем рассказывать не о гаджетах, а о технологиях, которые стоят за ними. Месяц назад мы были в Казани, где познакомились с ребятами из Навигатор-кампуса. Заодно побывали на расположенном близко (ну, относительно близко) заводе по производству печатных плат — Технотех. Этот пост — попытка разобраться в том, как же все-таки производят те самые печатные платы.

Итак, как же все-таки делают печатные платы для наших любимых гаджетов?

Итак, как же все-таки делают печатные платы для наших любимых гаджетов?
+179
Откуда «мыло» в WPF и как с ним бороться
21 min
83KTutorial

Это руководство для WPF-разработчиков, стремящихся добиться максимально чёткой картинки в своих приложениях. Графическая система WPF до мозга костей векторная, но конечным результатом её работы по-прежнему является растр. Если не уделить этому факту должного внимания, можно столкнуться с различными сортами «мыла» — паразитными артефактами растеризации. В такой ситуации важно не терять присутствия духа, причины их возникновения вполне рациональны, а методы борьбы достаточно просты и эффективны.
+166
Шаблоны проектирования PHP. Часть 1. Порождающие
13 min
238KТема заезженная до дыр, не спорю… Вероятно, для опытных разработчиков моя статья будет мало, чем полезна. Я бы рекомендовал её к прочтению тем, кто только начал осознавать, что его коду чего-то не хватает, и что он созрел для вникания в это далёкое понятие – «паттерны». По себе помню, что довольно долгое время я путался в шаблонах, иногда даже не понимая, чем один отличается от другого. Именно этот факт стал основой для моей статьи. Примеры в ней не будут реальными. Они будут абстрактными и максимально простыми. Однако я постараюсь все примеры держать в едином контексте, чтобы можно было наглядно видеть отличия их использования в одной и той же ситуации. Я не буду нагружать классы лишним функционалом, чтобы можно было понять, какая именно часть кода имеет непосредственное отношение к шаблону. Главными героями примеров станут Factory (фабрика) и Product (продукт, производимый этой фабрикой). Возьмём это отношение за отправную точку. Возможно, в некоторых примерах это будет не очень уместно, но зато очень наглядно…
Статья будет разбита на несколько частей. В каждой я буду рассказывать о новом типе шаблонов проектирования. Всем, кого эта тема может заинтересовать, прошу под кат.
Статья будет разбита на несколько частей. В каждой я буду рассказывать о новом типе шаблонов проектирования. Всем, кого эта тема может заинтересовать, прошу под кат.
+25
Information
- Rating
- Does not participate
- Location
- Красногвардейское, Адыгея, Россия
- Date of birth
- Registered
- Activity