Как стать автором
Обновить
29
0
Роман Чаднов @w0nder

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

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

Zend Framework первой свежести, ч1: зендируем MVC

Время на прочтение8 мин
Количество просмотров3.7K
Меня тут разбанили по просьбе Дина, и я решил принести пользу обществу. Поскольку я дурак и ничего не умею, дай, думаю, напишу о ZF — офигенной штуке, которую все почему-то искренне ненавидят. Надо успеть, правда, пока по НТВ не стали показывать Пелевина (жаль, ненастоящего).

Главная беда всевозможных QS в том, что они действительно quick и действительно start, но если делать все как там, получится не особенно «масштабируемое» приложение, с которым не очень понятно, что делать. По сравнению с официальным quickstart'ом прошлой версии Zend Framework'a, новый просто великолепен, но не лишен недостатков. Я пойду с другого конца: вместо того, чтобы обьяснять, как сделать что-то бессмысленное и типовое, попробую (!) рассказать, как писать приложение вообще, используя всевозможными способами Zend Framework. А, пора хабракат делать.
Читать дальше →
Всего голосов 135: ↑100 и ↓35+65
Комментарии135

И снова Fugue!

Время на прочтение2 мин
Количество просмотров915
image
Я возможно уже вам все уши прожужжал про этот сет, но не смог снова его не упомянуть. Да-да, фугия снова обновилась. Данная версия 1.4.3 хоть и не последняя но все же уже актуальная для каждого. Наконец в нем есть все иконки необходимые для оформления вашего веб-приложения. Я понимаю что в сети есть множество полезных сетов иконок, но этот почему то затронул меня больше всего.
читаем дальше...
Всего голосов 72: ↑63 и ↓9+54
Комментарии32

jQuery plugin positioning

Время на прочтение1 мин
Количество просмотров1.5K
При разработаке одного проекта возникла проблема позиционирования дива посередине страницы независимо от ширины дива и от того, есть ли скролл на странице.
Если страница влезается на экран — можна делать через сss (position:absolute; left i top), но и тут надо учитывать в каждом варианте ширину дива.
Если же на странице появляется скроллинг — тогда есть некоторые проблемы.
Так как последним временем (и в том проекте тоже) пользуюсь Javascript-фреймворком jQuery — решил оформить в виде плагина.
Так появился плагин positioning.

Плагин имеет 2 методы:
positioning(leftOffset, topOffset, scroll) — позиционирует элемент на странице

leftOffset — сдвиг по горизонтале
topOffset — сдвиг по вертикали
scroll — параметр, который задает позиционирование относительно «абсолютной» верхней левой точки браузера, или позицинирование относительно верхней левой точки уже проскролленной страницы.

Вызов centering() — позиционирует элемент точно по центру страницы.

Плагін тестировал в FF 3.0, IE6.0+, Safari 3.1, Opera 9.6
Пример можно посмотреть здесь
yablog.org.ua/jquery/index.html
Внизу страницы есть 3 кнопки — кликая на них можно посмотреть плагин в действии
Всего голосов 9: ↑7 и ↓2+5
Комментарии9

Памятка дизайнеру сайтов

Время на прочтение10 мин
Количество просмотров245K
Вторая версия статьи, расширенная и дополненая.

Большая часть готовилась для моего выступления на «РИТ: Клиентские технологии», куда я, к сожалению, не доехал.

 

Памятка дизайнеру сайтов

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

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

Читать дальше →
Всего голосов 453: ↑444 и ↓9+435
Комментарии231

Firebug: Part 1 — console

Время на прочтение2 мин
Количество просмотров7.8K
Данной статей я хочу начать серию, посвященную всеми любимому Add-on к Firefox под названием Firebug.

Весь цикл: Console, Commands, Debugging ,Profiling

Я постараюсь раскрыть известные и не очень его возможности, которые могут пригодиться любому Web-разработчику(а могут и не пригодиться, но это врядли).

Если у вас его еще нету, то можно скачать со страницы http://getfirebug.com.

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

FireScope новый девелоперский плагин для Firefox

