Как стать автором
Обновить
7
0
Вадим @vshemarov

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

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

Справочник фронт-энд девелопера: виды горизонтальных панелей навигации

Время на прочтение4 мин
Количество просмотров58K

Предисловие: работая верстальщиком, ваш покорный слуга заметил, что существует несколько типов меню; при этом для верстки каждого из них следует использовать свои приемы.
Подробности — под катом.
Читать дальше →
Всего голосов 81: ↑69 и ↓12+57
Комментарии16

Захабренный договор на разработку сайта, дизайна, софта. Версия 1.1

Время на прочтение18 мин
Количество просмотров245K
На сайте немало постов о том, какие условия нужно включать в договор на создание сайтов и программ (краткий список ниже), но нет договора в формате, который можно взять за основу для составления своего договора. Мы изучили условия из постов (спасибо авторам), подумали над ними, переработали и учли в предлагаемой на ваш суд форме договора. Так что договор пока можно считать частично «захабренным».


Договор авторского заказа
Всего голосов 158: ↑147 и ↓11+136
Комментарии124

Как сократить количество написаного кода при ajax запросах? И ассинхронная отправка файлов

Время на прочтение4 мин
Количество просмотров16K
Итак ajax запросы, всё просто, все привыкли их уже писать, но всё же как можно сократить количество написанного кода.
jquery.async.js

Сразу пример:
<form action="/" jasync>
	<input type="submit" />
</form>
форма отправляется ассинхронно

<input type="file" href="/" multiple jasync />
<div type="file" href="/" multiple jasync>Выберите файл</div>
<div href="/" jasync dropfile>Перетащите файлы и они отправятся на сервер</div>
файлы загружаюся асинхронно

<a href="/" jasync data="year=2013&month=5" class="send">отправить данные</a>
данные отправляется ассинхронно

И тут у многих наверное возник вопрос, как обрабатывать полученные данные, если форма не валидна зачем её отправлять, а если я хочу ещё отправить дополнительные параметры?
Читать дальше →
Всего голосов 41: ↑27 и ↓14+13
Комментарии19

Evercookie — самые устойчивые куки

Время на прочтение1 мин
Количество просмотров74K
Samy Mamkar разработал систему, которая позволяет хранить куки в 8 местах, автоматически восстанавливая друг друга, и даже добиться того, чтобы куки, поставленное в одном браузере, действовало и в другом.

Удалить это куки практически невозможно! (Все возможно, конечно, но слишком много мороки)

Куки хранятся в:
  • HTTP Cookies;
  • Local Shared Objects (Flash);
  • Сохранение куки в значениях RGB автосгенерированных и форсированно кэшированных PNG с использованием HTML5 canvas;
  • Сохранение куки в Web History;
  • HTML5 Session Storage;
  • HTML5 Local Storage;
  • HTML5 Global Storage;
  • HTML5 Database Storage через SQLite.

При удалении из одного из этих мест кука автоматически восстанавливается из оставшихся. Работает даже если пользователь сменит браузер (через Local Shared Objects из Flash).

Описание (на английском) и демо: http://samy.pl/evercookie/.
Попробуйте удалить куки, почистить систему и зайти назад.



Как пользоваться?
Читать дальше →
Всего голосов 111: ↑107 и ↓4+103
Комментарии68

Управление картинками и другим бинарным содержимым вашего веб-проекта

Время на прочтение4 мин
Количество просмотров12K
image
Мы, в компании XIAG, в разных проектах постоянно решаем одну и ту же задачу: как хранить и показывать бинарные пользовательские данные. Это могут быть логотипы компаний, PDF файлы с описанием вакансий или приветственное видео. Причем это содержание нужно показывать на страницах сайта самым разнообразным способом: лого должно быть нужного размера, PDF — в виде маленькой превью-картинки, а из видео нужно показать пару стоп-кадров.

Уверен, такая задача знакома всем веб-разработчикам. В этой статье мы хотим поделиться нашим решением проблемы, опубликованным под открытой лицензией на ГитХабе.

