Как стать автором
Обновить
0
0
Павел Мешков @pashamesh

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

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

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

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

Использование bash completion в командной строке, собственных скриптах и приложениях. Часть 2

Время на прочтение5 мин
Количество просмотров25K
Про bash completion на хабре я уже писал тут, и даже конце пообещал рассказать про настройку автодополнения для собственных скриптов.

Однако, прошло уже полтора года, а лично у меня до продолжения руки так и не дошли. Зато эту почетную обязанность взял на себя хабраюзер infthi, опубликую от его имени.

Читать дальше →
Всего голосов 54: ↑53 и ↓1+52
Комментарии20

Ускоряем логин через SSH в Ubuntu в 100 раз

Время на прочтение2 мин
Количество просмотров42K
Долгое время я мучился ужасно медленным удаленным логином на свои Ubuntu сервера (все 2 ). Ужасно медленно в данном случае — 2-3 секунды. Не то чтобы это было совсем фатально, но когда логин через ключ — хочется чтобы все работало мгновенно — в конце концов, у нас не 486SX.

Длительное гугление приводило только к стандартным решениям:
  1. UseDNS no в /etc/ssh/sshd_config — ускоряет логин в случае тормозного DNS. В моём случае стоял локальный кеширующий DNS, потому и так все было быстро.
  2. Принудительное указание IPv4 в SSH клиенте — особо не помогло, видимо не у всех тормозит
И на askubuntu.com вопрос c bounty уныло провисел долгие недели без ответа…

Читать дальше →
Всего голосов 145: ↑135 и ↓10+125
Комментарии44

Стремимся к минимализму (подборка сайтов, где можно черпать вдохновение)

Время на прочтение1 мин
Количество просмотров33K
image
Ни для кого не секрет, что в настоящее время многие стремятся к минимализму в дизайне чего бы то ни было. Действительно, когда нет ничего лишнего, то повышается и восприимчивость информации. Но это все лирика. Сказано было это еще до меня и много. Предлагаю вашему вниманию подборку сайтов, посещение которых может направить ваши мысли по поводу разрабатываемого дизайна в нужное русло.
Читать дальше →
Всего голосов 124: ↑112 и ↓12+100
Комментарии28

Руководитель проекта: три шага команды к совершенному коду

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

Преамбула


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

И вот, вы, принимая пост, знакомитесь с командой: вроде бы есть потенциально сильные разработчики с опытом, есть несколько подающих надежды юниоров. Но что-то сразу бросается в глаза. И чем дольше вы вглядываетесь в эти занятые работой умные лица, тем более понимаете, что перед вами не команда, а «группа разработчиков». А то, что они пишут… Вы и не думали, что программисты могут так писать код. Вы смотрите на пластилиновую архитектуру, на классы в 6000 строк кода, на методы, занимающие десять страниц машинописного текста, на кейсы, ветвящиеся как головы Лернейской гидры. И у вас появляется невольный вопрос: а можно ли что-то с такой командой сделать вообще?

И мой ответ — можно. И нужно!
Читать дальше →
Всего голосов 85: ↑81 и ↓4+77
Комментарии70

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

Применение алгоритмов нечеткого поиска в PHP

Время на прочтение7 мин
Количество просмотров31K
Вдохновленный топиками о нечетком поиске и фонетических алгоритмах, захотел попытаться реализовать нечто подобное похожее на гугловское «Возможно, вы имели в виду: ...» средствами PHP.

Для исправления опечаток в словах понадобится:
Расстояние Левенштейна (или расстояние Дамерау-Левенштейна — разница будет незначительной) — levenshtein()
Metaphonemetaphone()
Алгоритм Оливера — similar_text()
База русских слов (с падежами, учетом времен и т.д.).
Читать дальше →
Всего голосов 59: ↑56 и ↓3+53
Комментарии22

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

Время на прочтение3 мин
Количество просмотров4.3K
Да, инструменты для создания 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

Веб-кластер — опыт реального применения

Время на прочтение9 мин
Количество просмотров20K
Приветствую, уважаемые сообщники!

Эта статья — о том, как мы реализовали веб-кластер для новостного портала (с пиком посещений в 130 тысяч уникальных посетителей в день — это 7Тб траффика за 3 дня — выборы и 2 последующих. Сейчас в среднем кластер раздаёт 35-40 Тб траффика в месяц), о том, как по-разному понимают одинаковые задачи программисты и журналисты, о том, как можно достичь одной и той же цели, идя разными путями.

Она будет интересна тем, кто хочет построить легко масштабируемый географически распределённый веб-кластер, не вкладывая астрономических сумм в оборудование (а по меркам телевидения — будут вообще смешные суммы).

Я больше чем уверен, что маркетологи, толкающие убер-решения свежевыпущенных продуктов, имеющих в своём названии слова «масштабируемый веб-кластер» или «horizontal infinite scalable web cluster», меня возненавидят.

