вторник, 4 августа 2015 г.

День 1. Настройка Apache, mod_wsgi и Flask-приложения на виртуальном хосте

Сегодня опишу свой опыт по настройке Apache для запуска Flask-приложения на виртуальной машине.

Подготовка

Итак, имеем гостевую ОС (guest OS) Xubuntu 14.04 на VirtualBox v.5.0. Устанавливаем вэб-сервер по руководству с форума ubuntu без особого труда. Попутно знакомимся с  базовыми настройками виртуальных хостов и подключением к СУБД MySQL.

Для получения доступа к гостевой ОС по IP-адресу необходимо настроить работу сетевого интерфейса на виртуальной машине в режиме моста:




Чтобы иметь возможность попасть по DNS-имени на виртуальный хост вэб-сервера, на нашем ПК ( host OS: Windows 10) вносим  изменения в файл: 
c:\windows\system32\drivers\etc\hosts
в формате: 
IP-адрес(guest OS)           DNS-имя виртуального сервера настроенного на Apache.
Проверить доступность виртуального хоста можно командой ping из консоли Windows cтандартной командой ping

Далее в посте будут описаны  настройки Apache, mod_wsgi и Flask-приложения на гостевой ОС.

понедельник, 3 августа 2015 г.

Начало работы над своим проектом

Новый рывок

Итак, очередная безумная идея обрела наконец-таки свои черты.:) Для изучения программирования и создания портфолио, нет варианта лучше, кроме как работа над своим проектом
Решил воплотить в жизнь "Информационную систему по учету оргтехники". 
Используемый стек технологий: Python + Flask + PostrgeSQL.  Почему? Ответ прост: Нужно закрепить и отточить навыки, полученные на курсах Python (ЦДПО НИУ ИТМО). В отдельной записи постараюсь освятить свои впечатления от курсов, что они мне дали, процесс обучения и пр...
Пока же просто буду описывать свои достижения в web-разработке.
Прежде чем приступить непосредственно к кодингу, задал вопрос на toster.ru: С чего начать разработку Информационной системы?
Большая часть ответов помогла определить основные направления, с которых необходимо начать разработку/проектирование архитектуры.
Самый первый ответ определил дальнейшее направление движения:
1. Сделайте блок-схемы (скетчи, вайрфреймы) каждой страницы приложения на бумаге
2. Сверстайте их
3. Реализуйте постепенно функционал для каждой из них
Для создания вайрфреймов выбрал сервис ninjamock.com, Первый прототип основных функций доступен здесь 

Следующий шаг - верстка. Далее приступлю к реализации функционала.

понедельник, 3 марта 2014 г.

From Ruby to Python

From Ruby to Python


Так случилось, что мой выбор вместо изучения Ruby пал на Python. В первую очередь  я вернулся к повторному прохождению курсов на Codecademy.com восстанавливаю базу по основам Web-программирования (html, css, javascript). О своих успехах отмечаюсь в   у себя в twitter'е.

Основные причины выбора Python:

  • простота изучения
  • восстребованность на рынке
  • доступность руководств и учебников

Проект

В качестве идеи проекта для практики в Python выбрал одну из задач, стоящих передо мной на основной работе, а именно ведение инвентаризационной базы техники на предприятии.
В качестве фрэймворка будем использовать Django.

Первые шаги

Изучение Django я решил начать с "обучалок" Mike Hibbert'a. Далее материал будет излагаться на английском языке. В таком случае, я как минимум смогу "убить двух зайцев :)" подтянуть английский и сделать свой блог немного dual language. Все комментарии пишу в вольной форме, основываясь на том, что понял просматривая обучающие ролики.

воскресенье, 22 декабря 2013 г.

Введение в логику

   Браться за изучение языка не зная основных алгоритмов оказалось глупой затеей. Институтский курс остался за плечами в далеком 2005. Теперь предстоит наверстывать упущенные (а правильнее сказать забытые, или даже потерянные, знания).
   Начну с  Mathematics for Computer Science (мне посоветовали в качестве базы для понимания алгоритмов) в связке с курсом Coursera Algorithms Part I и другими русскоязычными материалами, которые можно найти в свободном доступе на просторах сети.

   После прочтения первых страниц Mathematics for Computer Science, я понял что мое владение английским не достсточно для понимания аппарата математической логики на английском языке. Даже базовые определения, такие как: предикат, кванторы, импликация - давно забытые понятия. Изучение аппарата математической логики по англоязычному учебнику - процесс трудоемкий и требует прежде всего, наличие широкого словарного запаса в соответсвующей предметной области.
В итоге, для изучения базовых понятий, я зарегестрировался на курсе Hexlet "Введение в логику".
Далее - краткий конспект вводной лекции

воскресенье, 15 декабря 2013 г.

Chapter 2. Ruby.new

   Сегодня - первые выходные, когда я смог посвятить несколько часов изучению Ruby, не в ущерб домашним делам и времени с семьей. В сегодняшнем посте опишу основные моменты, которые мне удалось понять, изучая азы Ruby.

Итак, чему я смог научиться сегодня:
   Объектно-оринетированность Ruby: истинная (genuine) объектно-оринетированность. Здесь все - объект. Результаты разнообразных манипуляций - также объекты.
   Простой синтаксис. Если брать во внимание мой скудный опыт C++, PHP, Java то первые примеры несколько необычны с точки зрения синтаксиса языков, с которыми я был знаокм либо изучая в Университете, либо самостоятельно.
Например, результат интерпретации кода первого примера:

суббота, 14 декабря 2013 г.

Первые шаги

    На домашнем ноутбуке наконец-то вернулся снова на Ubuntu.  Задача оказалось не такой уж сложной, как казалось сначала. Unetbootin + Ubuntu 12.04, 20 минут времени и мой боевой друг Asus N61Vg снова в строю. Конечно же, не обошлось без проблем. А именно - в Unity 3D видеокарта NVidia GeForce GT-220M работала слишком нестабильно. Сменил GUI на Unity 2D - не перестаю удивляться скорости и производительности. Этот пост - юбилейный для меня - первый!  делаю в Chromium. :) В голове сумятица и сумбурность. Много мыслей и идей, которые надо систематизировать по разделам. Основоная идея, которой планирую выделять максимум ресурсов - изучение программирования. Необходимо воссстановить знания, приобретенные в Университете. За помощью буду обращаться к друзьям.
   После консультации с университетскими друзьями, пришел к выводу, что наиболее интересный и перспективный вариант для изучения в настоящее время - это Ruby. Для вэб-разработки, конечно же будет использоваться Ruby framework Rails.

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