Познакомьтесь с веб-сервисом Barberry (https://github.com/Magomogo/Barberry), который мы успешно используем уже около года. Суть сервиса в том, что он хранит оригиналы загруженных документов и способен по-разному отдавать их, конвертируя на лету.
Читать дальше →
Всего голосов 30: ↑26 и ↓4+22
Комментарии33

Bootstrap Dropdown Menus Enhancement

Время на прочтение1 мин
Количество просмотров43K
Мне очень нравятся выпадающие меню из Bootstrap. Благодаря простой и понятной семантике их легко и приятно использовать при верстке.

Но для полного счастья мне не хватало некоторой функциональности.

Итак, встречайте расширения Dropdowns
Всего голосов 51: ↑47 и ↓4+43
Комментарии14

Dater — определяет часовой пояс, локализует и форматирует время в PHP

Время на прочтение4 мин
Количество просмотров22K


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

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

И так, встречайте — Dater, и его основные возможности:

  • Биндинг форматов
  • Локализация текстов и форматов
  • Расширение списка опций форматирования
  • Автоопределение часового пояса
  • Конвертация времени с учётом часового пояса
  • Автоматическая конвертация времени в $_GET, $_POST, $_REQUEST с учётом часового пояса
  • Автоматическая конвертация часового пояса в шаблоне отправляемых данных
Читать дальше →
Всего голосов 41: ↑34 и ↓7+27
Комментарии92

4 лайфхака для инвестиций в стартап: ура, есть быстрая и простая юридическая модель

Время на прочтение4 мин
Количество просмотров48K
Привет!
Я занимаюсь вопросами инвестирования уже 8 лет, и из которых последние 2 года – возможностями быстрого, простого и массового инвестирования в стартапы. Проще говоря, моя задача – получить платформу, где можно нажать на кнопку «заплатить 1000 рублей» — и эта 1000 рублей сразу же станет полноценной инвестицией со всей необходимой юридической обвязкой.

Раньше я уже писал, что единственный проверенный до настоящего момента способ – это открытие ОАО или ЗАО на стартап. Это требует кучи времени, ресурсов и не даёт запускать маленькие проекты. Сейчас нашелся метод гораздо, гораздо проще. Про него я и расскажу ниже.
Читать дальше →
Всего голосов 44: ↑32 и ↓12+20
Комментарии83

Фабрика виджетов jQuery UI

Время на прочтение9 мин
Количество просмотров56K
Все jQuery UI виджеты создаются на простой основе — Фабрике Виджетов. Она обеспечивает гибкую основу для создания сложных, структурированных плагинов с совместимым API. С её помощью можно создавать не только плагины jQuery UI, но и любые объектно-ориентированные компоненты, не изобретая велосипедов. Она не зависит от других компонентов jQuery UI, наоборот, большая часть компонентов UI зависит от неё.

Что это?


Фабрика виджетов это метод глобального объекта jQuery —
jQuery.widget
Всего голосов 34: ↑34 и ↓0+34
Комментарии16

Zend_Search_Lucene + PHPMorphy — это просто

Время на прочтение2 мин
Количество просмотров2.7K
Когда-то смотрел документацию по Zend_Search_Lucene. Все хорошо, все понятно. Бери и встраивай в свой сайт. Только вот ни слова там нету про то, каким образом прикрутить стеммер или морфологический анализатор к этой штуке. На деле оказалось, что подружить его, например, с PHPMorphy, очень просто.
Собственно, как это сделать — под катом.
Заметка в первую очередь будет полезна разработчикам, перед которыми проблема полнотекстового поиска на сайте еще не стояла.
Тут вы не найдете мануала по настройке Lucene или PHPMorphy — этой информации и так предостаточно в интернете.

Читать дальше →
Всего голосов 15: ↑12 и ↓3+9
Комментарии3

Встраиваем Sypex Dumper в свою админку

Время на прочтение4 мин
Количество просмотров19K
Многие популярные CMS, как с открытым исходным кодом, так и коммерческие, имеют в своем составе модули бэкапа. Но проблема в том, что чаще всего эти модули делаются по остаточному принципу, и весьма примитивны, не учитывают многих тонкостей создания дампа. Также чаще всего эти модули банально никто не тестируют на большие объемы (прогнали его на тестовой полупустой БД и рады).

В отличии от подобных модулей, Sypex Dumper является скриптом заточенным исключительно на бэкап и восстановление MySQL. И без проблем работающий с базами даже в несколько гигабайт. Но, кроме того, что дампер работает, как отдельное приложение, в нем была предусмотрена возможность встраивать его в сторонний софт.

В данной статье я расскажу, как быстро и довольно просто встроить Sypex Dumper в административную панель своей CMS (форума, блога и т.п.). А также рассмотрим некоторые недокументированные возможности такой интеграции.
Читать дальше →
Всего голосов 36: ↑26 и ↓10+16
Комментарии34

OVH: заказываем микро-сервер у крупнейшего хостера в мире

Время на прочтение3 мин
Количество просмотров111K
OVH — на данный момент является крупнейшим хостинг-провайдером в мире, 120 тысяч серверов в Европе и еще 360 тысяч — в Канаде. Дичайшая конкуренция на французском рынке держит цены на низком уровне (особенно на трафик).

Интерес эта компания у многих вызывала давно, до 2011-года они вообще работали только с резидентами ЕС, после — регистрироваться приходилось в разных отделениях в разное время, оставалось много неясных (для меня) вопросов. Их я и решил прояснить.

Под катом — краткий рассказ о том, в какой валюте придется платить, как избавиться от НДС, какие документы требуют и краткий тест выделенного сервера на Atom-е за 10 евро в месяц.
Читать дальше →
Всего голосов 75: ↑74 и ↓1+73
Комментарии127

Ищем деньги. Каталог инвесторов для стартапа

Время на прочтение4 мин
Количество просмотров230K
UPD: получил инвестиции под свой проект в сфере обучения облачным технологиям

Здравствуйте уважаемые Хабравчане, особенно те, у кого есть идея своего стартапа! А вот с деньгами и осведомленностью похуже. Хочу Вам в помощь поделиться небольшой таблицей IT-инвесторов, которая была составлена для себя. Дело в том, что я также как и вы, обладаю минимум информации. Такие вопросы как: «к кому идти за деньгами», «как составить бизнес-план», и наконец «кому я вообще нужен со своей идеей» — давно стали навязчивыми.
Именно сейчас, после Новогодних праздников, самое время начать искать тех самых менторов, инвесторов, бизнес-ангелов, да и в целом зачитываться информацией на эту тему. Да, и у меня есть свой стартап, который перестал быстро развиваться и я активно ищу инвестора на дальнейшее развитие (О чем уже писал неделю назад).
Под катом таблица, со списком полезных ссылок, в помощь начинающим IT-компаниям.
Читать дальше →
Всего голосов 86: ↑75 и ↓11+64
Комментарии41

Уроки написания утилитки на $1 000 000

Время на прочтение4 мин
Количество просмотров197K


Осенью 2008 года мы потратили две-три недели свободного от основной работы времени, чтобы написать маленькую утилитку для бэкапа баз данных (MS SQL Server и потом MySQL). Сегодня она приносит нам около $230 000 в год и можно с уверенностью говорить, что суммарно мы заработаем на ней больше $1 000 000.

Под катом я расскажу, как это получилось и какие уроки мы из этого извлекли. Вполне возможно, что нам просто глупо повезло и опыт этот целиком неверен и теории не соответствует и только навредит вашему начинанию — читайте на свой страх и риск.
Читать дальше →
Всего голосов 471: ↑457 и ↓14+443
Комментарии247

WebRTC #1 — Знакомимся

Время на прочтение3 мин
Количество просмотров153K


Многие уже слышали о проекте WebRTC, некоторые даже используют его (или пытаются применять в существующих проектах), а кто-то злобно потирает руки, предвкушая постепенную расправу со Skype и Flash.

Погуглив в Хабре (хе-хе) я почему-то не нашел статей, которые углублялись в техническую сторону WebRTC, показывали бы примеры его использования.

Что же, я попытаюсь порадовать вас схемками, кодом. В общем, именно тем, что всем по вкусу. Так пройдем же под кат, мой любимый читатель.
Читать дальше →
Всего голосов 58: ↑56 и ↓2+54
Комментарии12

Адаптивные колонки

Время на прочтение2 мин
Количество просмотров32K
При создании колонок обычно приходится применять специальные CSS-классы к первому и последнему элементу. В этой статье рассказано о небольшом трюке, который упрощает верстку колонок, а также делает их адаптивными.

Суть метода сводится к использованию псевдокласса nth-of-type: количество и ширина колонок меняется на экранах разных размеров (Демонстрация).

Недостатки использования классов для первого и последнего элементов


Применять классы .first и .last для колонок в каждой строке для корректного отображения очень утомительно, к тому же возникают проблемы при верстке адаптивно:

Читать дальше →
Всего голосов 56: ↑51 и ↓5+46
Комментарии35

Автоматический прием Яндекс.Денег на сайте на php

Время на прочтение4 мин
Количество просмотров74K
Документация по приему Яндекс.Денег не содержит конкретного примера на PHP, чтобы можно было максимально быстро все прикрутить, не разбираясь во всех деталях того, как работает прием Яндекс.Денег на PHP. Сделав автоматический прием Яндекс.Денег для нашего дата-центра, я хотел бы дать пошаговую инструкцию с примерами кода на PHP, чтобы значительно сэкономить время другим разработчикам.

Изначально автоматический прием Яндекс.Денег мне казался очень сложным. Но как выяснилось там все проще чем у WebMoney.

Шаг 1: Создаем HTML-форму для приема платежей


Сам код формы можно сгенерировать тут money.yandex.ru/embed/quickpay/shop.xml Но поскольку наша цель принимать платежи автоматически, то в HTML-форму нужно добавить id счета, который клиент нам оплачивает. И скорее всего, мы хотим получать полную сумму счета, т.е. хотим комиссию Яндекса 0.05% возложить на клиента, поэтому в результате HTML-форма
в нашем php-скрипте будет генериться так:
Читать дальше →
Всего голосов 49: ↑16 и ↓33-17
Комментарии45

Gamma Gallery — отличная адаптивная галерея

Время на прочтение3 мин
Количество просмотров62K
Создание фотогалереи для адаптивного дизайна — не самая простая задача. Следует учитывать отображение на экранах различной ширины, при этом не загружая слишком много графики на мобильных устройствах. Хорошее решение — Gamma Gallery, выглядит очень круто.



Демонстрация | Исходники
Читать дальше →
Всего голосов 52: ↑44 и ↓8+36
Комментарии38

TorrentMonitor

Время на прочтение4 мин
Количество просмотров60K
Как говорится — лень — двигатель прогресса. Я не открыл ничего нового и так же ничего нового не придумал. Взяться за реализацию этой идея меня подтолкнуло то, что универсальные мониторилки не в состоянии работать с некоторыми нашими трекерами (например rutracker.org), да и функционал немного не тот, что мне нужен. Проект изначально писался исключительно под себя, под свои требования и задачи, а потом захотелось поделиться им с людьми.

Список возможностей приложения выглядит следующим образом:
— слежение за темами на nnm-club.ru
— слежение за темами на rutracker.org
— слежение за релизерами на nnm-club.ru
— слежение за релизерами на rutracker.org
— поиск новых серий на lostfilm.tv
— поиск новых серий на novafilm.tv

Если вам стало хоть немного интересно, добро пожаловать под кат.
Читать дальше →
Всего голосов 84: ↑73 и ↓11+62
Комментарии145

Привлекательные экспериментальные плагины на JavaScript

Время на прочтение2 мин
Количество просмотров49K

Вступление


Я безумно люблю различные эксперименты на JS. Они словно позволяют заглянуть нам в будущее, и посмотреть, каким захватывающим и футуристичным оно будет. Когда вы будете просматривать приведенную подборку, вы наверняка вспомните про еще недавнего короля — Adobe Flash, а затем осознаете, насколько быстро CSS и JavaScript лишили его трона. Современные браузеры позволяют нам использовать множество различных эффектов и анимаций без сильных тормозов. Однако слово «экспериментальный» подразумевает ряд ограничений, как например некорректное отображение в некоторых браузерах (IE), кроме того, подобные плагины будут, скорее, отличным концептуальным дополнением для персональных страниц, а не для использования в больших проектах.

Meny


image

Meny — трехмерное меню, которое помимо своей визуальной притягательности еще и экономит место на экране. При наведении (или свайпе на тачскрине, что важно), меню «выезжает» с отличным эффектом.
Читать дальше →
Всего голосов 128: ↑122 и ↓6+116
Комментарии35

Информация

В рейтинге
Не участвует
Откуда
Москва, Москва и Московская обл., Россия
Дата рождения
Зарегистрирован
Активность