Микрофреймворки — Silex и Flask

Как обычно за понятиями отправляемся в википедию.

Что такое фреймворк?

Фреймворк (англ. framework — каркас, структура) — структура программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.

Чем фреймворк отличается от библиотеки?

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

Этот необычный Python. Часть 1

Думаю многие согласятся что Python необычный язык программирования, и это бросается в глаза сразу, «нестандартный» синтаксис, необычные подходы ко многим ООП-эшным штукам, к примеру инкапсуляция, и много-много интересных и красивых конструкций. Именно им хочется посвятить данный пост.

Конечно можно писать на Python пользуясь стандартными для большинства языков программирования речевыми оборотами конструкциями. Но не все что возможно — круто! А код должен быть крутым! Потому что это круто, когда ваш код крутой! :) Читать далее

Удаление локальных и удаленных веток в Git

Совсем маленькая заметочка о том, как можно удалить (remove) локальные и удаленные (remote) ветки.

Удаление локальной ветки делается вот так:

git branch -d your_local_branch

Удаления ветки из удаленного репозитория:

git push origin :your_remote_branch

При попытке удалить(remove) удаленную(remote) ветку может возникнуть вот такая ошибка:

error: unable to push to unqualified destination: the_remote_branch
The destination refspec neither matches an existing ref on the remote nor
begins with refs/, and we are unable to guess a prefix based on the source ref.
error: failed to push some refs to 'git@repository_name'

Возможно кто-то другой уже удалил эту ветку. Попробуйте синхронизировать список веток с помощью команды:

git fetch -p

Git проверит «живы» ли ветки, и если нет, он удалит их из вашего списка.

Перенос блога с поддомена на основной домен

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

Сразу показалось что все получилось, но проскролив страницу оказалось что картинки перестали подгружаться, все ссылки ведут не туда куда должны, и в войти не получается, редиректит на старый домен. Читать далее

Сброс пароля root пользователя Ubuntu

Иногда бывает необходимо сбросить пароль пользователя (в том числе root пользователя) Ubuntu, потому что хочется добраться до того, что спрятано там, за паролем ним. Я, к примеру, долго не пользовался ноутбуком, а сегодня мне понадобилась пара файлов которые были только на ноуте, пароль вспомнить не получилось, а гостевую учетку я отключил. Поэтому пришлось сбрасывать пароль, чтобы получить доступ к устройству.
Оказалось что это очень просто, на удивление, элементарно. Пароль сбросить можно за минуту, причем как я уже писал, для любого пользователя, даже root. Естественно старый пароль знать не нужно, что прекрасно с одной стороный, а с другой стороны если задуматься — не очень. Мало ли что у вас там, вдруг невеста узнает о существовании жены. :) Читать далее

VirtualBox 4.2.12 и Ubuntu или Low-Graphic Mode Error

Обычно VirtualBox я ставлю на Ubuntu, а на виртуальных машинах размещаются Windows XP и Windows 7. Но сейчас мне понадобилось воспользоваться Ubuntu из под Windows 7. Я скачал и установил VirtualBox, скачал образ Ubuntu 12.04 и все в штатном режиме поставил на виртуальную машину. Но при попытке запустить Ubuntu столкнулся со следующим сообщением об ошибке:

The system is running in low-grahics mode

Your screen, graphic card, and input device settings could not be detected correctly. You will need to configure these yourself.

the-system-is-running-in-low-graphics-mode

Читать далее

Блог на Django. Часть 2. Виртуальное окружение

Так как я большой фанат операционной системы Ubuntu я буду расказывать как настроить виртуальное окружение для Django блога на Ubuntu.

Зачем вообще нужно виртуальное окружение?

Часто случается что на одном сервере располагается несколько проектов написаных на Python. Все они работают на одинаковых версиях библиотек? Скорее всего нет. Чтобы не было проблем и конфликтов мы используем виртуальные окружения. Мы создаем виртаульное окружение для каждого проекта, которое никак не пересекается с окружениями других проектов. Поэтому на одном сервере может работать и старое приложение и новое. А при необходимости изменить версию интерпритатора для одного конкретного проекта мы не переживаем что какой-то другой проект вдруг упадет.

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

Django-Job-in-Bristol_thumb_896x555

Блог на Django. Часть 1. Предисловие

Перед тем как мы начнем реализовывать блог на Django хотелось бы сказать что из себя представляет Django. Дело в том что с Django мы сталкиваемся довольно часто, хотя можем не подозревать этого, на пример Instagram работает на Django. На официальном сайте фреймворка есть список извесных сайтов разработаных на Django.

Что есть Django?

Django — веб-фреймворк для перфекционистов с дедлайнами.

Django-Job-in-Bristol_thumb_896x555

Django — это веб-фрейворк высокого уровня, который дает возможность значительно ускорить процесс разработки.  Дает возможность разграничить процессы программирования, верстку и дизайн. На Django Вы сможете разрабатывать высоко-производительные веб-проэкты любой сложности быстро и эфективно. Так он был разработан в быстро изменяющейся среде отдела новостей, задачей django было сделать общие задачи Веб разработки быстрыми и легкими. Читать далее

rakhmatulin

02.06.2013

Django-Job-in-Bristol_thumb_896x555

Появилась необходимость вспомнить как устроены проекты на Django, как там все хорошо и весело работает, поэтому решил не просто вспомнить, но и поделиться впечатлениями и мыслями по поводу этого фреймворка и вообще языка Python. Поэтому стартую серию статей под названием «блог на Python Django». В которой планирую описать основные моменты такие как виртуальные окружения, админка, модели, формы, вьюхи и темплейты. В общем буду писать простенький блог, всем кому интересно прошу задавать вопросы в комментариях и проявлять любую активность. Постараюсь ответить всем :) Будем работать с последней версией Django, на данный момент это 1.5.*, на Ubuntu 13.04 Ubuntu 12.04

Как установить и настроить Git на Ubuntu 12.04

Красный в статье

В этой статье я выделяю красным цветом то, что вы должны изменить под себя, к примеру вместо test.com вы указываете имя своего домена. Все остальное можно просто скопировать и вставить.

Что такое Git

Git-logo.svg
Git (произн. «гит») — распределённая система управления версиями файлов. Ядро Git представляет собой набор утилит командной строки с параметрами. Все настройки хранятся в текстовых файлах конфигурации. Такая реализация делает Git легко портируемым на любую платформу и даёт возможность легко интегрировать Git в другие системы (в частности, создавать графические git-клиенты с любым желаемым интерфейсом).
Репозиторий Git представляет собой каталог файловой системы, в котором находятся файлы конфигурации репозитория, файлы журналов, хранящие операции, выполняемые над репозиторием, индекс, описывающий расположение файлов и хранилище, содержащее собственно файлы. Структура хранилища файлов не отражает реальную структуру хранящегося в репозитории файлового дерева, она ориентирована на повышение скорости выполнения операций с репозиторием. Когда ядро обрабатывает команду изменения (неважно, при локальных изменениях или при получении патча от другого узла), оно создаёт в хранилище новые файлы, соответствующие новым состояниям изменённых файлов. Существенно, что никакие операции не изменяют содержимого уже существующих в хранилище файлов. Читать далее