Pull to refresh
0
0
Spaut @Spaut

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

Send message

Реализация эффекта Philips Ambilight в превью изображений

Reading time16 min
Views3.9K
Вчера в топике «Модификация изображений для сайта, или какие бывают превьюшки» в комментариях diGreez предложил, как мне показалось, очень интересный способ организации превьюшек изображений. Реализовал на PHP функцию, которая занимается созданием таких превьюшек.
Функция документирована комментариями.
Читать дальше →
Total votes 105: ↑84 and ↓21+63
Comments62

Модификация изображений для сайта, или какие бывают превьюшки

Reading time5 min
Views22K
Наверняка каждый из вас делал сайт, где администратор, или даже пользователи, могу закачивать изображения, которые должны отобразится на сайте. Такие изображения можно разделить условно на 2 группы: те, которые вставляются в тело статей, скажем с помощью wysiwyg-редактора, и те, которые закачиваются в отдельное поле и потом выводятся в заранее отведенном месте. Ко вторым относятся всевозможные картинки к новостям, фотографии в фото-галереях, какие-нибудь логотипы партнеров и прочее.

И те и другие требуют какой-то обработки после размещения, но каждая группа имеет свои особенности.
Читать дальше →
Total votes 66: ↑52 and ↓14+38
Comments57

3D печать из Google SketchUp (Соревнование)

Reading time1 min
Views21K
На прошлой неделе я представил i.materialise и чем мы занимаемся. Совсем недавно мы стартовали первое соревнование «Мир домов» (“World of Houses”) на нашем сайте для всех любителей 3D моделирования. Три лучших дизайна будут напечатаны в 3D принтере и отправлены победителям. Вот некоторые архитектурные модели, которые мы уже напечатали:

i.materialise house 01
i.materialise house 02
Читать дальше →
Total votes 61: ↑49 and ↓12+37
Comments37

Пара полезных плагинов к jQuery

Reading time2 min
Views1.1K
Написал пару плагинов по jQuery, чтобы немного облегчить себе верстку и кодинг.

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

Первый — jquery.outlinefix.js. Используется для удаления раздражающих рамок с ссылок, являющихся якорями (например, <a href="#">ссылка</a>).

Проблема:

(у ссылок после клика остается рамка)

Читать дальше →
Total votes 25: ↑20 and ↓5+15
Comments16

Open API

Reading time1 min
Views65K
Команда «ВКонтакте» так и не ушла на выходные, чтобы вслед за Merchant API успеть запустить еще один важный сервис для разработчиков — Open API. Благодаря VK Open API, любые внешние сайты теперь имеют возможность производить у себя авторизацию наших пользователей.



Читать дальше →
Total votes 464: ↑294 and ↓170+124
Comments312

jQuery плагин для получения данных формы + ajax аплоадер файлов

Reading time30 min
Views19K
imageДоброго времени суток, уважаемое Хабросообщество! Не пытаясь скрыть легкое волнение, публикую свой первый пост, темой которого стал мой скромный jQuery-велосипед для быстрого и безболезненного сбора данных, введенных пользователем на странице (сразу небольшая оговорка для тех, кто закричит — «ату его! Зачем еще один подобный плагин?», отвечу: во-первых — а быть может именно это кто-то из хаброчитателей и искал, во-вторых — для саморазвития, в-третьх: для собственного удобства и безболезненного использования в своих програмных продуктах).

Итак, помимо, собственно моего небольшого плагина, нам понадобится сам jQuery последней версии, а так же небольшой плагин к нему, реализующий преобразование объектов\массивов в json-строку, для того, чтобы полученные данные можно было быстренько передавать на сервер.
updated

updated 2 — добавлена мультизагрузка!
Смотрим далее
Total votes 71: ↑66 and ↓5+61
Comments98

Возлюби клиента своего… или как не стать «таджиком» в разработке сайтов

