Обновить
10
0
scvorec@scvorec

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

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

Импорт сообщений из Твиттера

Время на прочтение3 мин
Охват и читатели11K
При разработке сайта может понадобиться получить из Твиттера несколько последних постов (твитов). Это может быть как личная лента обычного пользователя, так и официальная лента компании.

Существует как минимум 2 способа решения данной задачи.
Читать дальше →

CSS хаки

Время на прочтение4 мин
Охват и читатели127K
Браузеры и стандарты. Вечная погоня. Из-за несоответствий стандартам, из-за разных способов рендеринга страниц большая часть времени веб-дизайнера уходит на то, чтобы загладить эти несоответствия (использовать хаки). В итоге, вместо эффективной работы, дизайнер вступает в противоестественные отношения с браузерами, теряя драгоценное время.
Читать дальше →

Некоторые функции, которые я использую в своих проектах

Время на прочтение4 мин
Охват и читатели2.9K
Доброго времени суток, Под катом предлагаю Вам ознакомиться с функциями на PHP, которые я использую в большинстве своих проектов. В статье мы получим погоду для любого города мира при помощи Google, получим Whois и favicon домена, количество ретвитов определенной страницы и сделаем генератор ссылок на профили в твиттере, сделаем скриншот сайта, соберем css в 1 файл как у яндекса, распакуем zip и преобразуем картинку в ASCII-код.
Прошу под кат

Интерполяция: рисуем гладкие графики средствами PHP и GD

Время на прочтение6 мин
Охват и читатели61K
Распространенной задачей для программиста является рисование графиков. Входными данными является массив точек (xi;yi). Как правило, мы знаем только некоторые значения — в определенных точках графика. Чтобы построить непрерывный график кривой необходимо прибегнуть к интерполяции или аппроксимации.



Интерполяция — построение кривой, проходящей через заданные точки.
Аппроксимация — приближение кривой к исходной, но не обязательно проходящей через заданные точки.

В этом топике я хочу продемонстрировать свою библиотеку для PHP, которая производит интерполяцию с помощью многочлена Лагранжа, C-сплайна и сплайна Акимы, а также аппроксимацию кривой Безье. Дополнительно в ней реализована отрисовка отрезка со сглаживанием (антиалиасингом).

Кратко рассмотрим методы интерполяция и аппроксимации.
Читать дальше →

Самый простой способ генерации xls в PHP

Время на прочтение2 мин
Охват и читатели60K
Вообще казалось бы вынесенная в заголовок задача не должно быть сложной, да и гугл дает кучу ссылок, в том числе на хабр, однако для того чтобы сделать выгрузку БД с сайта в эксель мне пришлось несколько помучаться.

С модулем Spreadsheet_Excel_Writer я предпочел не связываться, по причине отсутствия необходимых ему модулей php на трех имеющихся у меня в наличии для тестирования серверах, хочется все-таки сделать код перетаскиваемый между серверами легко и просто.
php_write_excel оттолкнул полным отсутствием документации при необходимости сделать работу быстро (хотя в дальнейшем я хочу с этим модулем поразбираться).
Читать дальше →

Простой способ передачи табличных данных из PHP в Excel

Время на прочтение3 мин
Охват и читатели43K
К написанию данного топика меня подтолкнула одна заметка о генерации xls в PHP.
Способ, представленный в той заметке действительно очень прост, но не всегда может быть удобен.
Есть множество других способов передать табличные данные из PHP в Excel, я опишу тот, который показался мне наиболее простым и функциональным. Нужно особенно отметить, что что я не говорю о генерации xls файла, а лишь предлагаю пользователю открыть полученные данные при помощи Excel так, что пользователи не искушённые в программировании не заметят подлога.
Читать дальше →

GTD на Windows: что я перепробовал и к чему пришел

Время на прочтение5 мин
Охват и читатели92K
Около года назад я понял, что массив дел и входящей информации перерастает разумные пределы, и мой мозг не успевает все удержать. Чуть позже меня навели на всем известную книгу Дэвида Аллена, и стало ясно, что пора организовать входящие задачи. Так как ручку, этикетки и лотки для бумаг я считал хоть и хорошими приспособлениями, но далеко не идеальными, ПК автоматически стал главным инструментом в организации жизни. Под катом о том, какие программы для GTD я перепробовал, отличительные стороны каждой, и на чем впоследствии остановился.

Надеюсь, эта статья будет полезной для всех, кто начал чтение книги Дэвида Аллена, закончил ее чтение и тех, кто уже вовсю использует его методы.

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

