$stateProvider
.state('profileView', {
url: "/profile/:id",
controller: 'ProfileController'
})
});
getProfile: function(id) {
return $http.get('api/profile/' + id);
}
MongoDB
Цель тестового задания
Определить возможную динамику самообучения кандидата. А так же глубину понимания кода, реализующего тестовое задание.
Задание
Написать тестовое web-приложение по управлению электронной библиотекой:
1. Редактирование (доступно авторизованному пользователю при наличии аутентификации):
Управление списком книг: добавить / удалить / редактировать книгу.
Управление списком авторов: добавить / удалить / редактировать автора.
Запись о книге содержит следующие данные: ID, Название.
Запись об авторе содержит следующие данные: ID, Имя.
Свзязь между книгами и авторами — многие ко многим.
2. Поиск книг по названию либо автору (доступно анонимному пользователю при наличии аутентификации).
3. Аутентификации и авторизация (по желанию кандидата).
Технологии, которые должны быть задействованы:
Flask
SQLAlchemy (Declarative)
SQLite (встроенный в приложение)
Jinja2 Templates
WTForms
jQuery (желательно, но возможно использование альтернативных решений)
Список может быть расширен по усмотрению кандидата, но с обязательным использованием технологий, перечисленных выше.
Дополнительные требования
Список дополнительных требований следующий:
1. Код проекта должен быть доступен на сервисе github.org или bitbucket.org.
2. Проект должен содержать SQL-скрипты для развертывания базы данных и наполнения ее тестовыми данными.
3. Пользовательские данные должны валидироваться перед сохранением в БД.
Дополнительные знания
Дополнительные знания, необходимые при защите проекта:
HTTP
WSGI
SQL, Transactions, Transaction Isolation Levels
SQLAlchemy
Уязвимости веб-сайтов
User Experience
It is doubtful that the structuring methods presented here would have been discovered without the insight afforded by category theory. But once discovered they are easily expressed without any reference to things categorical. No knowledge of category theory is required to read these notes.
Вряд ли методы структурирования, описанные здесь, могли бы быть найдены без тех возможностей, которые нам предоставила теория категорий. Но после того, как они были найдены, они легко описываются без какого-либо упоминания теории категорий. Знания теории категорий не требуется для того, чтобы понять эту статью.
[program:yoursite]
command=uwsgi --ini /etc/uwsgi.ini
autostart=true
autorestart=true
stderr_logfile = /tmp/uwsgi-err.log
stdout_logfile = /tmp/uwsgi.log
[uwsgi]
chdir = /home/projectroot
wsgi-file = /home/projectroot/wsgi.py
home = /home/projectroot/.env
logto = /var/log/uwsgi.log
master = true
processes = 10
socket = /tmp/yoursite.sock
vacuum = true
touch-reload = /tmp/yoursite.reload
server {
listen 80;
server_name yoursite.com;
access_log /home/var/log/nginx/yoursite.nginx.access.log;
error_log /home/var/log/nginx/yoursite.nginx.error.log;
location / {
uwsgi_pass unix:///tmp/yoursite.sock;
include uwsgi_params;
}
location /static/ {
alias /home/yoursite/assets/;
}
}