Под катом описан пример конфигурации связки mercurial+nginx и приведен скрипт автоматизации всего вышеперечисленного.
Владимир Синельников @onthefly
Пользователь
Команда dd и все, что с ней связано
4 мин
631KВ UNIX системах есть одна очень древняя команда, которая называется dd. Она предназначена для того, чтобы что-то куда-то копировать побайтово. На первый взгляд — ничего выдающегося, но если рассмотреть все возможности этого универсального инструмента, то можно выполнять довольно сложные операции без привлечения дополнительного ПО, например: выполнять резервную копию MBR, создавать дампы данных с различных накопителей, зеркалировать носители информации, восстанавливать из резервной копии данные на носители и многое другое, а, при совмещении возможностей dd и поддержке криптографических алгоритмов ядра Linux, можно даже создавать зашифрованные файлы, содержащие в себе целую файловую систему.
Опять же, в заметке я опишу самые часто используемые примеры использования команды, которые очень облегчают работу в UNIX системах.
+307
Подборка 10 css3 кнопок
4 мин
91KС каждым днем новые стандарты css3 и html5 всё более глубоко входят в жизнь верстальщиков и web-разработчиков, а браузеры с каждым днем становятся все более совместимыми с этими стандартами.
В связи с этим событием хотелось бы представить Вам подборку 10 css3 кнопок, которые смогут облегчить вам жизнь при верстке и создании web приложений.
В связи с этим событием хотелось бы представить Вам подборку 10 css3 кнопок, которые смогут облегчить вам жизнь при верстке и создании web приложений.
+188
Кроссбраузерный inline-block
4 мин
122KПеревод
Разрешите представить вам перевод статьи «Cross-Browser Inline-Block», написанной Райном Доэрти холодным февралем 2009 года. В статье рассказывается о верстке элементов списка с установкой для свойства display значения inline-block. Статья об этом, а также о трудностях, возникающих в процессе достижения результата и о методах их «лечения».
+95
Принципы дизайна веб-форм для мобильных устройств
10 мин
14KТуториал
Представляю вашему вниманию перевод статьи "Mobile Form Design Strategies" от Chui Chui Tan. Перевели в компании UXDepot. Специально для пользователей Хабрахабра с одобрением издания UX Booth.
Веб-форма, которая работает хорошо на настольном ПК, не обязательно столь же успешно будет использоваться на мобильном устройстве. Из-за природы использования настольных ПК, веб-формы не делают продуктивными. Из-за ограничений, присущих мобильным устройствам, и из-за контекста их пользования, при заполнении формы на мобильном устройстве продуктивность очень важна. Эта статья позволит вам понять принципы создания продуктивных и устойчивых к ошибкам веб-форм для мобильных устройств.
Интернет на экране мобильного телефона находится под влиянием нескольких важных факторов:
- Окружающей среды — человек может пользоваться гаджетом в толпе, в режиме цейтнота или на ярком свету (соответственно, качество изображения на экране ухудшается)
- Сети — соединение может быть медленным и ненадежным
- Особенностей девайса — например, маленького экрана устройства
+108
Подборка полезных репозиториев на GitHub
5 мин
3.2KВ последнее время у меня собралось много отмеченных репозиториев на GitHub со всякими разными, полезными и не очень кусками кода. Решил их как структурировать для себя, так и поделиться с общественностью.
+42
10 советов по улучшению юзабилити веб-форм
4 мин
28KПеревод
Веб-формы играют большую роль в ежедневном использовании интернета. Если вы разрабатываете веб-сайты, то скорее всего они в них присутствуют: будь то простая форма обратной связи или навороченное веб-приложение. Вот несколько советов, которые помогут создавать удобные в использовании формы.
+87
«Право изготовителя базы данных»: что это такое?
6 мин
18KЧетвертая часть Гражданского кодекса, регулирующая отношения в сфере «интеллектуальной собственности», повторяет подавляющее большинство норм, которые содержались в тех законах, которые были до нее: «Об авторском праве...», Патентном законе, законе «О правовой охране программ для ЭВМ...», и других.
Вступление ее в силу сопровождалось обсуждением в интернете, участники которого почему-то считали, будто новая часть ГК «ужесточила охрану авторских прав», однако, мнения эти не имели под собой никаких оснований. Кардинальных изменений в главах, посвященных авторскому праву, сравнительно немного. А вот то, что четвертая часть действительно «ужесточила» – так это регулирование смежных прав, прежде всего путем введения новых их видов. «Смежными» называются такие права, которые связаны не с созданием произведения, а доведением его до аудитории. Например, поэт и композитор являются авторами песни, а вот исполнитель этой песни и изготовитель ее фонограммы обладают смежными правами.
Часто авторские и смежные права путают, но лучше их все же различать. Например, четвертой частью ГК введено так называемое «смежное право публикатора», в соответствии с которым тот, кто впервые опубликовал произведение, получает на срок в двадцать пять лет право ограничивать его использование – даже в том случае, если сроки охраны этого произведения давно истекли и оно перешло в общественное достояние. Рядом с этим правом стоит и «право изготовителя базы данных», о котором мы сейчас и поговорим…
Вступление ее в силу сопровождалось обсуждением в интернете, участники которого почему-то считали, будто новая часть ГК «ужесточила охрану авторских прав», однако, мнения эти не имели под собой никаких оснований. Кардинальных изменений в главах, посвященных авторскому праву, сравнительно немного. А вот то, что четвертая часть действительно «ужесточила» – так это регулирование смежных прав, прежде всего путем введения новых их видов. «Смежными» называются такие права, которые связаны не с созданием произведения, а доведением его до аудитории. Например, поэт и композитор являются авторами песни, а вот исполнитель этой песни и изготовитель ее фонограммы обладают смежными правами.
Часто авторские и смежные права путают, но лучше их все же различать. Например, четвертой частью ГК введено так называемое «смежное право публикатора», в соответствии с которым тот, кто впервые опубликовал произведение, получает на срок в двадцать пять лет право ограничивать его использование – даже в том случае, если сроки охраны этого произведения давно истекли и оно перешло в общественное достояние. Рядом с этим правом стоит и «право изготовителя базы данных», о котором мы сейчас и поговорим…
+28
Латентно-семантический анализ
4 мин
99KКак находить тексты похожие по смыслу? Какие есть алгоритмы для поиска текстов одной тематики? – Вопросы регулярно возникающие на различных программистских форумах. Сегодня я расскажу об одном из подходов, которым активно пользуются поисковые гиганты и который звучит чем-то вроде мантры для SEO aka поисковых оптимизаторов. Этот подход называет латентно-семантический анализ (LSA), он же латентно-семантическое индексирование (LSI)
+98
Тормозит веб-сервер. Настройка на примере www.ochevidets.ru
8 мин
28KЯ оказываю услуги по настройке web- и БД-серверов. На днях ко мне обратился Иван Усачёв — владелец портала ochevidets.ru с просьбой избавить сайт от торможения.
Страницы в пиковое время стали долго загружаться, вплоть до 5 минут на страницу.
Страницы в пиковое время стали долго загружаться, вплоть до 5 минут на страницу.
UPDATE: Статья была написана в 2010 году. Кое-что изменилось: вышли новые версии программ, у nginx изменились некоторые директивы и появились новые. Учитывайте это.
+109
Автоматизация создания аккаунтов в Thunderbird v3
2 мин
9.7KВ линейке 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
+21
node.js сокращатель ссылок
6 мин
8.2KПривет, Хабр! В этой статье я пошагово рассмотрю создание простого веб-приложения — сокращателя ссылок на node.js, используя mysql-libmysqlclient, MooTools на сервере и jQuery на клиенте. Статья предполагает, что читатель уже прошёл упражнение «Hello world» и разобрался в самых основах node.js.
+48
Динамические поддомены с использованием nginx+apache
3 мин
29KТуториал
Этот топик — очередной топик про реализацию динамических поддоменов на сайте, коих много в интернете и даже есть пара топиков на хабре.
Проблема в том, что этот вопрос везде освещается только с точки зрения перенаправления с поддомена в папку и вся динамичность поддомена заключается в том, что ты создал папку — поддомен у тебя заработал.
Иногда же требуется решение другой проблемы — например вынос на поддомен профиля пользователя и всего функционала, который с ним связан.
Например, у нас есть готовый сайт, на котором работают профили по такому url: www.example.com/users/username, и есть всякие дополнительные возможности (например www.example.com/users/username/contact и другие страницы, связанные с этим юзером).
И мы теперь хотим вынести все, что связано с юзером, на поддомен, например username.example.com, username.example.com/contact и т.д.)
Решения, которые были найдены в интернете, меня не удовлетворили по 2 причинам:
На нашем сайте стоит nginx над апачем (как и на многих других), поэтому пришлось изобретать велосипед самому, используя эту связку (nginx+ apache, благо сейчас почти на всех крупных сайтах стоит проксирующий nginx над апачем)
Проблема в том, что этот вопрос везде освещается только с точки зрения перенаправления с поддомена в папку и вся динамичность поддомена заключается в том, что ты создал папку — поддомен у тебя заработал.
Иногда же требуется решение другой проблемы — например вынос на поддомен профиля пользователя и всего функционала, который с ним связан.
Например, у нас есть готовый сайт, на котором работают профили по такому 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 над апачем)
+48
Введение в шаблонизатор Blitz
5 мин
10KПеревод
Из документации о Blitz: Чрезвычайно быстрый и мощный шаблонизатор для очень больших интернет-проектов.
Приведу несколько фактов:
Приведу несколько фактов:
- Это шаблонизатор используемый Хабром;
- Этот шаблонизатор используется на высоко-нагруженных проектах, он написан на C, подключается как расширение PHP;
- Его скорость сопоставима с самим php (бенчмарк под катом);
- Верстальщики будт счастливы, так как в шаблонах нет логики приложения, нет циклов, ветвлений и т.д.;
- Один из его авторов Алексей Рыбак fisher.
+31
Как примирить файлообмен и авторское право
9 мин
1.5KОднажды в далеком 2003 я задумался о возможности легализовать файлообмен в p2p сетях. Хотелось найти решение, которое устроило бы и файлообменщиков и правообладателей. Понятно что для этого потребуется компромисс и обе стороны должны будут пойти на некоторые уступки.
Прежде всего я определил ограничение, без которого дальнейшее продвижение вообще не имело смысла. Это ограничение — сама природа файлообменных сетей, их основной принцип: каждый может получать, каждый может отдавать. Для легализации файлообмена в пределах нынешних законов об авторском праве не обойтись без включения денег в сетевой оборот файлов, потому что должна быть возможность отчислять авторский сбор правообладателям.
Если мы говорим о деньгах, то нам придется в основном принципе файлообмена заменить слова «получать и отдавать», на «покупать и продавать». Получим новое правило уже для файлообменного рынка: каждый может покупать, каждый может продавать. Такой видоизмененный принцип послужил основой для построения системы P2Market, о которой я и хотел бы рассказать уважаемому собранию в этой статье.
+32
Тюнинг nginx
8 мин
97K Статья написана по материалам моего доклада на CodeCamp 2009.
Для многих из нас настает тот долгожданный день, когда аудитория сайта начинает стремительно расти. Каждое утро мы, затая дыхание, смотрим на графики google analitycs и расплываемся в улыбке, когда взят рубеж в очередную тысячу посетителей в день. Как правило, рост посещаемости не совпадает с ростом технической базы и сайт начинает тормозить. Тут в игру вступает сисадмин...
У любого проекта всегда есть что оптимизировать: можно почитать советы по оптимизации на webo.in, установить eaccelerator, memcache, проиндексировать поисковые поля в базе данных. Я предполагаю, что все это уже проделано, а сайт по прежнему тормозит.
Пришло время оптимизировать nginx...
Для многих из нас настает тот долгожданный день, когда аудитория сайта начинает стремительно расти. Каждое утро мы, затая дыхание, смотрим на графики google analitycs и расплываемся в улыбке, когда взят рубеж в очередную тысячу посетителей в день. Как правило, рост посещаемости не совпадает с ростом технической базы и сайт начинает тормозить. Тут в игру вступает сисадмин...
У любого проекта всегда есть что оптимизировать: можно почитать советы по оптимизации на webo.in, установить eaccelerator, memcache, проиндексировать поисковые поля в базе данных. Я предполагаю, что все это уже проделано, а сайт по прежнему тормозит.
Пришло время оптимизировать nginx...
+98
Кеширование блоков с помощью nginx
6 мин
15KМногим разработчикам знакома ситуация когда кешировать страницы сайта, скажем, на 5-10 минут нельзя всего из-за одного небольшого блочка, актуальность которого нужно поддерживать если не в реальном времени, то с временем «старения» не больше 5-10 секунд. При этом посещаемость сайта продолжает расти, растет время генерации страниц и c этим надо что-то делать…
- Вариант решения 1: Подкрутить то, до чего не доходили руки последнее полгода. Все Вас поймут и передвинут сроки на другие задачи. Вы будете в роли «Супермена» один спасать сайт от непомерной нагрузки, решая проблему «бесплатно» (без доп. вливаний в оборудование). Вам может пригодиться статья «Тюнинг nginx».
- Вариант решения 2: Улучшить техническую базу (докупить мозгов на сервер, улучшить дисковую систему, поставить под БД отдельный сервер). В принципе проблема не решена, а скорее отложена. Теперь у Вас есть время «окопаться» и подготовиться ко второй волне наплыва нагрузки, она будет больше и накроет сильнее.
- Вариант решения 3: Ваш вариант, о котором я, вероятно, узнаю из комментариев.
+98
Плагин авторизации через Вконтакте, Yandex, Google, OpenID и тп
1 мин
19KВ недавнем моем посте «Javascript виджет авторизации OpenID» на хабре, я описал свою разработку виджет-consumer авторизации OpenID.
Прошло время, я получил много положительных отзывов, получил замечания и пожеланию по улучшению виджета. Среди пожеланий развития была просьба создать WordPress плагин и добавить поддержку Вконтакте OpenAPI.
Прошло время, я получил много положительных отзывов, получил замечания и пожеланию по улучшению виджета. Среди пожеланий развития была просьба создать WordPress плагин и добавить поддержку Вконтакте OpenAPI.
+71
HTML 5 в Internet Explorer
3 мин
58KВкратце: как заставить новые теги из HTML 5 работать в Internet Explorer.
Любой веб-разработчик смотря на HTML 5 плачет от счастья, которое наконец-то пришло в наш дом. Для большинства функций (такие как WebGL, многопоточность и веб-сокеты) придётся ждать поддержки от браузеров (а в самых правильных эти возможности уже есть), но новые удобные теги мы можем использовать уже сейчас.
Однако Internet Explorer (даже последней, 8-ой версии) и тут сумел споткнуться — новые теги вне HTML 4 он просто не замечает — на них нельзя повесить стили.
В IE проблем даже две — отдельно нужно включать поддержку HTML 5 тегов в обычном документе, и отдельно в содержимом, которое добавляется динамически (например, через AJAX).
+69
Веб-слайсы
6 мин
2.3KПеревод
Существуют четыре вида действий с веб-слайсами:
- Находка: пользователь находит веб-слайс на странице и добавляет его.
- Обновление: Internet Explorer использует механизм загрузки ленты для периодической проверки изменений веб-слайса.
- Уведомление: Когда веб-слайс обновляется, его текст в панели Избранное становится жирным.
- Отображение: пользователь может просмотреть изменения веб-слайса нажав на него на панели Избранного.
+14
Информация
- В рейтинге
- 5 687-й
- Откуда
- Курск, Курская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность