Как стать автором
Обновить
35
0
Владимир Мухин @vnmukhin

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

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

Нет комарам! Обзор антимоскитных «фитобоеприпасов»

Время на прочтение15 мин
Количество просмотров30K
Написав статью про растения отпугивающие клещей я получил большое количество вопросов по поводу других насекомых. И тут уж комары — лидеры. Им этот обзор и посвящается, объединил в одно сообщение все заметки из своего канала с хэштегом #mosquitocide


Скажем НЕТ Комарам!
Всего голосов 60: ↑58 и ↓2+56
Комментарии74

Трафик из Яндекс.Директ: грузите посетителей по центу

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

Можно ли приводить много заинтересованных посетителей из Директа по 30 копеек за посетителя? Можно и нужно, особенно, если ваш ресурс только встает на ноги и нужно быстро и недорого привести на сайт заинтересованных людей.

Это – пошаговое руководство для тех, кто хочет знать, каким боком из Яндекс Директ (на вполне законных, между прочим, основаниях) привлекать недорогой трафик по 0.01 у.е или 30 копеек за переход.
Читать дальше →
Всего голосов 122: ↑116 и ↓6+110
Комментарии59

InfiniteWP: управляем всеми сайтами на WP из одной панели

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

Итак здравствуйте!


На данный момент много (больше 30) наших клиентов заказали себе сайт на популярной CMS WordPress, и остались на поддержке.
Это значит порядка 30 сайтов к которым надо иметь пароли, проверять на наличие обновлений, устанавливать нужные плагины, наполнять материалом и делать хорошо клиенту и его сайту.
И совсем недавно у меня возник вопрос, а что если все это упростить? Собрать все в одном месте?

Сказано — сделано. Искал — нашел.


Читать далее
Всего голосов 45: ↑40 и ↓5+35
Комментарии27

Аспекты HTML & CSS

Время на прочтение4 мин
Количество просмотров8.6K
В данном материале собраны аспекты, которые полезно знать и помнить html developer-у. Часть вопросов посвящена IE — сам отказался от поддержки IE6, однако знать особенности его поведения не будет лишним.
Читать дальше →
Всего голосов 93: ↑65 и ↓28+37
Комментарии36

Валидация в JavaScript с помощью Valid8

Время на прочтение2 мин
Количество просмотров4.9K
Часто приходится «насыщать» интерфейсы с помощью JavaScript. В основном работаю через jQuery, всё нравится, но одна беда – валидация. Постоянно приходится изобретать «велосипед», искать в сети обрывки кода; а ведь хочется написать пару строчек без углубления в детали. Радость не заставила себя ждать: нашёл библиотеку Valid8 (произносится как validate), и, наконец, решил проблему написания кода валидации.

Как пользоваться


Пользоваться библиотекой оказалось очень просто, чего не скажешь о склеивании jQuery «обрезков» из интернета. Чтобы подключить библиотеку, нужно зайти сюда и нажать заветный Download. Скачается архив, в котором особый интерес представляет файл jquery.valid8.js, его копируем в папку с js файлам нашего проекта и подключаем библиотеку в html:
<script src="/js/jquery-1.6.3.js" type="text/javascript" charset="utf-8"></script>
<script src="/js/jquery.valid8.js" type="text/javascript" charset="utf-8"></script>

Допустим у нас есть форма:
<form><ul>
<li><input type="text" id="inputSome" /></li>
</ul></form>

Добавляем валидацию (по умолчанию только проверка обязательности заполения), передавая в качестве параметра строку с сообщением об ошибке. Работаем в стиле jQuery:
$('#inputSome').valid8("Заполни это поле!");

После того как поле получит фокус и вы из него выйдете не заполнив, объемлющий тег (в нашем случае li) получит класс стиля error.
Для визуализации ошибок добавим CSS в head нашего документа:
<style>
.error input { background:pink; }
</style>

Валидация готова. Все.

Читать дальше →
Всего голосов 60: ↑55 и ↓5+50
Комментарии14

