Archive

Archive for the ‘javascript’ Category

one.web2.com.ua – ускорение закрузки

January 26th, 2011 No comments

На днях решил написать парочку целей для Ant’а, а на чём же пробовать и тестировать, как не на своих проектиках. В качестве полигона взял свой one.web2.com.ua и описал систему сборки для этого проекта. Теперь сайт должен грузится быстро и все изменения в стилях будут применяться автоматом. Что же я опритимизировал:

  1. Все стили CSS собираются в один файл и сжимаются yuicompressor.
  2. Все Javascript-файлы собираются в один и тем же жжымаются.
  3. Все библиотеки Javascript ( jQuery, jQuery UI ) просто собираются в один файл и будут перегружаться только, когда будут обновлены, а не при каждой сборке.
  4. Zend Framefork файлы собираются в один и только нужные классы. Как я это сделал, напишу попозже.
  5. Все классы моего фреймворка тоже, как и ZF, собираются в одном файле. Так как one.web2.com.ua состоит с одного контроллера, то он тоже склеен. Как вывод, подключаются только 2 файла PHP.
  6. Когда меняю что-то в стилях, это сразу применяется на сайте, потому что система применяет трюк с версиями ;)

Проверил и, по субъективному мнению, грузится просто реактивно! Осталось что-то сделать с CKEditor, но это в другой раз.

Перевод: 25 возможностей, подсказок и техник HTML5 которые вы должны знать

October 22nd, 2010 2 comments

Перевод статьи “28 HTML5 Features, Tips, and Techniques you Must Know“.

Это индустрия движется быстро, очень быстро! Если вы будете не внимательны, то останетесь не у дел. Итак, если вы слегка оконфужены предстоящими изменениями в HTML5, то эта статья может стать основой для вещей, которые вы должны знать. Read more…

Подсказка: private-переменные в Javascript

February 24th, 2010 1 comment

Это перевод статьи Quick Tip: Private Variables in JavaScript.

Подсказка: private-переменные в Javascript

Из-за зависимости JavaScript от глобальных переменных, можно легко забыть, что создание часных переменных (private variables) может быть реализовано так же просто, как и замыкания. За несколько минут, я продемонстрирую две основные техники, предоставляющие часные переменные и медоды в ваших проектах. Read more…

Паттерн Registry в Javascript

October 19th, 2009 3 comments

Мне почему-то понадобилось реализовать паттерн проектирования Registry на Javascript.  Как сделать это на PHP для меня не представляло сложности, а вот понять объектную модель Javascript у меня никогда не получалось. Самое сложное для меня остаётся понять, почему вышло реализовать Singleton.

Код пишу сюда, потому что могу и забыть как делается ;)

<script type="text/javascript">
 function Registry(){
   if(!this.instance){
     /* нет пока объекта
         создадим
     */
       function registry(){  }
       /* сборище хэшей для передаваемых объектов */
       registry.prototype.reg = {}
       /* метод для добавления объектов */
       registry.prototype.add = function(name, object){
          this.reg[name] = object;
       }
       /* метод для получение объектов */
       registry.prototype.get = function (name){
          return this.reg[name];
       }

      this.instance = new registry();
   }
 return this.instance;
 }

.* а так его использовать */
/* добавляем в реестр объект */
 Registry().add('test', 3);
/* получаем объект */
 alert(Registry().get('test'));

 </script>

Вот и всё. И даже не скажешь, что не спал ночь )

Функция отмены последнего действия (Undo) – это просто(Вторая часть): Срочные события

November 9th, 2007 No comments

undo.jpgЭто вторая часть серии “Функция отмены – это просто”. Если вы их пропустили, то прочитайте первую часть [ перевод ].

В предыдущий раз рассматривали метод очереди событий, как полностью клиентскую реализацию лёгкой многоуровневой функции отмены. Я упоминал о паре обмолвок: это не работает в многопользовательской среде и не работает в время-зависимых событиях, как отправка email. Я пропустил существенную оговорку, на которой обратил внимание один с моих читателей, Alexander Botero-Lowry: два таба, в которых открыта одна и та же страница, не синхронизируются. Я написал, как это решить с помощью cookies [ перевод ]. Read more…

