Search
Write a publication
Pull to refresh
0
0

User

Send message

Развертывание сайта на Джанго, используя FastCGI

Reading time9 min
Views16K

От переводчика


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

Когда разрабатываешь сайт на Джанго, так легко просто открыть консоль и напечатать:

python manage.py runserver

С этой простой командой управления ваши медиа файлы админки сайта поддерживаются правильным образом, PYTHONPATH правильно настроен и включает корневую папку нашего проекта, а так же запущен автоматически перегружающийся веб-сервер на указанном нами порту (от переводчика: по умолчанию порт 8000). Так просто!

Не удивительно, что люди так разочаровываются, когда приходит время положить их сайт на боевой сервер: существует так много шагов в этом процессе и поэтому сложно все их выучить и сделать все правильно. Неудивительно, что вся эта сложность приводит к тому, что написано много статей о развертывании веб-сайта на Джанго. Но почти все из этих статей фокусируются на развертывании сайта используя Apache и mod_wsgi или mod_python.

Однако иногда Apache не идеальное решение. Может быть ваш VPS имеет только 256 МБ памяти, а может быть вы хотите избежать сложности настройки Apache при установке. Или может быть вам просто не нравиться Apache. По любой из этих причин мы можем обратить свое внимание на FastCGI.
Читать дальше →

Разворачиваем nginx + mod_wsgi на сервере

Reading time8 min
Views29K
Здрасти. Долго-долго я присматривался к замечательному фреймворку django, читал книгу, изучал статьи, пробовал писать hello world'ы (со встроенным в джангу сервером это было легко и приятно). А вчера я попробовал настроить от начала до конца боевой сервер, и как оказалось, это не так просто, и мне даже показалось, что будь я моложе и неопытнее, я бы плюнул на это дело. Вот я и решил поделиться с читателями полной инструкцией, снабдив её некоторыми рассуждениями и конфигами. Статья расчитана на начинающих, но будет интересно всем, обещаю.
Читать дальше →

Изобретайте велосипед часто

Reading time2 min
Views2.1K
Переводчик не несет ответственности за несовпадение мнения автора с точкой зрения читателя

«Просто используйте то, что существует — это глупо, изобретать колесо...»

Вы когда-нибудь это слышали в том или ином виде? Конечно, слышали! Каждый разработчик и студент часто слышит нечто подобное. Почему? Почему изобретать велосипед так постыдно? Потому что, чаще всего, существующий код — рабочий код. Он уже прошел через какой-то контроль качества, тщательное тестирование, и в настоящее время успешно используется. Кроме того, время и усилия, вложенные в изобретение обычно не окупаются так же, как при использовании существующего продукта или кодовой базы. Нужно ли заморачиваться изобретением велосипеда? Зачем? Когда?
Читать дальше →

Об организации рабочей атмосферы и пространства

Reading time3 min
Views4.9K
Здравствуй, читатель.

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

Листалка страниц на HTML5 canvas

Reading time1 min
Views12K
Думаю, листалкой на Flash или Silverlight никого не удивишь — но что насчет листалки на HTML5 ? Вооружившись статьей Rick Barraza о листании страниц на Silverlight, я сделал вполне себе приятную листалку в виде jQuery плагина.

image

Проект доступен под лицензией MIT по адресу jpageflipper.codeplex.com Текущая версия — 0.9, пока не хватает теней и мелких плюшек, а также возможности ставить несколько листалок на страницу.

Демка доступна на dl.dropbox.com/u/7235888/index.html

Ну и, соотстветственно, раз уж это HTML5, в некоторых браузерах возможна некорректная работа (ну или ее полное отсутствие). Работает в Chrome 4+, Firefox 3.5+, Opera 9.6+, Safari 4+

UPD: выложил демку на dropbox.com по наводке otaqsun

Контрастная схема Eclipse/pyDev под TextMate

Reading time4 min
Views6.7K
Проблема:
при запуске Эклипсы на экране с высоким разрешением — ничего не видно, а внимание отвлекается на непонятные элементы интерфейса.
Цветовая раскраска для разработки под Python кажется неинформативной.
Особенно актуально для людей с пониженным зрением, работающих без очков на мониторах с разрешением 1680х1050 и выше.

Задача:
1) найти скин, который бы визуально увеличивал значимые части интерфейса (названия табов, элементы списков)
2) а также визуально уменьшал рюшечки, не несущие смысловой нагрузки
3) подобрать броские и понятные цвета и шрифты редактора
4) желательно чтобы всё вместе это напоминало (хотя бы отдаленно) редактор textmate

На решение была потрачена пара часов перебора различных вариантов методом тыка.
Описание поможет вам сэкономить эти несколько часов :)

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

«LibCanvas» — фреймворк для работы с Javascript Canvas, запущен сайт + игра «Asteroids»

Reading time1 min
Views6.5K
Здравствуйте. Я продолжаю развитие фреймворка для работы с Javascript Canvas, основанного на MooTools и предназначенного для создания анимаций, игр, ui и всего, что вы пожелаете. И сегодня — очень важный момент для этого фреймворка — публичный запуск официального сайта.

Добро пожаловать на

libcanvas.com



К запуску мы с greedykid и Nutochka портировали «Asteroids» — культовую игру восьмидесятых, но с более усовершенствованной графикой, которая работает во всех современных браузерах (да-да, про ie < 9 тут ничего не было). Работа над Астероидами показала мне потенциал этой технологии. Я уверен, что это далеко не предел, у меня есть идеи и даже интересные реализации и потому я продолжу развитие этого фреймворка. Ждите новых интересных приложений.
Читать дальше →

Десять советов начинающим программистам

Reading time5 min
Views110K

Предисловие


Хорошо, когда работаешь с человеком, который отлично знает толк в своём деле. А что, если случается работать с коллегой, опыт которого не столь большой. Особенно это касается профессионально-личностных качеств. Невольно приходится подсказывать, местами помагать ему, а где-то даже откровенно учить. Все мы когда-то начинали. Все эти действия требуют немалых усилий, которые можно было бы применить по прямому назначению — в разработке проекта, но без подготовки новых специалистов будет тяжелее.

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

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

1. Будьте самостоятельными


Если у вас есть какой-то вопрос, и вы не знаете как с ним поступить, то вначале постарайтесь исследовать его самостоятельно. Не ждите постоянной помощи от коллег — у них и без вас работы хватает. Используйте всю мощь поисковых систем, специализированных ресурсов (например, stackoverflow), профессиональных блогов, форумов разработчиков, и конечно же хабра. Большинство типичных «граблей» можно обойти различными эффективными вариантами, а для решения базовых задач есть дюжины готовых решений. Просто пойдите и возьмите.

читать далее...

Как сделать динамичный, переливающийся фон

Reading time1 min
Views11K
На сайте новаторского магазина thinkgeek.com столкнулся с любопытным эффектом — переливающимся фоном (чтобы увидеть конфетку нужно поработать колёсиком прокрутки). Сделан он очень просто, и все же подобная техника попалась мне впервые.

image

спешу поделиться:

Underscore.js — библиотека, которая так хороша, что должна быть вне закона

Reading time3 min
Views50K
Каждый, кому приходилось писать объемные куски осмысленного кода на javascript, рано или поздно понимал, что ему многого не хватает в этом языке или просто неудобны некоторые врожденные конструкции. Для сглаживания шероховатостей применяются jQuery, Prototype, MooTools etc. Кто-то уже мало представляет себе, как можно кодить без них. Сегодня я расскажу о еще одной маааленькой библиотечке, которая делает мир javascript-программиста еще прекраснее. Речь пойдет о Underscore.js
Go ahead, make my day

Индексы в MySQL: многоколоночные индексы против комбинированных индексов

Reading time9 min
Views121K
Я часто вижу ошибки, связанные с созданием индексов в MySQL. Многие разработчики (и не только новички в MySQL) создают много индексов на тех колонках, которые будут использовать в выборках, и считают это оптимальной стратегией. Например, если мне нужно выполнить запрос типа AGE=18 AND STATE='CA', то многие люди просто создадут 2 отдельных индекса на колонках AGE и STATE.

Намного лучшей (здесь и далее прим. переводчика: а обычно и единственной верной) стратегией является создание комбинированного индекса вида (AGE,STATE). Давайте рассмотрим почему это так.

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

Технический отчет запуска Eventr.com, цифры

Reading time4 min
Views1.5K
image По просьбам хабралюдей выкладываю короткий технический отчет.
Напомню, Eventr – это web-сервис, в котором можно удобно читать RSS-ленты, в два клика обмениваться, делиться интересными записями с другими, вести свой блог.

Мы стартовали днем в воскресенье, 11-го июля, через час легли под хабраэффектом. Собственно, наши волшебные заклинания и цифры под катом.

О чем будет сказано:
  1. Некоторые технические сложности
  2. RSS/Atom читалка, цифры
  3. Хабраэффект, цифры
  4. Грабли
  5. Mongodb, nodejs, redis
Читать дальше →

Объединение нескольких разделов в один без потери информации

Reading time2 min
Views46K

Задача


Необходимо объединить несколько существующих разделов в один без потери информации. Такое может случиться, если заранее не был задействован LVM, а необходимо расширить пространство, например, для торрентов.
Узнать решение

Консольный словарь sdcv