CSS хаки

Время на прочтение4 мин
Количество просмотров126K
Браузеры и стандарты. Вечная погоня. Из-за несоответствий стандартам, из-за разных способов рендеринга страниц большая часть времени веб-дизайнера уходит на то, чтобы загладить эти несоответствия (использовать хаки). В итоге, вместо эффективной работы, дизайнер вступает в противоестественные отношения с браузерами, теряя драгоценное время.
Читать дальше →
Всего голосов 290: ↑242 и ↓48+194
Комментарии147

Нечёткий поиск на клиенте и Soundex

Время на прочтение7 мин
Количество просмотров8.6K
Soundex — один из алгоритмов сравнения двух строк по их звучанию. Был разработан чуть менее 100 лет назад Робертом Расселом и Маргарет Оделл. Активно используется в США при диктовке фамилий.

Я давно интересовался применением этого алгоритма и нашёл ему место для фильтрации данных на клиенте, а точнее, для поиска отеля по названию в проекте Островок.ru.

Задача

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

Решение, проблемы и готовый скрипт
Всего голосов 72: ↑70 и ↓2+68
Комментарии44

Как безболезненно перейти на GTD

Время на прочтение8 мин
Количество просмотров43K
В качестве эпиграфа: "Выкиньте все из головы!" © D.Allen

Если вы задумались о том, почему вас не устраивает текущее положение дел, то это означает только одно — у вас проблема с ведением дел и то, что ваша действующая система контроля за делами не работает. Есть конечно редкое исключение — на вас взвалено слишком много, чтобы вы могли это исполнить. Но я такого еще не видел.

Серебряной пули, увы, тут нет. Никто за вас ваши дела не сделает, а методика контроля, даже самая действенная, не добавит в рабочие сутки больше часов, чем имеется. Поэтому не стоит надеяться, что все проблемы испарятся, как дым, стоит только установить соответсвующую программу или внедрив ту или иную методику. Все зависит только от вас и больше ни от кого еще.

За что я «люблю» Дэвида Аллена, так это за то, что он сказал много хорошего, дал пищу для ума, но не дал никаких действенных рецептов для внедрения его техники. Я же хочу загладить этот пробел.
Читать дальше →
Всего голосов 73: ↑61 и ↓12+49
Комментарии39

Настройка сервера для django-проектов с нуля

Время на прочтение6 мин
Количество просмотров41K
Хочу поделиться опытом настройки сервера для django-проектов. Так вышло, что мне часто приходится настраивать с нуля VPS-сервера для запуска на них django-сайтов. Как-то мне в голову пришла идея записать пошагово процесс настройки. Оказалось, что “по бумажке” выполнять эти рутинные операции гораздо проще и быстрее — все нюансы записаны, трудно что-то упустить. Дальше больше — я превратил инструкцию в самостоятельный shell-скрипт — запустил и сервер готов. Я думаю, некоторым python-разработчикам, особенно начинающим, будет полезно ознакомиться с содержимым скрипта. С некоторыми доработками вы, возможно, захотите использовать его в своей практике.
Читать дальше →
Всего голосов 111: ↑100 и ↓11+89
Комментарии56

Как привлечь пользователей в ваш стартап

Время на прочтение6 мин
Количество просмотров1.4K
Наиболее частый вопрос, который я слышу от молодых предпринимателей — «Как я заполучил пользователей?»

И вот как я это делаю.

Обо мне

(испытываешь странное чувство от описания себя, но в случае если вы читаете это и удивляетесь, кто же этот парень… на самом деле я всего лишь пытаюсь помочь).

Я сделал блог с 5 миллионами читателей, рекламную биржу которая охватывает больше людей чем Facebook, написал книгу которая была 12-ой на Amazon и сделал еще кучу всяких разных странных вещей, которые популярны и приносят деньги. Я создал новую растущую компанию социальных покупок. Я ангел-инвестор и советник в дюжине разных компаний и одном университете. Я присутствую на нескольких журнальных обложках и тут (оцените количество просмотров и комментарии людей, которые желали бы чтобы их «папочка был так же крут» как я).
Читать дальше →
Всего голосов 123: ↑100 и ↓23+77
Комментарии65

