Записи по категории “Полезное”.

Набор горячих клавиш для работы с консолью

Если вы работаете с текстом в консоли, возможно правите какую то конфигурацию на сервере под никсами (к примеру генту), то возможно вам будет интересно и полезно узнать некоторые горячие клавиши которые вы вероятно никогда не использовали.

Возвратится на начало текущей строки Ctrl + A
Возвратится в конец текущей строки Ctrl + E
Удалить слово назад Alt + BackSpace
Удалить слово вперед Alt + D
Переместить курсор к началу следующего слова Alt + F
Переместить курсор к началу предыдущего слова Alt + B

Удалить символ перед курсором Ctrl + D

Данные комбинации поддерживаюца большинством никсовых систем.

PS.: имхо иногда удобно очень, чем тыкать мышкой

Основы emacs (внешняя ссылка)

После поисков редактора питоновских скриптов я прошустил довольно много, спрашивал, читал, изучал. Мне не нужен был ни Eclipse ни IDEA. Для моего домашнего ноута честно признатся таких монстров вообще не нужно.

В итоге остановился на emacs. Сейчас читаю классную статью, которую, если вы так же как и я решили перейти на emacs, можете прочитать вот

Кстати под Mac OS X есть отличная обертка над emacs Aquamacs

Code completition для django проекта

PyDev поддерживает codecompletition, правда у меня на некоторых машинах так и не удалось заставить его заставить распознать и подключить. Но наверно своя машина ближе.

Описываю как я подключал на своем Mac. По аналогии делается и на Windows машинах.

1. В Preferences эклипса есть раздел PyDev, внутри него таится Interpreter – Python. Что необходимо сделать это указать путь до вашего интерпретатора. Дальше он сам определит какие пакеты находятся в PYTHONPATH.

2. Открываете Preferences своего Django проекта. Чтобы заставить PyDev понимать его исходники как пакеты, достаточно выбрать в PyDev – PYTHONPATH Project Source Folders.

3. Чтобы наверняка в External Source Folders заносим путь до django директории.

Результат вот:

Разработка через тестирование глазами новичка

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

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

Кстати заметил фишку в разработке тестов в unittest питона. Если в начало теста поставить описание docline то при проходе отобразится не скучный путь до пакета и модуля а полноценное описание теста. К примеру

  1. def testSetRatingTwice(self):
  2.     "Expect raising of exception when user set rating for object twice"
  3.     # functional of the test
  4.     self.assertRaises(….)

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

Очень не нравится пакет pymock, который очень часто вводит меня в ступор своими Inappropriate action или чем то подобным, поэтому стараюсь как можно чаще избегать подобных тестов, а то и вообще не прибегать к mock совсем.

Продолжаю процесс разработки через тестирование.