Pull to refresh
173
0
Денис @pixxxel

User

Send message

Графический стиль Олимпиады 1972 года в Мюнхене

Reading time2 min
Views30K
1972 Munich Olympics PosterРискну предложить пост про графический дизайн. На первый взгляд он не полностью отвечает тематике Хабра, но это только на первый взгляд. Уверен, что интересно будет не только дизайнерам.

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

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

Читать дальше →
Total votes 194: ↑183 and ↓11+172
Comments106

APS-стандарт – использование на примере CMS LiveStreet

Reading time6 min
Views16K
imageВ 2007-м году компанией SWSoft, ныне Parallels, опубликован новый стандарт средств, для развёртывания веб-приложений на хостинге – APS — Application Packaging Standard: apsstandard.org.
APS-формат разработан, чтобы упростить реализацию бизнес-модели Software-as-a-Service (SaaS) для облачных сервис-провайдеров и разработчиков ПО. APS-пакет – упакованное в соответствии с APS-стандартом веб-приложение.
В статье — краткий обзор APS-стандарта и описание процесса подготовки и публикации APS-пакета в общедоступном каталоге — на примере APS-пакета CMS Livestreet, выход которого вызвал определённый интерес на Хабре: (Блог LiveStreet CMS).
Надеюсь, статья заинтересует разработчиков веб-приложений, сервис-провайдеров и пользователей их услуг.
Читать дальше →
Total votes 32: ↑23 and ↓9+14
Comments26

Fugue Icons 2.9.3a

Reading time1 min
Views2.3K
image

Совсем недавно существенно обновился набор замечательных иконок Fugue Icons от Yusuke Kamiyamane. Теперь их 2,926 (16х16) + 210 (24х24) + 46 (32х32) = 3182 качественные иконки для вашего сайта. В архиве также имеется версия без теней.

Лицензия Creative Commons Attribution 3.0 позволяет использовать иконки в любых целях со ссылкой на автора.

Превью 3Mb
Архив 4.9Mb
Архив+исходники 24.8Mb
Total votes 134: ↑126 and ↓8+118
Comments29

Дистрибутив для детей — Qimo 2.0

Reading time1 min
Views6.6K


Вышел дистрибутив специально созданный для детей с трех лет, основанный на Xubuntu 10.04. В дистрибутив разработчики сразу встроили несколько развивающих программ и игр для детей. Для уже являющихся владельцев Ubuntu, такое окружение можно добавить с помощью пакета qimo-session из ветки Universe.
Скачать можно тут (~700 Мб):
torrent
ftp
http (Italy)
http (Argentina)

смотреть скриншоты и видео
Total votes 52: ↑37 and ↓15+22
Comments57

Выделение строк в многостраничных списках на веб

Reading time4 min
Views2.2K
На веб-сайтах нередко встречаются списки и таблицы, разбитые на много страниц с возможностью перехода между ними. Иногда над строками таких списков можно выполнять какие-то операции. Вот несколько примеров:
  • Модерация веб-форума: массовый перенос, блокировка, удаление тем.
  • Почтовый клиент: отметить выделенные письма как (не)прочитанные, добавить метку, перенести в спам.
  • Система обработки научных данных: выделить интересующие строки в подмножество, пометить цветом, как заслуживающие внимания.
Во всех этих случаях проблемы с юзабилити возникают, когда страниц больше одной. Можно ли выделить все строки списка, а не только текущую страницу? А все без одной? Правильно инвертировать выделение? Выделить все строки от 1245-й и до конца, при том, что на одной странице всего 100 строк, а всего строк в списке 5000?

Я придумал простую штуку, которая позволяет решить все эти эти задачи. Она внедрена в одном коммерческом веб-приложении и хорошо себя зарекомендовала. Не видел более удобного решения, поэтому представляю на суд общественности.
Читать дальше →
Total votes 54: ↑44 and ↓10+34
Comments43

Генерируем QR-код на PHP

Reading time2 min
Views80K

