суббота, 20 июля 2013 г.

Как синхронизировать время в Debian?

Если часы идут неправильно, надо что-то делать... Для начала ставим необходимые пакеты:

#apt-get install ntp ntpdate

После чего производим синхронизацию времени:

ntpdate -bs ntp.remco.org

Автоматический вход в систему в Debian 7

Для автоматического входа в систему необходимо отредактировать файл под рутом: mcedit /etc/gdm3/daemon.conf

[daemon]
# Enabling automatic login
AutomaticLoginEnable = true
AutomaticLogin = username

где username — логин пользователя, под которым будет осуществлен автоматический вход.

Включение компьютера после подачи электричества

Когда компьютер занят чем-то серьезным (типа добычи биткоинов) и происходит выключение питания из-за сбоя электричества, при отсутствии бесперебойника — всё становится очень грустно. Как только электричество снова появится — компьютер сам уже не включится.

Но можно сделать соответствующую настройку в BIOS, чтобы компьютер включался автоматом после подачи питания. У меня в BIOS'е настройки такие:

Power -> APM Configuration -> Restore on AC Power Loss -> Power on

пятница, 19 июля 2013 г.

Как отучить iTunes копировать музыку к себе в папку

Все просто:

iTunes -> Настройки -> Дополнения -> Снять галочки:

  • Сохранять информацию о песнях в папке iTunes Media
  • Копировать в папку iTunes Media при добавлении в библиотеку

четверг, 18 июля 2013 г.

Установка драйвера Radeon 6970 в Debian 7

Для установки проприетарного драйвера к видеокарточке Radeon 6970 сначала необходимо его скачать. Сделать это можно отсюда: http://support.amd.com/us/gpudownload/Pages/index.aspx.

Далее необходимо добавать в файл /etc/apt/sources.list следующие строки. Файл надо открывать с помощью редактора nano.

deb-src ftp://ftp.debian.org/debian wheezy main contrib non-free
deb ftp://ftp.debian.org/debian wheezy main contrib non-free

Сочетание non-free говорит о том, что репозиторий не свободный.

Далее, ставим дополнительные пакеты:

#apt-get install module-assistant build-essential fakeroot dh-make debconf bzip2 libstdc++5 linux-headers-$(uname -r)

Затем, переходим в консоль Ctrl+Alt+F1, заходим в директорию с драйвером и запускаем установку:

sh ./amd-driver-installer-catalyst-version.run

Ну и reboot в конце.

воскресенье, 14 июля 2013 г.

Как отобразить в админке Django поля, помеченные в модели как editable='False'?

В файле admin.py добавляем строчку в соответствующем классе:

readonly_fields=('field_name',)

где field_name — имя поля, которое помечено, как editable='False' в модели.

Как создать foreign key на таблицу User в Django?

Для начала необходимо импортировать соответствующую модель:

from django.contrib.auth.models import User

Ну и собственно в самом классе добавляем поле со ссылкой на пользователя:

user = models.ForeignKey(User,)

среда, 3 июля 2013 г.

Aptana Studio

Скачал сегодня IDE Aptana Studio. Похожа на Eclipse, но получше. Импортировал проекты (те, что были сделаны в Eclipse). Поставил Mercurial (так же, как и в Eclipse). PeDev и WebPage редакторы в ней уже стоят по умолчанию. В репозиториях Debian ее по каким-то причинам нет, но она легко скачивается с сайта http://www.aptana.com. Первое впечатление положительное. Понравились темы. Вообщем, буду изучать.

воскресенье, 30 июня 2013 г.

Ошибка «Undefined variable from import»

Просматривая файлы компонента django-registration в файле registration/backends/default/views.py обнаружил ошибку в строке:

if Site._meta.installed:

типа переменная _meta не определена, хотя компонент django-registration в процессе работы ошибок не выдавал.

Лечение следующее: в Eclipse на строке нажать Ctrl+1, и выбрать UndefinedVariable.

Основы работы с архивами в Linux

В Linux в основном используется архиватор tar. Существует большое разнообразие команд для работы с архивами, но 2 команды используются наиболее часто. Ниже они представлены.

  • Упаковка содержимого текущего каталога в архив, с последующим удалением файлов:

    $ tar -cvzf archive_name.tar.gz * --remove-files

    где c — ключ для создания архива, v — ключ для вывода списка файлов, которые упаковываются (что-то вроде прогресса выполнения), z — указание использовать архиватор gzip, f — ключ нужен для упаковки содержимого в файл, archive_name — название архива, * — означает, что нужно упаковать все содержимое текущего каталога, --remove-files — ключ для удаления файлов после упаковки.

  • Распаковка архива в каталог.

    $ tar -xvf archive_name.tar.gz

    Где ключ x означает команду распаковки архива.

суббота, 22 июня 2013 г.

Местоположение исходников Django в системе

Следующая нехитрая команда выводит полный путь к исходникам Django:

python -c "
import sys
sys.path = sys.path[1:]
import django
print(django.__path__)"

четверг, 20 июня 2013 г.

Как узнать, какой sql-скрипт сгенерирует Django?

Посмотреть, как в реальности создадутся таблички на основе модели приложения, можно с помощью следующей команды:

$ python manage.py sql app_name, где app_name — имя приложения.

Данная команда только покажет скрипт, но ничего не создаст.

Вывод полного пути к каталогу в Linux

Для вывода полного пути к текущему каталогу, служит команда pwd.

Запуск shell с окружением Django в Eclipse

Правой кнопкой мыши по проекту: Django -> Shell whith django environment

Фича полезная, должна пригодиться.

Настройка отправки писем в Django

Если письма не отправляются, надо залезть в settings.py и проверить настройки. Вот работающий конфиг:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
DEFAULT_FROM_EMAIL = 'user@domain.com'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.domain.com'
EMAIL_HOST_USER = 'user@domain.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_PORT = 587

где user@domain.com — полное название вашего почтового ящика, а smtp.domain.com — адрес smtp-сервера вашего хостера. К примеру у хостинга jino этот адрес выглядит так: smtp.jino.ru.