Как стать автором
Поиск
Написать публикацию
Обновить
0
0
auth @auth

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

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

8 отличных хитростей jQuery

Время на прочтение4 мин
Количество просмотров28K
imageКому не нравится jQuery? Это быстрая и простая javascript-библиотека стала очень популярной в 2008 году. В этой статье я собрал список восьми очень полезных jQuery-техник, советов и хитростей.
Читать дальше →

PHPUnit и его Database Extension. Беглый взгляд

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

Пространное и многословное вступление


Уже чуть более года в проекте где я работаю ходят разговоры о модульном тестировании. Помимо разговоров неоднократно делались попытки превратить эти разговоры в жизнь. Все попытки на данный момент закончились тем, что ни один ранее написанный модульный тест не прогоняется в процессе разработки. Все они лежат мертвым кодом в недрах нашей системы. Представили такой себе постсоветский индастриэл? Торчащие колонны из земли, ржавая арматура на фоне хмурого неба:)

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

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

Локализация с помощью сущностей

Время на прочтение3 мин
Количество просмотров2.7K
Существует довольно много способов локализации XSLT-шаблонов, некоторые способы описаны студией Лебедева, но сегодня я расскажу о локализации с помощью сущностей.

ENTITY


C начала о том, что же такое «сущности», не углубляясь в DTD. Сущности — это своеобразные константы в XML-документе, описываемые с помощью DTD, и используемые в качестве сокращений. Примером такой замены могут служить буквенные обозначения символов, не присутствующих на стандартной раскладке клавиатуры (©, ®, ₤ и т.д.). Сущности описываются следующим образом:
Читать дальше →

Обратимое шифрование текста — метод «Двойной квадрат»

Время на прочтение5 мин
Количество просмотров50K
Здравствуйте!

Однажды, мне понадобилось шифровать текст. Я знал что в PHP есть расширение mcrypt, но интуиция подсказывала, что не на всех хостингах это включено.
Поэтому я начал подозревать что придется кодить решение самому. Что я собственно и сделал. Получилась функция обратимого шифрования, достаточно быстрая и надежная.
Пример работы функции:
<?php 
	echo dsCrypt('habrahabr.ru');
	//Выведет: 60634K7T0*0!
	echo dsCrypt('60634K7T0*0!',1);
	//Выведет: habrahabr.ru
?>

Если вы все еще пользуетесь XOR шифрованием :), то можете заглянуть под кат и посмотреть как еще можно защищать данные…
Читать дальше →

TOP-100 ведущих студий Рунета 2009

Время на прочтение2 мин
Количество просмотров1.1K
Привет, хабр!

Рейтинг Тэглайн 2009Опубликованы результаты четвертого ежегодного рейтинга экспертной группы Тэглайн — «Top-100 ведущих веб-студий Рунета 2009». Формальным показателем построения рейтинга, как и в прошлые годы, послужил оборот компаний на рынке разработки и поддержки Интернет-проектов.

Первая десятка рейтинга выглядит следующим образом:

1. Студия Артемия Лебедева
2. Actis Wunderman
3. ADV/web-engineering
4. Defa Interaktiv
5. Deluxe Interactive Moscow
6. Креативное агентство Red Keds
7. Promo Interactive
8. РБК-Софт (Армада)
9. Бюро Пирогова
10. Qsoft

Методология (довольно сильно поменялась с прошлого года) учитывала голосование представителей студий и внешних экспертов, а также поправочные коэффициенты по данным, поданным самими студиями. Поимо прочего, опубликована оценка объема рынка за 2008 год.
Читать дальше →

Wiki-учебник по веб-технологиям

Время на прочтение2 мин
Количество просмотров4.9K
В продолжение статьи stepan_ovchinnikov «Обучение веб-технологиям. Необходимое, лишнее, вредное».

Современные веб-технологии не стоят на месте. Технологии создания веб-сайтов непрерывно совершенствуются и сейчас скорость их совершенствования так высока, что учебные пособия часто успевают значительно устареть еще до публикации. Чтобы обучение веб-программированию было динамичным, предлагаем вам принять участие в разработке Wiki-учебника по веб-технологиям.
Читать дальше →

Deferred для Javascript (Prototype)

