Обновить
0
0
mitry@mitry

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

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

Устанавливаем и настраиваем cGit на Ubuntu

Время на прочтение5 мин
Охват и читатели14K
С помощью данной статьи (пошаговой инструкции) вы сможете сделать себе собственный Git репозиторий, с веб-интерфейсом на базе cGit.
подробности инструкции

Скачиваем Google Docs без браузера

Время на прочтение2 мин
Охват и читатели7.7K
Скриптик выглядит как-то так:

#!/bin/bash
token=$(curl -s www.google.com/accounts/ClientLogin -d Email=user.name@gmail.com -d Passwd=qwerty -d accountType=GOOGLE -d service=writely -d Gdata-version=3.0 |cut -d "=" -f 2)
set $token
curl --silent --header "Gdata-Version: 3.0" --header "Authorization: GoogleLogin auth=$3" "http://docs.google.com/feeds/user.name@gmail.com/private/full" | tidy -xml -indent -utf8 -quiet > /tmp/gdocs.xml
file=(doc1 doc2 doc3 doc4)
resourceId=(document:0ASpnxqo7zPlfZGQ3Z2Zwc183NWZteDNiM2Y ...) # и ещё 3 resourceId
i=0
while (( i < 4 )) # match num_files
do
wget --header "Gdata-Version: 3.0" --header "Authorization: GoogleLogin auth=$3" "https://docs.google.com/feeds/download/documents/Export?docID=${resourceId[$i]}&exportFormat=txt" -O /tmp/${file[$i]}.txt

sleep 2
i=$i+1
done

А теперь, как принято, разоблачение.
Читать дальше →

Использование runit для своих сервисов

Время на прочтение3 мин
Охват и читатели57K
Супервизор сервисов runit позиционируется как замена стандартным скриптам инициализации Unix.

Но на практике оказалось, что runit идеален для управления сервисами безотносительно инициализации и т.п.

Введение


Супервизор берёт на себя такой функционал, как:
  • превращение любого процесса в демон;
  • логгирование вывода процесса и ротирование логов;
  • запуск, остановка, рестарт, запрос состояния, управляющие скрипты для init.d;
  • выключение и запуск сервисов автоматически при появлении новых сервисов в списке либо удалении старых из списка;
  • возможность ведения нескольких независимых списков сервисов одновременно (например, для каждого пользователя отдельно и для системы в целом);
  • удобный API для управления сервисами.

Для большинства операционных систем runit уже входит в репозитории пакетов (apt-get install runit). Кроме того, мы имеем уже готовый набор рецептов для популярных сервисов (nginx, apache etc.).

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

No Canvas

Время на прочтение7 мин
Охват и читатели2.7K
Возможно, это лучше перенести в «Я пиарюсь» или «JavaScript» (принимаются предложения). А может, стоит оставить всё как есть. Тем не менее...

3D с z-buffer-ом, субпиксельной точностью и освещением по Гуро на javascript? Да кто угодно сможет это сделать, используя canvas!

Можно долго и вкусно описывать преимущества канваса, но статья не про это; не менее интересно
посмотреть, чем же канвас плох.

Так чем же?

Двунаправленный асинхронный обмен данными в веб-приложениях

Время на прочтение4 мин
Охват и читатели21K
Одной из основных черт современного веба эксперты называют RIA, что часто расшифровывается как тренд, когда веб-приложения по функциональности приближены к настольным приложениям. Тем не менее, это приближение весьма условно. Подавляющее большинство «обогащеных» веб-приложений по-прежнему построены по модели «запрос-ответ». Т.е. события на стороне клиента могут быть отражены на стороне сервера, никак не наоборот. Для того чтобы реализовать такую банальную вещь как чат приходиться прибегать к изощренным уловкам. Спасибо Алексу Расселу (Alex Russell) из Dojo, у нас есть даже имя для подобной техники – Comet.
Читать дальше →

Системы коллективного комментирования в отладке сайтов

Время на прочтение6 мин
Охват и читатели3.3K
В этом обзоре мы проанализировали несколько систем коллективного комментирования веб-страниц и постарались найти идеальный инструмент для удаленного обсуждения и отладки work-in-progress сайтов с заказчиком и другими участниками работы.

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