QR-code, уже давно распространен повсеместно, во всех сферах человеческой жизни. Вроде такая популярная вещь, а нормальной библиотеки (Open Source) на PHP — нет. Товарища deltalab, очень напрягла эта проблема и он решил переписать имеющиеся в наличии С библиотеки ibqrencode от Kentaro Fukuchi, на более привычный ему язык PHP.
Читать дальше →
Total votes 62: ↑56 and ↓6+50
Comments39

Обеспечение качества программного продукта

Reading time4 min
Views11K
Дисциплина «Метрология программного обеспечения» входит в учебный план подготовки дипломированных специалистов по направлению 654600 — «Информатика и вычислительная техника» по специальности 220400 — «Программное обеспечение вычислительной техники и автоматизированных систем». Дисциплина изучает проблемы оценки метрических характеристик качества ПО на этапах от разработки спецификаций до завершения отладки и тестирования программного продукта. В курсе рассматриваются критерии, характеристики и метрики качества ПО; особый упор делается на характеристики корректности, надежности и сложности программ. Изучаются формальные модели и методы оценки как статических, так и динамических характеристик качества ПО, позволяющие на различных стадиях разработки выявлять просчеты и дефекты программного изделия. Рассматриваются инструментальные средства поддержки и автоматизации измерения характеристик ПО.
Далее по тексту будет находится краткий обзор инструментов с помощью которых можно анализировать различные характиристики в приложениях созданных на PHP. Данный материал появился на свет в результате некоторых экспериментов в области непрерывной интеграции, и должен был являться частью статьи про непрерывную интеграцию (спойлерить пока не буду, боюсь сглазить) все в том же РНР, но я решил все-таки выделить его в самостоятельный обзор, так как возможно, в последующих статьях я буду ссылаться на него, а так же надеюсь узнать об аналогичных инструментах еще не попавших мне на глаза. Некоторые инструменты уже были рассмотрены достаточно подробно, но тем не менее полного списка всех доступных еще не было.
Читать дальше →
Total votes 127: ↑115 and ↓12+103
Comments43

Браузер Кавер

Reading time1 min
Views772
image
На днях мы с ludoedoed запустили сервис для веб-дизайнеров www.browsercover.me, он быстро оборачивает картинки в окна популярных браузеров так, что картинки становятся похожими на скриншоты будущих сайтов. Это помогает восприятию, точно вам говорю. Готовые картинки отправляются заказчикам и в портфолио (самовывоз).

Пользоваться сложно: нужно сначала загрузить картинку, потом в муках выбрать какой-нибудь браузер, определиться с размером конечного изображения, ввести ЮРЛ для адресной строки и заголовок окна (мы даже шрифты и способы сокращения символов подгоняем, для пущей убедительности), решить, нужна ли вам полупрозрачная тень и статус-бар. После этого придется нажать на «Криэйт э каверед превью» и сохранить готовую картинку. Все время придется крутить горизонтальный скроллбар, хорошо хоть колесом мышки.

Будем рады услышать критику, а не просто получить минусы.
Будем рады, если вы будете пользоваться сервисом.
Будем рады, если станем миллионерами.
Будем рады, если вы ими станете.
Будем рады, если вы будете рады.
Total votes 180: ↑162 and ↓18+144
Comments126

elFinder — файловый менеджер для сайта. Новый вкус

Reading time3 min
Views3.7K
Некоторое время назад мы представляли уважаемой публике наши open source продукты для веб-разработчиков — редактор elRTE и файловый менеджер elFinder. После анонса мы получили немало отзывов и надо сказать были изрядно удивлены, что интерес к файловому менеджеру оказался заметно выше чем к редактору.

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

И сегодня с удовольствием от хорошо сделанной работы предлагаем попробовать наше фирменное блюдо elFinder!

elFinder

Читать дальше →
Total votes 134: ↑131 and ↓3+128
Comments129

PHP, PREG и UTF-8

Reading time6 min
Views16K
В этом посте речь пойдет о работе РНР5 с multibyte строками посредством preg_*() функций.

Заметил интересное положение дел, вобщем-то давным давно описанное в интернете, но актуальное и по сей день (вопрос всплыл всвязи с недавним постом про trim()).
Читать дальше →
Total votes 43: ↑39 and ↓4+35
Comments17