Время на прочтение2 мин
Количество просмотров3.5K
Prototype and Twisted
Продолжая тему Deferred для JavaScript предлагаю еще одно переписывание Deferred, теперь в терминах Prototype. Подробнее о самом Deferred можно почитать в двух моих прошлых заметках: Асинхронное программирование: концепция Deferred и Deferred: все подробности. Если кратко, самое распространенное и полезное применение Deferred в JavaScript — это работа с AJAX или другими RPC-over-HTTP вызовами, когда необходимо совершить цепочку логически связанных вызовов, корректно обрабатывать возникающие ошибки и т.п. С моей точки зрения, Deferred крайне необходим в таких ситуациях.

Перейдем к примерам: обращение к некоторому JSON-RPC API на основе Prototype’овского Ajax.Request можеть быть обернуто в Deferred следующим образом:
Читать дальше →

Микропаттерны оптимизации в Javascript: декораторы функций debouncing и throttling

Время на прочтение2 мин
Количество просмотров59K
Декораторы функций позволяют добавить дополнительное поведение функции, не изменяя ее. Сигнатура оригинальной и декорированной функции полностью совпадают.
Читать дальше

Вы можете создать веб страницу? Теперь вы можете создать плагин к Firefox тоже

Время на прочтение1 мин
Количество просмотров1.5K
Jetpack LogoБольшинство людей не могут создать расширение к Firefox — для этого нужны знания Javascript, XUL, и немного опыта в XML. Сейчас порядка 8000 разработчиков и 12000 плагинов к Firefox, но Mozilla всегда ищет пути как это расширить.

Итак Mozilla выпустила экспериментальную программу Jetpack, которая позволяет каждому, кто может создать веб страницу — создать дополнение к Firefox. Это означает, что для простого дополнения к популярному браузеру, вам нужны лишь знания HTML. Jetpack также поддерживает CSS и Javascript.

И для тех из вас, кто не является силен в программировании, Jetpack делает одно очень важное изменение: вам не придётся перезапускать браузер для того чтобы инсталлировать дополнение через Jetpack.

Jetpack очень ранний проект с открытым исходным кодом, это только 0.1 версия и там пока очень много багов. Но уже сейчас она позволяет каждому использовать API для создания статусбаров, работы с табами и многое другое. Он также поддерживает внешний API как Twitter, и вы сможете создавать простые дополнения для работы Twitter'а с Firefox.

Итак, если вы разработчик, посмотрите видеопредставление как создавать дополнения к Firefox.


Ресурсы, которые помогут выучить английский язык

Время на прочтение1 мин
Количество просмотров54K
В статье «Как учить английские слова» возникло очень оживленное обсуждение, в котором читатели привели ряд ссылок на интересные ресурсы. Теперь все они собранны в одном месте.
Читать дальше →

SOAP, генерация прокси класса

Время на прочтение2 мин
Количество просмотров6.7K
Преамбула:

SOAP — протокол обмена структурированными сообщениями в распределённой вычислительной среде. Первоначально SOAP предназначался, в основном, для реализации удалённого вызова процедур (RPC), а название было аббревиатурой: Simple Object Access Protocol — простой протокол доступа к объектам. Сейчас протокол используется для обмена произвольными сообщениями в формате XML, а не только для вызова процедур. Официальная спецификация последней версии 1.2 протокола никак не расшифровывает название SOAP. SOAP является расширением протокола XML-RPC.


Итак, делаем proxy-class
Читать дальше →

Слушаем вызовы функций в Javascript

Время на прочтение12 мин
Количество просмотров10K
Многие знают о механизме Event-Dispatcher-Listener'ов, реализованному во многих языках программирования. Я же создам подобный механизм не для Event'ов, а для любого метода объекта JavaScript — Object.
Я не претендую на оригинальность, нет. Основная цель статьи — рассмотреть интересные механизмы прототипирования в JavaScript, создание декораторов и, собственно, постараться хоть немного раскрыть мощь и гибкость это чудесного языка, который так часто обижают и недооценивают.

UPD1: краткое содержание:
1. Создание декоратора на JavaScript
2. Создание механизма Function call listener с помощью декораторов

UPD2: от 09.06.2009
В конце статьи я добавил раздел Update: Decorator Mark II. В нём — исправления и улучшения (я не перекраивал всю статью из-за этого)

Итак, первый (и, надеюсь, не последний) рецепт в моей поваренной книге JavaScript.
Перейти к рецепту

