Pull to refresh
-2
0
maxic @maxic

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

Send message

16 действительно полезных решений для JavaScript

Reading time16 min
Views7.2K
© shamansir.wordpress.com

Представляю вам набор функций, которые у меня лежат в отдельном файле utils.js — это функции, которые я использую чаще всего. Они стараются быть кроссбраузерными и проверены на IE6/7, FF2 и Safari 2 и на боевой, сложной системе, в XHTML документах. Должны, по идее, работать, и на других, но не очень старых версиях браузеров — проверку браузера я использовал только в исключительных случаях. Некоторая часть из них, конечно же, просто нарыта на просторах интернета (где — обычно указано) и заимствована ввиду открытости, а большая часть — сконструирована из многих ресурсов и своих идей (и советов коллег), дабы работать на ура — поскольку часто в разных скриптах не учитываются разные тонкости, которые, тем не менее — при ближайшем рассмотрении — оказываются общностями :), ну и быть довольно читабельными.
Узнать
Total votes 89: ↑79 and ↓10+69
Comments73

PHP Performance Series: Caching Techniques

Reading time6 min
Views11K
Кеширование промежуточного кода (Opcode Caching)
Кэширование кода это один из самых легких и эффективных путей увеличения производительности в PHP. Использовании данного вида кэширования позволит избавиться от большого количества неэффективностей, возникающих при процессе запуска выполнения кода. Кэширование кода сохраняет промежуточный код в памяти для того чтобы не компилировать PHP-код каждый раз при запуске файла.
Читать дальше →
Total votes 59: ↑50 and ↓9+41
Comments66

Каптча 3d

Reading time7 min
Views6.3K
Прочитав топик «RapidShare — новые каптчи», я вспомнил как слушал доклад создателя каптчи на UaВебе.



Зайдя на сайт, желая посмотреть код, я увидел:
Q: Is it opensource?
A: No, sorry. Maybe later.

Я удивился! Мне казалось что любой маломальски образованный хороший программист сделает такую каптчу.
Погуглив и нашел пару интересных линков: 1, 2 и не получил кода, решил написать сам.
Читать дальше →
Total votes 158: ↑145 and ↓13+132
Comments102

Проектирование баз данных. Паттерн Компоновщик (Composite)

Reading time4 min
Views17K
Web 2.0 победоносно шагает по виртуальному миру. Социальные сети растут как грибы после дождя. Теперь в одном месте вы можете хранить свои фото, видеозаписи, писать блоги и слушать музыку. Все это можно комментировать, класть в избранное, копировать… Возможностей много, контент социальных сетей разнородный и разнообразный, и в этом их преимущество.

А теперь представьте себе структуру БД какого нибудь «Вконтакте». Представили? И что вы видите? Множество таблиц с данными? А что еще? Множество таблиц для связей много-ко-многим! Необходимых, с точки зрения реляционной БД, но лишних с точки зрения логики. Но это еще не все. Среди полей таблиц мы видим огромное количество «лишних» полей, являющихся всего лишь внешними ключами, служащими для связей один-ко-много, так же необходимых с точки зрения реляционной теории, но абсолютно бесполезных с точки зрения логики.
Читать дальше →
Total votes 51: ↑47 and ↓4+43
Comments98

Быстрый-быстрый JavaScript

Reading time1 min
Views2K
Примечание: ниже расположен перевод статьи «Serving JavaScript Fast», написанной года два назад, но нисколько не потерявшей своей актуальности. Автор предлагает достаточно большой комплекс мер для ускорения загрузки и работы CSS/JS-файлов. Ссылки и частичные переводы данной статьи достаточно широко цитируются в Рунете, однако, полностью она еще нигде не появлялась, а полезных советов в ней довольно много. Мои комментарии далее курсивом.

Следующее поколение веб-приложений будет использовать весьма «тяжелые» JavaScript- и CSS-framework'и. Мы собираемся продемонстрировать, как увеличить скорость взаимодействия таких приложений и ускорить их работу.

