Search
Write a publication
Pull to refresh
202
0
Максим @ort

Разработчик

Send message

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

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

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

Презентация вашего стартапа

Reading time6 min
Views3.8K
Вот вы развили свою идею до рабочего прототипа. Вы и ваши со-основатели опытны и уверены в себе. Ваш ангельский инвестор помог открыть вам некоторые двери, дав пару впечатляющих партнёров. Вы только и думаете о том, как бы действительно начать зарабатывать и нанять сотрудников.

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

Так что вы открываете файл презентации вашей речи в Powerpoint.

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

Фонетический поиск

Reading time4 min
Views16K
Пару лет назад была задача написать для одного из сайтов такой поиск, который бы распознавал опечатки и предлагал бы исправленные запросы. Было перепробовано несколько вариантов, об одном из которых я и хотел тут написать. Поиск на основе звучания слов может стирать языковые границы, поскольку имена собственные на разных языках созвучны. Например, ищешь «Арнольд Шварцнеггер» на русском — находишь «Arnold Schwarzenegger» на английском, или ищешь «Michael Jordan» — находишь «Майкл Джордан», или ищешь «Чак Норрис» — и вдруг он сам тебя находит. Помимо поиска созвучных слов этот метод нивелирует большое количество опечаток. А то че-то задолбала попса, надо больше про инсайд…

...больше про инсайд

Отладка PHP средствами Firebug

Reading time2 min
Views25K
FirePHP

Отладка PHP-скриптов определенно недостаточно освещена в интернете. Потому многие, очень многие довольствуются print_r-ками. Очевидный недостаток такого способа — нельзя отладить AJAX, SOAP-сервисы, генераторы картинок и вообще скрипты, не отдающие непосредственно HTML-документов.

Javascript-разработчики используют для отладки Firebug. Как я им всегда завидовал. Лепота — выделенная консоль, net-монитор, отладчик, и все это в любимом браузере.

Так вот, нашел такое расширение Firebug — FirePHP. Оно позволяет выводить информацию в консоль Firebug непосредственно из PHP. Делается это довольно простым вызовом:
Читать дальше →

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

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

Иногда они возвращаются… снова

Reading time6 min
Views4K
Совсем недавно на хабре пользователем bur был опубликован пост про приятные ползунки TrackBar. Они мне понравились своей простотой и возможностью их использования в совокупности с jQuery. Чуть позже был так же пост про слайдер, который определял диапазон времени, но его порицали за большой вес и «тяжесть». Тогда у меня и родилась идея создать на основе TrackBar ползунков для выбора произвольного диапазона времени. Придумано – сделано. И сейчас я представляю свои наработки хабраобщественности.

Итак, было:

Стало:


Прочитать про это

JS-TrackBar, четвертая версия бегунков

Reading time3 min
Views7.3K
Не так давно на Хабре был опубликован сей труд: «Еще раз о трекбаре», в котором описывается простой скрипт для создания таких вот ползунков:
TrackBar

Благодаря откликам пользователей возможности первой версии скрипта были существенно расширены. Она выросла до v3.0, с одновременным обновлением статьи, описывающей новый функционал. Однако, некоторые изменения откладывались «на потом», т.к. требовали более серьезного вмешательства в код. И вот долгожданное «потом» настало и вышла четвертая версия JS-TrackBar.

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

На Facebook уже 10 000 серверов

Reading time1 min
Views4.7K
Инфраструктура крупнейшей социальной сети продолжает расти в геометрической прогрессии. На днях технический директор Facebook на конференции по MySQL огласил (видео) свежие данные: оказывается, на проект сейчас работает уже 10 000 серверов, в том числе 1 900 серверов MySQL, а обслуживают их всего два администратора баз данных.

В отличие от Google, Yahoo и Microsoft, компания Facebook не строит свои собственные дата-центры, а арендует чужие новостройки по мере необходимости. Совсем недавно к числу арендуемых добавились два новых дата-центра: в Вирджинии (октябрь 2007) и Калифорнии (февраль 2008).

Теперь становится понятно, почему IBM позиционирует новые серверы iDataPlex специально для Веб 2.0, ведь на них действительно есть спрос со стороны тех же Facebook, Yahoo, Microsoft и Amazon.

Технический директор также рассказал, что Facebook по-прежнему активно использует систему кэширования Memcached для оптимизации работы динамических веб-приложений. На сегодняшний день это самый крупный проект в мире на базе Memcached (805 серверов).

Sphinx??

Reading time1 min
Views3.6K
Думаю многим из вас приходилось когда-либо сталкиваться с прикручиванием поиска, на сайте. Вот и мне по работе, пришлось этим заняться.