Время на прочтение1 мин
Количество просмотров697
image
Итак, SitePoint выпустили новый плагин, а точнее надстройку для Firebug.
Плагин предоставляет более продвинутый референс для каждого html элемента. Показывает уровень поддержки того или другого элемента в определенном браузере, также известные баги.
Читать дальше →
Всего голосов 74: ↑71 и ↓3+68
Комментарии50

Методы защиты веб-формы без капчи

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

О чём речь?


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

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

В этом обзорном посте я бы хотел рассмотреть незаметные для пользователя методы защиты от ботов.

Методы защиты


Читать дальше →
Всего голосов 126: ↑117 и ↓9+108
Комментарии227

Редактор для хабра

Время на прочтение2 мин
Количество просмотров923

Хабра редактор.


Предыстория

Делал для своего блога online редактор контента. Причем я привык пользоваться обычным редактором типа notepad++. Я не сторонник WYSIWYG редакторов, поэтому сделал свой редактор на основе обычного textarea. Какие же преимущества у редактора?
  1. Удобная панель инструментов в стиле Office 2007 (на скока покажет практика)
  2. Поддержка горячих клавиш (почти на весь функционал)
  3. Tab ставит именно табуляцию, а не прыгает на следующий элемент (ставит 4 пробела)
  4. Shif+Tab удаляет табуляцию
  5. Умный Enter (при переносе вставляет табуляцию как у предыдущей строки для выравнивания)
  6. Shift + Enter вставляет перенос строки в стиле HTML тег

К чему это я клоню?

Мне показалось это удобно по этому я решил, поделиться этим счастьем с другими, и сделал сервис для написания статей для хабра. А так как на хабр пишут много кода, решил реализовать и подцветку кода используемую на моем блоге. А так как добрый хабр вырезает все не угодные ему теги, а я использую библиотеку GeSHi. Пришлось немного доработать напильником, и теперь у хабросообщества появилась возможность писать код в красках. А так как эта библиотека довольно популярна она может подсвечивать более 80 языков. Подцветка реализуется прямо в тексте статьи, надо просто указать класс для тега code вот так <code class="html"></code >.
Если не хотите чтобы подцвечивал, то не надо не чего указывать тогда он просто отформатирует отступы без подцветки.

Также был подключен типограф подробнее, что он может, можно посмотреть здесь*4.
Читать дальше
Всего голосов 99: ↑85 и ↓14+71
Комментарии125

«Совершенный Ajax» – новый подход к построению настоящих клиент-серверных web-приложений

Время на прочтение11 мин
Количество просмотров10K
«Совершенный Ajax» — новый подход к построению web-приложений, при котором web-сервер не генерирует ни строчки HTML-кода и взаимодействует с внешним миром только посредством web-служб; а клиентский интерфейс реализуется только на основе клиентских HTML, CSS, JavaScript.

Статья состоит из двух частей. В первой части — более живой и провокационной я постараюсь заинтересовать проблемой, рассказать о технологии «Совершенный Ajax» и показать ее применение на примере нашего проекта «Система Интерактивного Тестирования Знаний “Синтез”» (который имеет ряд интересных особенностей, таких, как использование серверного JavaScript на платформе Mozilla Rhino, прототипно-ориентированная ORM и поддержка SPARQL — языка запросов к Semantic Web).

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

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



Попробуйте угадать: к какой архитектуре относятся web-приложения?

К клиент-серверной говорите? Я ожидал, что Вы так ответите :-)

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

  • Клиент — отвечает за взаимодействие с пользователем [1].

Реализация бизнес-логики на сервере и взаимодействие с пользователем на клиенте четко разделены.

Преимущества клиент-серверной архитектуры очевидны; мы их все знаем:
  1. Бизнес-логика не смешивается с пользовательским интерфейсом.
  2. Можно реализовать несколько клиентов с разными пользовательскими интерфейсами: интерфейс командной строки, оконный Windows-интерфейс, Flash, web-интерфейс, мобильный интерфейс и т.д.
  3. Клиентский компьютер не требователен к ресурсам;
  4. И т.д.


Но, относятся ли web-приложения к клиент-серверной архитектуре? Web-сервер

Действительно, в web-приложениях есть сервер, отвечающий за бизнес логику приложения.

Но! За реализацию интерфейса отвечает не клиент, а тоже сервер. На сервере происходит обработка клиентской формы. Сервер генерирует HTML-код пользовательского интерфейса.

