Как стать автором
Обновить
117
0
Владимир Синельников @onthefly

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

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

Конфигурация Mercurial+Nginx для управления большим количеством репозиториев

Время на прочтение9 мин
Количество просмотров6.1K
Под катом описан пример конфигурации связки mercurial+nginx и приведен скрипт автоматизации всего вышеперечисленного.
Читать дальше →

Команда dd и все, что с ней связано

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

В UNIX системах есть одна очень древняя команда, которая называется dd. Она предназначена для того, чтобы что-то куда-то копировать побайтово. На первый взгляд — ничего выдающегося, но если рассмотреть все возможности этого универсального инструмента, то можно выполнять довольно сложные операции без привлечения дополнительного ПО, например: выполнять резервную копию MBR, создавать дампы данных с различных накопителей, зеркалировать носители информации, восстанавливать из резервной копии данные на носители и многое другое, а, при совмещении возможностей dd и поддержке криптографических алгоритмов ядра Linux, можно даже создавать зашифрованные файлы, содержащие в себе целую файловую систему.
Опять же, в заметке я опишу самые часто используемые примеры использования команды, которые очень облегчают работу в UNIX системах.
Читать дальше →

Подборка 10 css3 кнопок

Время на прочтение4 мин
Количество просмотров91K
С каждым днем новые стандарты css3 и html5 всё более глубоко входят в жизнь верстальщиков и web-разработчиков, а браузеры с каждым днем становятся все более совместимыми с этими стандартами.



В связи с этим событием хотелось бы представить Вам подборку 10 css3 кнопок, которые смогут облегчить вам жизнь при верстке и создании web приложений.
Читать дальше →

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

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

Узнать метод Райна Доэрти

Принципы дизайна веб-форм для мобильных устройств

Время на прочтение10 мин
Количество просмотров14K
Представляю вашему вниманию перевод статьи "Mobile Form Design Strategies" от Chui Chui Tan. Перевели в компании UXDepot. Специально для пользователей Хабрахабра с одобрением издания UX Booth.


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

Интернет на экране мобильного телефона находится под влиянием нескольких важных факторов:
  • Окружающей среды — человек может пользоваться гаджетом в толпе, в режиме цейтнота или на ярком свету (соответственно, качество изображения на экране ухудшается)
  • Сети — соединение может быть медленным и ненадежным
  • Особенностей девайса — например, маленького экрана устройства

Читать дальше →

Подборка полезных репозиториев на GitHub

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

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

Читать дальше →

10 советов по улучшению юзабилити веб-форм

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

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

«Право изготовителя базы данных»: что это такое?

Время на прочтение6 мин
Количество просмотров18K
Четвертая часть Гражданского кодекса, регулирующая отношения в сфере «интеллектуальной собственности», повторяет подавляющее большинство норм, которые содержались в тех законах, которые были до нее: «Об авторском праве...», Патентном законе, законе «О правовой охране программ для ЭВМ...», и других.

Вступление ее в силу сопровождалось обсуждением в интернете, участники которого почему-то считали, будто новая часть ГК «ужесточила охрану авторских прав», однако, мнения эти не имели под собой никаких оснований. Кардинальных изменений в главах, посвященных авторскому праву, сравнительно немного. А вот то, что четвертая часть действительно «ужесточила» – так это регулирование смежных прав, прежде всего путем введения новых их видов. «Смежными» называются такие права, которые связаны не с созданием произведения, а доведением его до аудитории. Например, поэт и композитор являются авторами песни, а вот исполнитель этой песни и изготовитель ее фонограммы обладают смежными правами.

Часто авторские и смежные права путают, но лучше их все же различать. Например, четвертой частью ГК введено так называемое «смежное право публикатора», в соответствии с которым тот, кто впервые опубликовал произведение, получает на срок в двадцать пять лет право ограничивать его использование – даже в том случае, если сроки охраны этого произведения давно истекли и оно перешло в общественное достояние. Рядом с этим правом стоит и «право изготовителя базы данных», о котором мы сейчас и поговорим…
Читать дальше →

Латентно-семантический анализ

Время на прочтение4 мин
Количество просмотров99K
Как находить тексты похожие по смыслу? Какие есть алгоритмы для поиска текстов одной тематики? – Вопросы регулярно возникающие на различных программистских форумах. Сегодня я расскажу об одном из подходов, которым активно пользуются поисковые гиганты и который звучит чем-то вроде мантры для SEO aka поисковых оптимизаторов. Этот подход называет латентно-семантический анализ (LSA), он же латентно-семантическое индексирование (LSI)