Reading time4 min
Views1.3K
Работа с клиентами бывает разной. Бывает легкой, простой – о которой вспоминаешь, как о дружбе в университете – позитивной и непринужденной. Этого клиента хочется поздравить с днем рождения, поинтересоваться об успехах проекта и постоянно вносить предложения о развитии. С таким можно покорять просторы рунета креативом, он верит в твой профессионализм и эта вера монетизируется в его заработке с сайта. Он приведет к вам еще своих друзей, коллег, знакомых. И все будут счастливы. Для такого клиента хочется свернуть горы, ты как счастливый ребенок за конфету купаешься в ласковом доверяющем взгляде и хочется делать и делать еще для этого проекта. Хочется вставать в 7-мь утра и читая письма от этого клиента – начинать рабочий день. И все сбывается.

А еще работа с клиентами бывает нудной, затянутой и неинтересной. Эти клиенты звонят тебе сами в 7-мь утра и ты чертыхаясь и ненавидя всех вокруг, начинаешь еще одно утро с таким заказчиком.
Читать дальше →
Total votes 97: ↑68 and ↓29+39
Comments110

Быстрая реализация резервного копирования в Amazon S3

Reading time3 min
Views25K
Я устал испытывать определённые опасения за сохранность данных на выделенном сервере, наблюдая за происходящим у хостеров последнее время… 3FN, Agava, Hosting.UA, МакХост — тенденция получается очень нехорошая.

В итоге, МакХост стал последней каплей, и, чтобы не оказаться в числе тех, кто «уже делает бекапы», я перевёл систему бекапов своего сервера на Amazon S3. Получилось вполне себе быстро и прозрачно.

Хочу поделиться с общественностью простейшей реализацией.
Читать дальше →
Total votes 170: ↑167 and ↓3+164
Comments62

Javascript виджет авторизации OpenID

Reading time3 min
Views7K
Где то полгода назад я сильно увлекся OpenID и всем что с ним связанно. Моим главным занятием в это время стало — неспешное чтение спецификаций, форумов, блогов и хабрапостов OpenID тематики.

Все знания, которые мной были получены за это время, я «материализовал» в проекте компании, в которой собственно я работаю.

Изучая спецификацию OpenID и прочих его расширениях (SREG, AX) и надстройках, мне пришла идея разработать JavaScript виджет со своим API-прослойкой, в помощь другим разработчикам нежелающим «коротать» дни и ночи изучая спеки различных способов авторизации и их расширений.

Собственно об этом далее.
Читать дальше →
Total votes 91: ↑88 and ↓3+85
Comments70

Time Management для Ubuntu'водов

Reading time5 min
Views19K
dropbox logo

Многих хабровчан интересует вопрос Time Management'а. Именно этим объясняются высокие рейтинги статей, описывающие разные методики и технические средства с ними связанные. Попробую и я внести свою лепту, рассказав о том, как на базе нескольких линуксовых машин (3 х Ubuntu 9.10) мной реализована и используется последние полгода система планирования и составления списка задач (Getting Things Gnome! 0.2.3 aka GTG), хронометраж (Time Tracker 2.29.92 aka Project Hamster) и синхронизация конфигурационных и файлов баз данных с помощью Dropbox for Linux v.0.7.110 , так сильно любимого на просторах хабра. Первые два приложения написаны на питоне, что делает их ещё более привлекательными, т.к. позволяет самому быстро разобраться в коде и подвинтить их (приложения) под себя. Хотя и в стандартной конфигурации они справляются с поставленными задачами очень даже не плохо.
картинки и напильник
Total votes 92: ↑79 and ↓13+66
Comments39

15+ полезных документов по jQuery

Reading time2 min
Views7K
Как известно, пару месяцев назад свет увидела jQuery 1.4, в которой мы можем наблюдать множество новых функций и возможностей. А значит, стало еще больше информации для изучения и запоминания. И не важно, насколько хорошо вы владеете искусством jQuery — запомнить всё в любом случае не удастся. И вот здесь нам на помощь приходят всевозможные сборники документаций и шпаргалки, которые очень полезно держать под рукой и периодически в них заглядывать).
Читать дальше →
Total votes 70: ↑59 and ↓11+48
Comments15

Установка и настройка rTorrent в Debian

Reading time6 min
Views65K
Torrent file iconDebian logorTorrent — еще один из самых популярных torrent клинтов в мире Unix-подобных операционных систем (о Transmission я уже написал несколько ранее). При создании этого клиента, по заявлению автора, во главе угла стояли «высокая производительность и хороший код», а использование mmap для отображения файлов в память позволяет добиться на широкополосных каналах трехкратного преимущества перед официальным клиентом. Еще одной характерной чертой rTorrent является наличие множества различных web-интерфейсов «на все вкусы» для удаленного управления. Именно об установке и настройке всего этого я и хочу рассказать на этот раз.
Читать дальше →
Total votes 71: ↑57 and ↓14+43
Comments35

