From d72c60aa2fa6a982abf4926ebbb44c8d35c755fc Mon Sep 17 00:00:00 2001 From: Kilokem Date: Wed, 8 Jan 2025 11:11:05 +0100 Subject: [PATCH] Multiple file input debug --- HostQuiz.ipynb | 62 +++++---------------------------- kerdessor3.txt | 93 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 101 insertions(+), 54 deletions(-) create mode 100644 kerdessor3.txt diff --git a/HostQuiz.ipynb b/HostQuiz.ipynb index 2d51977..f9b7d87 100644 --- a/HostQuiz.ipynb +++ b/HostQuiz.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 9, + "execution_count": null, "metadata": {}, "outputs": [ { @@ -20,51 +20,7 @@ "WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.\n", " * Running on http://127.0.0.1:5000\n", "Press CTRL+C to quit\n", - "127.0.0.1 - - [07/Jan/2025 11:04:58] \"GET /result HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:04:58] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:05:03] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:05:03] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:05:18] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:05:18] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:05:21] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:05:21] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:05:31] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:05:31] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:05:38] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:05:38] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:05:52] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:05:52] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:06:23] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:06:23] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:06:27] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:06:27] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:06:42] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:06:42] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:06:49] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:06:49] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:07:02] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:07:02] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:07:15] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:07:15] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:07:18] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:07:18] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:07:36] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:07:36] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:07:50] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:07:50] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:07:58] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:07:58] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:08:15] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:08:15] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:08:18] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:08:18] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:08:34] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:08:34] \"GET / HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:08:56] \"POST /submit_answer HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:08:56] \"GET / HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:08:56] \"GET /result HTTP/1.1\" 200 -\n", - "127.0.0.1 - - [07/Jan/2025 11:09:58] \"GET /restart HTTP/1.1\" 302 -\n", - "127.0.0.1 - - [07/Jan/2025 11:09:58] \"GET / HTTP/1.1\" 200 -\n" + "127.0.0.1 - - [08/Jan/2025 11:10:20] \"GET / HTTP/1.1\" 200 -\n" ] } ], @@ -76,13 +32,11 @@ "app.secret_key = 'your_secret_key' # You must have a secret key for sessions to work\n", "\n", "# Function to parse the questions from the file\n", - "def parse_questions(file_path, file_path2):\n", - " with open(file_path, 'r', encoding='utf-8') as file:\n", - " content = file.read().split(\"\\n\\n\") # Split content by empty lines between questions\n", - "\n", - " with open(file_path2, 'r', encoding='utf-8') as file:\n", - " content = file.read().split(\"\\n\\n\") # Split content by empty lines between questions\n", - "\n", + "def parse_questions(file_paths):\n", + " content = []\n", + " for file_path in file_paths:\n", + " with open(file_path, 'r', encoding='utf-8') as file:\n", + " content.extend(file.read().split(\"\\n\\n\")) # Split content by empty lines between questions\n", "\n", " questions = []\n", "\n", @@ -111,7 +65,7 @@ " return questions\n", "\n", "# Parse questions from the file\n", - "questions = parse_questions('kerdessor1.txt', 'kerdessor2.txt')\n", + "questions = parse_questions(['kerdessor1.txt', 'kerdessor2.txt', 'kerdessor3.txt'])\n", "\n", "@app.route('/')\n", "def index():\n", diff --git a/kerdessor3.txt b/kerdessor3.txt new file mode 100644 index 0000000..11a90ed --- /dev/null +++ b/kerdessor3.txt @@ -0,0 +1,93 @@ +Kérdés: Mi határozza meg, hogy a browser címsorában lévő URI hova mutat az alkalmazásban? +Controllerek publikus metódusaihoz futnak be. +!Routing szabályokkal kell megadni. +A Contextben kell megadni. + +Kérdés: MVC projekt esetén tipikusan mit értünk ViewModel alatt? +!Egy View alapját szolgáltató osztály, mely tipikusan tartalmaz számított mezőket és lekérdezett értékeket. +Azon osztályok ezek, melyek az adatbázisban kerülnek perzisztálásra. +Egy View alapját szolgáltató osztály, mely tipikusan nem tartalmaz számított mezőket és lekérdezett értékeket. + +Kérdés: Tipikusan mit értünk Context alatt? +Minden ide tartozik, ami a Model osztályokban van. +!Minden ide tartozik, mely megmondja, hogy hol és milyen adatok érhetőek el. +Minden ide tartozik, amely a tárolt adatokat írja le (tulajdonságok, kapcsolatok). + +Kérdés: MVC projektben, adatkezeléssel kapcsolatban, miért/mikor előnyös Initializer használata? +Mert így minden Model osztályból tábla készíthető, egy lépésben. +!Mert így nem kell újra felvinni teszt adatokat fejlesztés közben, amikor intenzíven változik a db séma. +Mert így minden változás a sémában automatikusan rögzítve lesz. + +Kérdés: Entity Framework – mit jelent a Table-per-hierarchy pattern használata/mit eredményez? +Minden keletkezett táblában benne lesz az összes tulajdonság, ami csak felmerül a Context-ben, így gyorsul a hozzáférés. +!Minden öröklődési hierarchiához egy tábla készül az ős nevével, mely minden leszármazott tulajdonságot és Discriminatort tartalmaz. +Annyi tábla keletkezik belső hivatkozásokkal, ahány osztály részt vesz az öröklésben. + +Kérdés: Entity Framework – mit jelent a Table-per-type pattern használata/mit eredményez? +!Annyi tábla keletkezik belső hivatkozásokkal, ahány osztály részt vesz az öröklésben. +Minden öröklődési hierarchiához egy tábla készül az ős nevével, mely minden leszármazott tulajdonságot és Discriminatort tartalmaz. +Minden keletkezett táblában benne lesz az összes tulajdonság, ami csak felmerül a Context-ben, így gyorsul a hozzáférés. + +Kérdés: Entity Framework – konkurencia kezelésére melyek a lehetséges módok? +Contextben lock segítségével. +!Timestamp/RowVersion használata. +Where feltételben az összes tulajdonság megjelenítése. + +Kérdés: MVC projekt esetén mire való a MasterPage? +Ez tipikusan a nyitóoldal. +Ez tipikusan a kezdőoldal. +!Ez adhatja a keretet, melyben a tartalom megjelenhet. + +Kérdés: MVC projekt esetén mire használható a ViewBag? +Egy View kollekciót lehet segítségével megjeleníteni, akár egyszerre több controllerből is. +!Olyan objektum, melynek nincsenek előre definiált tulajdonságai, kétirányban bármi bele tehető. +View-kat lehet controllerekhez küldeni vele. + +Kérdés: Mire utal az MVC minta? +!Model-View-Controller +Model-ViewModel-Control + +Kérdés: Entity Framework – tipikusan milyen típusú elemekből lesznek táblák? +ViewModelekből, ez attributummal jelezhető. +!Model folder POCO osztályaiból. +Controller metódusok ActionResult visszatérésű elemeiből. + +Kérdés: Entity Framework – Ha tulajdonságként 1:N kapcsolat megvalósítása a cél, akkor…. +…generikus IDictionary interfészt megvalósító tulajdonság kell. +…IList tulajdonság kell az idegen kulcs miatt. +!…generikus ICollection interfészt megvalósító tulajdonság kell. + +Kérdés: Entity Framework – Ha tulajdonságként 1:1 kapcsolat megvalósítása a cél, akkor…. +…protected property kell, olyan típussal, ami a hivatkozott elem típusa. +!…virtual property kell, olyan típussal, ami a másik elem típusa. +…publikus property get részében kell lekérdezni ID alapján és visszaadni. + +Kérdés: Entity Framework – mivel szabályozható, hogy mely osztályokból készüljön tábla? +!Ezt Context generikus DbSet tulajdonságai határozzák meg. +Web.config fájl ConnectionStrings részében kell megadni. +A model osztályok atributumai határozzák meg. + +Kérdés: Entity Framework – hogyan állíthatjuk be az adatok inicializálását? +Initializer osztály kell / Initialize() metódus felülbírálatával. +Az Application_Start() metódus való erre. +!Initializer osztály kell / Seed metódus override. + +Kérdés: MVC projekt esetén tipikusan hova futnak be a browser kérései? +Controller osztályok ActionResult attribútummal ellátott metódusaihoz. +!Controller osztályok publikus metódusaihoz. +Manager osztályok publikus metódusaihoz. + +Kérdés: Mi határozza meg, hogy a browser címsorában lévő uri hova mutat az alkalmazásban? +Controllerek publikus metódusaihoz futnak be. +!Routing szabályokkal kell megadni. +A Contextben kell megadni. + +Kérdés: MVC - Hogyan tud egy View értékeket visszaadni egy Controllernek? +!FormCollection segítségével. +QueryString segítségével. +ViewModel postolásával. + +Kérdés: Miért előnyös az IQueryable interfész használata? +Mert így az adatbázisba nem kell külön elmenteni az adatokat, ez azonnal megtörténik. +!Mert Query Object pattern megvalósítás miatt, csak a lekérdezést tárolja, késői kiértékelés lehetséges. +Mert így azonnal rendelkezésre áll az egész halmaz, igaz több adat kerülhet átvitelre.