Латентно-семантический анализ

Читать дальше →

Тормозит веб-сервер. Настройка на примере www.ochevidets.ru

Время на прочтение8 мин
Количество просмотров28K
Я оказываю услуги по настройке web- и БД-серверов. На днях ко мне обратился Иван Усачёв — владелец портала ochevidets.ru с просьбой избавить сайт от торможения.

Страницы в пиковое время стали долго загружаться, вплоть до 5 минут на страницу.

UPDATE: Статья была написана в 2010 году. Кое-что изменилось: вышли новые версии программ, у nginx изменились некоторые директивы и появились новые. Учитывайте это.

Ниже я опишу, что я предпринял для решения проблемы.

Автоматизация создания аккаунтов в Thunderbird v3

Время на прочтение2 мин
Количество просмотров9.7K
image
В линейке Thunderbird 3 появилась полезная возможность «подхватывать» настройки доступа к почтовому серверу. Но для этого необходимо немного «почесаться».
Есть несколько вариантов как это сделать:
0) Ленивый. Добавить для домена записи pop3.mymaildomain.com, imap.mymaildomain.com, smtp.mymaildomain.com и использовать стандартные порты для доступа.
1) Добавить в installdir/isp/ на конкретном компьютере файлик emailaddressdomain.xml с описанием настроек доступа (формат смотрите в ссылках)
2) Наилучший вариант. Добавить запись autoconfig.mymaildomain.com
Создать папку mail в корне DocumentRoot веб-сервера.
Т.о. чтобы был доступен файл: autoconfig.mymaildomain.com/mail/config-v1.1.xml

Читать дальше →

node.js сокращатель ссылок

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

Привет, Хабр! В этой статье я пошагово рассмотрю создание простого веб-приложения — сокращателя ссылок на node.js, используя mysql-libmysqlclient, MooTools на сервере и jQuery на клиенте. Статья предполагает, что читатель уже прошёл упражнение «Hello world» и разобрался в самых основах node.js.
Читать дальше →

Динамические поддомены с использованием nginx+apache

Время на прочтение3 мин
Количество просмотров29K
Этот топик — очередной топик про реализацию динамических поддоменов на сайте, коих много в интернете и даже есть пара топиков на хабре.

Проблема в том, что этот вопрос везде освещается только с точки зрения перенаправления с поддомена в папку и вся динамичность поддомена заключается в том, что ты создал папку — поддомен у тебя заработал.

Иногда же требуется решение другой проблемы — например вынос на поддомен профиля пользователя и всего функционала, который с ним связан.

Например, у нас есть готовый сайт, на котором работают профили по такому url: www.example.com/users/username, и есть всякие дополнительные возможности (например www.example.com/users/username/contact и другие страницы, связанные с этим юзером).

И мы теперь хотим вынести все, что связано с юзером, на поддомен, например username.example.com, username.example.com/contact и т.д.)

Решения, которые были найдены в интернете, меня не удовлетворили по 2 причинам:
  • Не нашел решения как заставить ее работать, сохранив работоспособность домена www.example.com
  • Все найденные решения подходят только для перенаправления в папку и не работают если дальше должны работать какие то правила


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

Читать дальше →

Введение в шаблонизатор Blitz

Время на прочтение5 мин
Количество просмотров10K
Из документации о Blitz: Чрезвычайно быстрый и мощный шаблонизатор для очень больших интернет-проектов.

Приведу несколько фактов:
  1. Это шаблонизатор используемый Хабром;
  2. Этот шаблонизатор используется на высоко-нагруженных проектах, он написан на C, подключается как расширение PHP;
  3. Его скорость сопоставима с самим php (бенчмарк под катом);
  4. Верстальщики будт счастливы, так как в шаблонах нет логики приложения, нет циклов, ветвлений и т.д.;
  5. Один из его авторов Алексей Рыбак fisher.


Читать дальше →

Как примирить файлообмен и авторское право

Время на прочтение9 мин
Количество просмотров1.5K
p2market is p2p and copyright
Однажды в далеком 2003 я задумался о возможности легализовать файлообмен в p2p сетях. Хотелось найти решение, которое устроило бы и файлообменщиков и правообладателей. Понятно что для этого потребуется компромисс и обе стороны должны будут пойти на некоторые уступки.

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