Браузер Клиент, т.е. браузер лишь визуализирует уже готовый HTML-код интерфейса. Это, фактически, то же самое, что прицепить к серверу монитор и объявить этот монитор клиентом…

Читать дальше →
Всего голосов 150: ↑115 и ↓35+80
Комментарии152

Ruby on Rails. Итоги первого месяца

Время на прочтение3 мин
Количество просмотров2.4K
Чуть больше месяца назад я пересел с PHP на Ruby. Теперь хочу как-то резюмировать этот небольшой опыт и попытаться сформулировать плюсы и минусы.
подкат
Всего голосов 95: ↑79 и ↓16+63
Комментарии145

Визуализируем данные на JavaScript

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

Развитие компьютерной графики подталкивает нас к изобретению всё новых способов графического представления данных. Разрабатывались различные прикладные программы для визуализации данных на локальных компьютерах. Однако всё изменилось с развитием интернета: в нём содержатся колоссальные объёмы информации, которые нам постоянно хочется представить как-то удобнее, дружелюбнее, понятнее. Что же мы имеем на сегодняшний день?

Существует немалое число серверных библиотек и утилит, способных генерировать сложные графики. Однако я считаю, что такой подход не всегда оптимален. Если мы можем производить визуализацию на стороне клиента с помощью JavaScript, то почему бы нам не воспользоваться такой возможностью? Логика работы подобной связки проста: сервер генерирует данные, а клиент их визуализирует.

Разумеется, вы можете воспользоваться Flash, Silverlight или Java-апплетами, однако в этом обзоре я хотел бы вам показать библиотеки визуализации, написанные на чистом JavaScript.

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

Создаем простой tooltips с помощью CSS и jQuery

Время на прочтение4 мин
Количество просмотров70K
CSS tooltips очень популярны в современном веб дизайне, и вопреки широко распространенному мнению их довольно легко создать, особенно с помощью различных популярных javascript-framework-ов.

Вы, конечно, можете использовать стандартный плагин, но чтобы сделать простой tooltips, Вам достаточно написать всего 10 строк кода jQuery и CSS.
image
Итак, приступим. Прежде всего обратите внимание на структуру этого tooltips: это обыкновенная ссылка, которая будет выглядеть примерно так:
Читать дальше →
Всего голосов 57: ↑52 и ↓5+47
Комментарии40

jTruncate — прячем все лишнее.

Время на прочтение1 мин
Количество просмотров3.6K
jTruncate — это плагин для jQuery, который позволяет легко прятать лишний текст на вашей веб-странице.
Этот плагин будет полезен для страниц перегруженных различной информацией.
image
jTruncate вызывается точно также как и большинство плагинов для jQuery.

$().ready(function() {
$('#example1').jTruncate();
});

Читать дальше →
Всего голосов 44: ↑32 и ↓12+20
Комментарии24

Полнотекстовый поиск и его возможности

Время на прочтение6 мин
Количество просмотров201K
Многие СУБД поддерживают методы полнотекстового поиска (Fulltext search), которые позволяют очень быстро находить нужную информацию в больших объемах текста.

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

В статье рассказывается как работать с полнотекстовым поиском на примере БД MySQL, а так же приведу примеры «нестандартного» использования данного механизма.

Читать дальше →
Всего голосов 81: ↑77 и ↓4+73
Комментарии36

Стэнфорд открыл учебные материалы по программированию и ИИ

Время на прочтение1 мин
Количество просмотров6.1K
Стэнфордский университет выложил в открытый доступ под лицензией Creative Commons содержание десяти учебных курсов по программирование, искусственному интеллекту, линейным системам и оптимизации. Воспользоваться этими уникальными материалами могут преподаватели и студенты со всего мира.

Каждый курс содержит видеозаписи лекций, полные тексты и тезисы, а также практические задания и экзаменационные билеты. Материалы практически полностью совпадают с той программой, по которой учатся студенты-очники в Стэнфорде. Чтобы скачать материалы, не требуется никакой регистрации или специального запроса. Они просто выложены в открытый доступ в ZIP-архивах примерно по 300 МБ, а видеоролики ещё продублированы на YouTube.

Вот список открытых курсов:
Всего голосов 96: ↑95 и ↓1+94
Комментарии42