Редирект после POST запроса

Reading time2 min
Views47K
Каждый веб-разработчик знает, что после POST сабмита формы желательно сделать редирект, чтобы предотвратить повторную отправку данных, когда пользователь захочет обновить страницу. В основном это критически необходимая операция, так как данные формы могут сохраняться в базе данных или участвовать в платёжной транзакции. И тогда данные не только продублируются, но и спишутся лишние деньги.

Но речь не о деньгах, а о правильном редиректе…
Читать дальше →
Total votes 102: ↑86 and ↓16+70
Comments79

Интересная техника сокрытия кодов JS «вируса»

Reading time2 min
Views6.4K
Сегодня скинули код, дропающий на машину штатный вирус «отправьте SMS для разблокировки». Предысторию и методику чистки изложил force

Попробовал расковырять. Взял код, отформатировал, стал дебагать… Хм, интересно… В коде идет вызов (после приведения к читабельному виду)

window['eval'](var2);

А вот в var2 — бинарные данные. Ух ты… Но ведь eval не может выполнять бинарные данные!!!

И почему же в eval оказались бинарные данные?
Total votes 97: ↑89 and ↓8+81
Comments44

RESTful PHP — 5 простых советов

Reading time4 min
Views83K
REST (Representational state transfer) — это архитектурный стиль или свод соглашений для web-приложений и сервисов, основанный на манипулировании ресурсами и спецификацией HTTP. Впервые об этом заговорил Рой Филдинг (Roy Fielding) — один из отцов основателей HTTP (Hypertext Transfer Protocol).

Web-приложения зачастую игнорируют спецификацию HTTP и двигаются вперёд используя полюбившиеся возможности: GET и POST, 200 OK и 404 NOT FOUND. Так как используются программируемые web-приложения, со своими собственными API, то решение игнорировать спецификацию HTTP, может создать проблемы в дальнейшем. Как следствие — имеем множество приложений с интерфейсами GET и POST. Например интерфейс удаления пользователя: GET /user/1/delete против POST /user/delete {id=1}; в случае REST можно указать /user/1 это ресурс, а удаление HTTP метод DELETE.
Читать дальше →
Total votes 72: ↑62 and ↓10+52
Comments122

Интернет-магазин внутри баннера

Reading time4 min
Views1.1K
Все мы давно привыкли к рекламным баннерам на любимых нами сайтах. Некоторые из них скромно помигивают в углу страницы, другие же навязчиво предлагают нажать на них, внезапно появляясь в центре экрана и надоедая (да, именно надоедая) анимацией. Прошло время, когда красивые эффекты могли ввести пользователя в ступор и заставить кликнуть по рекламному объявлению, эффективность сисек и прочих сомнительных маркетинговых ходов тоже резко снизилась, ведь пользователи эволюционировали. Сейчас они кликают на баннере только если им действительно интересно то, что он продаёт.

В распоряжении веб-разработчиков находится масса технологий, с помощью которых были сделаны gmail, facebook и множество других замечательных сервисов, но почему до сих пор баннеры — это всего лишь электронная вывеска-замануха, и не более? Мы решили сделать баннер, который не просто завлекает на сайт, но сам продаёт.
Читать дальше →
Total votes 153: ↑147 and ↓6+141
Comments97

Список Javascript библиотек для рисования графиков и диаграмм

Reading time1 min
Views22K
О визуализация графов в вебе говорили здесь, навеяно этой статьей.

Под катом обзор JavaScript библиотек для рисования графов, диаграмм и прочей красоты.
Читать дальше →
Total votes 93: ↑89 and ↓4+85
Comments36

Highcharts: Красивые, динамические чарты за 5 минут!

Reading time2 min
Views65K
image
Highcharts — библиотека для создания чартов написанная на JavaScript, позволяет легко добавлять интерактивные, анимированные графики на сайт или в веб-приложение. На данный момент чарты поддерживают большое количество диаграмм линейных, круговых, колоночных рассеивающих и многих других типов.

