Pull to refresh
1
0
Александр @Funcraft

User

Send message

Linux 2.6, PHP 5.3 и PostgreSQL 9.1 признаны открытым ПО с высоким качеством кода

Reading time1 min
Views1.8K


В 2006 году между Департаментом Национальной безопасности США и частной компанией Coverity, производящей решение для автоматизированного тестирования качества кода, был заключён договор об крупнейшем аудите исходного кода открытого и проприетарного программного обеспечения. Несколько дней назад отчёт компании был опубликован и его выводы кратко приведены ниже:
  • Было проверено 37 млн строк программного кода сорока пяти наиболее активных Open Source-проектов, причём средний размер тестируемых проектов составлял 832 000 строк. Был рассчитан показатель "Средняя плотность дефектов" как число ошибок на тысячу строк кода, который составил в среднем 0.45.
  • Было проверено 300 миллионов строк проприетарного кода, произведённого сорока одной анонимной компанией. Средний размер проекта — 7.5 млн строк кода, средняя плотность дефектов составила 0.64.


Узнать подробности

Кроссбраузерные проблемы псевдокласса :active

Reading time4 min
Views15K


С появлением множества нововведений в технологиях вёрстки веб страниц, у разработчиков появилась возможность отчасти заменить JavaScript, применяя HTML/CSS для большей производительности и расширяемости интерфейса своих порталов.
Помимо проблем с кроссбраузерностью и разной реализаций новых свойств CSS, часто приходится встречаться с другими проблемами в местах, где казалось бы, давно всё устаканилось и везде работает одинаково. Именно с такой проблемой мне пришлось столкнутся, применяя CSS transitions вместе с псевдоклассом :active. Видимо из-за того, что в документации отсутствует описание поведения родителей элемента в состоянии :active, в разных браузерных движках это поведение реализовано по-разному.

Задача


Кроссбраузерно декорировать потомка активного элемента (родителя), с возможностью активировать родителя кликом на любого потомка (мой пример на jsfiddle, и на dabblet).
Читать дальше →

Много текста про практику работы с PHPUnit/DbUnit

Reading time9 min
Views28K
Доброго времени суток, друзья!
Хочу поделиться опытом по борьбе с PHPUnit/DbUnit в связке с MySQL. Далее небольшая предыстория.

Краткая предыстория


В процессе написания одного веб-приложения возникла необходимость тестировать код на PHP, интенсивно взаимодействующий с БД MySQL. В проекте в качестве фреймворка модульного тестирования использовался порт xUnit — PHPUnit. В результате было принято решение писать тесты для модулей, непосредственно взаимодействующих с базой, подцепив плагин PHPUnit/DbUnit. Дальше я расскажу о тех трудностях, которые возникли при написании тестов и о том, каким способом я их преодолел. В ответ же хотелось бы получить комментарии знающих людей относительно корректности моих решений.
Читать дальше →

Шрифт использующий точки вместо букв

Reading time1 min
Views5.7K
Dotsies

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

Если верить сайту то за 20 минут можно освоить чтение данного шрифта.

QoS в Linux: издеваемся над трафиком

Reading time7 min
Views49K
В предыдущей статье я рассказывал про фильтр U32. В этой статье речь пойдёт о так называемых tc actions — действиях, которые можно производить над трафиком. Например, можно построить файерволл без использования iptables/netfilter, или изменять отдельные байты в пакетах, перенаправлять/зеркалировать трафик на другие интерфейсы. Осваивать это будем на примерах. Продолжение под катом.
Читать дальше →

Munin: Мониторинг Rackspace Storage

Reading time3 min
Views1.8K
imageДобрый день!

Мы храним картинки в CDN от Rackspace. Поставлена задача: выводить графики использования CDN, а именно количество объектов и занимаемое пространство.

Как по мне, лучший инструмент для выведения такого рода грфиков — Munin. Очень легко написать для него плагин на практически любом языке, да и данные можно выводить как угодно.

Я написал 2 плагина к Munin, которые по Rackspace API могут вам указать сколько у вас в сторадже файлов ну и их общий размер.
Читать дальше →

HyperDex — новое опенсорсное NoSQL key-value хранилище, заточенное на очень быстрый поиск

Reading time2 min
Views5.6K

Авторы позиционируют HyperDex как распределённое, отказоустойчивое, легко-маштабируемое, заточенное на очень быстрый поиск NoSQL key-value хранилище.

Главная фича — новый принцип хранения объектов в многомерном эвклидовом пространстве (рис. слева), используя гиперпространственное хэширование (hyperspace hashing) (на который, кстати, авторы сейчас получают патент), которое позволяет выполнять большинство типичных задач от 2 до 13 раз быстрее, чем в MongoDB, Redis, Cassandra.

О проекте и бенчмарки под катом

Шрифтомания от fontsquirrel. Рядовая логика работы со шрифтами при верстке сайта

Reading time3 min
Views19K
Небольшой рассказ о том, как корректно генерировать font для рунета. В центре внимания известный уже на Хабре буржуйский сервис fontsquirrel.

