понедельник, 12 мая 2014 г.

Опрос (ч.7)

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

Опрос (ч.6)

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

воскресенье, 11 мая 2014 г.

Размышления о Bitrix и Django

Нет ничего плохого в том, 
что вы установите 1С-Битрикс.
Только не называйте 
себя программистом.
(Кто-то из Интернета)

Фреймворк Django используется для разработки сайтов. CMS 1С-Битрикс тоже используется для этой цели. Если ваша работа связана с PHP, хорошо будет познакомиться с этой системой.

среда, 7 мая 2014 г.

Опрос (ч.5)

В части 4 мы создали роут, по которому стали доступен список последних двух опросов. В этой части мы сделаем детальное отображение опроса.

Аналог var_dump() в python

Как ни крути, а var_dump() в php очень удобен и интуитивно понятен.
К сожалению, такой простой конструкции в python нет, но ее можно примерно повторить, если сделать следующее:
from inspect import getmembers
from pprint import pprint
pprint(getmembers(yourObject))

пятница, 14 марта 2014 г.

Объединение css и js файлов в один - django-compressor


Для увеличения производительности веб-приложения нужно стремиться к уменьшению количества запросов к веб-серверу при загрузке каждой страницы.
Этого можно достичь объединением файлов стилей и скриптов в единые файлы. В итоге на страницу будет загружаться по одному .css и .js файлу.
 Чтобы объединять файлы стилей и скриптов в один файл, можно воспользоваться приложением django-compressor.

понедельник, 17 февраля 2014 г.

Простой web-сервер на python

Создать простой веб-сервер на python несложно. Для этого нам понадобится сокеты (sockets).
Но прежде нужно определить, что мы хотим получить в результате.
А хотим мы получить простую программу на python, которая будет прослушивать какой-то порт нашего локального компьютера и принимать запросы от браузера.
1. Создадим файл my_server.py:
#!/usr/bin/env python
# -*- coding: utf-8 -*-

import socket
import time

serversocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
serversocket.bind(('localhost', 8080))
serversocket.listen(5)
print 'Server is waiting for connections.'
while True:
    conn, addr = serversocket.accept()
    data = conn.recv(1024)
    
    print 'Connection:', addr
    print '------------------------------'
    print "Request Data from Browser"
    print '------------------------------'
    print data
    
    conn.send(data)
    conn.close()
    # Делаем задержку, чтобы цикл не сильно загружал процессор
    time.sleep(0.1)

2. А теперь запустим этот файл в консоли Windows cmd.exe. Для этого вам нужно открыть командную строку Windows, указать путь к файлу my_server.py и нажать Enter.
Так мы запустили сервер, который ожидает запросы на адрес http://127.0.0.1:8080.

3. Запустим браузер, к примеру Internet Explorer, и перейдем по адресу  http://127.0.0.1:8080/test. В результате в браузере и консоли мы увидим следующее:



 Таким образом, в переменной data нашего скрипта хранится информация о странице, которую пользователь запрашивает. Мы можем дописать код, и сервер будет возвращать в зависимости от запроса контент той или иной html-страницы, хранящейся на сервере.
Далее можно будет сделать так, чтобы содержимое html-страницы строилось на основе данных, хранящихся в базе данных, к примеру, mysql. Однако это тема отдельных постов.