12 навыков создания защищенных веб-приложений

Время на прочтение8 мин
Охват и читатели22K
Данная статья не содержит никаких откровений. В первую очередь информация о типовых уязвимостях и методах их решения будет полезна начинающим. Опытные разработчики все это знают, или должны знать, если считают себя таковыми.

Большинство примеров кода не привязаны к какому-либо конкретному языку программирования, но для наглядности я буду использовать PHP.

Итак, поехали.

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

Выбираем предыдущую и следующую запись зная id

Время на прочтение3 мин
Охват и читатели20K
Столкнулся недавно с задачей показа кнопок [ВПЕРЕД] [НАЗАД] на странице просмотра. Но сложность задачи в том, что сортировка может быть по произвольному полю таблицы.

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

CREATE TABLE `contacts` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name_prefix` varchar(50) DEFAULT NULL,
`name` varchar(100) DEFAULT NULL,
`infix` varchar(100) DEFAULT NULL,
`surname` varchar(100) NOT NULL,
`primary_email` varchar(100) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;

Для наглядности объясню где это все работает:
есть две страницы, работающие с этой таблицей:
— index, на ней отображаются все записи из таблицы contacts, есть фильтр и есть сортировка по столбцам
— view, просмотр текущей записи из таблицы contacts. На это странице есть кнопки [ВПЕРЕД] [НАЗАД], с учетом фильтра и сортировки заданной на странице index;
Трудность возникла в этих двух кнопках.
решение . . .

Новый пуленепробиваемый синтаксис @font-face

Время на прочтение3 мин
Охват и читатели71K
С самого начала «вебошрифтовой революции» мы полагались на неизящные хаки деклараций @font-face, чтобы шрифты из Паутины загружались во всех браузерах. Может ли существовать лучший путь? Вполне изящный и совместимый с будущими браузерами?

Вкратце об истории вопроса


В сентябре 2009 года Пол Айриш (Paul Irish) огласил пуленепробиваемый синтаксис для записи деклараций @font-face. Синтаксис был компактным и в то время действовал во всех браузерах. Недавно стали поступать, со временем усиливаясь, жалобы на отказ шрифтов загружаться в Android — поэтому мы стали вместо того рекомендовать синтаксис «Mo' Bulletproofer», сочинённый Ричардом Финком (Richard Fink). К сожалению, синтаксису «Mo' Bulletproofer» требуется двойная запись деклараций, так что поддержка его сложнее.

Синтаксис Fontspring @Font-Face


А вот таким этому коду следовало бы быть с самого начала. Чистым, ясным и простым:
@font-face {
	font-family: 'MyFontFamily';
	src: url('myfont-webfont.eot?') format('eot'), 
	     url('myfont-webfont.woff') format('woff'), 
	     url('myfont-webfont.ttf')  format('truetype'),
	     url('myfont-webfont.svg#svgFontName') format('svg');
	}

Что? Я не понял.


Хак Трюк, заставляющий этот код заработать — символ «?» вслед за именем файла EOT. Без шуток.

Как это срабатывает


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

Динамический favicon или отображаем карму, не обновляя страницу

Время на прочтение5 мин
Охват и читатели12K
image
У каждого из нас, полагаю, в любимом браузере постоянно открыты несколько вкладок одновременно. Не раз бывают случаи, что и заголовка вкладки не видно — лишь favicon'ки. Но часто они информации, кроме как отображения логотипа сайта, не дают. И, наверное, зря. Но мы постараемся и здесь использовать это место (целых 16px*16px!) так, как хотим. По крайней мере, будем знать, как это можно сделать.
Читать дальше →

Сборник советов и фактов по оптимизации PHP-скриптов

Время на прочтение9 мин
Охват и читатели46K
image Эту статью давно стоило переписать (слишком много «экономии на спичках»), но руки не доходят. Пускай весит и напоминает о том, как мы глупы в молодости.
Одним из основных критериев успешности любого интернет-ресурса является скорость его работы и с каждым годом пользователи становятся всё более и более требовательными по этому критерию. Оптимизация работы php-скиптов — это один из методов обеспечения скорости работы системы.
В этой статье я бы хотел представить на суд общественности свой сборник советов и фактов по оптимизации скриптов. Сборник собирался мною достаточно долго, основан на нескольких источниках и личных экспериментах.
Читать дальше →

Медиа-сервер, собираем своими руками из найденного в «закромах родины»

Время на прочтение6 мин
Охват и читатели52K
Кризис! Работы мало, времени много… никто не мешает навести порядок в закромах.

В результате получился полноценный мультимедиа компьютер с огромным экраном, беспроводной клавиатурой, мышкой, WiFi. С торрент качалкой, файло-помойкой, персональный веб-сервер. И все это под управлением страшной операционной системы Linux. Компактный корпус и уровень шума не мешает спать.
image
Читать дальше →

Быстрый способ протестировать сайт в разных десктопных браузерах

Время на прочтение3 мин
Охват и читатели281K
Всё больше достойных поводов находится у веб-разработчиков для того, чтобы отказаться от полнокровной поддержки IE6 в создаваемых проектах.

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

Однако, всем категориям веб-разработчиков, равно как и их клиентам, полезно иметь не обременяющие средства для кроссбраузерного тестирования.

Самый надёжный способ — поднять несколько виртуальных машин, где всё можно будет досконально протестировать (в том числе потаскать границу окна, поскроллить и уж тем более посмотреть, как работает JS). Но ведь часто требуется просто взглянуть на сайт и понять, всё ли с ним в порядке в целом. Либо предоставить такую возможность заказчику.

Классикой жанра для решения поставленной задачи является веб-сервис:

Универсальный, но долгий browsershots.org


Он позволяет получить скриншот не только из конкретного браузера, но и выбрать его версию и ОС, в которой браузер запущен.

Недостаток один — очередь. Скриншотов нужной страницы можно прождать полчаса и даже больше.
Читать дальше →

MODx — собственный ajax календарь событий/новостей 2

Время на прочтение6 мин
Охват и читатели12K
Выходные проходят сложно для моего здоровья, но я таки смог переписать свой календарь событий для ModX.

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

В чем же отличия от предыдущей версии?
Самое главное — календарь отрисовывается не сторонним плагином jquery.datepicker, а php. К каждой ячейка прикрепляются css классы, в зависимости от их свойств. Все классы, имена дней недели, месяцы задаются в параметрах сниппета, что позволяет их легко менять.

Картинка, для привлечения внимания.

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

14 модулей для Drupal, о которых вы должны знать

Время на прочтение2 мин
Охват и читатели12K
В продолжении темы о Drupal’е хочу предоставить несколько расширенный обзор модулей. С помощью некоторых из них можно строить уже не просто standalone-блог, а сообщество с элементами социальности. Список, конечно же, не претендует на полноту и основывается лишь на личном опыте автора.

Итак, вот они:
Читать дальше →

Свежая подборка jQuery плагинов

Время на прочтение2 мин
Охват и читатели15K
Для меня jQuery ассоциируется с мощной и главное кросс-браузерной JavaScript библиотекой. Можно долго перечислять ее достоинства, холиварить по поводу и без, но думаю, никто не будет против посмотреть подборку интересных плагинов и уроков:
для удобства – каждая картинка ведет на демо

Hover Slide Effect



Демо | Урок
Галерея состоит из нескольких картинок, при наведении на одну из них она эффектно меняется на другую, а при клике на любую картинку — меняются все одновременно.

Остальные плагины

PHP и Dropbox. Удаленное хранилище пользовательских файлов

Время на прочтение3 мин
Охват и читатели15K

Применение


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

Решение


В качестве решения я предлагаю схему PHP<->Dropbox. Dropbox нам интересен тем, что каждому новому пользователю выделяеся 2Gb виртуального дискового пространства, а так же возможность отката на предыдущие версии файлов. Это обеспечивает нам стабильное хранилище, в котором не возникнет случаев безвозвратно удаленных файлов.
Читать дальше →

Использование нескольких proxy в Opera

Время на прочтение3 мин
Охват и читатели17K
В корпоративных и домашних сетях, содержащих внутренние web-ресурсы, порой возникает необходимость в наличии инструмента более функционального, чем общеизвестная опция «не использовать прокси для локальных адресов».

Однако, если Ваша корпоративная/домашняя сеть подключена к нескольким(более одного) провайдерам или же есть необходимость сэкономить на трафике наиболее часто посещаемых ресурсов, а также учитывая, что у многих провайдеров есть web-ресурсы, доступ к которым предоставляется бесплатно, то использование нескольких proxy становится оправданным.

Далее пойдет речь о том, как удобно использовать несколько, предварительно настроенных proxy, в браузере Opera, позволяющем выполнить данную задачу без установки дополнительных модулей и прочего ПО как под win так и под nix системами.
Читать дальше →

Информация

В рейтинге
Не участвует
Откуда
Украина
Дата рождения
Зарегистрирован
Активность