Как стать автором
Обновить
0
0

Пользователь

Отправить сообщение

Распространенные ошибки при составлении баг-репортов

Время на прочтение3 мин
Количество просмотров41K
На Хабре достаточно много написано про хороший стиль программирования, naming convention. А про хороший стиль написания баг-репортов?

Конечно, дефекты хранятся в баг-трекинговой системе, которая накладывает свои ограничения и требования, конечно, есть какие-то внутрикорпоративные правила создания отчетов об ошибках, но все же есть и человеческий фактор, в результате чего появляются баги, отвечающие всем правилам оформления, но абсолютно непонятные даже коллегам-тестировщикам. Плохо описанный баг может получить резолюцию Cannot reproduce и оказаться забытым, пока случайно не выплывет у заказчика.

В этой статье я попробую описать основные проблемы отчетов об ошибках, которые я встречала за год работы на большом проекте, а также способы их улучшения.
Читать дальше →
Всего голосов 27: ↑24 и ↓3+21
Комментарии18

Фильтрация ложных соответствий между изображениями при помощи динамического графа соответствий

Время на прочтение5 мин
Количество просмотров24K

Многие современные алгоритмы компьютерного зрения строятся на основе детектирования и сопоставления особых точек визуальных образов. По этой теме было написано немало статей на хабре(например SURF, SIFT). Но в большинстве работ не уделяется должного вниманию такому важному этапу, как фильтрация ложных соответствий между изображениями. Чаще всего для этих целей применяют RANSAC-метод и на этом останавливаются. Но это не единственный подход для решения данной задачи.
Данная статья посвящена одному из альтернативных способов фильтрации ложных соответствий.
Читать дальше →
Всего голосов 73: ↑73 и ↓0+73
Комментарии23

Психиатр о запретах Youtube, Wifi для детей, блокировании сайтов

Время на прочтение3 мин
Количество просмотров229K
Когда моего знакомого психиатра А.Г. Данилина переполняет профессиональное чувство глупости мира сего, он просит сделать ролик, где делится своими мыслями со зрителями. Я думаю, что разговор получился довольно интересный.



«Я понимаю, что это очередной глас вопиющего в пустыне, но так как 10 октября мы празднуем день психического здоровья, то мне очень хочется, как профессионалу с большим стажем сообщить тем, кто захочет посмотреть это видео, что политика тотальных запретов не в состоянии привести общество и человека к состоянию психического здоровья.
Читать дальше →
Всего голосов 338: ↑325 и ↓13+312
Комментарии323

Анатомия законодательства о государственных закупках

Время на прочтение28 мин
Количество просмотров86K
Постепенно в грязных подвалах мозга начинается структурироваться информация по госзакупкам и знаменитому 94 ФЗ. Довелось поработать со стороны заказчика и со стороны исполнителя, а также изучить опыт организации взаимодействия государства и бизнеса в США.
image

В разделе о краткой истории вопроса текущей статьи будет рассказано про то, когда был принят закон о госзакупках и с чем было связано его принятие.
В разделе о процессе типичной госзакупки будет описан процесс покупки партии из 100 ноутбуков, описана процедура закупа и описаны некоторые проблемы, которые могут возникнуть.
В разделе про закупку в рамках сложного проекта будет описан процесс закупки дорогостоящего медицинского оборудования – магнитно-резонансного томографа, подготовка проекта и помещений под оборудование, а также проблемы, которые часто возникают в подобных сложных проектах, но которые не учитывает законодательство о госзакупках.
Будут даны небольшие соображения по улучшению законодательства в области госзакупок, которые проистекают из текущих проблем и зарубежного опыта.
Будут описаны некоторые законные способы обхода действующего законодательства о госзакупах и даны некоторые полезные ссылки в заключении этой статьи.

Нервных попрошу не смотреть.

Читать дальше →
Всего голосов 115: ↑100 и ↓15+85
Комментарии91

Нормальное профилирование node.js приложений

Время на прочтение3 мин
Количество просмотров11K

Предисловие


Одним из камней преткновения при разработке на node.js является более сложная, по сравнению с другими современными языками, отладка. Из-за асинхронной структуры кода в большом приложении найти утечку памяти или место интенсивного использования процессора становится затруднительно без специализированных утилит. В разное время для node.js уже создавались инструменты профилирования, но большинство из них либо просто не достаточно удобные, либо перестали поддерживаться разработчиками.

Поиски


Долгое время я обходился консервативными методами отладки в виде периодического вывода объёма используемой памяти и времени выполнения критических участков кода в консоль, но настал момент, когда необходимость наличия качественного инструмента встала очень остро.

Первым делом я решил посмотреть не оправился ли node-inspector, который после перехода на node.js 0.6.x перестал поддерживать профилирование CPU и Heap. Оказалось, что в новой версии node-inspector неработающий профайлинг окончательно исключён и теперь это просто debugger. Немного покопавшись в коде старой версии, мне всё же удалось завести профилирование CPU и Heap на node 0.8.x, однако это решение не было идеальным. Чтобы вывести его из состояния «поделки» необходимо было бы заменить устаревший интерфейс WebKit-консоли на современный, переписав приличное количество кода и исправить некоторые проблемы производительности. В целом, решение на основе консоли WebKit мне кажется очень не гибким, поэтому я бросил эту затею и продолжил поиски.

Вот оно


Читать дальше →
Всего голосов 31: ↑29 и ↓2+27
Комментарии11

Speakker — музыкальный плеер на jQuery