Если мы говорим о деньгах, то нам придется в основном принципе файлообмена заменить слова «получать и отдавать», на «покупать и продавать». Получим новое правило уже для файлообменного рынка: каждый может покупать, каждый может продавать. Такой видоизмененный принцип послужил основой для построения системы P2Market, о которой я и хотел бы рассказать уважаемому собранию в этой статье.
Читать дальше →

Тюнинг nginx

Время на прочтение8 мин
Количество просмотров97K
Статья написана по материалам моего доклада на CodeCamp 2009.

Для многих из нас настает тот долгожданный день, когда аудитория сайта начинает стремительно расти. Каждое утро мы, затая дыхание, смотрим на графики google analitycs и расплываемся в улыбке, когда взят рубеж в очередную тысячу посетителей в день. Как правило, рост посещаемости не совпадает с ростом технической базы и сайт начинает тормозить. Тут в игру вступает сисадмин...

У любого проекта всегда есть что оптимизировать: можно почитать советы по оптимизации на webo.in, установить eaccelerator, memcache, проиндексировать поисковые поля в базе данных. Я предполагаю, что все это уже проделано, а сайт по прежнему тормозит.

Пришло время оптимизировать nginx...

Читать дальше →

Кеширование блоков с помощью nginx

Время на прочтение6 мин
Количество просмотров15K
nginx + SSIМногим разработчикам знакома ситуация когда кешировать страницы сайта, скажем, на 5-10 минут нельзя всего из-за одного небольшого блочка, актуальность которого нужно поддерживать если не в реальном времени, то с временем «старения» не больше 5-10 секунд. При этом посещаемость сайта продолжает расти, растет время генерации страниц и c этим надо что-то делать…
  • Вариант решения 1: Подкрутить то, до чего не доходили руки последнее полгода. Все Вас поймут и передвинут сроки на другие задачи. Вы будете в роли «Супермена» один спасать сайт от непомерной нагрузки, решая проблему «бесплатно» (без доп. вливаний в оборудование). Вам может пригодиться статья «Тюнинг nginx».
     
  • Вариант решения 2: Улучшить техническую базу (докупить мозгов на сервер, улучшить дисковую систему, поставить под БД отдельный сервер). В принципе проблема не решена, а скорее отложена. Теперь у Вас есть время «окопаться» и подготовиться ко второй волне наплыва нагрузки, она будет больше и накроет сильнее.
     
  • Вариант решения 3: Ваш вариант, о котором я, вероятно, узнаю из комментариев.
     
Позвольте предложить и мне проверенное и относительно простое решение на базе одной из старейших технологий в Web-разработке.
Читать дальше →

Плагин авторизации через Вконтакте, Yandex, Google, OpenID и тп

Время на прочтение1 мин
Количество просмотров19K
В недавнем моем посте «Javascript виджет авторизации OpenID» на хабре, я описал свою разработку виджет-consumer авторизации OpenID.

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

HTML 5 в Internet Explorer

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

Вкратце: как заставить новые теги из HTML 5 работать в Internet Explorer.

Любой веб-разработчик смотря на HTML 5 плачет от счастья, которое наконец-то пришло в наш дом. Для большинства функций (такие как WebGL, многопоточность и веб-сокеты) придётся ждать поддержки от браузеров (а в самых правильных эти возможности уже есть), но новые удобные теги мы можем использовать уже сейчас.

Однако Internet Explorer (даже последней, 8-ой версии) и тут сумел споткнуться — новые теги вне HTML 4 он просто не замечает — на них нельзя повесить стили.

В IE проблем даже две — отдельно нужно включать поддержку HTML 5 тегов в обычном документе, и отдельно в содержимом, которое добавляется динамически (например, через AJAX).
Читать дальше →

Веб-слайсы

Время на прочтение6 мин
Количество просмотров2.3K
Существуют четыре вида действий с веб-слайсами:
  • Находка: пользователь находит веб-слайс на странице и добавляет его.
  • Обновление: Internet Explorer использует механизм загрузки ленты для периодической проверки изменений веб-слайса.
  • Уведомление: Когда веб-слайс обновляется, его текст в панели Избранное становится жирным.
  • Отображение: пользователь может просмотреть изменения веб-слайса нажав на него на панели Избранного.
Читать дальше →

Информация

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