Пособие: Красивая и удобная выпадающая панель для входа/регистрации

Время на прочтение2 мин
Количество просмотров3.4K
Помните мою выпадающую панель для входа/регистрации, реализованную с помощью Mootools 1.2? Я подумал, что её можно было бы улучшить как с точки зрения дизайна, так и с точки зрения функциональности, и я это сделал! Но с этого времени уже на jQuery.

screenshot and demo
Читать дальше →

7 мощных каруселей изображений для Web-дизайнеров

Время на прочтение2 мин
Количество просмотров85K
Эта статья является коллекцией некоторых мощных каруселей изображений и текстовых материалов, готовых к использованию в ваших Web-проектах. Она включает в себя Agile Carousel, YUI Carousel, JCarousel, iCarousel (jQuery + MooTools) и учебное пособие о том, как реализовать простую карусель наподобие карусели во Flickr, используя Prototype-UI.
Читать дальше →

Кризис (не финансовый) программиста

Время на прочтение2 мин
Количество просмотров3.8K
Я много писАл о том, как же прекрасна эта игра, под названием программирование! Мне, и я уверен, что многим из вас, программирование заменяет все существующие логические игры, дает постоянный разогрев мозгам, не давая им засохнуть, и приносит дикое моральное удовлетворение, отличающееся от оргазма только отсутствием физических ощущений.
Так уж получилось, что много лет назад, я забросил c++ и Delphi, и чувствуя потребности IT рынка, начал осваивать php. Так что все, о чем я буду писать, касается конкретно web-программирования, и косвенно любой другой области программирования.
Признаюсь честно, хотя работы хватает, мои мозги, все равно, начинают сохнуть. Я уже писал раньше, что момент, когда программист становится профессионалом, обусловлен, прежде всего, выдвижением на первый план качества и сроков реализации проекта. А значит приходиться использовать готовые продукты (я имею ввиду различные cms), которые обеспечивают должное качество, отсутствие уязвимостей и багов, гибкость, и короткие сроки реализации.
Читать дальше →

Огнелис — твики и фишки

Время на прочтение3 мин
Количество просмотров8.2K
Многие мои друзья пользуются Firefox и задают мне вопрос — а почему я пользуюсь Flock? Я им отвечаю — мне нравится, когда у меня в браузере без всяких телодвижений есть доступ до всего, что нужно. Тем не менее, «это все» поедает достаточный объем ОЗУ, не всегда юзабельно и требует «доводки». Как раз про доводку и пойдет речь ниже. Сразу же скажу, про pipeline писать не буду. Остальных опций хватает из about:config.

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

Онлайн База Данных, сервис структур данных, динамическая объектно-реляционная проекция (Dynamic ORM)

Время на прочтение9 мин
Количество просмотров2.6K
В данной статье речь пойдет о создании рабочего прототипа онлайд БД. И рассмотрены некоторые сервисы аналоги от компаний Google и Yahoo.

Последним временем более активно стали развиваться сервисы для работы с онлайн БД. Такого рода сервисов в себя включают такие платформы как GData (Google Data API) и Yahoo! Query Language (YQL).

Указанные сервисы онлайн доступа к БД позволяют лучше контролировать и оперировать данными, получаемыми из разных сервисов платформ и самое главное это готовые сервисы для использования которых достаточно изучить документацию и примеры.
Читать дальше →

текст под произвольным углом без флеш и js

Время на прочтение3 мин
Количество просмотров30K
Ранее здесь была представлена статья о том как сделать вертикальный текст картинками, генерируемыми php.

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

вертикальный текст и текст под углом
Читать дальше →

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

Время на прочтение3 мин
Количество просмотров4.2K
Запуск сайта ответственное мероприятие, надеюсь что этот список контрольных вопросов позволит ничего не упустить из виду.

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

Основы репликации в MySQL

Время на прочтение10 мин
Количество просмотров333K
С репликацией серверов MySQL я познакомился относительно недавно, и по мере проведения разных опытов с настройкой, записывал, что у меня получалось. Когда материала набралось достаточно много, появилась идея написать эту статью. Я постарался собрать советы и решения по некоторым самым основным вопросам, с которыми я столкнулся. По ходу дела я буду давать ссылки на документацию и другие источники. Не могу претендовать на полноту описания, но надеюсь, что статья будет полезной.
Читать дальше →

Информация

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