Все эти так называемые «Веб 2.0» приложения, их глубокое взаимодействие с содержанием страницы и самим пользователем сильно увеличили сложность использования CSS и JavaScript. Для того чтобы быть уверенными в небольшом размере приложений, нам нужно оптимизировать как размер, так и саму природу всех файлов, которые нужны для нормальной работы нашей страницы. Мы должны быть уверены, что добились оптимума удобства использования сайта для пользователей. На практике это означает, что нам нужно добиться максимального уменьшения размера страницы и ускорения ее работы, при этом предотвращая загрузку ненужных ресурсов, которые не изменились с момента последнего обращения.

читать дальше на webo.in →
Total votes 57: ↑54 and ↓3+51
Comments31

Prophotos.ru: журнал о фотографии

Reading time4 min
Views2.3K

Фотография — это, пожалуй, самое массовое из искусств. Кино в расчет не берем, его массовость иного толка, чисто потребительского. А вот с фотографией другое дело — достаточно желания и совсем небольших вложений, чтобы почувствовать себя творцом. Правда, одного желания все же недостаточно. Как и в любом деле, чтобы добиться в фотографии чего-то выходящего за рамки банальности, необходимо учиться: на работах признанных мастеров дела, на статьях о том или ином виде фотосъемки, да и выбор техники сам по себе непростая задача. Конечно, существует много способов решить эту задачу — десяток-другой хороших книг и альбомов, пара интернет-форумов для фотографов… Но для века бурного развития интернета это как-то, как минимум, несовременно. Почему бы не объединить все эти направления в рамках одного интернет-проекта?
читать дальше
Total votes 31: ↑29 and ↓2+27
Comments39

39-й способ скругления блока. Один тэг, одна картинка.

Reading time2 min
Views1.3K
Пару дней назад наткнулся на статью про 38 способов скругления блоков. Очень понравилось. Однако там я не встретил способа, которым пользуюсь уже около года. Он не требует лишних тэгов и требует загрузки только одной картинки (спрайт). Работает во всех современных баузерах и IE6+
Читать дальше →
Total votes 4: ↑4 and ↓0+4
Comments106

Поиск: FULLTEXT или LIKE?

Reading time2 min
Views40K
Наверное каждый разработчик подходил к моменту выбора между двумя решениями одной задачи и естесвенно решающим фактором выбора является наиболее быстрый способ (по времени процесса). Так и я в ходе разработки поиска для своей CMS задался вопросом: что лучше, делать поиск по базе используя полнотекстовой индекс или с помощью оператора сравнения LIKE, имея небольшое количество информации.

Для того, чтобы ответить на свой вопрос я провел небольшой опыт: создал таблицу с четырмя полями (два из которых использовались для поиска и были проиндексированы FULLTEXT'ом) содержащую 5 000 строк. Поля по которым производился поиск содержали по 255 символов, случайно выбранных из одного большого текста. Поиск производился так же по случайным словам не короче 4-х символов.
Читать дальше →
Total votes 52: ↑46 and ↓6+40
Comments67

Вредная верстка

Reading time9 min
Views74K
Как определить, что сайт сверстан качественно?
Есть много статей о том, как делать хорошо, но совсем нет – о том, как делать не надо, ведь даже валидный и кроссбраузерный сайт может быть сверстан отвратительно.

Из этой статьи вы узнаете:


  • О плохих приемах современной верстки;
  • О том, как даже не будучи профессионалом, за 5 минут определить плохо ли сверстан сайт или нет.


Читать дальше →
Total votes 203: ↑175 and ↓28+147
Comments339

15 примеров отличной типографики

Reading time2 min
Views11K
Британский сайт I Love Typography, посвящённый типографике, опубликовал список с примерами отличной типографики. Этот список составлен по итогам II кв. 2008 года. Предыдущие «хит-парады» можно найти здесь и здесь.

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

Seed Conference


Нет флэша, нет картинок, нет лишнего шума; просто хорошо стилизированный шрифт и хорошо написанный текст: реальное доказательство того, что с помощью только шрифта можно получить отличный результат. Хотелось бы увидеть ещё несколько примеров такого рода.


Читать дальше →
Total votes 66: ↑58 and ↓8+50
Comments36

Поиск без замены, или массивы без массивов

Reading time1 min
Views943
Примечание: ниже находится перевод заметки «Search and Don't Replace». В ней автор размышляет о методах преобразования строки запроса в массив на JavaScript при минимальных затратах процессорного времени. Мои комментарии далее курсивом.

Немного ранее сегодня мой друг, Marc Grabanski, подкинул мне вопрос: как наиболее оптимальным образом на JavaScript преобразовать строку запроса вида foo=1&foo=2&foo=3&blah=a&blah=b во что-то вроде foo=1,2,3&blah=a,b? У него уже было на тот момент собственное решение, и ему было любопытно, нельзя ли его как-либо улучшить.

Я подумал немного и предложил следующее решение:

function compress(data){
    var q = {}, ret = "";
    data.replace(/([^=&]+)=([^&]*)/g,     function(m, key, value){
        q[key] = (q[key] ? q[key] + "," : "") + value;
    });
    for ( var key in q )
        ret = (ret ? ret + "&" : "") + key + "=" + q[key];
    return ret;
}


читать дальше на webo.in →
Total votes 28: ↑25 and ↓3+22
Comments24

Западные биржи фрилансеров — вывод заработанных средств

Reading time1 min
Views12K
Ни для кого не секрет, что многие фрилансеры с постсоветского пространства успешно работают на Запад через посредников, крупные западные биржи фрилансеров, такие как oDesk, RentACoder, GetAFreelancer и eLance. До недавнего времени получение заработанных своим трудом средств было проблематично, все биржи как одна предлагали выслать чек (с которым потом не совсем понятно что делать), либо выплаты в системе PayPal (которая для стран СНГ неприемлема из-за своих ограничений). Но в течение последнего года произошли разительные перемены: все перечисленные выше биржи одна за другой предложили новый метод выплаты — дебетовые карты от компании Payoneer
Читать дальше →
Total votes 45: ↑43 and ↓2+41
Comments66

Ajax на мобильном браузере или мобильный Ajax (с примерами)

Reading time5 min
Views5.7K
Ajax, судя по тенденциям, всё больше овладевает умами девелоперов. Особенно активно сейчас начинает развиваться Ajax для мобильных браузеров. Об этом собственно и поговорим.

Технология Ajax очень востребована пользователями мобильных устройств. Причина в общем-то на поверхности. Снижается потребление трафика и трата времени. Ведь подгружаются всего некоторые части страницы, а не она вся (если не в теме, что такое Ajax — рекомендую посетить Wikipedia — Ajax). Соответственно серфинг сети с мобильного устройства становиться более качественным, быстрым и менее раздражающим. Более того, он обходиться дешевле.
Читать дальше →
Total votes 19: ↑16 and ↓3+13
Comments43

Для «чайников»: Стандарт стопроцентно читабельных сайтов

Reading time5 min
Views6.4K
Большинство веб-сайтов нашпиговано мелким текстом, читать который — сплошное мучение. Для чего? Нет никаких причин для того, чтобы ужимать так много информации на один экран. Это — просто дурацкое коллективное заблуждение, восходящее к временам, когда экраны были очень, очень маленькими. Поэтому…

Не заставляйте нас изменять размер шрифта


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

Не доказывайте нам, что переполненные страницы лучше выглядят


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

Не втирайте нам, что прокрутка страниц — это плохо


Потому что в таком случае все сайты плохие. В прокручивании веб-страницы нет ровным счётом ничего страшного. Ни-че-го. Так же, как нет ничего страшного в перелистывании страниц книги.

Не говорите нам, что текст не важен


95 % того, что обычно называют веб-дизайном, — это типографика.

Не требуйте, чтобы мы начали носить очки


Лучше вместо этого перестаньте тереться носом об экран, откиньтесь в кресле назад (!) и продолжайте чтение этой статьи в расслабленной позе.

Читать дальше →
Total votes 123: ↑118 and ↓5+113
Comments130

Блоги про jQuery на русском

Reading time1 min
Views928
Этот пост с моего блога flora.org.ru.

Собираю ссылки на блоги про jQuery. Если у Вас есть свой блог или вы знаете блоги, не упомянутые в этом списке, отпишитесь, пожалуйста, в камментах или в форму на блоге.

Естественно, не просто так собираю ;) Во-первых: ссылка с меня (PR в «зачоте»), реклама блогам, наладить контакт с коллегами по «перу».

Вот что я уже знаю и могу порекомендовать:

LinkExchanger Blog. Есть интересные посты. Нашел для себя полезное.
ajax — всё самое модное!. Так себе. Маловато пока, и стиль изложения оставляет желать лучшего.
JSToolBox. Конкретно про jquery пока маловато, но в общем блог интересный.
Snowcore's. Всего маловато, но надеюсь, что будет больше.
Аякс о-русски. Бывает информация и о jQuery.
Блог Дениса Самарина. Немножко, но интересно.
Update 110408
Сделано легко. Андрей первый приславший недостающий блог. Не стесняйтесь, господа!

Дополнительно хочется отметить:
Хабр. Здесь иногда бывают полезные посты.
TermiT’s Blog. Здесь Геннадий собрал много ссылок на различные материалы по jQuery.
Свобода слова вебмастерского. Эта интересная статья. Еще можно посмотреть «похожие статьи».
Хороший перевод «jQuery для начинающих». Спасибо Антон!
Total votes 13: ↑12 and ↓1+11
Comments3

Шит-лист отговорок несостоявшихся заказчиков

Reading time2 min
Views2.6K
Так бывает, что договоренности о совместной работе достигнуты, заказчик уже хочет видеть «какие-то эскизы» до предоплаты, юристы вовсю обмениваются комментариями к договору, но в самый последний момент заказчик «срывается».

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

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

  1. У нас поменялись приоритеты, проект отложен на неопределенное время. Мы вам обязательно позвоним, будьте в полной готовности.



Читать дальше →
Total votes 84: ↑70 and ↓14+56
Comments158

ТЗ на дизайн: надо ли и как писать. Критика примера

Reading time6 min
Views98K
При создании объекта есть два способа описать требования: «что должен уметь/делать объект» (описание цели) и «каким должен быть объект» (описание реализации). Прощу прощения если формулировка не точна, источника сией мысли я не знаю, формулирую сам. Далее речь пойдет о втором способе описания объекта — дизайна сайта.

Читать дальше →
Total votes 34: ↑33 and ↓1+32
Comments73

Grid Design или вёрстка с Сеткой.

Reading time4 min
Views42K
На технику Сетки я обратил внимание около года назад. Тогда эта техника после очень поверхностного изучения показалась мне бесполезной и очень экспериментальной, отталкивало то что для реализаций необходимо создавать лишнюю разметку. Но сейчас уже становится трудно не замечать количество веб-сайтов построенных на сетке, а так же количество статей и уроков о ней. Благодаря последним стало гораздо проще изучить и понять принципы и концепцию, сделать более менее реальные выводы. Мой вывод спустя год таков — «Это простое и полезное решение которое когда либо было создано для вёрстки веб-страниц, должен знать каждый уважающий себя веб-дизайнер.»
Читать дальше →
Total votes 41: ↑35 and ↓6+29
Comments98

Отрицательные отступы — путь к универсальности

Reading time2 min
Views32K
Я часто сталкиваюсь с ситуацией, когда в череде блоков с одинаковыми отступами и общим контейнером, у первого или последнего блока нет отступа или он отличается от остальных. Какое–то время для решения этой «проблемы» я использовал «костыли», вроде классов first или last, пока не освоил технику работы с отрицательными отступами.

Читать дальше →
Total votes 18: ↑17 and ↓1+16
Comments7

Information

Rating
Does not participate
Location
Сейшеллы, Сейшеллы
Date of birth
Registered
Activity