В поисках поискового движка, так понял, лидирующие места занимают Lucene и Sphinx.

Но требования следующие (норма):
  • Стабильная работа с русским языком
  • Морфология («гитара» <-> «гитары» <-> «гитар»)
  • Быстродействие
  • Возможность индексировать PG, MySQL и файлы (.html)
  • PHP-API, установка на любом *nix дистрибутиве (FreeBSD, Ubuntu Server)


Выпал случай, поставил Sphinx, настроил (вроде как О_о), проиндексировал базу с каталогом товаров. (включена stemm_enru морфология).

Сортировка по релевантности, жму: «гитара fender», и из БД в первую очередь же он мне выводит струны для гитары фендер, потом уже сами гитары, а должно быть наоборот. Не понимаю, в чем дело, и что за Weight и как их настраивать.

Читал мануал на сайте разработчика, но всё там как то слишком сложно описано, либо я лох)

В общем, уважаемые, помогите пожалуйста разобраться.

Верстка без float'ов

Reading time2 min
Views8.8K
Существует много разных способов css разметки. Некоторые базируются на абсолютном позиционировании, другие используют float'ы. Первый метод плохо поддерживает «резиновость» макета, тогда как второй это неплохой способ разметки.

Но, как и многие мощные инструменты, float'ы имеют свои изъяны. Для начала, верстка на основе float'ов не такая простая к пониманию, а также float'ы есть источником многих багов (в основном в ИЕ), что делает их не идеальным вариантом в погоне за кроссбраузерностью.

Итак, речь далее пойдет о
семантически корректном методе верстки

Презентации стартапов перед публикой.

Reading time4 min
Views1.1K
Хочу обратить внимание на очень интересный тренд интересное направление в презентациях стартапов.

Мы не говорим о презентациях перед инвестором, мы будем говорить о разных конкурсах проектов.

За последние три года мне удалось побывать на 13 конкурсах и иметь обратную связь фидбеки от еще 12. И вот какое интересное направление в развитии какой тренд я заметил.
Три года назад в 2005 году в большинстве случаев преобладал доминировал формат 20 (минут на доклад) +10(на вопросы из зала) или 20+5. Еще тогда было заметно, что серии из нескольких презентаций (4-8) очень тяжело давались судьям, тем более судьи именитые и те, кому данный проект не нравился, откровенно не слушали и были недовольны убийством времени. И меня начали посещать мысли о том, что неплохо было бы это дело превратить в 15+15. 15 мнут должно хватить, а 15 минут слушать вопрос-ответ все равно интереснее.
Читать дальше →

Социальные сети, перспективы развития и способы монетизации. Часть 2

Reading time10 min
Views9.1K
Вторая часть моего доклада на конференции UA WEB про социальные сети. Тема части: перспективы развития социальных сетей.

Для пропустивших, советую сначала прочитать первую часть
Читать дальше →

Борьба с фрагментацией PHP кешеров

Reading time3 min
Views3.8K
Я надеюсь, что нормальные люди уже прониклись необходимостью кешировать вывод данных на своих сайтах, либо кэшировать промежуточные результаты работы с базой данных, либо просто кешировать opcode скриптов для их более быстрого выполнения.
И что разработчики предоставляют нам для этого дела?
Читать дальше →

Profiling PHP Applications With xdebug

Reading time8 min
Views42K
Добро пожаловать в третью статью о xdebug. Уже сейчас вы должны были попробовать xdebug, если нет, сделайте это сегодня ;-).
В первой статье рассказывалось о том, как установить и настроить xdebug, описывались некоторые простейшие возможности, такие как улучшение вывода функции var_dump() или вывод трассировки стека вызовов при получении сообщения об ошибке. Во второй части мы рассмотрели такую возможность xdebug как трассировку. Трассировка содержит все вызовы функций и методов в программе, время запуска, опционально размер памяти, передаваемые и возвращаемые параметры. Лог трассировки может помочь вам понять пути выполнения сложной программы. Вместо того чтобы вставлять отладочный код внутрь программы, вы включаете или выключаете трассировку в тем места где нужно, а потом используете утилиты подобные grep или собственно написанные приложения на PHP для анализа лог файла.
Читать дальше →

Tracing PHP Applications with xdebug

Reading time8 min
Views22K
Добро пожаловать во вторую серию нашего повествования про xdebug. Установка xdebug и его базовые возможности были рассмотрены в первой серии. В данной статье мы рассмотрим трассировку программы.
Предыдущая серия цикла Introducing xdebug
Читать дальше →