Если красота должна спасти мир, то дизайнеры web интерфейсов — это армия зла. Ни поймите меня не верно, сам считаю себе web дизайнером, и не могу перенести криворуких верстальщиков, приходится верстать свои же psd-изыскания, такими же кривыми руками. И тут начинается самое интересно…
Читать дальше →

Навигатор по бесплатным иконкам

Reading time2 min
Views5.1K
Вчера в который раз возник вопрос по подбору нескольких иконок в очередном веб-проекте. В основном пользуюсь готовыми иконками из бесплатных наборов. До недавнего времени прибегал к услугам сайта iconpicker.deviantech.ru. Навигация по иконкам была хоть и не самая удобная, но явно лучше, чем просто проглядывать их в Finder'е (или Explorer'е). Однако в последнее время сайт недоступен.

В итоге решил сделать собственный навигатор по иконкам:


Читать дальше →

Управление проектами: фильм «Человек, который изменил все»

Reading time1 min
Views16K
Возможно, я сейчас открою Америку, но вдруг найдутся такие же люди, как и я, пропустившие этот фильм в кино. Собственно, кто бы мог подумать, что историческое кино про бейсбол, да еще с Бредом Питтом в главной роли окажется лучшим фильмов про управление проектами, что я видел за последнее время.

Если вы еще не смотрели, то очень советую исправиться. По сути это история о том, как финансовый менеджер команды (читай, проекта) вынужден конкурировать с другими клубами в условиях разницы в финансировании в 3-5 раз.

Цитата: «Есть богатые команды, есть бедные команды, есть 10-ти метровый слой говна, а под ним — мы».

Т.е. там, где другие команды могут нанять более результативных игроков (читай, более квалифицированный персонал) Бред Питт вынужден переизобретать схему построения команды. И он это делает, основываясь на математическом моделировании и анализе статистики игроков. Никакого спорта, чистая математика и переосмысление целей.

Как по мне, так весьма вдохновляющее кино. В качестве бонуса — очень хорошая игра актеров (номинации на Оскар на лучшие мужские роли первого и второго плана). Трейлер под катом:
Читать дальше →

Стековые языки программирования

Reading time6 min
Views18K
concatenative
Функциональное программирование снова в моде. В зависимости от того, предпочитаете ли вы классику или хардкор, страдаете от навязанных промышленных стандартов или вы просто хипстер, вашим любимым предпочтением может быть Scala, Haskell, F# или даже старый добрый Lisp. Такие сочетания слов, как функция высшего порядка, отсутствие побочных эффектов, и даже монады, ласкают слух всех «неокрепших юных умов», будь-то ребят из JetBrains или студента, впервые увидевшего SICP.

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

Пиксельные искажения с билинейной фильтрацией в HTML5 canvas

Reading time3 min
Views8.9K

В данном посте я хочу описать простую методику пиксельного искажения изображения на «чистом» javascript в 2D-Canvas без использования специальных библиотек и шейдеров, путём прямого доступа к пикселям изображения. Надеюсь, это будет интересно и полезно как для общего развития, так и для решения каких-то задач.

Читать дальше →

Популярно об Amazon Web Services

Reading time9 min
Views191K

Вступление


В этом докладе будут рассмотрены сервисы AWS, которые использует наша платформа и с которыми я знаком не по наслышке. Я работаю над проектом, который использует почти все возможные сервисы, а так же мы нацелены в ближайшем будущем охватить ещё больше возможностей, которые предоставляет нам Amazon.

Управление AWS осуществляется как с помощью веб интерфейса (AWS console), так и с помощью Command Line Tools. В консоли собраны все сервисы AWS, но функциональность настройки несколько обрезана. В командной строке же можно более гибко настроить тот или иной сервис, так же доступны закрытые в консоли функции.

Amazon Elastic Compute Cloud (EC2)


Описание

EC2 — это облачный сервис, предоставляющий виртуальные сервера (Amazon EC2 Instance), 2 вида хранилищ данных, а так же балансировщик нагрузки (Load Balancer).
Читать дальше →

Введение в теорию взаимодействующих последовательных процессов (Communicating Sequential Processes — CSP)

Reading time6 min
Views18K

Предисловие


Данный текст является переводом и сокращённым пересказом начальных глав книги Чарльза Э. Хоара. Целью является ознакомление русскоязычной аудитории с данной алгеброй исчисления процессов, коя нашла достаточно широкое применение в современной вычислительной науке в связи с большим распространением параллельных систем. Наиболее близкими и понятными практическими применениями CSP, думаю, будут являться следующие языки программирования:

CSP является формальным математическим языком, позволяющим описывать взаимодействие параллельных систем, основным его применением является формальная спецификация параллельной работы систем, например таких как Транспьютер, кроме того он применяется при разработке высоконадёжных площадок электронной торговли.
В данной статье будут рассказаны основы данной алгебры, без которой невозможно её дальнейшее изучение, в основном это базовое описание процесса, что покрывает первую половину первой главы книги.
Читать дальше →

Взвешиваем селекторы CSS

Reading time4 min
Views88K
Ближе к двум часам ночи в голову в месте с мыслями о вечном приходят не менее вечные вопросы — «в чём смысл жизни ?», «зачем вообще человеку спать ?» или «Какого чёрта эта #%^$ не работает ?» и чем ближе утро, тем сильнее начинает волновать именно этот самый последний вопрос.

Чуть ниже я расскажу о том какого чёрта сss селекторы иногда не ведут себя так, как нам кажется правильным, и о том как они на самом деле должны себя вести.

Читать дальше →

«Я научу вас любить и страдать», или Шпаргалка по обучению в IT

Reading time4 min
Views3.9K
Выпустившись восемь лет назад из питерского Бонча (он же — Университет телекоммуникаций), я никак не подозревал, что сам займусь преподаванием. Тем не менее, моя мятущаяся, и совсем, пожалуй, не технарская душа, привела меня на должность преподавателя в довольно крупной — питерской же — конторе, занимающейся разработкой самого разнообразного софта для операторов сотовой связи. Мой более чем пятилетний трудовой путь в ней заканчивается, и по горячим следам я решил дать несколько простых советов, которые, смею надеяться, облегчат жизнь тем, кому по служебной или иной необходимости нужно будет передать свои драгоценные знания. Они содержат в себе несколько базовых вещей, связанных с обучением, которые мне сейчас кажутся очевидными, но на заре преподавательской деятельности были в новинку. Перейдём, собственно, к советам.
Читать дальше →

«HTML5 — будущее игровой индустрии». Интервью с создателями фрейморка Construct

Reading time6 min
Views8K
Том Галлен и Эшли Галлен — братья, основатели компании Scirra и создатели фреймворка Construct, с помощью которого создать игру может любой желающий, даже без знания программирования. Construct Classic распространяется бесплатно с открытыми исходниками и предназначен для создания DirectX-игр (есть SDK и поддержкой плагинов на C++). На его основе сделан условно-бесплатный Construct 2 для HTML5-игр, где в качестве движка используется Box2D. Описание см. в статье «Разработка 2D игр под Windows и HTML5 без программирования».

Основатели компании Scirra заметили интерес аудитории Хабра к своей разработке и с готовностью ответили на вопросы хабражителей. Оригинал интервью на англ. лежит здесь на всякий случай.
Читать дальше →

Отказ от использования CMS при проектировании веб-приложений

Reading time4 min
Views17K
Уже довольно давно решая задачи проектирования веб-приложений, или веб-ресурсов я использую подход при котором проектирую логику работы исходя из предметной области к которой будет относится веб-приложение. Этот подход ни разу меня не подводил, и зачастую результат работы всегда меня удовлетворял (насколько вообще результат работы может удовлетворять — ведь всегда кажется, что можно сделать еще чуть чуть лучше, и процесс улучшения может быть бесконечным). Однако иногда среди коллег мне приходится встречать мнение, что проектирование с использованием CMS гораздо эффективнее. После последней такой беседы я решил написать статью и поделится своими мыслями с хабра-сообществом.

Я постарался описать оба подхода проектирования и как можно шире раскрыть тот подход, который использую сам.

Этой статьей я не пытаюсь доказать что использование CMS не эффективно. Оно эффективно, но по моему мнению только тогда, когда в будущий ресурс новый функционал вносить не предполагается. И когда изначальный функционал не выходит за пределы «сайта-визитки» (хотя и «визитка» порой может быть достаточно технологичной и требовать для реализации того, чего с ограниченными возможностями CMS добиться достаточно трудоемко).

Читать дальше →

Онлайн-репетитор по Python

Reading time1 min
Views24K
Для курса по программированию MIT разработан интерактивный инструмент Online Python Tutor, он в графическом виде показывает изменение стека и кучи на каждом шаге выполнения кода. Таким образом, онлайновый «наставник» как бы наглядно объясняет студенту работу программы.



В окно редактора можно скопировать любой код или посмотреть несколько уже готовых простеньких примеров (факториал, квадратный корень, последовательность Фибоначчи и т.д.). Навигация осуществляется стрелками на клавиатуре. Студенты, изучающие Python, могут увидеть и лучше понять работу кода.

Равномерное выравнивание блоков по ширине

Reading time4 min
Views19K
Продолжая свои «css-раскопки» возникла новая идея, разобрать по косточкам ещё одну актуальную тему, которая касается равномерного выравнивания блоков по ширине. В принципе мои доскональные исследования я уже запостил у себя в блоге, но так как прошлая моя работа очень понравились Хабра-сообществу, то я решил сделать здесь небольшой краткий обзорчик этой статьи, чтобы ни одна хабра-душа не пропустили её наверняка. Так что, как говорил Гагарин: «Поехали».

В общем в задачах вёрстки периодически возникают моменты, когда появляется необходимость выровнять какой-нибудь список по ширине экрана. При этом пункты этого списка должны выравниваться равномерно, прижимаясь своими крайними элементами к границам контейнера, а расстояние между ними должно быть одинаковым.
image
Читать дальше →

Information

Rating
Does not participate
Location
Казань, Татарстан, Россия
Date of birth
Registered
Activity