Обновить
29
0
Илья Ермолов@FlashXL

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

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

Google упрощает контрактное программирование

Время на прочтение1 мин
Охват и читатели2.7K
Google выпустил открытую библиотеку Contracts for Java, которая упрощает реализацию методов контрактного программирования в Java. С помощью библиотеки Contracts for Java предусловия, постусловия и инварианты можно добавлять в Java как булевые выражения внутри аннотаций.

Как сказано в официальном анонсе, библиотека разработана двумя программистами Google в свободное от основной работы время (20% на личные проекты) и основана на Modern Jass и сделана под впечатлением от языка Эйфель, в котором впервые был реализован метод контрактного программирования.
Читать дальше →

Разоблачение алгоритмов растеризации шрифтов (2/2)

Время на прочтение14 мин
Охват и читатели11K
(вторая часть перевода статьи Разоблачение алгоритмов растеризации шрифтов)

Linux


Наследуя худшее


Windows растеризует шрифты плохо, Linux ещё хуже. Во всех Linux-системах, которые я видел, используется FreeType [10] Дэвида Тёрнера, Роберта Вильгельма и Вернера Лемберга. Это отличная библиотека, но способ её использования, к сожалению, нельзя назвать удачным. Типичный скриншот Linux выглядит так:



Вот полный скриншот:
ссылка

Сразу заметна проблема — чёрные пятна в скругленных углах, образовавшиеся в результате сглаживания. Вцелом, можно сказать, что косые штрихи выглядят тяжелее чем вертикальные, что в регультате производит впечатление «грязи». Вы можете возразить, что FreeType и Linux могли бы использовать схожую с ClearType субпиксельную растеризацию, но по мне это не даёт заметных преимуществ.
Читать дальше →

Создание m4b из mp3 аудиокниг для ipod

Время на прочтение3 мин
Охват и читатели18K
Захотелось давеча прослушать аудиокнижку одну, проблема в том, что прослушать ее захотелось на ipod, а в m4b формате нигде найти не смог, только mp3.

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

Суть в том, что .m4b это файл AAC в контейнере mp4, но с закладками и переименованный. Следовательно, необходимо все mp3 перегнать в aac и сгенерировать файл закладок (chapters), в quicktime формате, после чего запихнуть все это дело в mp4 контейнер.
Читать дальше →

Автоматический контроль структуры класса

Время на прочтение4 мин
Охват и читатели5.2K
imageУ каждой компании есть свой стандарт оформления кода и важно придерживаться его. Встроенные в IDE форматеры кода решают это задачу частично, так как они в основном позволяют лишь добиться простого выравнивая кода. Помимо этого хочется еще и порядка в последовательности объявления как полей, методов, так и вложенных классов. Причин, по которым код-стандарт не соблюдается масса: программист перед отправкой кода в репозиторий может не заметить отклонение от стандарта; новый разработчик недостаточно внимательно прочитал документ; в погоне за хот фиксом о формате забыли; либо из-за банальной усталости или лени программиста; автоматического рефакторинга и так далее. Регулярный код-ревью не решает суть проблемы, так как занимает слишком много времени и тормозит разработку — нужна автоматизация проверки соответствия кода в момент его написания!

Частые проблемы:
  • конструктор неожиданно появляется в середине класса;
  • внутренний класс объявлен где-то в середине внешнего класса;
  • абстрактный метод объявлен где-то в середине большого абстрактного класса;
  • @Autowired метод тоже расположен где угодно но только не на самом видном месте;
  • статические билдер методы разбросаны по коду класса;
  • поле класса затерялось где-то между внутренним классом и методами.

Надоело такое терпеть в коде?
Читать дальше →

Творим оригинальный подарок при помощи химии физики и электроники: часть 3

Время на прочтение6 мин
Охват и читатели28K
Третья, заключительная часть моей статьи о создании светящегося кристаллического сувенира. В ней описывается программная часть, то бишь прошивка микроконтроллера ATTiny13 из славного рода AVRок.
Читать дальше →

OpenID, OAuth и другие плюшки

Время на прочтение10 мин
Охват и читатели24K

Зачем нужен OpenID



Вот бывает так, заходишь на сайт любимый, а там ссылка на другой сайт, а там статья ну очень интересная и главное – полезная – и хочется добавить комментарий, типа «Молодцы!» и чтобы добавить комментарий, нужно зарегистрироваться, а чтобы зарегистрироваться нужно ввести «Имя», «Фамилия», «Логин», «Email», «Email еще раз», «Пароль», «Снова Пароль», «Прочитал правила и согласен со всем что тут будет происходить» и «Капчу». И жмакаешь «Зарегистрироваться», а тут бац – «Логин» — занят, и поля «Пароль», «Снова Пароль», «Капча» — стерты. Ну вот так. Вводишь другой свой логин (который второй, и не главный и не любимый) и снова пароль, снова снова пароль (постите) и капчу, и бац – всё ок, только забыл снова поставить галку «Прочитал правила...». Ну ладно, прошел еще раз круги ада, на мыло вышло письмо, активировал аккаунт, так, а где там была статья, да и ну их, не молодцы они, ну т.е. молодцы ну и хрен с этим, знают и так.
Проведите эксперимент, в вашей любимой почте сделайте поиск по слову «activate» — вот примерно столько вы регистрировались на сайтах.
А с другой стороны думаешь, а давайте упростим, и делаешь простое добавление комментария: «Имя», «Email», «Сообщение» — причем «Email» можно не вводить. Через 3 месяца заходишь, а там – СПАМ! Ладно, почистил – и ноль эффекта, спам продолжает, добавил капчу – ну вроде ок, но потом снова как-то они ее обходят. И внимание(!) – вводим регистрацию… Ой!
Но есть (УРА!) – OpenID.
Читать дальше →

Бестселлер Amazon'а «Машина смерти» лицензирован под Creative Commons

Время на прочтение2 мин
Охват и читатели990
imageЭто случалось раньше с музыкальными альбомами, когда выкладывание произведения открытый доступ не вредило текущим продажам товара. Авторы Машины смерти чётко поняли это. Они объяснили почему антология научно-фантастических рассказов о людях, которые знают как они умрут (но не знают когда), была сделана доступной в сети по CC BY-NC-ND:

Почему мы делаем это? Разве мы не беспокоимся о том, что это повредит продажам этой книги?

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

Пожалуйста, скачивайте, читайте, копируйте и наслаждайтесь!


Кроме того, некоторые отдельные рассказы выпущены под лицензией CC BY-NC-SA
Читать дальше →

Разработка web-приложений на языке Common Lisp (часть третья)

Время на прочтение6 мин
Охват и читатели4.3K
Данный обзор является небольшим путеводителем для тех, решился (или решается) доверить этому чудесному языку будущее своего стартапа. Несмотря на то, что основной акцент будет ставиться на web-разработке, я постараюсь осветить также и более общие темы, так или иначе связанные с Common Lisp. Материал почерпнут из собственного опыта разработки web-сервиса AlterMoby.

Третья часть этого обзора будет посвящена web-серверу Hunchentoot. Рассмотрим его архитектуру и базовые возможности. Кроме того, затронем некоторые смежные вопросы, в частности, генерацию HTML/XML.

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

Что такое Хабрахабр?

Время на прочтение1 мин
Охват и читатели12K
Сегодня мы приготовили нечто особенное – выпуск Рунетологии с Денисом Крючковым, создателем Хабрахабра.

Не ждите откровений и раскрытия хабрасекретов. Программа интересна другим – впервые вы увидите, как Хабр видит его администрация. Какие у автора представления о собственном детище, каким бы он хотел его видеть, и как у Дениса складываются отношения с его вполне самостоятельным творением.

Ведь как и все социальные-медиа последних лет, Хабрахабр был создан случайно, рос помимо воли авторов и в общем стал тем, чего никто не ожидал. Это хорошо видно по программе — каждый раз, когда Крючков отвечает «не знаю, как-то так получилось».

Так что же вообще получилось? Коллективный блог? Новостной сайт? Социальное медиа? Социальная сеть? MMORPG?

Смотрите и решайте сами.



Напоминаем, что видеоверсия программы Рунетология выходит с лета 2010 года при поддержке компании StartupIndex. Все выпуски доступны на нашем сайте в специальном разделе.

Загрузка классов в Java. Теория

Время на прочтение4 мин
Охват и читатели206K


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

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

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

Вувузела фильтр

Время на прочтение2 мин
Охват и читатели3.5K
В этом посте хочу рассказать, о том, как справиться с «роем мух», как его называет aguares, в трансляциях с Чемпионата Мира по футболу 2010. Звук этот появляется из противных южноафриканских дудок — название которым — Вувузелы.

Постановка инженерной задачи следующая:
Отфильтровать частоты звучания Вувузел в реальном времени из аудио потока онлайн трансляции, не применяя записи сигнала на жесткий диск.

Данная проблема разбивается на следующие подзадачи:
1) Считать поток аудио до вывода его на колонки
2) Произвести подавление основных частот вувузел
3) Подать обработанный звук на аудио выход
+ все это в режиме реального времени.

Из методов цифровой обработки аудио сигналов, доступных для Windows 7, мною была выбрана концепция VST.
Читать дальше →

Torrent-Search — сервис быстрого поиска торрентов

Время на прочтение1 мин
Охват и читатели125K


Здравствуйте, Хабравчане.
Однажды мне пришла идея создать сайт для поиска торрентов. Ведь, очень не удобно искать, по очереди, на большом количестве трекеров.
Итак, представляю Вам — Torrent-Search.
Читать дальше →

Еще один сервис поиска иконок

Время на прочтение1 мин
Охват и читатели8K
В данном русском ресурсе (iconsearch.ru) приведено достаточно много иконок (133673 штук в png-формате), причем на различных фонах (белый, прозрачный) и разных размеров. Иконки довольно симпатичные. Все они разбиты по тегам и наборам. Теги позволяют еще быстрее найти нужную Вам иконку. Теги можно добавлять самому (без регистрации, с применением AJAX). Также присутствует облако тегов. Каждая иконка на этом сайте защищена одной из списка лицензий. Также есть на сайте возможность разработки уникальных иконок. Сайт был создан в 2007, однако на Хабре про него ничего нет, кроме нескольких комментариев.

Настраиваем Tomcat для работы с JSF2 и другими компонентами Java EE 6

Время на прочтение7 мин
Охват и читатели21K
Данная статья описывает по шагам как настроить Tomcat (на текущий момент версия 6.0.26) на работу с разными компонентами Java EE 6.Вы можете пропустить чтение этой статьи и сразу получить настроенный Tomcat и пример приложения.
подробности

Mantis + Subversion у себя на компьютере с Windows XP. Пошаговая инструкция для удобной организации работы с кодом

Время на прочтение6 мин
Охват и читатели5.7K

Исторически сложилось, что багтрекер в нашей команде – это Mantis. Для работы над ошибками очень хорошая и простая в обучении система. Буквально садись и работай. Но для удобной организации работы ей явно не хватает связки с Subversion. В связке Subversion+Mantis помогают организовать работу с кодом небольшой команды программистов. Более подробно про организацию работы у нас я описал в прошлой статье.
А сейчас давайте поговорим, как установить Subversion у себя на компьютере и связать его с Mantis на сервере.
Читать дальше →

Java сертификация — прохождение SCJP и SCBCD

Время на прочтение8 мин
Охват и читатели84K
Не нашел на хабре статей, в которых бы авторы описывали сертификации по Java и делились своим опытом подготовки и ощущениями от сдачи.
В некоторой степени хотел бы заполнить пробел этой статьей. Под катом – мое мнение по вопросу – сдавать или не сдавать сертификации, краткий обзор сертификаций по Java, а так же собственный опыт и ощущения от регистрации, подготовки и сдачи Java сертификаций SCJP и SCBCD.
читать далее

Корпоративный портал Jahia – обзор архитектуры (часть 1)

Время на прочтение13 мин
Охват и читатели7.8K
В статье представлен высокоуровневый обзор архитектуры корпоративного портала Jahia.

Jahia – одна из немногих open source систем, которая объединяет Java EE портал и управление
контентом в один продукт. CMS является законченным решением, представляющим альтернативу порталам
от крупных компаний.

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

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

Учим английский по-новому

Время на прочтение2 мин
Охват и читатели4.3K
Kimir.org

Суть метода состоит в прослушивании аудио фрагментов современных фильмов и сериалов.
Подразумевается, что пользователь сайта не достаточно «силен», чтобы смотреть английские фильмы с английскими субтитрами или без субтитров вовсе. В тоже время, желательно знание основ языка.

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

Google Collections LIbrary 1.0 final

Время на прочтение1 мин
Охват и читатели2.7K
Наконец-то вышла финальная версия Google Collections Library.Это библиотека коллекций, по сути дополняющая стандартные коллекции.
Что есть в Google Collections?
  • Дополнительные типы коллекций Multimap, Multiset, BiMap
  • Также есть неизменяемые типы коллекций, которые удобны в многопоточных программах
  • Классы утилит для Списков, Множеств и Карт
  • И многое другое…

Советую использовать эту библиотеку, для того чтобы не создавать свои велосипеды.
Видеоуроки по использованию библиотеки
ссылка на проект

Java по-русски. Часть первая: Книги

Время на прочтение2 мин
Охват и читатели498K
Не так давно я проводил опрос «Какие материалы о Java вас интересуют на русском языке?» среди посетителей Хабра. Вторым этапом моего исследования будет обзор существующих русско-язычных ресурсов.

Книги


За 2009 на Ozon.ru можно найти 8 книг по Java (всего за последние 3 года их вышло 22 — примерно по 7 в год, на books.ru набор примерно такой же, так что наша выборка довольно репрезентативна). Посмотрим, что это за книги?
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность