Студентам четвертого курса рекомендуется сделать выбор пакета и подготовить выступление об его использовании.
Использование пакета PyGame в разработке компьютерных игр.
Использование языка Python в программе 3D моделирования Blender. Моделирование и рендеринг 3D объектов.
Использование языка Python в программе 3D моделирования Blender. Игровой движок Blender Game Engine.
Разработка веб-приложений на framework Django
Использование библиотеки Tkinter при разработке графических приложений
Использование Python Imaging Library в работе с растровой графикой
Обработка сетевых данных с использованием языка Python
Стандартная библиотека Python. Пакеты, модули, функции
Использование языка Python в современных программных продуктах
Использование пакета NumPy для решения прикладных задач в математике и информатике
Использование библиотеки SciPy для решения прикладных задач в математике и информатике
Python: вычисление сложных математических функций
Математические пакеты SymPy, NumPy, Matplotlib, Dislin.
Использование Paste Script для создания шаблонов веб-приложений
Пакет IPython - интеллектуальная консоль
Программа buildout - кнфигуратор пакетов расширения
VPython - программа моделирования 3D- миров
Пакет ptah - программирование Java Scripts на Python
Pyramid — программный каркас (фреймворк) для разработки веб-приложений
Google App Engine - программирование в облаке Google
SQLAlchemy — программная библиотека на языке Python для работы с реляционными СУБД с применением технологии ORM.
Virtualenv - создания виртуального окружения для программного проекта
воскресенье, 15 сентября 2013 г.
среда, 27 марта 2013 г.
Создание файловой библиотеки
Файловая библиотека создается загрузкой файлов в выбранный фолдер Plone. Для этого находясь внутри фолдера нужно создать новый объект типа "Файл", дать ему имя и указать файл для загрузки. Для обслуживания библиотеки нужно создать пользовательский интерфейс, частной задачей для которого будет операция поиска файла с указанным идентификатором. ля этого в ZMI в папке custom создайте объект типа Script(Python) c содержимым:
request=container.REQUEST
id_file=request['file_item']
files = context.portal_catalog.searchResults(portal_type = 'File', id=id_file)
file = files[0].getObject()
data = file.get_data()
Строка 2 скрипта: производится получение значения переменной с ключем file_item из объекта request.Предполагается, что эта переменная уже есть в REQUEST после вызова сответствующей формы или передачи параметра через GET-запрос.
Строка 3 скрипта: производится получение выборки из portal_catalog по запросу поиска
Строка 4 скрипта: предполагаем что файл с нужным идентификатором существует. В этом случае выборка, представляющая собой список ссылок на найденные объекты, будет содержать только один элемент. С помощью метода getObject() преобразуем ссылку в реальный объект, представляющий нужный файл в Plone.
Строка 5 скрипта: получаем содержимое файла.
Получение значений, записанных в файл, зависит от структуры записей. Как минимум, нужно разбить содержимое файла на строки, а затем получать данные из каждой строки. Способы решения этой задачи неоднократно обсуждались на занятиях.
request=container.REQUEST
id_file=request['file_item']
files = context.portal_catalog.searchResults(portal_type = 'File', id=id_file)
file = files[0].getObject()
data = file.get_data()
Строка 2 скрипта: производится получение значения переменной с ключем file_item из объекта request.Предполагается, что эта переменная уже есть в REQUEST после вызова сответствующей формы или передачи параметра через GET-запрос.
Строка 3 скрипта: производится получение выборки из portal_catalog по запросу поиска
Строка 4 скрипта: предполагаем что файл с нужным идентификатором существует. В этом случае выборка, представляющая собой список ссылок на найденные объекты, будет содержать только один элемент. С помощью метода getObject() преобразуем ссылку в реальный объект, представляющий нужный файл в Plone.
Строка 5 скрипта: получаем содержимое файла.
Получение значений, записанных в файл, зависит от структуры записей. Как минимум, нужно разбить содержимое файла на строки, а затем получать данные из каждой строки. Способы решения этой задачи неоднократно обсуждались на занятиях.
вторник, 5 марта 2013 г.
Выполнение запросов к каталогам Plone
В связи с трудностями использования ключевого слова portal в последних версиях Plone рекомендуется использовать следующий вариант выполнения запросов к portal_catalog и другим каталогам:
from Products.CMFCore.utils import getToolByName
from zope.site.hooks import getSite
#получаем сайт как объект
site = getSite()
#получаем объект каталога
catalog = getToolByName(site, 'portal_catalog')
#выполняем запрос и #преобразуем его результата в список объектов
result = [i.getObject() for i in catalog.searchResults({'portal_type': 'Folder'})]
from Products.CMFCore.utils import getToolByName
from zope.site.hooks import getSite
#получаем сайт как объект
site = getSite()
#получаем объект каталога
catalog = getToolByName(site, 'portal_catalog')
#выполняем запрос и #преобразуем его результата в список объектов
result = [i.getObject() for i in catalog.searchResults({'portal_type': 'Folder'})]
направления исследований для студентов
Проводятся научные исследования в области изучения использования технологий управления знаниями, проектирования информационных систем, разработки веб-приложений и объектно-ориентированного программирования. Приглашаются для участия студенты 2-4 курсов.
Для научной деятельности студентов предлагаются следующие направления исследований:
1.Разработка семантических моделей для декларативного и генеративного программирования
2.Использование семантических моделей при проектировании программного обеспечения
3.Разработка языков DSL и редакторов для них
Разработка редактора онтологий
Разработка редактора онтологии задач
Разработка редактора моделирования программных компонент
Разработка редактора разметки веб-страниц
Разработка редактора навигационной модели портала
Разработка редактора визуальных компонент
4.Использование объектной базы данных для хранения онтологий
Разработка компонент для хранения онтологий
Разработка компонент обеспечения запросов к онтологии
Инструменты визуализации онтологий
5.Разработка инструментальной среды семантического проектирования программного обеспечения
6.Разработка веб-системы для сопровождения учебного процесса с использованием онтологий
Разработка семантических моделей для использования в системе
Разработка специальных компонент
По каждому из направлений есть разработки в разной степени готовности. Работы по этим направлениям могут быть оформлены как курсовые работы с дальнейшим написанием диплома по соответствующей теме.
Желающим обращаться лично на кафедру ИТ:
понедельник: 10.00 - 15.20
четверг: 9.00 -14.00
Либо присылать письмо на адрес greger-se@yandex.ru с указанием темы письма "научная работа", своих личных данных и номера группы.
Для научной деятельности студентов предлагаются следующие направления исследований:
1.Разработка семантических моделей для декларативного и генеративного программирования
2.Использование семантических моделей при проектировании программного обеспечения
3.Разработка языков DSL и редакторов для них
Разработка редактора онтологий
Разработка редактора онтологии задач
Разработка редактора моделирования программных компонент
Разработка редактора разметки веб-страниц
Разработка редактора навигационной модели портала
Разработка редактора визуальных компонент
4.Использование объектной базы данных для хранения онтологий
Разработка компонент для хранения онтологий
Разработка компонент обеспечения запросов к онтологии
Инструменты визуализации онтологий
5.Разработка инструментальной среды семантического проектирования программного обеспечения
6.Разработка веб-системы для сопровождения учебного процесса с использованием онтологий
Разработка семантических моделей для использования в системе
Разработка специальных компонент
По каждому из направлений есть разработки в разной степени готовности. Работы по этим направлениям могут быть оформлены как курсовые работы с дальнейшим написанием диплома по соответствующей теме.
Желающим обращаться лично на кафедру ИТ:
понедельник: 10.00 - 15.20
четверг: 9.00 -14.00
Либо присылать письмо на адрес greger-se@yandex.ru с указанием темы письма "научная работа", своих личных данных и номера группы.
воскресенье, 13 января 2013 г.
Список вопросов к курсу «Использование CMS Django»
Публикую список вопросов к экзамену для 5-го курса
Список вопросов к курсу «Использование CMS Django»
четверг, 20 декабря 2012 г.
установка paster в buiildout
Для установки добавляем в секцию part ссылки на секции zopeskel и paster, и добавляем сами эти секции
parts =
instance
zopepy
i18ndude
zopeskel
test
paster
[paster]
recipe = zc.recipe.egg
eggs =
ZopeSkel
PasteScript
PasteDeploy
zopeskel.dexterity
${instance:eggs}
entry-points = paster=paste.script.command:run
# create ZopeSkel command
[zopeskel]
unzip = true
recipe = zc.recipe.egg
eggs =
ZopeSkel
Paste
PasteDeploy
PasteScript
zopeskel.dexterity
${instance:eggs}
entry-points = paster=paste.script.command:run
parts =
instance
zopepy
i18ndude
zopeskel
test
paster
[paster]
recipe = zc.recipe.egg
eggs =
ZopeSkel
PasteScript
PasteDeploy
zopeskel.dexterity
${instance:eggs}
entry-points = paster=paste.script.command:run
# create ZopeSkel command
[zopeskel]
unzip = true
recipe = zc.recipe.egg
eggs =
ZopeSkel
Paste
PasteDeploy
PasteScript
zopeskel.dexterity
${instance:eggs}
entry-points = paster=paste.script.command:run
четверг, 8 ноября 2012 г.
Темы курсовых работ по дисциплине "Web-дизайн"
Все темы связаны с разработкой специальных редакторов для управления графами (семантическими сетями)
1. Доработка редактора онтологий
Редактор разработан на JavaScript. Необходимо доработать дизайн редактора и реализовать некоторые уже имеющиеся функции с использованием AJAX.
2. Редактор задач пользователя
Клиентская программа позволяет определять задачи пользователя для проектирования сайта. Описание задачи формируются по специальному шаблону. После формулировки задача записывается на сервере в виде графа.
3. Редактор разметки динамической страницы. Определяется структура страницы в виде дерева. Каждому элементу страницы в редакторе можно привязать источник данных. Также каждому элементу страницы можно привязать команду управления этим элементом. Например для элемента списка определить шаблон и указать, что элемент повторяется определенное количество раз. Созданная модель сохраняется на сервере в виде графа.
4. Редактор навигационной структуры сайта. Моделируется система переходов между узлами сайта. Каждому узлу сопоставляется адрес, источник данных и способ представления этих данных. Созданная модель сохраняется на сервере в виде графа.
Все задачи частично реализованы. Функции работы с графами на сервере уже есть. Более подробная информация после выбора темы. При получении хороших результатов будем оформлять выступление на международную конференцию в январе 2013 г.
1. Доработка редактора онтологий
Редактор разработан на JavaScript. Необходимо доработать дизайн редактора и реализовать некоторые уже имеющиеся функции с использованием AJAX.
2. Редактор задач пользователя
Клиентская программа позволяет определять задачи пользователя для проектирования сайта. Описание задачи формируются по специальному шаблону. После формулировки задача записывается на сервере в виде графа.
3. Редактор разметки динамической страницы. Определяется структура страницы в виде дерева. Каждому элементу страницы в редакторе можно привязать источник данных. Также каждому элементу страницы можно привязать команду управления этим элементом. Например для элемента списка определить шаблон и указать, что элемент повторяется определенное количество раз. Созданная модель сохраняется на сервере в виде графа.
4. Редактор навигационной структуры сайта. Моделируется система переходов между узлами сайта. Каждому узлу сопоставляется адрес, источник данных и способ представления этих данных. Созданная модель сохраняется на сервере в виде графа.
Все задачи частично реализованы. Функции работы с графами на сервере уже есть. Более подробная информация после выбора темы. При получении хороших результатов будем оформлять выступление на международную конференцию в январе 2013 г.
Подписаться на:
Сообщения (Atom)
Всероссийский конкурс научно-технологических проектов страница конкурса https://dm-centre.ru/sirius-konkurs-projectov Цель конкурс...
-
Всероссийский конкурс научно-технологических проектов страница конкурса https://dm-centre.ru/sirius-konkurs-projectov Цель конкурс...
-
PyKnow - библиотека Python для разработки экспертных систем, реализующая подход CLIPS . Реализует продукционный подход к построению экспе...
-
Конкурс исследовательских и проектных работ школьников «Высший пилотаж» страница проекта https://olymp.hse.ru/projects/ О конкурсе Ко...