Время на прочтение2 мин
Количество просмотров15K
Ища на просторах сети музыкальный плеер для сайта, я наткнулся на интересный плеер под названием Speakker, написанный на jQuery.

Читать дальше →
Всего голосов 46: ↑41 и ↓5+36
Комментарии6

Breadboard — электронный конструктор для всех

Время на прочтение7 мин
Количество просмотров141K
Привет, Хабр!
Не так давно здесь прогремела статья об Arduino, породившая холивар в комментариях. Многие сторонники Ардуины, по их словам, хотят просто чего-то собрать типа мигающих светодиодов с целью разнообразить свой досуг и поиграться. При этом они не хотят возиться с травлением плат и пайкой. Как одну из альтернатив товарищ dedsky упомянул конструктор «Знаток», но его возможности ограничены набором деталей, входящих в комплект, да и конструктор все же детский. Я же хочу предложить другую альтернативу — так называемый Breadboard, макетная плата для монтажа без использования пайки.
Осторожно, много фоток.
Читать дальше →
Всего голосов 44: ↑38 и ↓6+32
Комментарии42

Управляем самодельными железяками по воздуху при помощи Open Sound Control

Время на прочтение6 мин
Количество просмотров16K
В этом материале я постараюсь рассказать, каким образом можно с телефона или планшета на iOS и Android удалённо управлять вашим самодельным устройством подключенным к сети. Любой, хоть сколь-нибудь знакомый с темой, к этому моменту уже решил, что речь пойдёт об очередном веб-интрефейсе к вашим Arduino и mbed’ам — спешу перебить ваши мысли — не пойдёт. Способ, о котором я хочу рассказать, быстр, дёшев, имеет готовую обратную связь, удобные контролы и обладает наглядностью, которой позавидует самый вылизанный веб-интерфейс.



Чтобы материал не показался оторванным от реальной жизни, я покажу, как мы 4 месяца назад проделали этот фокус с нашим Лайтпаком. Эта ситуация немного отличается от сферического сценария применения протокола Open Sound Control (дальше OSC) в вакууме, но тем не менее, является хорошим примером того, как он может быть эффективно использован в быстром прототипировании.
Итак, задача...
Всего голосов 47: ↑44 и ↓3+41
Комментарии7

Миллион одновременных соединений на Node.js

Время на прочтение9 мин
Количество просмотров105K


TL;DR:


  • Node.js v0.8 позволяет обрабатывать 1 млн одновременных HTTP Comet соединений на Intel Core i7 Quad/16 Gb RAM практически без дополнительных настроек.
  • На 1 соединение тратится чуть больше 10 Kb памяти (4.1 Kb Javascript Heap + 2.2 Kb Node.js Native + 3.8 Kb Kernel)..
  • V8 Garbage Collector не рассчитан на управление > ~500Mb памяти. При превышении нужно переходить на альтернативный режим сборки мусора, иначе «отзывчивость» сервера сильно уменьшается.
  • Подобный опыт можно (и нужно!) без особых затрат повторить самому (см. под катом).

Читать дальше →
Всего голосов 193: ↑187 и ↓6+181
Комментарии125

Ectognathus, робот-хексапод на микро-сервах своими руками

Время на прочтение7 мин
Количество просмотров50K
Добрый день, уважаемые хабровчане. Представляю вашему вниманию статью, в которой я описываю процесс проектирования и создания шестиногого робота полностью с нуля. Вы не найдете здесь надоевших всем ардуин и готовых наборов «хексапод за 5 минут». Из-за большого объема информации, статья будет состоять из нескольких частей, описывающих разные этапы проектирования и освещающих грабли, на которые я наступал в процессе оного.
Итак, встречайте – Ectognathus.
Читать дальше →
Всего голосов 127: ↑126 и ↓1+125
Комментарии26

Как я покупал квартиру

Время на прочтение11 мин
Количество просмотров62K
Я хотел написать статью про линейную регрессию, но потом подумал, да ну её, лучше куплю квартиру. И пошёл искать, что предлагают. А предлагают, как оказалось, много чего. В подходящий мне ценовой диапозон попало больше 500 квартир. И что, мне теперь все это просматривать? Ну нееет, программист я в конце концов или не программист. Надо это дело как-то автоматизировать.
Читать дальше →
Всего голосов 279: ↑272 и ↓7+265
Комментарии182

Памятка пользователям ssh

Время на прочтение13 мин
Количество просмотров1.5M
abstract: В статье описаны продвинутые функций OpenSSH, которые позволяют сильно упростить жизнь системным администраторам и программистам, которые не боятся шелла. В отличие от большинства руководств, которые кроме ключей и -L/D/R опций ничего не описывают, я попытался собрать все интересные фичи и удобства, которые с собой несёт ssh.

Предупреждение: пост очень объёмный, но для удобства использования я решил не резать его на части.

Оглавление:
  • управление ключами
  • копирование файлов через ssh
  • Проброс потоков ввода/вывода
  • Монтирование удалённой FS через ssh
  • Удалённое исполнение кода
  • Алиасы и опции для подключений в .ssh/config
  • Опции по-умолчанию
  • Проброс X-сервера
  • ssh в качестве socks-proxy
  • Проброс портов — прямой и обратный
  • Реверс-сокс-прокси
  • туннелирование L2/L3 трафика
  • Проброс агента авторизации
  • Туннелирование ssh через ssh сквозь недоверенный сервер (с большой вероятностью вы этого не знаете)
Читать дальше →
Всего голосов 360: ↑352 и ↓8+344
Комментарии148
2

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность