Задачите са следните и трябва да се решат всичките:
Да се създаде ново хранилище за поправката в гитхъб, носещо името на ученика, класа, номера в клас
Всички задачи да се качът в хранилището.
Проектна задача
- Да се реализира проект с технология по избор, който да позволява следните функционалност.
- Да се качи на heroku. Приложението е разделено на три етапа на разработка. Да може да отговаря на следните заявки:
- Could create articles with post and get the article with getVideosPOST /videos
Request Body:
{
name: „title“
}
Response:{
name: „the name of the video“,
id: „the id of the video“,
created_at: „time it is created“,
update_at: „last time it was changed“
}
GET /videos/:idresponse:
{
name: „the name of the video“
id: „the id of the article“,
created_at: „time it is created“,
update_at: „last time it was changed“
}
GET /videosReponse:
{
# array of all the videos sorted by „title“
}
Level 2
Can create comments for these videos
Comments
POST /commentsRequest Body:
{
video_id: „the id of the video for which this comment is“,
content: „the content of the comment“
}
Response{
id: „comment id“,
video_id: „identifier“,
content: „content“
}
GET /comments/:idResponse:
{
id: „comment id“
video_id: „identifier“,
content: „content“
}
GET /commentsresponse:
{
[comments,] # array of all the comments sorted by content
}
GET /videos/:id/commentsresponse:
{
[comments,] # array of all the comments for this videos sorted by content
}
Level 3
Can vote for videos
POST /votesRequest Body:
{
article_id: „identifier“,
value: „vote_value“
}
Response:{
video_id: „identifier“,
value: „vote_value“
id: „the id of the vote“
}
GET /votes{
[votes,] # array of all the votes sorted by created_at
}
GET /videos/:id?order=normdistReponse:
{
id: „id“,
name: „name“
comments_score: „the score for comments“
votes_score: „the score for votes“
}
GET /videos?order=normdistResponse:
{
# videos sorted in normal distribution based on number of comments and vote scoring. Norm dist score of comments plus normdist of score
}
- Да се направи описание на проекта в Markdown формат във файла plan.md
- Да се направи wiki страничка, публично достъпна. Да се направи описание от по 1000 символа на проекта.
Задача 1
Дадено е CSV от вида:
Потребител Номер, Видео Номер, Процент гледане
1,2,0.8
2,3,0.4
Да се открие кое видео процентно е гледано най-много.
Задача 2
Да се напише програма, която сравнява дали два JSON файла са схематично и стойностно еднакви. Файловете са еднакви ако имат еднакви ключове и еднакви стойности за тези ключове.
Програмата трябва да се изпълнява като
ruby my_program.rb file1.json file2.json
Файловете, които се сравняват се подават от командния ред.
Като резултат на командния ред се изписва
0 – двата файла са различни
1 – двата файла са схемантично и по стойности еднакви
Пример за еднакви файла
{
F: “aa”,
L: “bb”
}
e еднакъв с:
{
L: “bb”,
F: “aa”
}
Задача 3
Да се напише програма, която решава квадратно уравнение, чийто аргументи, a, b, c, са записани във файл с име input.json. Примерно съдъражени на такъв файл е:
{
„a“:10,
„b“:-3,
„c“:4
}
Решението да се изведе на console-ата, отново в json format във вида:
{
„x1“:10,
„x2“:-3,
„D“:4
}
Като ключовете: x1 и x2 са реалните корени пресметнати от програмата ви, а D е дискриминантата.
Задача 4
Да се реализира приложение на Node.js. Приложението да се качи на heroku. Да може да приема post заявка за адрес /sum с параметри a и b и да връща резултатът от тази сумата на тези две числа
Задача 5
Да се реализира приложение на Node.js. Приложението да се качи на heroku. Да може да приема post заявка за адрес /count с параметър CSV файл и да дава резултат броя на редовете в този CSV файл.