Introducing xdebug

Reading time9 min
Views47K
Эта статья первая из серии статей, описывающих xdebug, свободной библиотеки для разработчиков PHP. xdebug – это расширение для PHP, написанное Derick Rethans, одним из разработчиков языка PHP. В данной статье описывается как установить xdebug и рассказывается о его базовых возможностях. В последующих частях мы детальнее взглянем на главные возможности xdebug, а именно трассировку, профайлинг, отладку кода.
Читать дальше →

Как сделать RSS иконку любого цвета, используя одну картинку

Reading time1 min
Views4.9K
Как сделать RSS иконку любого цвета, используя одну картинку
В этой статье я расскажу вам как сделать RSS иконку любого цвета, используя всего одну картинку.

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

data URI

Reading time2 min
Views8K
Пару лет назад я занимался проблемой data URL в Internet Explorer, добился определённых результатов, но то, что получилось, использовать было невозможно. Data URL (иногда его ещё называют «протокол data:») — возможность вставлять ресурсы (графику, CSS, JavaScript и так далее) в HTML код.


Подробнее о data URL можно узнать из свежей статьи на «Хабре» «Картинки в теле страницы с помощью data:URL». Хотелось только её дополнить двумя замечаниями: IE8b1 поддерживает data URL длиной не более 32Кб, в современных версиях других браузеров ограничений увидеть не удалось, Safari/Opera/FF показали изображения размером около 700Кб.


Теперь амбула.


Вчера ночью мне пришла в голову идея как можно попытаться корректно совместить data URL и включение картинок через протокол mhtml. То, что у меня не получилось два года назад, получилось сейчас.


Результат — готовый код на PHP из двух функций. Первую функцию («bolk_data_uri_header») нужно вызвать в самом начале перед выводом любого вашего кода, вторую («bolk_data_uri») собственно для включения картинки в код.


Надеюсь на примерах всё понятно:
bolk_data_uri_header();
bolk_data_uri('myjpeg.jpg');
bolk_data_uri('ourpng.png', 'border: 2px dotted red');


Код самой библиотеки:
function bolk_data_uri_header() 
{ 
    echo "<!--\n" 
        ."Content-Type: multipart/related; boundary=\"=_NextPart_01C6A9B1.539AB070\"\n\n" 
        ."--=_NextPart_01C6A9B1.539AB070\n" 
        ."Content-Transfer-Encoding: base64\n" 
        ."Content-Type: text/html\n" 
        ."-->\n\n"; 

} 

function bolk_data_uri($file, $style = '') 
{ 
    if (!( file_exists($file) && ($data = @getimagesize($file)) )) return false; 

    $name = uniqid('', true); 

    if ($style <> '') $style = ' style="'.htmlspecialchars($style).'"'; 
    $mime = strpos($_SERVER['HTTP_USER_AGENT'], 'Gecko') ? " type='{$data['mime']}" : '';

    echo "<!--\n" 
        ."--=_NextPart_01C6A9B1.539AB070\n" 
        ."Content-Location: {$name}\n" 
        ."Content-Transfer-Encoding: base64\n" 
        ."Content-Type: {$data['mime']}; -->\n" 
        ."<object data='data:{$data['mime']};base64,\n\n"; 

    echo base64_encode(file_get_contents($file)); 

    echo "' {$data[3]}{$style}{$mime}'><img " 
        ."src='mhtml:http://{$_SERVER['HTTP_HOST']}"
        ."{$_SERVER['REQUEST_URI']}!{$name}' {$data[3]}{$style} /></object>\n\n" 
        ."<!--\n" 
        ."--=_NextPart_01C6A9B1.539AB070-->"; 

    return true; 
}



Секрет в совмещении данных, чтобы IE, обратившись к странице по протоколу mhtml нашёл нужный кусор, «спрятанный» внутри тега, а остальные браузеры увидели бы картинку через data URL.


Код тестировался под Opera 9.50b, FF 2.0.0.13, Safari 3.1 и IE6. Предложения и результаты испытаний — прошу в комментарии.


Оригинал записи опубликован в моём блоге.

Простое меню с проявляющимися изображениями

Reading time1 min
Views1.5K
Допустим у нас стоит задача — сделать меню, состоящее из текстовых заголовков и полупрозрачной картинки, становящейся непрозрачной при наведении курсора на пункт меню.
Делается это очень просто — поместим в таблицу картинку со ссылкой, и текст рядом с ней в ячейку TH:


И оживляем всё это при помощи CSS:
Python
Python
Читать дальше →

Information

Rating
Does not participate
Location
Россия
Date of birth
Registered
Activity