Pull to refresh
5
0
Юрий @script

User

Send message

Как сделать двигающийся аплоадер минимального размера и красиво

Reading time1 min
Views899
Хочу поделиться небольшим трюком для создания анимированной полосы загрузки как в флеш проигрывателях или в операционной системе.
Имеем в наличии просто картинку:


Как заставить её двигаться? А очень просто! Нужно двигать бекграунд в интервале попиксельно.
Смотрим демо

немного кода

Время прихода на работу

Reading time2 min
Views11K
Статью выкладываю по разрешению автора. Оригинал здесь.

Я знаю два варианта организации времени начала работы в IT фирме и довелось мне поработать с обоими вариантами.
  1. Приход на работу к конкретному времени. Сродни советскому: в 8.00 все должны быть на работе иначе штраф или даже увольнение. Уходят все в 17.00
  2. Свободный приход к любому времени. Тут может быть куча вариаций, когда надо работать 8 часов в день или 40 часов в неделю или вообще никто время не смотрит, лишь бы работа делалась.


Я проработал 7 лет в компании, где надо было приходить каждый день в 9.30 и уходить не раньше 18.30, а теперь уже полгода в компании, где каждый приходит и уходит когда хочет.
И теперь я готов сравнить варианты.
Читать дальше →

Заключаем договор на создание технического задания

Reading time6 min
Views40K
Кому интересен договор на сайт, смотрим тут: Договор навороченный, Договор простой (удален автором).

Этот топик про более редкую ситуацию, когда перед собственно проектом нужно сделать ТЗ, а это большая и серьезная работа. На нее нужен договор и цена.
Читать дальше →

Удобная навигация по тэгам

Reading time1 min
Views2.2K
Недавно надо было найти на своём ресурсе информацию по CSS, которую я постил довольно давно. Какой там был заголовок я уже не помню, какими словами писал — тоже.

Днём ранее я выбирал вместе с Антоном Исайкиным Wiki при помощи wikimatrix.org, где реализована фасетная фильтрация и Wizard для выбора нужной системы по заданным критериям. Сама идея мне очень понравилась, а вот реализация — нет. Wizard был составлен вручную и естественно всех критериев не включал.

Это навело меня на мысль, что навигация у меня, мягко говоря, не очень: можно найти все посты о «CSS», можно о «IE», но нельзя найти те, что о «CSS» и «IE» одновременно.

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

Лямбда вычисления и замыкание

Reading time2 min
Views2.2K
В конце 2007 года был предложен патч, добавляющий лямбда функций (но без замыканий) для PHP. В ходе дискуссии в списке рассылки, было решено, что без поддержки замыканий, нет необходимости добавлять их в PHP.
Тем не менее, интерес к этой теме привел к существенным изменением первоначального патча Кристиана Сайлера (Christian Seiler) и выпуску Дмитрием Стоговым (Dmitry Stogov) нового патча.

В результате мы имеем замыкание и лямбда функции в PHP (5.3)


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

Неблокирующая загрузка JavaScript

Reading time1 min
Views1.7K
Примечание: ниже перевод статьи «Non-blocking JavaScript Downloads», в которой автор рассказывает о проблемах, связанных с подключением JavaScript-файлов, и возможной параллелизации их загрузок. Мои комментарии далее курсивом.

Stoyan StefanovОб авторе: Stoyan Stefanov является веб-разработчиком Yahoo! в группе Exceptional Performance и курирует разработку YSlow — инструмента по измерению производительности. Он также внес значительный вклад в разработку продуктов с открытым кодом, выступал на конференциях и автор технических текстов. Его последняя книга Object-Oriented JavaScript.

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

читать дальше на webo.in →

Забудьте про свой редактор. Используйте Vim

Reading time3 min
Views30K
Получайте удовольствие от процесса редактирования текста.

Вступление


