Обновить
8
Евгений Филиппов@javaorca

Lead

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

Обзор ExtJS 4. Опыт портирования со старой версии

Время на прочтение6 мин
Охват и читатели6.4K
Несмотря на то, что четвертая версия каркаса ExtJS вышла уже достаточно давно, материалов по этой версии на хабре не слишком много. А если учесть, что в четвертой версии существенно переработан API, структура классов и предлагаемая архитектура приложения, то, как мне кажется, тут есть, о чем поговорить.

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

Продвинутые шаблоны редактора Wordpress

Время на прочтение6 мин
Охват и читатели31K
Допустим, у вас стоит задача предоставить вашему клиенту для заполнения заранее сверстанный макет или форму, куда он может смело добавить текстовый материал, будь-то описание товара или услуги, разделенный на колонки. Да, эту задачу можно решить многими способами, но хотелось бы, что бы и человеку было проще пользоваться редактором, и к вам вопросов было поменьше. В конце концов WYSIWYG и был создан для того, что бы даже сферическая секретарша в вакууме понимала, что именно будет отображено на сайте в результате её работы в редакторе. Но, пойди, найди такую «секретаршу».

image
Шаблоны в редакторе записи

Многокритериальный выбор альтернатив с использованием правил нечеткого вывода. Реализация на Java. Часть 3/3: Пример

Время на прочтение6 мин
Охват и читатели7.4K
Предыдущие части:
  1. Многокритериальный выбор альтернатив с использованием правил нечеткого вывода. Часть 1/3: Теория
  2. Многокритериальный выбор альтернатив с использованием правил нечеткого вывода. Реализация на Java. Часть 2/3: Основной алгоритм


Пример взят из книги: Борисов, Крумберг, Федоров — «Принятие решений на основе нечетких моделей. Примеры использования», 1990. Стр. 94-102

Условие. Руководство института рассматривает кандидатов на замещение вакантной должности на факультете. Задача заключается в том, чтобы, используя описанный выше метод, выявить наилучшеrо из них. Обсуждение среди членов факультета дало следующий результат:
d1: «Если кандидат опытный исследователь, имеет некоторый производственныи стаж и опыт преподавания технических дисциплин, то он удовлетворяющий (отвечающий требованиям)»;

d2: «Если он вдобавок к вышеописанным требованиям может преподавать теорию информационных систем, то он более чем удовлетворяющий»;
d3: «Если он вдобавок к условиям d2 имеет способпость найти заказчика наукоемкой продукции, то он безупречный»;

d4: «Если оп имеет все, oгoвopeннoe в d3, кроме способности преподавать теорию информационных систем, то он очень удовлетворяющий»;
d5: «Если кандидат очень опытный исследователь, имеет способность найти заказчика и хороший преподаватель, но не имеет производственноrо стажа, он все же будет удовлетворяющим»;
d6: «Если он не имеет квалификации исследователя или не имеет проверенной способности к преподаванию, он — неудовлетворяющий».

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

Валидаторы ввода под Android

Время на прочтение3 мин
Охват и читатели9.1K
Validation
Не так давно мне понадобилось добавить в андроид-приложение валидаторы для полей ввода (EditText), но ничего подходящего в сети не нашлось: пришлось писать свои собственные. Теперь, когда все готово, можно раздать результаты всем желающим под Apache лицензией и немного рассказать, как все устроено. Тех, кому интересно,
прошу под кат

Завалить 30 серверов за секунду с лаптопа?

Время на прочтение2 мин
Охват и читатели6.5K
Выпустив новую версию slowhttptest с поддержкой медленного чтения (Slow Read DoS attack), я помог нескольким пользователям протестировать их сервисы. Во время одного из тестов произошла поучительная история, которую я хочу рассказать.

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

Рекомендации для GUI под Android

Время на прочтение1 мин
Охват и читатели24K
Производители обычно выпускают рекомендации для построения GUI под их OS. Дошла очередь и до Google Android:
image
Читать дальше →

Dependency injection в Java EE 6

Время на прочтение9 мин
Охват и читатели98K
В рамках JSR-299 “Contexts and Dependency Injection for the Java EE platform” (ранее WebBeans) была разработана спецификация описывающая реализацию паттерна внедрения зависимости, включенная в состав Java EE 6. Эталонной реализацией является фреймворк Weld, о котором и пойдет речь в данной статье.

К сожалению в сети не так много русскоязычной информации о нем. Скорее всего это связано с тем, что Spring IOC является синонимом dependency injection в Java Enterprise приложениях. Есть конечно еще Google Guice, но он тоже не так популярен.

В статье хотелось бы рассказать об основных преимуществах и недостатках Weld.
Читать дальше →

Многокритериальный выбор альтернатив с использованием правил нечеткого вывода. Часть 1/3: Теория

Время на прочтение2 мин
Охват и читатели11K
Нечеткая логика — математические основы
Нечёткое множество

Описание метода
Пусть имеется множество элементов U, а A – его нечеткое подмножество, степень принадлежности его элементов определяется значением X, принимающим значение из интервала [0;1].
Таким образом, объект можно описать набором критериев(параметров) X(1), X(2) … X(n), принадлежащих соответствующим базовым множествам U(1), U(2) … U(n). Совокупность критериев с соответствующими значениями характеризует приемлимость S данного объекта относительно поставленной задачи.
Читать дальше →

Многокритериальный выбор альтернатив с использованием правил нечеткого вывода. Реализация на Java. Часть 2/3: Основной алгоритм

Время на прочтение6 мин
Охват и читатели5.1K
Перед прочтением крайне рекомендую ознакомиться с первой частью статьи:
Многокритериальный выбор альтернатив с использованием правил нечеткого вывода. Часть 1/3: Теория

Для осуществления выбора необходим набор правил (интерфейс Rule), которе включают в себя набор соответствующих им нечетких логических функций (реализующих интерфейс Function) и определенные входные формализованные данные (изначально представляющие собой двухмерный массив элементов типа double).

Для бОльшего удобства данные (одномерные массивы элементов типа double) внутри класса Rule хранятся в классе-обертке Skill.

Далее правила передаются классу Facade, создающего из них нечеткие подмножества, размеры которых зависят от количества исследуемых объектов и требуемой точности (задаваемой в статическом классе Variables).

После нахождения общего функционального решения этой системы подмножеств (метод calcD) применяется процедура сравнения полученных нечетких подмножеств в единичном интервале для получения наилучшего решения (метод calcC); для этого вычисляются мощности данных уровневых множеств и их точечные оценки (метод calcS); в данном алгоритме для облегчения требуемой сортировки элементов применяется класс-структура Num.

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

Плагин jQuery для сортировки таблиц: TableSorter.js. Как добиться постраничной навигации?

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

Вступление


При разработке одного проекта мне пришлось решать проблему с сортировкой данных в таблице. Не хотелось для этого использовать PHP, так как эффект теряется при перезагрузке страницы. Вот и наткнулся я на официальный сайт jQuery-плагина "TableSorter.js" — www.tablesorter.com. Немного покопавшись в англоязычной документации я с радостью обнаружил в новостях сайта ссылку на русскоязычный сайт: www.tablesorter.ru.

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

Свежие бесплатные шрифты с кириллицею: PT Mono, ROSA Arion, ROSA Verde, Oxygen

Время на прочтение3 мин
Охват и читатели9.7K
Девятое января 2012 года — последний день январских праздников в России. Позади не только западная, но и русская православная дата Рождества Христова, а также и Новый год между ними. (Впереди остаётся только возможность отметить Новый год по старому стилю — реликт павшей Империи, бережно сохраняемый православной церковью и народной традицией со дня его отмены в 1918 году.) Декада праздников стремительно уступает место суровым будням, и ужé сегодня многие из нас лягут спать с учётом завтрашней необходимости раннего бодрствования. И с каким же радостным, увесистым грузом бесплатных подарков мы вступаем в начинающуюся середину января? Насчёт шрифтов своими ответами на этот вопрос всех нас стремились порадовать сразу три словолитни.



PT Mono


Производитель «ПараТайп» 30 декабря 2011 года объявил в LiveJournal о выходе в свет PT Mono — моноширинного шрифта, естественным образом дополняющего шрифтовую систему ПТ Проект, состоящую из семейств PT Sans и PT Serif, появившихся в 2009 и в 2010 году соответственно. Новый шрифт, что небезынтересно, разработан при финансовом участии компании Google и, вероятно, займёт вскорости своё место в её коллекции Google Web Fonts. Как и прежние работы ПТ Проект, новый шрифт включает буквы не только русской кириллицы, но и кириллических систем письменности десятков других народов современной России и ряда соседствующих народов и стран. Он также может считаться свободным, потому что одна из его версий распространяется по лицензии OFL (SIL Open Font License). И вот опубликованная на сайте у «ПараТайп» картинка внешнего вида шрифта:

[PT Mono]
Нетрудно видеть, что у новинки почти нет недостатков, кроме, быть может, строчной буквы «г», нижняя засечка у которой неимоверно длинна, да и верхняя также увесиста настолько, что отличие от «т» становится, мне кажется, менее значительным, чем могло бы быть.

Этот шрифт доступен в единственном (прямом нежирном) начертании.



ROSA Arion и ROSA Verde


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

Система управления проектами с блекджеком и аддонами

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


Здравствуйте, хабровчане!
Представляем вашему вниманию новую платформу для совместной работы и управления проектами — Workmate! Она легко специализируется под ваши нужды с помощью Add-on Store, где вы выбираете подходящие вам сервисы и инструменты.
В этой статье мы хотим рассказать вам, как родилась идея ее создания, и каким образом она позволит повысить продуктивность работы вашей компании.
Читать дальше →

Что менеджер проектов должен знать о тестировании

Время на прочтение5 мин
Охват и читатели14K
Я 8 лет занимаюсь тестированием. Ручным и автоматизированным, в роли тестировщика и тест-менеджера, как сотрудник компании и как представитель аутсорса. И почти на всех проектах сталкиваюсь с одной и той же проблемой: руководители проектов не понимают, зачем им нужно тестирование.