jQuery UI как инфраструктура для плагинов

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

Введение


jQuery UI больше всего известен как набор готовых виджетов. Главное их преимущество, на мой взгляд, — консистентное API: каждый виджет управляется одинаково. Второе их преимущество — они хранят свое состояние: если повторно навесить виджет на элемент, то результатом будет уже существующий инстанс виджета.
Но jQuery UI — это не только набор окошечек и табов (далеко не всеми любимых). Это еще целая инфраструктура для создания своих виджетов: с удобным консистентным API, с хранением состояния и с возможностью наследования. Как ни странно, это для многих новость, в результате чего и появилась эта статья — так же, как это было новостью для меня всего несколько месяцев назад.
Все, что вы хотели узнать о jQuery UI, но стеснялись спросить
Всего голосов 87: ↑86 и ↓1+85
Комментарии51

Что почитать, чтобы повысить свой уровень JavaScript

Время на прочтение3 мин
Количество просмотров98K
От переводчика: Я думаю многие читали статью Rey Bango — What to Read to Get Up to Speed in JavaScript, но до хабра обсуждение так и не докатилось. Предлагаю закрыть этот пробел и поговорить о хороших книгах, блогах, тренингах и конференциях, посвященных в первую очередь клиентскому JavaScript и клиентской веб-разработке. Чтобы не копипастить оформляю статью в виде перевода.

Сейчас в рассылке JSMentors JavaScript идет обсуждение книг, который стоит прочитать, чтобы улучшить свои знания. Там было много позитивных отзывов и предложений. Я хочу показать вам те книги и интернет-ресурсы, который я считаю важными и которые помогут вам в обучении. На этой странице я перечислил большое количество источников, разделенных по уровням.

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

Не заставляю вас читать все книги, которые предложены ниже. Эти книги я читал на протяжении многих лет и почерпнул в каждой много полезного. Я их распределяю по категориям, чтобы вам было проще работать с ними. Выберите книги, которые подходят вам.
Читать дальше →
Всего голосов 165: ↑161 и ↓4+157
Комментарии31

Кроссбраузерный inline-block

Время на прочтение4 мин
Количество просмотров121K
Разрешите представить вам перевод статьи «Cross-Browser Inline-Block», написанной Райном Доэрти холодным февралем 2009 года. В статье рассказывается о верстке элементов списка с установкой для свойства display значения inline-block. Статья об этом, а также о трудностях, возникающих в процессе достижения результата и о методах их «лечения».

Узнать метод Райна Доэрти
Всего голосов 143: ↑119 и ↓24+95
Комментарии65

Быстрый старт в MODX Revolution

Время на прочтение4 мин
Количество просмотров60K
Revolution дорос уже до версии 2.0.8, но большинство разработчиков не спешит его использовать, так как документация еще не полная, да и статей на русском очень мало.
Лично я не нашел ни одной пошаговой инструкции «для чайников», и поэтому решил написать ее сам.

Конечно, это топик для не «совсем чайников», а для людей, которые хоть немного знакомы с Evolution и при переходе на Revolution обломались от всего непривычного, как я. Никаких секретов и ловких методик тут не будет. Обычный how-to с картинками (их довольно много).
Читать дальше →
Всего голосов 37: ↑33 и ↓4+29
Комментарии47

Украшаем списки

Время на прочтение5 мин
Количество просмотров24K
В 2002 году Марк Ньюхаус (Mark Newhouse) опубликовал статью «Укрощение списков» ("Taming Lists"), довольно-таки интересную часть которой он посвятил объяснению того, как создавать собственные списки, украшенные псевдо-элементами. Почти десять лет спустя Николас Галлахер (Nicolas Gallagher) изобрел технику, которая использует псевдо-элементы из спрайтов, для создания фоновых изображений.
Сегондя, основываясь на опыте гигантов, мы постараемся развить эту тему. Мы обсудим, как можно украсить элементы без дополнительной разметки, используя только технику CSS-спрайтов. Результат будет работать также в Internet Explorer 6 и 7 версии.
Читать дальше →
Всего голосов 113: ↑107 и ↓6+101
Комментарии27

PrestaShop 1.4 – новая версия платформы интернет-магазина

Время на прочтение5 мин
Количество просмотров13K
image

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

Было приятно прочитать вечером в твиттере:
Here we are guys! PrestaShop v.1.4 Final is out, check it now!
More info tomorrow ;-) Now we're gonna sleep a bit! -->


А на следующий день, как и было обещано, выложен список основных изменений, перевод которого можно найти под катом.
+ скриншоты

Читать дальше →
Всего голосов 46: ↑39 и ↓7+32
Комментарии32

audio.js — слушаем музыку в любом браузере

Время на прочтение1 мин
Количество просмотров69K
audio.js — это javascript библиотека, позволяющая использовать HTML5 тэг повсюду. Что скрывается за словом «повсюду». Если есть возможность использовать тэг , то будет использоваться он, иначе будет подключен плеер на flash. В библиотеку так же входит и UI отображение для этого плеера, которое может быть видоизменено с помощью css.
Читать дальше →
Всего голосов 77: ↑74 и ↓3+71
Комментарии37

jCanvaScript: JavaScript библиотека для работы с html5 canvas

Время на прочтение3 мин
Количество просмотров11K
imageВсем доброго!
jCanvaScript — это, как видно из «картинки для привлечения внимания», JavaScript-framework. Не трудно, я думаю, догадаться из названия топика, что предназначение библиотеки — работа с элементом HTML5 canvas. Под катом всех заинтересовавшихся ждет небольшой рассказ о библиотеке и о том, как она создавалась.
Читать дальше →
Всего голосов 93: ↑87 и ↓6+81
Комментарии78

CSS спрайты из командной строки

Время на прочтение3 мин
Количество просмотров4.2K
Да, инструменты для создания CSS спрайтов существуют. Я даже сделал один такой сервис. Но они время от времени ломаются (как сейчас, мой). Но и командная многого стоит, и imagemagick. Давайте посмотрим, как мы можем создавать CSS спрайты только из командной строки.

Создание картинки


Начнем с того, что у нас есть список отдельных файлов:
$ ls

1.png  2.gif  dot.png  phoney.gif  tw.gif

  • — 1.png
  • — 2.gif
  • — dot.png
  • — phoney.gif
  • — tw.gif

Сделаем из них спрайт:
$ convert *png *gif -append result/result-sprite.png

Да, это все. Смотрим результат.

Читать дальше →
Всего голосов 139: ↑129 и ↓10+119
Комментарии22

Кроссбраузерные HTML инклуды \(^_^)/

Время на прочтение7 мин
Количество просмотров6.4K
Пусть у нас есть простенький хтмльчик index1.htm

<!DOCTYPE html><br><html><br>    <head><br>        <title>Xbrowser HTML includes</title><br>        <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><br>    </head><br>    <body><br>        <h1>First file</h1><br>    </body><br></html>

Как известно, хтмл поддерживает инклуды только через iframe/object, но с ними не очень удобно работать из яваскрипта.

Можно, конечно, прописать в каждую подключаемую страницу скрипт типа такого

new function(){<br>    var frame= window.frameElement<br>    if( !frame ) return<br>    var parent= frame.parentNode<br>    var body= document.getElementsByTagName( 'body' )[0]<br>    var child;<br>    while( child= body.firstChild ) parent.insertBefore( child, frame )<br>    parent.removeChild( frame )<br>}

Он переносит своё содержимое в родительский документ и удаляет фрейм. Но в случае отключённоо яваскрипта мы получим окошко ифрейма не подстраивающееся под размер содержимого.
А дальше - жёсткое порево
Всего голосов 66: ↑52 и ↓14+38
Комментарии132
1

Информация

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