Я больше чем уверен, что конкуренты наших клиентов будут удивлены простотой решения, которое мы использовали.

Читать дальше →
Всего голосов 97: ↑84 и ↓13+71
Комментарии99

Сделай сам: регистрация ООО

Время на прочтение6 мин
Количество просмотров33K
Не так давно мы размещали подкаст, в котором Антон Шаяхов поведал миру, как быстро и качественно зарегистрировать ИП. Совершенно незаслуженно мы обошли вниманием более сложный процесс. Исправляемся.

Дано: ведется деятельность в качестве ИП, есть доступ в интернет, уровень интеллекта выше среднего.
Задача: в кратчайшие сроки и с минимальными затратами закрыть ИП и зарегистрировать ООО.

Почему ООО?
Всего голосов 134: ↑126 и ↓8+118
Комментарии104

Пример техзадания на сайт. Сэкономит время и нервы

Время на прочтение2 мин
Количество просмотров41K
Сайт – всегда компромисс между разработчиком и владельцем, каждый из которых – профессионал в своей области.

Точек зрения на то, каким должен быть сайт, много: у программиста одна, у дизайнера – другая, у интернет-маркетолога – третья, у владельца…

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

В чем преимущества грамотно написанного технического задания:
  • однозначное понимание всеми участниками проекта того, как и что должно работать
  • экономия времени на разработке и всяческих уточнениях
  • возможность еще до начала работы оценить сложность проекта и продумать тонкие моменты
  • возможность после завершения работы отследить, все ли было сделано так, как задумывалось
  • возможность рассчитать окончательную стоимость проекта до начала работы
  • возможность распределить ответственности обеих сторон

под катом - выдержки из концепции сайта
Всего голосов 59: ↑46 и ↓13+33
Комментарии38

404. Обработчика ошибки нет — посетитель потерян

Время на прочтение2 мин
Количество просмотров6.6K
С удивлением обнаружил, что даже опытные веб-девелоперы часто забывают о том, что сайту нужен обработчик ошибки 404 (страница не найдена).

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

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

Причины возникновения ошибки
  • Компания создала новый ресурс, а в индексе поисковых систем еще не произошло обновление информации о новых документах
  • Страницы на сайте тоже иногда «пропадают». Удалили, изменили адрес
  • Мы не идеальны, можем тоже наделать ошибок в URL, особенно, когда торопимся

В итоге — посетитель потерян, т.к. получает черный текст на белом фоне безо всякого оформления и привязки к вашему сайту:
Not Found
The requested URL /asdsadqwe was not found on this server.

И это вместо адекватного сообщения о том, что страница была перенесена или удалена и рекомендации по тому, откуда ему стоит начать дальнейшее общение с ресурсом.
под катом - способы использования страницы 404
Всего голосов 27: ↑16 и ↓11+5
Комментарии33

Юзабилити веб-форм или онлайн-заказ по-человечески

Время на прочтение7 мин
Количество просмотров5.4K
Сегодня мне пришел заказ от весьма крупной компании. Они просят реализовать на одном из их сайтов вот такое решение (орфография оригинала, названия изменены):

Пользователь на сайте заходит в «Калькулятор стоимости решения „ЗАО Рога и Копыта“.
Там он отвечает на 11 вопросов для расчета стоимости решения. После этого пользователю должно быть предложено заполнить свои ФИО, должность, название организации и email.
На указанный email должно быть отправлено уведомление: „По указанному адресу в скором времени Вам будет выслана стоимости решения “ЗАО Рога и Копыта», на основе заполненной на сайте rogaiko.pyta анкеты".
На нашу почту должены прийти контакты пользователя и ответы на вопросы. В течении суток мы рассчитываем решение и высылаем на указанный адрес.

(прим.авт. — средняя стоимость решения более миллиона рублей).

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

1. «Калькулятор» означает устройство, которое выполняет расчет и выдает результат сразу.
Называя онлайн-сервис «калькулятором», мы как бы обещаем пользователю, что после того, как он потратит свое время и заполнит анкету, он сразу получит важный для него результат.
Если это не так, если над ответом будут трудиться живые люди, и придет он через пару дней, то мы не должны обманывать пользователя, называя этот сервис «калькулятором». Этот сервис правильнее назвать «запрос ценового предложения». Это операция совершенно иного характера, и заниматься такими запросами будут совсем иные люди с иной целью.
Особенно вызовет раздражение пользователя ситуация, когда о том, что это на самом деле не калькулятор, он узнает лишь после того, как заполнит и отправит анкету.