Если задать среднестатистическому РМ'у простой вопрос: «Зачем на этом проекте тестирование?», то чаще всего ответом будет «Ты же тест-менеджер, ты и должна ответить на этот вопрос».

Но ведь приходя в парикмахерскую вы не говорите мастеру «вы сами знаете, что мне нужно»? И в продуктовом магазине вы не просите продавца накидать вам в корзину то, что вам нужно? Вы можете советоваться, вы можете узнавать «а как можно?», спрашивать варианты, но решение всегда за вами. В чём отличие тестирования? Может, в том, что слишком мало менеджеров проектов понимают, зачем оно им?

В этой статье я постараюсь выступить в роли продавца, который показывает клиенту: «а что вообще бывает?» Многие вещи будут описаны, возможно, слишком подробно, слишком просто… Не серчайте, мне просто очень хочется быть понятой :)
Читать дальше →

Моделирование большого количества взаимодействующих друг с другом частиц

Время на прочтение6 мин
Охват и читатели31K
Рассмотрим ситуацию, когда необходимо обрабатывать столкновения между объектами. Как вы в этом случае поступите? Вероятно, самым простым решением будет проверить каждый объект с каждым другим объектом. И это правильное решение, и все будет замечательно до тех пор пока объектов не много. Как только их станет порядка нескольких тысяч, вы заметите, что все стало как-то медленно работать. А если частиц несколько десятков тысяч или сотен? Тогда все замрет. Вот здесь уже интересно, на какие хитрости и оптимизации вы пойдете, чтобы решить такую проблему.

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

Содержание


1. Обзор алгоритмов
1.1. Полный перебор
1.2. Sweep & Prune
1.3. Регулярная сеть
2. Некоторые оптимизации
2.1. Sweep & Prune
2.2. Регулярная сеть
3. Сравнение скорости выполнения
4. Приложение (программа и исходный код)
5. Заключение

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

Заглушка для IE6 под Drupal 7

Время на прочтение1 мин
Охват и читатели3.1K
Поскольку в своих проектах мы перестали по умолчанию поддерживать IE6, сделав эту поддержку для клиентов платной — возникла необходимость в своей заглушке.



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

OpenStore — бесплатная сборка интернет — магазина на основе Drupal и Ubercart

Время на прочтение7 мин
Охват и читатели17K
image
Представляю свой проект — бесплатный скрипт интернет-магазина OpenStore на основе Drupal и модуля Ubercart

Сайт проекта
Скачать
Багтреккер
Читать дальше →

Импорт сайтов из разных CMS на Drupal

Время на прочтение6 мин
Охват и читатели6.6K
Я думаю, что у каждого, кто использует Drupal в своей работе, периодически возникают задачи переноса сайтов, работающих на других CMS, или просто задачи импорта данных на платформу Drupal.

Такие задачи периодически возникают и у меня, но раньше я весь импорт делал написанием скрипта на php, который просто записывает нужную информацию прямо в БД Drupal. Я, конечно же, знал, что есть механизмы, которые позволяют добавлять данные, используя API Drupal, но как-то разбираться с ними было лень, да и скрипт для записи сразу в БД пишется довольно быстро.

Когда сайт на Drupal достаточно простой и на нем не используются какие-то сложные модули (и их мало), то такой принцип импорта (прямая запись в БД) себя оправдывает. Но что делать, когда нужно перенести данные на очень сложный сайт со множеством модулей и их сложной настройкой?

В этом случае очень сильно поможет знание API Drupal'a, т.к. всю работу по правильному апдейту всех взаимосвязанных таблиц с учетом всех хитрых настроек за нас сделает Drupal.

Как оказалось, использование API Drupal'a не то чтобы просто, а очень просто. Про это и будет сегодняшняя статья.
Читать дальше →

Разработка для Drupal 7 с помощью новой концепции сущностей (Entity)

Время на прочтение10 мин
Охват и читатели16K
Концепция сущностей (Entity), которая будет рассматриваться в данной статье является одной из новинок, представленных в Drupal 7. Для того чтобы осознать всю новизну предлагаемого подхода, следует сделать небольшой экскурс в историю и вспомнить, как все было в Drupal 6.
Читать дальше →

Демотивация по полной программе или почему я жду конца света?

Время на прочтение6 мин
Охват и читатели17K
Низкий поклон Хабранароду!

Предисловие

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

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

Scala хуже, чем Java. Как минимум, для половины Java проектов

Время на прочтение8 мин
Охват и читатели38K
Итак, в своем посте (прим.пер. Да, Вирджиния, Scala сложна!) я согласился с тем, что Scala слишком сложна для большей части Java разработчиков. Тот пост вызвал немало дискуссий, большая часть которых исказила его смысл. Теперь я пишу снова, надеясь пояснить, о чем я, собственно, говорил и зачем мне все это нужно.

Но сначала обо мне. Меня зовут Дэвид Поллак.
Читать дальше →

Информация

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