Search
Write a publication
Pull to refresh
12
0
Paul C. @Xobb

Например: DevOps

Send message

Настройка nginx

Reading time5 min
Views300K
Тема правильной настройки nginx очень велика, и, боюсь, в рамки одной статьи на хабре никак не помещается. В этом тексте я постарался рассказать про общую структуру конфига, более интересные мелочи и частности, возможно, будут позже. :)

Неплохой начальной точкой для настройки nginx является конфиг, который идёт в комплекте с дистрибутивом, но очень многие возможности этого сервера в нём даже не упоминаются. Значительно более подробный пример есть на сайте Игоря Сысоева: sysoev.ru/nginx/docs/example.html. Однако, давайте лучше попробуем собрать с нуля свой конфиг, с бриджем и поэтессами. :)
подробности

Getters & Setters в Javascript

Reading time9 min
Views29K
Много людей знают, что такое getter'ы и setter'ы во многих языках программирования. Есть эти чудесные штуки и в JavaScript, хоть узнал я об этом совсем недавно (темень я необразованная). Речь пойдёт не только и не столько про методы getSomeProperty()/setSomeProperty(...), а про более интересную реализацию — псевдо-аттрибуты, при изменении которых будут вызываться функции-обработчики.

Дальше...

Почему Mono хорош

Reading time12 min
Views12K
Мы с участниками социальной сети open-life.org решили сделать перевод статьи Джо Шилдза (Jo Shields) «Here we go again – why Mono doesn’t suck». В результате получилась статья «Почему Mono хорош». Копию данного перевода можно прочитать здесь: Почему Mono хорош — open-life.org

Прим.: Если кто захочет инвайт на open-life.org — стучитесь в личку

Я участник Debian Mono Group, Debian CLI Applications Team, и Debian CLI Libraries Team. И уже в течении года работаю над сопровождением пакетов проекта Mono и программ, которые используют его в ОС Ubuntu (и Debian). Мне хорошо известны горячие споры, угрозы и последующие переходы на личности, и сейчас я принимаю ваш «вызов». В этой статье я говорю от себя лично — не от проекта Debian, не от Ubuntu, не от Mono, и не потому, что меня попросил мой начальник.

Вам хотелось «объективного пояснения, чем хорош Mono, почему он не представляет угрозы и почему его следует включить в Ubuntu по умолчанию»? — Я отвечу на эти 3 вопроса по очереди, затем предложу общий вывод к этой статье, а так же к более широкому движению «Анти-Mono». Это сообщение подписано GPG (прим. переводчика: GPG=GNU Privacy Guard — свободная альтернатива набору криптографического ПО PGP) для подтверждения факта его публикации без изменений. Оригинальный текст доступен по адресу retro.apebox.org/herewegoagain.txt чтобы каждый желающий мог проверить его подлинность самостоятельно.

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

Почему дизайнеры должны уметь верстать

Reading time4 min
Views9K
Довольно часто дизайнеров справедливо обвиняют в том, что, создав дизайн сайта, они уходят в свой кокон и замыкаются в неведении, оставляя всю «грязную работу» по воплощению дизайна в жизнь разработчикам. Такая равнодушная позиция отмечается не только в индустрии создания сайтов, но и при разработке программного обеспечения и игр.

Почему дизайнеры должны уметь верстать

Суровая действительность указывает на то, что весь процесс разработки должен происходить при участии дизайнеров. Для достижения оптимальной эффективности дизайнер должен уметь не только нарисовать картинку, но и встроить ее! В этой статье я хотел бы поделиться несколькими соображениями о том, почему дизайнеры должны уметь верстать сайты.
Читать дальше →

Скрипты Python против Bash — 2 или Tips & Tricks

Reading time4 min
Views14K
image
Довольно давно я написал статью, в которой приводил примеры основ работы с системой с помощью Python-скриптов. Из-за мельком оброненной фразы (достаточно взглянуть на название топика) статья получила довольно много комментариев холиварного и не очень характера. Кому-то, возможно, захотелось воспользоваться возможностями Python для администрирования (сейчас подобного рода тулзы на питоне как раз набирают популярность). Так почему бы не завлечь в свой стан еще немного единомышленников? :) Встречайте — небольшая подборка простых приемов для тех или иных целей.
Вперед!

Компьютерная фирма: от абсолютого нуля до заслуженного успеха

Reading time13 min
Views3K
Решил поделиться опытом создания и продвижения компьютерной фирмы. Думаю, кое-кому да и пригодиться. Тем более, что старт был с абсолютного Кельвиновского нуля. А чего мы и как добились, можно увидеть под катом.
Читать дальше →

jQuery Tools v1.0.1

Reading time1 min
Views3.9K
jQuery Tools Logo
jQuery Tools v1.0.1 — это инструмент/библиотека представляет собой файл весом в 5,8 кб включающий в себя наиболее важные компоненты для вебдванольных сайтов, а именно: табы, всплывающие подсказки, плавные переходы, прокрутки, всплывающие окна и т.д.

Не буду тянуть резину, лучше, как говориться, один раз увидеть, чем сто раз услышать!
Переходим по ссылке и смотрим более 50 (!) демок:

Несколько понравившихся мне демонстраций. Очень рекомендую!
Маскируем фоновое изображение;
AJAX-табы с поддержкой истории переходов;
Неколько всплывающих окошек на одной странице.

Прием спутниковых тв каналов в linux

Reading time6 min
Views27K
Доброго времени суток.
Хочу вам рассказать про настройку приема спутниковых не закодированных тв каналов в linux и вещание их в локальную сеть.
Исходными данными будем считать наличие спутниковой антенны настроенной на определенный градус(например на www.lyngsat.com/amos2.html) и компьютера под управлением linux(не важно какой дистрибутив, в моем случае был Slackware). Задача очень интересная и актуальная в наше время.
Итак начнем.

calendarLite плагин

Reading time3 min
Views1.9K
В одном из моих проектов мне понадобился простой javascript календарь. Но из существующих jQuery плагинов, только один «почти» соответствовал мои требованиям. Решил написать свой плагин — проба пера calendarLite plugin.

Внешний вид calendarLite
Читать дальше

Нюансы сериализации

Reading time1 min
Views2.5K
Думаю многим известны «магические» методы __sleep и __wakeup для управления сериализацией объектов.

Казалось бы все просто:
__sleep вызывается перед сериализацией чтоб можно было убрать ненужные связи (бд, мемкэш и тд).
__wakeup вызывается после unserialize, чтоб можно было автоматом необходимые связи вернуть в зад.

Но есть нюанс. Причем я сталкивался с ним раза 4 за последние 5 лет работы.
Читать дальше →

Причесываем трафик — динамический шейпер на Linux

Reading time4 min
Views59K
причесываем трафик
Предположим у вас есть домашняя сеть (или не домашняя, а сеть небольшого офиса) с выходом в интернет через не очень скоростной канал. А пользователей — много, и каждый хочет что-то скачивать, да с максимальной скоростью. Вот тут перед нами встатет задача, как максимально эффективно распределить наш интернет-канал между пользователями так, чтобы они не мешали друг другу. В этой статье я опишу, как можно решить такую задачу с помощью Linux-сервера.

Сформулируем, что же мы хотим получить в результате:
1. Чтобы канал поровну делился между пользователями.
2. Чтобы канал зря не простаивал.
3. Чтобы онлайн-игры, ssh и telnet не «лагали» даже при полной загрузке канала, например торрентами.
Читать дальше →

текст под произвольным углом без флеш и js

Reading time3 min
Views30K
Ранее здесь была представлена статья о том как сделать вертикальный текст картинками, генерируемыми php.

Теперь я хочу вам рассказать о том как сделать поставленную задачу без картинок, флеш и js, только средствами html и css. К тому же стало возможно сделать текст под произвольным углом. В конце статьи есть готовый пример.

вертикальный текст и текст под углом
Читать дальше →

Личный тайм-менеджмент

Reading time9 min
Views93K
Почитав недавний топик про лягушек я понял, что Хабрасообщество не очень хорошо ориентируется в вопросах тайм-менеджмента и многие никогда не занимались построением своей тайм-системы.

Поэтому я попробую исправить этот недочёт.

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

Welcome!

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

Релиз JuffEd 0.6.0

Reading time3 min
Views2.8K
Как говорится, «тихо и незаметно» вышла новая стабильная версия моего велосипеда свободного кроссплатформенного текстового редактора JuffEd.
На Хабре я пишу о нём впервые, поэтому поясню, что это за зверь.

(скриншот от хабраюзера reaferon):
Клик!

Разработка началась чисто случайно, как ответ одному товарищу в споре «да блин, на С++ гуй писать просто нереально, замучишься всё руками фигачить, а вот в Delphi....». В качестве ответа был за полчасика-час набросан простой текстовый редактор на Qt с функциональностью а-ля Блокнот из ВинХР. Потом случайно увидел пример, как в Qt делается подсветка кода и прикрутил чисто ради практики. Потом понял, что им вполне уже можно пользоваться, что я и начал делать. Ну и пошло-поехало: фича там, фича тут, публикация на qt-apps.org, фичреквесты от пользователей…

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

Основы репликации в MySQL

Reading time10 min
Views333K
С репликацией серверов MySQL я познакомился относительно недавно, и по мере проведения разных опытов с настройкой, записывал, что у меня получалось. Когда материала набралось достаточно много, появилась идея написать эту статью. Я постарался собрать советы и решения по некоторым самым основным вопросам, с которыми я столкнулся. По ходу дела я буду давать ссылки на документацию и другие источники. Не могу претендовать на полноту описания, но надеюсь, что статья будет полезной.
Читать дальше →

OpenVPN, объединяем домашние сети

Reading time6 min
Views103K
Данная статья посвящена объеденению нескольких домашних локальных сетей с предоставлением прозрачного общего доступа к ресурсам сетей с помощью VPN. За реализацию VPN взята openvpn. Клиенты и сервер openvpn установлены на роутерах домашних сетей, в конкретном случае роутеры семейства asus wl500, но данный мануал вполне применим и другим роутерам где есть досуп к OS и можно поставить openvpn.

Хотя подобных руководств в Интернете пруд пруди, они написаны больше для администраторов, которые имеют большой опыт общения с *nix системами, в то время как пользователями домашних роутеров являются в основном не хакеры, а обычные юзеры, может быть впервые увидевшие коммандную строку Linux на том самом роутере. Я постараюсь писать так чтобы было понятно всем.

Для тех кто не любит много букв, чтобы было понятно о чём речь под катом, привожу картинку

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

Range, TextRange и Selection

Reading time13 min
Views78K
Многим JavaScript-разработчикам приходилось сталкиваться с объектами, перечисленными в заголовке, например, при решении следующих задач:
— создание визуальных редакторов (wysiwyg),
— поиск в окне браузера,
— выставление BB-кода,
и т.д.

В этой статье автором предпринята попытка собрать перевод документации об этих объектах в одном месте + написать небольшие сопроводительные примеры. Перевод вольный, не дословный, так что если встретите неточность или корявую формулировку — пишите в комментариях.

В целом пост носит справочный характер, и, надеюсь, кому-то упростит разработку.

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

Разбор опций командной строки в UNIX-подобных системах

Reading time7 min
Views44K

Введение


Одной из важных задач любой программы, будь она консольной или графической является интерпретация аргументов командной строки. Формально аргументами называются все слова в командной строке(в том числе и имя самой команды) разбитые разделителем (как правило, это пробел и табуляция), кавычки же позволяют включать разделители в аргументы.
Аргументы можно подразделить на опции и операнды. Опции изменяют поведение программы или предоставляют ей дополнительную информацию. У опции могут быть свои аргументы, которые являются информацией необходимой только для этой опции.
Продолжим здесь

Система управления задачами opentodo

Reading time1 min
Views6.3K
Приветствую!

Решил поделиться с сообществом своим проектом.
opentodo — система управления задачами, написанная на языке Python (Django Framework).

Возможно, по тем или иным причинам вам не подходят существующие системы наподобие Basecamp, Мегаплан и т.п. И вы хотели бы использовать более простое решение с открытым исходным кодом, которое вы сможете бесплатно установить на своем сервере в интернете или внутри сети компании, и при необходимости доработать под свои нужды. Тогда opentodo может заинтересовать вас.

Особенности

  • Простой, удобный интерфейс в стиле Gmail
  • Добавление задач, назначение ответственных и сроков выполнения
  • Возможность прикреплять файлы к задачам и проектам — скриншоты, документацию и т.п.
  • Жизненный цикл задач: Новая, Принята, Завершена, Одобрена
  • Цветовое кодирование задач в зависимости от статуса
  • Комментарии к задачам
  • E-mail уведомления
  • Управление пользователями с помощью стандартной панели администрирования Django
  • Разграничение доступа пользователей к проектам

Онлайн демо


Посмотреть в работе можно здесь: demo.opentodo.ru

Где скачать и как установить


Архив для загрузки и инструкция по установке доступны на странице проекта на Google Code:
code.google.com/p/opentodo

Исходный код под управлением системы контроля версий на сайте GitHub:
github.com/mgrigoriev/opentodo

Условия распространения: GNU General Public License v3.

Надеюсь, мой скромный проект для кого-то окажется полезным и поможет в организации работы :)

P.S. Спасибо участникам дискуссионной гугл-группы django russian, а также всем, кто прокомментировал пост на design.leprosorium.ru, за отзывы и ценные советы по улучшению opentodo.

UPD: убедительная просьба — полегче в демо! Анонимность не оправдывает вандализм :)

Information

Rating
Does not participate
Location
California, США
Date of birth
Registered
Activity