jQuery UI 1.8 зарелизило

Reading time1 min
Views1.4K
image
1) Теперь используется jQuery 1.4.2
2) 5 новых виджетов (в том числе и автокомплит)
3) 1 новый эффект
4) ядро на 71% стало меньше, за счет выноса из него нескольких модулей в отдельные плагины.
5) и т.д.…
Подробнее об изменениях. И тут
Как всегда много демо

Скачать


jQuery UI 1.8 Starter Pack содержит все компонетны и тему по умолчанию. Оптимизирован для использование с Getting Started Guide, для новичков.
jQuery UI 1.8 Development Bundle содержит все компоненты и тему по умолчанию. Оптимизирован для разработчиков.
jQuery UI 1.8 Themes Pack Содержит 21 тему
jQuery UI 1.8 Download Builder создаете сборку самостоятельно

jQuery UI теперь на GitHub! :)
Total votes 55: ↑46 and ↓9+37
Comments13

Как легально получать деньги из-за пределов России

Reading time5 min
Views202K
Дано: заказчик за рубежом, желающий работать с Вами и платить вам евро или доллары.
Найти: оптимальный способ организовать работу с ним, чтобы платить налоги и спать спокойно.

Сразу скажу, что получение денег на пластиковую карту без уплаты налогов может вылиться в серьезные проблемы (про ответственность написано в конце топика). Объяснения, что деньги «от бабушки внучку на мороженное» при суммах больше 10К$ в год уже не прокатывают, особенно если в реквизитах «бабушки» будет стоять что-то вроде «GMBH Star Development» Вероятность того, что возьмут за задницу достаточно высокая и поэтому лучше не рисковать и делать все по Закону, тем более, что ничего сложного в этом нет
Читать дальше →
Total votes 144: ↑142 and ↓2+140
Comments192

Удобное использование сканера HP в локальной сети

Reading time1 min
Views13K
Так получилось, что у нас в офисе в локальной сети стоит МФУ HP LaserJet, подключенный к серверу.
Его печатающая часть расшарена на всю сеть стандартными средствами, а вот со сканированием были проблемы.
Собственно, решены они были написанием двух скриптов (PHP + bash) для сервера, которые позволяют:

  • выбрать источник сканирования (верхний лоток с автопротяжкой для листов А4 или планшетный сканер)
  • установить количество страниц (имеет смысл только для планшетного сканера — он не может определить, когда листы закончились)
  • при желании — тут же перегнать многостраничный документ в PDF
  • скачать получившийся файл(ы) на свой компьютер

Выглядит это все вот так:

Читать дальше →
Total votes 12: ↑9 and ↓3+6
Comments19

Настройка резервного копирования Linux-сервера за 5 минут

Reading time3 min
Views66K
Передо мной возникла необходимость настроить резервное копирование на новом Linux-сервере, задачка эта оочень важная, но уж больно скучная: нужно написать и отладить скрипты, которые будут архивировать нужные папки (причем желательно делать инкрементальные архивы), базы данных, хранилища subversion, а затем переносить эти архивы на удаленный сервер. По этому я попробовал нагуглить готовое решение для этой задачки и в результате наткнулся на backup-manager — замечательный опенсорсный набор bash-скриптов, позволяющих:
  • архивировать любые папки, в том числе и создавать инкрементальные архивы. В конфиге просто указывается список директорий, которые должны быть скопированы, а также «черный список» файлов, которые копироваться не будут.
  • делать резервное копирование баз данных MySQL. В конфиге указываются логин и пароль mysql-юзера, имеющего доступ к базам, а всю остальную работу backup-manager делает сам.
  • делать резервное копирование svn-репозиториев, причем бэкап делается не копированием папки с хранилищем, а с помощью команды svnadmin dump.
  • шифровать архивы.
  • копировать созданные архивы на удаленные сервера по FTP, SSH или (это самая важная для меня фича) в хранилище Amazon S3, а также записывать их на DVD.

Таким образом, один этот этот набор скриптов решил абсолютно все мои задачи, связанные с резервным копированием. Настраивается все это хозяйство не более чем за пять минут, так как в конфигурационном файле каждый параметр имеет подробные комментарии, так что проблем с настройкой возникнуть ни у кого не должно.
Читать дальше →
Total votes 85: ↑74 and ↓11+63
Comments45

Использование URI-Fragment адресации в RIA приложениях на основе ExtJS и Mootools

Reading time7 min
Views1.8K
URI-fragments (они же fragment identifiers, hash, закладки, якоря) в последнее время стали активно использоваться в интерактивных веб-приложениях как удобное средство для указания прямых ссылок на различные элементы интерфейса и состояния приложения. Наиболее ярким примером использования fragment-адресации является GMail. Как Вы могли заметить, папки Входящие, Отправленные, Черновики имеют ссылки, оканчиващиеся на #inbox, #sent, #drafts. Переход между ними не приводит к перезагрузке всей страницы (обновляется только список писем), но в то же время при открытии каждой из них в отдельном окне/вкладке мы сразу же попадаем на искомую страницу.

Реализации такого удобного механизма навигации средствами JavaScript посвящена данная статья
Читать дальше →
Total votes 16: ↑16 and ↓0+16
Comments11

Автоматизируем клиентскую оптимизацию

Reading time12 min
Views5.5K

Предыстория

Как известно, перед тем, как выложить сайт в нет, мы его разрабатываем. И делаем мы это, как ни странно, на машине разработчика. И давно замечено, что javascript, а в некоторых случаях и css удобнее при разработке держать в нескольких файлах.Проблема в том, что, согласно принципам, описанным в статье Best Practices for Speeding Up Your Web Site (перевод доступен на сайте webo.in), для ускорения загрузки сайта нам нужно произвести следующие манипуляции над javascript и css файлами:
  1. Слить весь javascript в один файл, причем, желательно так, чтобы сохранился нужный порядок — т.е., скажем, библиотека jQuery — была ближе к началу, а функции и объекты, которые ее используют — после нее.
  2. Слить весь css в один файл
  3. Сжать эти большие файлы с помощью какой-нибудь утилиты вроде yui-compressor (за исключением css-файлов, название которых начинается, скажем, с префикса ie_, которые содержат data:URL, и поэтому критично относятся к переходам со строки на строку, так что их для собственного спокойствия лучше не сжимать)
  4. Расположить их в таком порядке — css-файл как можно ближе к открывающему тэгу head, а js-файл — как можно ближе к закрывающему тэгу body.
  5. Выставить HTTP-заголовок expires на подольше, чтобы браузер пользователя их закешировал. Ну а для того, чтобы при следующем билде у пользователя обновился js и css надо этим файлам дать какое-нибудь уникальное имя.
  6. Перед отдачей файлов клиенту сжимать их с помощью gzip

К чему это я?

Пункты 5 и 6 уже подробно расписаны в других местах.
Я же хочу рассмотреть в этой статье вопрос автоматизации пунктов 1,2,3,4. А точнее, я хочу предложить инструмент, с помощью которого одним (ну, максимум — двумя-тремя :) нажатием кнопки можно выполнить пункты 1, 2, 3, 4 настоящего списка и получить готовые к заливке на сервер javascript и css файлы.
Интересно?
Total votes 50: ↑48 and ↓2+46
Comments74

Парсим RSS LostFilm'a с помощью grep и передаем на закачку через wget

Reading time4 min
Views21K
RSS
Однажды мне надоело вручную просматривать LostFilm на наличие новых вышедших серий и я решил автоматизировать этот процесс. Дело в том, что многие BitTorrent клиенты имеют в своих настройках так называемые папки слежения (wach directory). Как только в этой папке появляется новый torrent файл BitTorrent клиент сразу же начинает его загрузку. Обычной практикой, к примеру, является создание такой папки и открытие к ней доступа на запись по FTP. Теперь, все что нам требуется, это автоматизировать скачивание torrent файла по выходу нового эпизода в указанную папку для их дальнейшей автоматической загрузки. Как сделать именно это я сейчас и покажу.
Читать дальше →
Total votes 61: ↑53 and ↓8+45
Comments75

Information

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