Здравствуй, дорогой читатель! Данная статья не является ни руководством, ни учебником. В этой статье я лишь хочу рассказать Вам, что существует более эффективный инструмент для работы с текстовыми файлами. Этой статьёй я хочу вдохновить Вас на то, чтобы, поборов глубоко вросшие в Вас привычки, Вы попробовали совершенно другой, не похожий ни на что, метод работы с текстом.
Читать дальше →

Верстаем пиксел в пиксел: кроссбраузерный аналог PixelPerfect

Reading time2 min
Views36K
Нет, с твоим монитором всё в порядке, %username%
Довольно часто некоторые заказчики, отдавая макет сайта на вёрстку, требуют попиксельно достоверной точности в разметке во всех браузерах.

Проверить такое соответствие достаточно легко — нужно сделать скриншот сайта и совместить его с графическим макетом, например, в Photoshop'е.

Но вот только в процессе вёрстки использовать такой приём не очень удобно.

Что же делать трудяге-верстальщику?

Объединение JS-файлов 2.0 (2/2)

Reading time3 min
Views1K
Часть 1.

Итак, в конце прошлой части мы оставили нового пользователя наедине
со единственным JS-файлом, не включающем ничего лишнего. Стал ли при этом
пользователь счастливее? Ничуть. Наоборот, в среднем
пользователь1 стал более несчастным, чем раньше, а причина этому —
увеличившееся время загрузки страницы.

Доблестно решаем созданную нами проблему

Производительность кодирования и декодирования serialize и json

Reading time3 min
Views12K
Возникла мысль сравнить два способа хранения абстрактных данных в виде строк, реализованных в PHP: старая добрая сериализация и относительно недавно поддерживающий в языке формат json.

Для сравнения небольшой скрипт генерирует массив из 1000 элементов, две трети элементов которого — строки, длинной 15 символов (напополам — только буквы и только цифры), а оставшаяся треть — массивы по 50 элементов (также — буквенные и цифровые элементы пополам).

Итог весьма неоднозначен, подробности во второй части.

Подробности под катом

Производительность кодирования и декодирования serialize и json — часть вторая

Reading time2 min
Views3.4K
Первая часть моей публикации получила ряд конструктивных комментариев, которые дали толчок разобраться в проблеме более детально.

Новые графики, комментарии и выводы

Google Suggest – взгляд изнутри…

Reading time3 min
Views2.7K
Разные люди немного разбирались в принципе работы Google Suggest, но я переписал сжатый javascript код так, чтобы каждый обычный разработчик мог подробно узнать, как эта система работает. Моя финальная переписанная версия скрипта доступна здесь.
Я увидел самую крутую штуку, которую я видел с тех пор как обнаружил SOAP-клиент с поддержкой WSDL в браузере Mozilla. Технология предсказания запросов Google Suggest работает в реальном режиме времени. С вводом каждой новой буквы список вариантов обновляется. Скрипт технически восхитителен как минимум по двум причинам:
Читать дальше →

Оптимальный код?

Reading time2 min
Views2.1K
Уже несколько лет я веду работу над одним очень интересным прибором. За это время из 40 расчетных показателей система выросла до примерно 300, а мои взгляды на «правильный» код сильно изменились.

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

Но со временем уточнялась теория и возникала необходимость изменять не только нормы, коэффициенты и формулы вычисления показателей, но и алгоритмы получения значений вообще. В итоге постепенно скорость разменивалась на понятные глазу алгоритмы вычислений. Когда же количество входных показателей выросло с 30 до 80, а расчетных до 300, код уже был очень далек о оптимального по скорости. Вычисляемые показатели ссылались на другие, другие — на третьи, и так несколько уровней вложенности, на каждом из которых повторно производились вычисления одних и тех же значений.
Читать дальше →

О том, как гипербола помогла придумать новую систему рейтингов

Reading time2 min
Views1.3K

Здравствуй.

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

