Прокаченный ipython - ptpython!

На днях мне показали потрясающую вещь: ptpython (ссылка ведет на github.com)

Aug. 2, 2015, 9:48 p.m.
Теги:   python
0 комментариев было оставлено на пост.
line

Emacs и удаленное редактирование файлов

В Emacs есть замечательная штука - tramp. Tramp позволяет гулять на сервер, к примеру, по FTP или по SSH так, словно ты бродишь по собственному жесткому диску. Но этот пост, на самом деле не о нем. Проблема Tramp, по крайней мере у меня, в том, что оно жутко глючит и разбираться с ним особо нет желания. Но именно тормоза на Tramp вынудили меня идти и сделать что-то с тормозами при работе с файлами на удаленной машине. И тут я вспомнил про SSHFS.

Oct. 28, 2013, 11:12 p.m.
Теги:   emacs, sshfs, elisp
0 комментариев было оставлено на пост.
line

Разворачиваем Django-приложение на nginx и uWSGI

Если у Вас уже есть какой-то небольшой проектик на Django и валяющийся под столом без дела недосервер, то самое время разместить его в сети. Вопросы регистрации домена, настройки DNS-зоны, настройку шлюза на Debian мы опустим, возможно до более удачного момента, а вот настроить связку nginx + uWSGI + Django пожалуй попробуем.

uWSGI позволяет связать наш проект на Django с веб-сервером и получит от этого все соответствующие преимущества.

Для начала определимся, что уже должно быть настроено на сервачке. Прежде всего поставлен Debian (Wheezy на момент написания статьи) и настроен доступ по SSH, также должно быть настроено виртуальное окружение для проекта на Django, а в нем установлены все необходимые зависимсоти (например через pip). Приложение должно успешно стартовать через встроенный в Django веб-сервер разработчика.

June 12, 2013, 9:19 p.m.
Теги:   nginx, django, uwsgi
0 комментариев было оставлено на пост.
line

Прощай tinymce, привет markdown!

Некоторое время назад в качестве эксперимента я прикрутил для своего сайта в админку и к комментариям графическую редактилку текста tinymce. Это ужасная штука, правда, ужасная. Я долгое время пытался к ней привыкнуть, пытался приспособиться к правке текстов через нее, написанию постов и добавлению кусков кода. Это был настоящий ад. Эта редактилка постоянно считает, что умнее меня и делает совсем не то, что я от нее хочу. В итоге оно меня допекло, и я начал думать, как бы прикрутить редактирование и создание новых постов на сайте поудобнее. В итоге пришел к решению, что напишу-ка я API для сайта, к которому будет обращаться Emacs для обновления и создания новых материалов. За одно изучу новые штуки, такие как Django Restframework например, а также попробую себя в elisp.

June 8, 2013, 12:21 p.m.
Теги:   django, markdown
0 комментариев было оставлено на пост.
line

Emacs, copy-paste and dired-mode

Чем больше используешься Emacs, тем все больше и больше задач хочешь решать с его помощью. Такое желание не удивительно - добавление новых major-mode не так уж и сложно, а принципы работы с ними почти всегда одинаковы и заведомо будут являться привычными, ведь все в Emacs работает условно одинаково. 

К сожелению, не всегда предлагаемые для Emacs решения являются удобными, некоторые из них удобны, но в них нет все необходимой функциональности, либо они организованы не так, как хотелось бы Вам. Вообщем всяких разных "НО" тут может быть много, на Ваш вкус так сказать.

Вот и с dired-mode такая я же ситуация. Вещь безусловно полезная и прикольная, но кое-что хотелось бы допилить. Например при хождении с помощью dired и tramp по серверам возникает необходимость копирования файлов между ними, при этом обычный способ, когда Вы выделяете необходимые для копирования файлы, потом жмете "С" и вводите путь - ну совсем не удобно, особенно если у Вас уже открыто два буфера с каталогами на разных серверах. Вот тут и будет, пожалуй, очень полезно наличие обычной функции Copy-Paste.

К сожалению, в dired мне не удалось найти этой функции, может быть я плохо читал документацию? Кто знает - поделитесь в комментариях! Пока же я просто нашел костыль.   

Все очень просто, берете файлик отсюда: https://github.com/hidaqa/dired-copy-paste/blob/master/dired-copy-paste.el, копируете в ~/.emacs.d/, добавляете в ~/.emacs следующие строки:


(require 'dired-copy-paste)

Далее следует заветная комбинация: M-x load-file RET ~/.emacs и вуаля, функция добавлена.  Использовать очень просто:

C-c C-w (функция dired-copy-paste-do-cut) - "вырезать" файлы;

C-c C-c (функция dired-copy-paste-do-copy) - "Копировать" файлы;

C-c C-y (функция dired-copy-paste-do-paste) - "Вставить" файлы. 

Вот, пожалуй и все, "Дешево и сердито". 

May 11, 2013, 10:39 a.m.
0 комментариев было оставлено на пост.
line

VeloMak теперь работает на Django 1.5

В связи с тем что Django обновился до версии 1.5, я решил протестировать работу своего движка VeloMak на новой версии. На удивление, оказалось, что оно даже заработало, однако радость моя была совсем не продолжительной. 

После нескольких экспериментов выяснилось, что если DEBUG=True в файле settings.py, то все великолепно, кроме ругани в консоль о том, что имеются функции, помеченный как Depricatd. Зато если DEBUG=False - то ничерта не работает. 

Ковыряния с этой бедой привело меня к тому, что проблема с логерами, которые обычно настраиваются в том же settings.py. Поверхностное ползание по документации ничего мне не дало, и я полез в гугл дальше. 

Решение оказалось простое, добавить в settings.py строку:


ALLOWED_HOSTS = ['*']

Согласно документации Django, это опция была добавлена с целью повысить некоторую степень безопасности. Так как на первый взгляд для меня данная настройка не кретична, скорее всего я разберусь с ней чуть позже, обидно то, что она срабатывает при выключенном DEBUG и в консоль ничего кроме 500 ошибки не выводит, в логах же ошибок веб-сервера мы видим только 500-ый ответ. 

Теперь только остается протестировать работу блога, посмотрим, всплывут ли еще какие-либо проблемы. 

March 22, 2013, 11:23 p.m.
Теги:   django
0 комментариев было оставлено на пост.
line

Apache, mod_wsgi, python и virtualenv

Скажу сразу, страницу, которую Вы сейчас видите, отдал Вам Nginx, для этого сайта я не использую Apache. Зачем же о нем тогда писать? Да просто так, мне стало интересно попробовать что-то другое. 
 
В этой статье мы с вами попробуем настроить базовую рабочую конфигурацию, что бы развернуть проект на Django. Помимо того, где и какие команды вводить, постараюсь так же дать подробные комментарии зачем их нужно вводить. Эта статья пригодиться тем, кто хочет развернуть проект на Django или на Flask на относительно боевоей сервер, но не до конца понимает, как это можно сделать. 
 
Для экспериментов нам понадобиться:
  1. Виртуальная машина, воспользуйтесь тем решением, что Вам больше нравится
  2. Дистрибутив Debian 6, уже установленный на виртуальную машину
  3. Доступ в интернет
  4. Желание все настроить и возрадоваться по окончании результату 

Feb. 9, 2013, 3:33 p.m.
7 комментариев было оставлено на пост.
line

© le087's blog 2011-2013