Cегодня рассмотрим задачу по кодированию строки по алгоритму Хаффмана и ее декодированию. Также в ходе решения задачи будет рассмотрен тест алгоритма, позволяющий оценить его корректность.
Записи
добавить записьТак вышло, что последние 2 месяца я прохожу курс по алгоритмам на stepic.org от CSC ну и благодаря курсу я узнал много нового и вспомнил много того, чего забыл. Пока память свежа, решил опубликовать решение одной из задач...
Для предоставления пользователю возможности создавать записи в базах данных прежде всего хочется себя обезопасить от хулиганства. Для этого, пользователь, добавляющий записи должен быть зарегистрирован на сайте. Хочется, чтобы регистрация осуществлялась в 1-2 клика и без ввода с клавиатуры. В этом нам может помочь регистрация пользователей через социальные сети.
Воспользуемся библиотекой django-allauth для организации авторизации через социальные сети. Установка библиотеки довольно подробно описана в документации. Единственная проблема, с которой я столкнулся при добавлении приложения - это то, что в этом проекте есть шаблон base.html, и если добавить это приложение до своих приложений и у вас есть тоже шаблон base.html, то возможно пересечение шаблонов. Я это обошел, переназвав свой шаблон в main.html.
Всем привет! Ну вот, прослушал и проделал урок 48 в школе на spb-tut.ru. Добавил новую форму в практикум, соединил форму с моделью, теперь можно добавлять данные из формы в модель. Пока что сделал не безопасно и добавить данные в модель может кто угодно, но завтра или послезавтра эту "дырку" закрою. Выложил результаты практикума на github. Сам пример можно посмотреть на этой странице. Раньше писал информацию о коде на закладке "Код" практикумов, но теперь буду его отпралять на GitHub и давать ссылку на конкретные коммиты или просто на папки проекта.
Друзья, сегодня решил отправить свой проект на GitHub.
Во первых - контроль версий будет полезен мне.
Во вторых, все желающие смогут посмотреть мой исходный код и:
- что то взять себе как пример
- указать мне на мои ошибки
В третьих - при разборе примеров я смогу давать ссылки на файлы на GitHub...
Постарался и сделал на выходных блог на своем сайте.
Исходя из планов по улучшению контента, изменил страницу первоначального практикума по добавлению страниц с базами данных. Сделал реальное добавление и возможность просмотра видеофайлов с Youtube.
Для этого немного изменил модель и воспользовался возможностями Bootstrap для открытия модального диалога. Не обошлось и без Javascript, в частности jQuery.
Результат можно посмотреть тут:
Модуль models.py
class Video(models.Model): # Видео
class Meta:
db_table = 'app_info_video'
ordering = ['-date']
# Описание модели
title = models.CharField(verbose_name='Заголовок', max_length=200)
description = models.TextField(verbose_name='Описание', blank=True)
date = models.DateTimeField(verbose_name='Добавлено')
thumbnail = models.CharField(verbose_name='Эскиз', max_length=200, default='')
video_url = models.CharField(verbose_name='URL видео', max_length=200, default='')
Добавлены новые поля для возможности проигрывания видео с Youtube:
- thumbnail - адрес эскиза картинки Youtube
- video_url - адрес видео с Youtube
- ordering = ['-date'] - для упорядочивания видео по дате добавления
Шаблон video.html
Подробно рассматривается в группе Google- Добавлен модальный диалог из Bootstrap3.
- Добавлен скрипт, который при закрытии видео очищает поле и заново его устанавливает. Без этого скрипта видео не будет останавливаться при закрытии модального диалога. В скрипте используются события Bootstrap3, обрабатываемые с помощью jQuery.
Добавил к статьям на сайт
social = models.BooleanField(verbose_name="Соц.сети", default=True)
tab_title = models.CharField(verbose_name='Заголовок закладки', blank=True, max_length=200, default="")
Также изменил context_processor, чтобы можно было управлять отображением заголовка закладки. Bootstrap стал использовать с первых дней практики. Сразу оговорюсь, что я разработчик, а не дизайнер.
Я очень люблю простой дизайн и Bootstrap мне очень понравился своей чистотой.
До 34 урока я использовал пакет bjango-bootstrap3 и предлагаемый им способ подключения библиотеки bootstrap с сайта Google, после 34 урока я установил Bootstrap к себе на сайт.
Bootstrap хорош всем, в том числе и кастомизацией.
Для своего сайта мне понадобилось, чтобы код Python который я размещаю на сайте отображался как в pycharm. Ну мне очень хотелось однообразия.
Для раскраски кода я использовал
Результат выполнения домашнего задания доступен на странице