Последние несколько постов я рассуждал о системах рейтингов и в первой заметке на эту тему была система +1/-1. Очень простая для понимания, от того любимая многими. Я хочу улучшить ее, а точнее улучшить алгоритм подсчета. Визуально для пользователя ничего не изменится, он по прежнему будет иметь на выбор два варианта «+» либо «-».

Итак начнем. Для начала договоримся об одной условности — нередко встречаются топики у которых количество плюсов или количество минусов несравненно выше средних показателей. Это конечно приятно их авторам но совершено бесполезно для разработчиков и пользователей. Куда проще ввести абсолютный плюс и абсолютный минус, достичь которые крайне сложно, но каждый из топиков стремится к одному из них постоянно.

Итак пусть в нашей системе абсолютный плюс это «+100», а абсолютный минус это «-50».
Читать дальше →

Идеальная голосовалка

Reading time3 min
Views7.6K
Часто на разнообразных сайтах пользователям предлагают оценить (проголосовать за) тот или иной объект — анекдот, цитату, пост, автора, человека и т. д. При этом, к сожалению, почти всегда совершается одна или несколько ошибок.

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

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

Пишем свой XML-парсер

Reading time9 min
Views72K

Предыстория


Решив запустить небольшой сервис на подаренном мне хостинге, оказалось, что там нету ни одного xml-парсера: ни SimpleXML, ни DOMXML, а только libxml и xml-rpc. Недолго думая, я решил написать свой. Мне требовался разбор не сложных rss-лент, поэтому хватило достаточно просто класса xml => array.[1]

Но для интересной статьи этого было явно не достаточно, поэтому сейчас мы напишем свою замену для SimpleXML. А заодно пробежимся по многим интересным возможностям PHP 5.

Постановка задачи


Доступ к элементам у нас будет осуществляться как доступ к свойствам класса, например $xml->element, а доступ к атрибутам элемента, как к массиву, те $xml->element['attr'], также реализуем проверку на существование атрибута при помощи isset() и итерацию по элементам при помощи foreach. И так, начнем.
Читать дальше →

ТЗ для web-разработчика

Reading time4 min
Views21K

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

Обработка ошибок и исключений в PHP

Reading time6 min
Views39K
Эта «небольшая» статейка является развитием темы затронутой в этой статье.
Как известно, PHP зародился довольно давно и уже тогда возник вопрос, что делать с возникающими ошибками. Perl, который является несомненным прародителем PHP по умолчанию не имел какой-либо системы обработки ошибок. При возникновении любой ошибки сервер выбрасывал 500-ю ошибку и на этом все заканчивалось. Поэтому Warnings, Fatal Errors и Notices были настоящим прорывом в облегчении и без того нелегкого труда программиста. Однако время шло, механизмы PHP не менялись, а технологии, как известно, на месте стоять не любят.
Читать дальше →

38 статей о создании закругленных углов на сайтах

Reading time4 min
Views12K
Моя статья на Временно.нет
38 статей о создании закругленных углов на сайтах
Часто сталкиваешься с необходимостью создания блоков с круглыми краями. Задавшись вопросом как вообще можно решить поставленную задачу, сделал подборку интересных статей и уроков на данную тему.

Здесь представлен обзор 38 статей, разбитых на 4 категории по способам реализации.
Читать дальше →

Десять преимуществ Unobtrusive Javascript

Reading time5 min
Views3.7K
Это дополнение к отличной предыдущей (более практической) статье про ненавязчивый яваскрипт. Вкратце, я хочу сказать, что способность работы при выключенном JS это только видимая верхушка айсберга и, быть может, не главная цель. Есть много других преимуществ использования этого подхода. Под катом вы найдете список с пояснениями (плюс немного примеров хороших js-компонент в конце).
Читать дальше →

Information

Rating
Does not participate
Location
Астана, Акмолинская обл. (Целиноградская обл.), Казахстан
Date of birth
Registered
Activity