Правильно поставленная задача время бережет

Время на прочтение3 мин
Охват и читатели18K
Хочу поделиться своими мыслями по оптимизации общения адекватного руководителя и адекватного исполнителя. Что надо делать и чего делать не стоит, для того, что бы работа была выполнена качественно и в срок?

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

Коллективная разработка с использованием git и Trac в проекте Midnight Commander

Время на прочтение6 мин
Охват и читатели5.1K
    Действительно, в интернете сейчас можно найти достаточно много информации о настройке GIT и работе с ним, но недостаточно освещен вопрос коллективной разработки и «рабочего процесса» отдельно взятого проекта от начала и до конца.

    Попробую восполнить этот пробел на примере открытого проекта Midnight Commander, не останавливаясь на вопросах установки необходимого ПО, так как этот момент неплохо описан в интернете, и вы сможете легко найти интересующую вас дополнительную информацию самостоятельно.
Читать дальше →

Отключаем Supernode в Skype

Время на прочтение1 мин
Охват и читатели47K
Как известно, Skype использует p2p сеть для обмена данными. Если у Вас достаточно мощный компьютер, то Skype может решить сделать Вас Супернодом и, как следствие, скайп-трафик других участников сети будет идти через Вас.
Начиная с версии 3.0 программы, появилась возможность отключить такую «фичу», что бы чужой трафик скайпа не шёл через Вас.
Для этого необходимо залезть в реестр и создать там ветку:

[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Skype]
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Skype\Phone]
"DisableSupernode"=dword:00000001

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

Дополнительная информация:
1. Guide for Network Administrator’s (.pdf) — подробное описание этой и некоторых других настроек реестра для скайпа.
2. Шаблон групповой политики (.adm), который позволяет более гибко настраивать параметры скайпа.
3. Отключение Supernode в MacOS-версии

Правила работы с e-mail в нашей компании

Время на прочтение2 мин
Охват и читатели4.4K
За четыре года наш коллектив вырос с 3 до 70 человек, появилось три офиса плюс общение со штаб-квартирами. Поэтому по ходу пришлось менять и стиль, и правила работы в компании. В итоге в области коммуникаций это вылилось в следующий свод правил — часть уже можно встретить в литературе по тайм-менеджменту, часть придумали сами. Возможно, это будет полезно и вашей компании. Подходит для компаний, где у всех есть компьютер и e-mail.
Читать дальше →

Применение наследования в шаблонах Mason

Время на прочтение6 мин
Охват и читатели2.3K
Mason — достаточно известный и распространенный фреймворк для разработки Perl-приложений. Несмотря на простой синтаксис, он обладает достаточно широкими возможностями и высокой производительностью; имеет встроенные средства для интеграции с mod_perl и memcached. Освоить работу с mason очень просто — система хорошо документирована. В то же время, есть ряд интересных тонкостей, до которых документацию дочитывают не все. Возможно, именно поэтому код, который мне доводилось видеть, до боли напоминал неудачную поделку на PHP, в которой для упрощения жизни разработчик не использовал ничего сложнее разбивки на инклюдники. Можно ли на масоне писать лучше? По-моему, да.
Попробуем?

Про Git на пальцах (для переходящих с SVN)

Время на прочтение8 мин
Охват и читатели281K
Год назад мы с командой решили перейти с SVN на Git. Зачем это было надо — писать не буду, т.к. на эту тему уже и так много написано. А хочу я описать типичные алгоритмы работы, понятные человеку, который долгое время пользовался SVN. Ниже — памятка, написанная для команды год назад, чтобы легче было мигрировать. Надеюсь, кому-нибудь пригодится.
Читать...

Пакетная обработка изображений в GIMP

Время на прочтение4 мин
Охват и читатели30K
Время от времени возникает необходимость выложить в сеть фотоальбом или пакет отсканированных документов. В большинстве случаев изображения предварительно нужно уменьшить, а иногда и произвести дополнительную обработку, добавить надписи. И вот наступил момент, когда выполнять однотипные операции стало совсем лениво. Вспоминаем про замечательные средства автоматизации в замечательном и бесплатном редакторе GIMP.