Функция отмены последнего действия (Undo) – это просто (Часть 1.5)

September 27th, 2007 2 comments

Продолжаю переводить серию статей о реализации Undo.

Это вторая часть первой части серии заметок “Функция отмены последнего действия (Undo)”. Если вы её пропустили, то сначала прочитайте первую часть (перевод первой части).Один с моих читателей, Alex Botero-Lowry, отметил большую проблему реализации Undo c очереди полностью на стороне клиента: если пользователь открывает эту же страницу на второй вкладке браузера для просмотра, то эти страницы могут быть не синхронизированы. В примере to-do листа, если вы удаляете три to-do листа и открываете новую вкладку или окно этой же страницы, то эти to-do всё-таки останутся. Почему? Потому что первая страница знает о удалении (хотя оно и не законченное), а вторая – нет. Read more…

Функция отмены последнего действия (Undo) – это просто (Часть 1)

September 24th, 2007 No comments

Я почитываю материалы по многим темам Internet, в том числе и по usability. А тут попалась на глазуа статья, как делать отмену последнего действия под Web. Стало интересно – решил переводить.

Как пользователи, мы делаем ошибки. Как дизайнеры, мы должны спроектировать интерфейсы с учётом этого, как я и утверждал в своей недавней статье Never Use a Warning When You Mean Undo ( перевод этой статьи – Реализуйте возможность отмены действия, вместо диалогов подтверждения ). Undo – это отличный спасательный круг, придающий потрясающее чувство надёжности работы интерфейса. Вот почему каждое десктопное приложение от Word до Photoshop предоставляет возможность многоуровневой отмены действия.

Так почему же Web-приложения которые предоставляют хоть какую-либо возможность отмены так немногочисленны? Ответ я часто получал, что эту функцию трудно реализовать.Я здесь, чтобы сказать вам, что это не так. Read more…

Как установить Aptana на уже существующий Eclipse

July 25th, 2007 2 comments

Кто не знает то пока я web-developer (нравиться мне это слово. И просто вэб-программист не подходит). И в дому и в рабочей обстановке, системой, на которой происходит процесс набора букв с сайты, является ново-старая openЗЮЗЯ (именно в такой последовательности больших букв, так как openSUSE её настоящее имя ;) ). Если посчитать, сколько ПО использую . для работы, то получается многовато Read more…

Categories: javascript, php, web, настройка Tags:

Аналоги radiobutton

July 11th, 2007 4 comments

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

Я не люблю переопределения интерфейса. Я терпеть не могу, когда Опера выводит свое окно не так как настроено в KDE, а как-то по-другому. Ведь если разработчики сделали методы для вывода окна, то зачем изобретать велосипед? Итак делает не только Опера: Zend DE и куча других программ. Зачем?

Но. Вместе с этим я понимаю, чем грозит линковка большущих либ, в которых тебе нежно только кнопка “Ok”. Проект разрастается и, как следствие, уменьшается время загрузки приложения.

Теоретически это касается и WEB. Но только косвенно. Ведь все согласны, что стандартных input не то что мало, а их НЕТ! Конечно, саморобные контролы снижают узнаваемость их пользователями, но если подойти с умом, то можно сделать вполне удачные аналоги.

Вот и я, дабы упростить себе жизнь (лень мне писать кучу javascript-кода ;) ) решил вместо стандартных radiobutton сделать свои. На самом деле, сложного нет в этом ничего, да и удобностей поболе, как по мне. Read more…

Кто получил стиль?

July 3rd, 2007 No comments

Из-за поддержки всеми A-grade браузерами DOM, множество основных (и некоторые сложные) взаимодействия могут быть выполнены с относительной лёгкостью. Такие штуки как добавление и удаление элементов, вставка HTML-тегов и работа с событиями сейчас довольно податливы в основе cross-браузерности. Там, естественно, несколько причуд которые вы должны будете учесть, но, в целом, большинство вещей работают, как вы и ожидали. За исключением динамической вставки CSS на вашу страницу. Read more…