2. Большинство пользователей настоящих онлайн-калькуляторов подсчитывают на них что-то, в основном, ради любопытства, пусть и не праздного. Для них это быстрый способ узнать, стоит ли им тратить время на общение с этой компанией, или нет, а если да, то можно ли как-то сэкономить на том или ином решении. Для этого они могут пользоваться калькулятором несколько раз, вводя разные параметры и сравнивая результаты. Делается это, как правило, без особой предварительной подготовки, и некоторые параметры пользователь может ввести с изрядной погрешностью, что называется, «от фонаря». Заниматься этим будет, вероятно, сотрудник невысокой должности и квалификации, либо просто частное лицо.
Факт использования калькулятора совершенно не означает готовности пользователя пойти дальше и сделать заказ. Калькулятор лишь облегчает ему процесс принятия решения. И возможность быстро, навскидку, сравнить несколько результатов ему в этом сильно помогает.
Читать дальше →
Всего голосов 68: ↑60 и ↓8+52
Комментарии30

Как оценить задачу до начала разработки сайта

Время на прочтение5 мин
Количество просмотров28K
Постановка задачи — ключ к успеху любой работы. Если задача не поставлена чётко, то невозможно даже понять, решена ли она.

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

Читать дальше →
Всего голосов 144: ↑135 и ↓9+126
Комментарии70

Облако тегов средствами XSLT

Время на прочтение7 мин
Количество просмотров2.9K
Не так давно столкнулся с необходимостью реализовать на одном из проектов то, что в народе называют «облаком тегов» — набор ссылок, в котором наиболее «весомые» элементы имеют бОльший размер. Для этого можно было бы, конечно, посчитать и получить все необходимые данные в PHP, на котором работает проект, но мне хотелось сделать конечный вариант отображения на XSLT и CSS, чтобы все необходимые величины для конфигурирования максимальных/минимальных размеров шрифта, например, были заданы в представлении, а не в логике приложения.

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

Итак, на входе у нас есть простейший XML с тегом и количеством его упоминаний:

Читать дальше →
Всего голосов 36: ↑29 и ↓7+22
Комментарии31

Переводы свободных лицензий Apache и Eclipse

Время на прочтение1 мин
Количество просмотров17K
В то время, как переводы GPL версии 2.0, 3.0 и LGPL распространены широко, другие популярные свободные лицензии на русском встречаются редко. Я перевела Apache License 2.0 и Eclipse Public License на русский язык. Жду замечаний по качеству перевода.

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

Интересные факты: знаете ли Вы, что Вы можете потребовать исходный код любого продукта, распространяемого по лицензии EPL?
Всего голосов 72: ↑70 и ↓2+68
Комментарии18

Kohana 3.0 — упрощаем себе жизнь

Время на прочтение8 мин
Количество просмотров10K
Фреймворк — это хорошо, это здорово, это возможность сэкономить кучу времени на раздумьях над архитектурой будущего приложения, но… Фреймворк как таковой — это каркас. И, на примере Kohana 3.0, о которой в данной статье пойдет речь, каркас этот надо, в той или иной степени, допиливать.
Теперь давайте по-порядку, чем мы сейчас займемся:
  • -Расширим базовый контроллер, добавив в него жизненно необходимые методы и работу с юзерами (которая присутствует в 99% проектов, хотя бы на уровне административного логина)
  • -Создадим свой фронт-контроллер для более удобной и красивой работы с вью-файлами
  • -Реализуем вывод ошибок валидации через фронт-контроллер
  • -Улучшим базовый класс View
  • -Ну и еще кое-какие полезные мелочи

Итак, начнем…
Читать дальше →
Всего голосов 50: ↑39 и ↓11+28
Комментарии25

Верстка e-mail рассылок — «подводные камни». Часть вторая

Время на прочтение4 мин
Количество просмотров32K
Верстка e-mail рассылок — «подводные камни». Часть вторая
Здравствуйте, уважаемые хабравчане!
Буквально пару дней назад мы опубликовали первую часть топика, посвященного верстке e-mail рассылок, а конкретнее — использованию изображений. Вторая часть посвящена ещё четырем «подводным камням» верстки, которые нам удалось обнаружить.

Второй камень — «Якоря»


Если рассылка большого объема на несколько страниц, появляется необходимость навигации внутри рассылки. Как известно, для такой навигации на html-странице используются «якоря».
Читать дальше →
Всего голосов 55: ↑42 и ↓13+29
Комментарии15

Полнотекстовый поиск в InnoDB

Время на прочтение12 мин
Количество просмотров37K
Привет, Хабрачитатель!
Полнотекстовый поиск данных в InnoDB – это известная головная боль многих разработчиков под MySQL / InnoDB. Для тех, кто не в курсе дела я объясню. В типе таблиц MyISAM есть полноценный полнотекстовый поиск данных, однако сама таблица исторически имеет ограничения, которые являются принципиальными в отдельных проектах. В более «продвинутом» типе таблиц InnoDB полнотекстового поиска нет. Вот и приходится мириться бедным разработчикам либо с ограничениями MyISAM, либо с отсутствием поиска в InnoDB. Я хочу рассказать о том, какие есть способы организовать полноценный поиск в InnoDB без магии и исключительно штатными средствами. Также будет интересно сравнить скоростные характеристики каждого способа.
Читать дальше →
Всего голосов 79: ↑73 и ↓6+67
Комментарии55

Информация

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