Чарты работают со всеми популярными браузерами, включая Safari на iPhone.
Минимальная версия для IE составляет 6+. Также браузеры поддерживающие Canvas элемент, и в некоторых случаях SVG для графического рендеринга.
Читать дальше →
Total votes 139: ↑132 and ↓7+125
Comments49

Ресайз изображений на лету

Reading time9 min
Views19K
Практически в любом веб-приложении использующем изображения существует потребность формировать уменьшенные копии этих изображений, причем зачастую, форматов дополнительных изображений несколько.
Так же вызывает некоторую головную боль добавление новых размеров на существующем приложении. Отсюда задача:
Читать дальше →
Total votes 73: ↑69 and ↓4+65
Comments65

Верстка повторяющихся блоков

Reading time3 min
Views14K
Довольно часто при верстке сайта возникает необходимость размещать блоки одинаковой ширины, но разной высоты в контейнере с переменной шириной (читай резиновом). Плюс на этот список может применяться фильтр, который JS-ом скрывает или показывает элементы списка, при этом он не должен разрушать «строки», верстку, или образовывать дыры, поэтому решения на таблицах не катят сразу. Простейший пример — каталог товаров:


Читать дальше →
Total votes 109: ↑95 and ↓14+81
Comments63

Дао Вебсервиса. (Или да хватит же изобретать велосипеды!)

Reading time12 min
Views58K
image Недавно на Хабре была опубликована статья под провокационным заголовком и призывом к прекращению изобретений велосипедов в API-строении. Поскольку тема мне интересна, то я просто не мог пройти мимо.
Увы, реальность за хабракатом меня сильно разочаровала — я увидел очередной велосипед, да еще и с квадратными колесами. (Коллеги, ничего личного, только техническое обсуждение.) Правда, авторы честно сказали, что увидели на нескольких сайтах модное слово REST и решили сделать по нему. Только вот поняли они этот «РЭСТ» по-своему, примерно как Дед Щукарь читал и понимал толковый словарь.
В этом топике я призываю по-настоящему покончить с велосипедами в API сайтов. Ведь получается какой анекдот: АПИ разрабатывается для упрощения доступа к сайту и легкости подключения внешних систем, а получается такой, что с ним еще сложнее, чем без него :)

Чуть ниже под катом я подпишу смертный приговор всем велосипедам в универсальных API. Чтобы не быть голословным, я все проиллюстрирую примерами.
Но должен предупредить сразу — после прочтения статьи вы не сможете без рвотного рефлекса смотреть на очередной велосипед Васи Пупкина под гордым названием «универсальное API сайта».

В повествовании будут рассмотрены следующие вопросы:
  1. Базовые технологии: XML-RPC, REST, SOAP и краткое сравнение
  2. Дао вебсервиса
  3. Просветленные API
  4. Как отличить сайтовое API от говна
  5. Выводы

Кто не испугался суровых реалий - вперед
Total votes 315: ↑289 and ↓26+263
Comments206

API для сайта, хватит изобретать велосипед!

Reading time2 min
Views36K
Поступила задача – создать API для сайта scribbler.ru, которое позволило бы сторонним разработчикам работать с ресурсами сайта, писать приложения как внутри, в виде swf файла, так и находящиеся вне сайта, допустим десктопное приложение, которое может получать/отправлять почту пользователям сайта.

Всем известно, что популярные российские проекты (vkontakte.ru, mail.ru и какие-либо другие) имеют свой API. Для примера я начал было их осваивать и смотреть, как же они реализованы, и знаете что, каждый сайт пишет API так, как ему вздумается (как разработчики считают правильным), т.е. API mail.ru и vkontakte.ru сильно разнятся в своих архитектурах, грубо говоря они не схожи, что, я думаю, усложняет жизнь разработчикам, сперва пишем свои классы, работающие с API, под vkontake, потом пишем свои классы под mail.ru и т.д.

Возник вопрос: «А как же решили эту задачу «забугорные» сайты?»
Читать дальше →
Total votes 94: ↑66 and ↓28+38
Comments58

Information

Rating
Does not participate
Location
Украина
Registered
Activity