Допустим, у нас есть куча фотографий разных размеров, с разным соотношением сторон и сохранённых в разных форматах. В общем, тяжёлый случай. Нам нужно весь этот зоопарк выровнять по размерам, учитывая пропорции, и сохранить в JPEG с заданным качеством. Да, и пусть нам иногда захочется задавать размеры не в пикселях, а процентах. Ну и пусть уже тогда захочется файлы выбирать по маске, типа «C:\images\img_01*.jpg».

Садимся, и калякаем на Script-Fu (доступный по умолчанию в GIMP, язык) свой
первый сценарий

Шрифты, общие для всех (актуальных) версий Windows, и их Mac-эквиваленты

Время на прочтение3 мин
Охват и читатели376K

Введение


В данном списке перечислены шрифты, общие для всех актуальных на данный момент операционных систем Windows (фактически начиная с Windows 98), и их эквиваленты в Mac OS. Такие шрифты иногда называют «безопасными шрифтами для браузеров» (browser safe fonts). Это небольшой справочник, которым я пользуюсь, когда делаю Web-страницы и думаю, что он будет полезен и Вам.
Читать дальше →

Цикл статей по основам Software Configuration Management

Время на прочтение5 мин
Охват и читатели26K

Пролог


Что такое управление конфигурацией в разработке ПО? Зачем оно нужно? Думаю, немногие способны полностью и внятно ответить на этот вопрос. Большинство обычно вспоминает системы контроля версий, которые сами используют. Кто-то упоминает багтрекинг. Кто-то считает вершиной CM отращивание веток в любимой системе контроля версий. А кто-то вообще уходит в сторону и начинает говорить про ITIL и про то, как он записывает в какую-нибудь базу параметры всего софта, который установлен у него в фирме.

Несколько странно и немного досадно наблюдать за этим. Дело в том, что я проработал в SCM в общем сложности около 5 лет, из них 3 года — интегратором в Motorola, на одном из проектов по разработке софта для сотовых телефонов. По ходу дела прочитал кучу материалов по этой теме и получил большой практический опыт — в том числе по работе с одной из мощнейших систем контроля версий IBM Rational ClearCase (см. linkedin в профиле). В итоге в голове сформировалась некоторая целостная картина того, что же это на самом деле — software configuration management.
Ну а дальше-то что?

TeX-like разметка на Javascript

Время на прочтение2 мин
Охват и читатели2.5K
При написании console-like форума был задан вопрос: «какую разметку лучше использовать?». Среди вариантов были стандартный бб-код ([b]bold[/b]), вики-разметка(*bold*), или TeX-like разметка (\b{bold}). После недолгого совещания выбор был остановлен именно на TeX-like. Была написана небольшая библиотека, которая, по моему мнению, достаточно интересна, расширяема и гибка. Желающие посмотреть пример могут перейти по ссылке freecr.ru/TeX
Под хабракатом у меня исходный код под лицензией LGPL, объяснение возможностей, принципов и примеры написания плагинов.

Управление проектами с почасовой оплатой

Время на прочтение5 мин
Охват и читатели4.4K
Расскажу о том, как превратить почасовую оплату в отличный способ управления проектом. А также о том, как заказчику (менеджеру проекта) не волноваться о завышении сроков разработчиком, а разработчику не беспокоиться, что заказчик будет его двигать по срокам.

время-деньги

Opera Unite для разработчиков

Время на прочтение9 мин
Охват и читатели947
imageА не написать ли нам какой-нибудь сервис под Опера Юнайт? Здесь я расскажу об особенностях программирования под новинку от Оперы на примере своего сервиса "Stream media". Официальная документация пока что неполная и содержит много ошибок, и в этой статье мы попытаемся их обойти.
image
Далее, будем вникать в технологию постепенно. Желательно, чтобы Вы уже прочли мануал по созданию первого приложения, поскольку некоторые очевидные факты здесь опускаются.
Читать дальше →

ServerSideJS: теперь проще просто. Встречайте v8cgi!

Время на прочтение2 мин
Охват и читатели1.4K
v8cgi — обертка для JS-движка v8 от гугла. Меня попросили его поставить на сервер и он меня приятно удивил непредсказуемо малой прожорливостью и удобством эксплуатации.
Читать дальше →

Getters & Setters в Javascript

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

Дальше...

Информация

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