Reading time2 min
Views7.5K
Очень часто, администраторам приходиться читать маны, которые, к сожалению, в большинстве случаев на английском языке. Конечно, большинство знают английский, и очень даже не плохо, но очень часто встречаются слова, которые очень трудно перевести. Хорошо, когда у вас под рукой есть какой-либо stardict или просто есть соединение с интернетом и можно глянуть перевод. А если нет? Или настраиваете сервер, и у вас только голая консоль без выхода в интернет. Понимаю, звучит фантастично, но в жизни всякое бывает. Или как в моем случае: мне нужен был простой словарик, который бы не висел в трее, не имел никаких лишних наворотов и гуев (пинок в сторону stardict) и был под рукой, ну или не далеко от нее. :) Вот именно для таких случаев (ну или вы просто заядлый Linux Geek и вам бы все в консоль) и есть консольный словарик sdcv — StarDict Console Version.

Эта небольшая софтина, размером в 155 КБ, к сожалению, есть далеко не в каждом Linux-дистрибутиве, так что возможно вам придется ее собрать самому, не думаю что это вызовет затруднение. :) Скачать ее можно тут — downloads.sourceforge.net/sourceforge/sdcv/sdcv-0.4.2.tar.bz2

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

Казалось бы, зачем ради такой незначительной утилиты писать столько текста. Но если копнуть глубже и пораскинуть мозгами, то областей ее применения множество. Начиная от банальных переводов методом ls | grep | sdcv и заканчивая использованием в скриптах.

Опций немного. Из интересных можно выделить парочку: -u для перевода слова используя какой-то конкретный словарь и -n для использования в скриптах. Кстати, назначение этой опции я либо не понял, либо неправильно использовал, но у меня ее результат выходил такой же, как если передать sdcv в качестве параметра слово для перевода.

Django в неблокирующем стиле, или в погоне за Священным Граалем

Reading time2 min
Views4.7K
image

Присказка


При чтении о Twisted, Tornado, Node.js, у многих python-программистов возникает вопрос — «а вот если взять, и переписать Django в неблокирующем стиле?». Обычный ответ на этот вопрос — нет, не дождетесь. И правда, чтобы переписать целый фреймворк в макаронно-колбечном стиле, надо очень много сил, и большой заряд энтузиазма. Писать с колбеками, очень сомнительное удовольствие.

Так бы и было, но как я писал в своей прошлой заметке, есть в python-мире greenlet-ы, которые легким движением руки помогают скрыть от программиста все эти асинхронные моменты, до определенной степени. В момент написания той заметки, к мысли заставить работать Django в неблокирующем режиме, я относился весьма скептически — ну в самом деле, кто за это возьмется?

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

Каким надо быть руководителем? Секреты профессии

Reading time4 min
Views9.7K
Скажу сразу — «Америку не открываю», так же как не «изобретаю велосипед». Статья базируется на модели ситуационного лидерства Херси-Бланчарда. Сама модель в значительной степени изменена в применении к управлению именно ИТ-командами в нашей стране и подкреплена практическим опытом управления командами в Майкрософт Рус и в собственном бизнесе.

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

Обязанности менеджера

Reading time3 min
Views62K
Много написано статей по поводу отличий Лидерства от Менеджмента. Вот наиболее яркий пример, отражающий это отличие.
Лидер — это тот, кто в группе людей, заблудившихся в джунглях, забирается на самое высокое дерево и показывает направление «Идем туда!!!». Менеджер — это тот, кто зная направление, организует людей, которые планомерно прорубают дорогу мачетe. Таким образом, Лидер должен иметь способность подняться на более высокий уровень (в данном случае дерево) понимания проблемы, зрение (его еще называют vision) и широкий кругозор (когда забрался уже достаточно высоко). Менеджер — умение убедить\заставить людей двигаться вперед, организовать работу\питание\сон, подбадривать их. Конечно, это здорово когда и Лидер и Менеджер — это одно и тоже же лицо.
Итак вернемся к нашему лесорубу и его обязанностям...

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

Установка для «чайников»: nginx + php-cgi + mysql + eaccelerator + memcache на Debian 5.0 «lenny»

Reading time7 min
Views79K
Данная заметка является шпаргалкой для новичков в установке нормально работающего комплекса, описанного в заголовке. Все пункты установки протестированы несколько раз на разных vds, поэтому проблем с нехваткой чего-то быть не должно, как это обычно бывает, когда ставишь что-то по мануалам, надерганных из разных источников. Подробно описания настроек и «тюнинга» в заметке нет, т.к. это всё очень индивидуально и требует понимания что, как и зачем делается, а это невозможно охватить в одной даже очень большой шпоре.
Читать дальше →

PHP Performance Series: Caching Techniques

Reading time6 min
Views11K
Кеширование промежуточного кода (Opcode Caching)
Кэширование кода это один из самых легких и эффективных путей увеличения производительности в PHP. Использовании данного вида кэширования позволит избавиться от большого количества неэффективностей, возникающих при процессе запуска выполнения кода. Кэширование кода сохраняет промежуточный код в памяти для того чтобы не компилировать PHP-код каждый раз при запуске файла.
Читать дальше →

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Registered
Activity