jQuery для начинающих

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

jQuery — это замечательный JavaScript Framework, который подкупает своей простотой в понимании и удобством в использовании. Но изучение надо с чего-то начинать, и лично моё мнение — лучше всего начинать с наглядных примеров, и они далее…

Читать дальше →
Всего голосов 251: ↑230 и ↓21+209
Комментарии83

Opera-9.5: С чистого листа

Время на прочтение1 мин
Количество просмотров558
Идея написать данную статью возникла сразу вслед за релизом браузера Opera-9.5. Видимо, свою роль сыграли постоянные вопросы пользователей о том, как грамотно перейти со старой версии на новую. Не секрет, что при обновлении установка Opera поверх предыдущей версии нередко приводит к непредсказуемым последствиям, за что разработчикам большой минус. Впрочем, на данный момент мы имеем то, что имеем, поэтому есть смысл просто выполнить переход на последний релиз с соблюдением неких правил, годами «вымученных» опытными пользователями Opera.

Надеюсь, хватит времени, сил и желания продолжить работу ;)

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

Читать статью

Update
Продолжение

Update
Готова третья статья из цикла «Opera 9.5: С чистого листа». Продолжаем изучать настройки браузера Opera.

Готова четвёртая статья из цикла «Opera 9.5: С чистого листа».
Всего голосов 27: ↑16 и ↓11+5
Комментарии74

Введение в Zend Framework

Время на прочтение17 мин
Количество просмотров106K
Update (2014): Это статья 2007 года, которая, к моему удивлению, до сих пор пользуется спросом. По этой причине я обновил её в соответствии с новыми правилами оформления постов на Хабре, и добавил подсветку синтаксиса для примеров кода. Если кому-то захочется что-то добавить или исправить, исходник текста с хабра-разметкой выложен в открытый доступ: gist.github.com/dreikanter/2b4ee996d7a775e707d7

Аннотация от переводчика


PHP — один из самых широко распространенных языков разработки веб-приложений и при этом один из самых спорных. Я очень часто видел негативное отношение к этой технологии, да и недостатки, провоцирующие это отношение — не для кого не являются секретом. Тем не менее, PHP активно эволюционирует и во многих отношениях постепенно становитс лучше. Одним из серьезных шагов его развития, на мой взгляд, является появление MVC-фреймворков, призванных систематизировать процесс разработки веб-приложений и приучить к порядку разработчиков, которым зачастую здорово не хватает силы воли, чтобы при всей предоставляемой языком свободе, сохранить грамотную и красивую инфраструктуру разрабатываемого ПО (сразу уточню, что последнее утверждение субъективно и основано исключительно на виденном мной коде различных программных решений).

В последнее время я активно заинтересовался архитектурой MVC и сделал свою собственную реализацию фреймворка на этой концепции для PHP4. Совсем недавно на глаза попался первый официальный релиз Zend Framework, о котором я давно слышал, но все руки не доходили с ним поиграть. Для PHP существуют и другие подобный библиотеки, но в данном случае привлек бренд.
Читать дальше →
Всего голосов 52: ↑51 и ↓1+50
Комментарии158

Кропотливая оптимизация PHP-приложений (рассматриваю PHP5, но большинство справедливо и для 4-й ветки)

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

Когда во сне снится «ой а если сервера не хватит...»


Для начала, Доброй Ночи. Пишу что-то полезное вроде впервые (если не считать разного рода полу-тестов в моём блоге). Человек я допытливый до жути, неожиданно в голову пришло, что могу помочь сэкономить кому-то много времени ;).


танцуем с бубном
Всего голосов 99: ↑95 и ↓4+91
Комментарии147

Галерея средствами Slimbox 1.4

Время на прочтение1 мин
Количество просмотров4.9K
Slimbox — это небольшой (7kb) альтернативный клон популярной js-библиотеки Lightbox.
Написан с использованием ajax-фреймворка mootools.

На бельгийском сайте опубликован мануал по созданию галереи средствами Slimbox.

Подробности cмотреть здесь (демо, мануал, исходники).
Всего голосов 8: ↑6 и ↓2+4
Комментарии6

Информация

В рейтинге
Не участвует
Откуда
Redwood City, California, США
Дата рождения
Зарегистрирован
Активность