It is finaly working!
This commit is contained in:
275
Converter.ipynb
275
Converter.ipynb
File diff suppressed because one or more lines are too long
210
HostQuiz.ipynb
Normal file
210
HostQuiz.ipynb
Normal file
@ -0,0 +1,210 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": null,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
" * Serving Flask app '__main__'\n",
|
||||
" * Debug mode: off\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"name": "stderr",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"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 - - [06/Jan/2025 22:27:18] \"GET / HTTP/1.1\" 200 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:27:37] \"POST /submit_answer HTTP/1.1\" 302 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:27:37] \"GET / HTTP/1.1\" 200 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:27:48] \"POST /submit_answer HTTP/1.1\" 302 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:27:48] \"GET / HTTP/1.1\" 200 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:28:15] \"POST /submit_answer HTTP/1.1\" 302 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:28:15] \"GET / HTTP/1.1\" 200 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:28:22] \"POST /submit_answer HTTP/1.1\" 302 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:28:22] \"GET / HTTP/1.1\" 200 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:28:39] \"POST /submit_answer HTTP/1.1\" 302 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:28:39] \"GET / HTTP/1.1\" 200 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:28:51] \"POST /submit_answer HTTP/1.1\" 302 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:28:52] \"GET / HTTP/1.1\" 200 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:29:04] \"POST /submit_answer HTTP/1.1\" 302 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:29:04] \"GET / HTTP/1.1\" 200 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:29:08] \"POST /submit_answer HTTP/1.1\" 302 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:29:08] \"GET / HTTP/1.1\" 200 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:29:22] \"POST /submit_answer HTTP/1.1\" 302 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:29:22] \"GET / HTTP/1.1\" 200 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:29:38] \"POST /submit_answer HTTP/1.1\" 302 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:29:38] \"GET / HTTP/1.1\" 302 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:29:38] \"GET /result HTTP/1.1\" 200 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:30:14] \"GET /restart HTTP/1.1\" 302 -\n",
|
||||
"127.0.0.1 - - [06/Jan/2025 22:30:14] \"GET / HTTP/1.1\" 200 -\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"from flask import Flask, render_template, request, redirect, url_for, session\n",
|
||||
"import random\n",
|
||||
"\n",
|
||||
"app = Flask(__name__)\n",
|
||||
"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",
|
||||
"\n",
|
||||
" questions = []\n",
|
||||
"\n",
|
||||
" for block in content:\n",
|
||||
" lines = block.strip().split(\"\\n\")\n",
|
||||
" question = lines[0].replace(\"Kérdés: \", \"\").strip() # Remove 'Kérdés:' from the start\n",
|
||||
" answers = []\n",
|
||||
" correct_answers = []\n",
|
||||
"\n",
|
||||
" # Parse the answers and separate correct answers (those starting with '!')\n",
|
||||
" for line in lines[1:]:\n",
|
||||
" answer = line.strip()\n",
|
||||
" if answer.startswith('!'):\n",
|
||||
" correct_answers.append(answer[1:].strip()) # Remove the '!' and save the correct answer\n",
|
||||
" else:\n",
|
||||
" answers.append(answer)\n",
|
||||
"\n",
|
||||
" # Add the parsed question, answers, and correct answers to the list\n",
|
||||
" questions.append({\n",
|
||||
" 'question': question,\n",
|
||||
" 'answers': answers + correct_answers, # Append correct answers at the end\n",
|
||||
" 'correct_answers': correct_answers\n",
|
||||
" })\n",
|
||||
"\n",
|
||||
" return questions\n",
|
||||
"\n",
|
||||
"# Parse questions from the file\n",
|
||||
"questions = parse_questions('kerdessor1.txt', 'kerdessor2.txt')\n",
|
||||
"\n",
|
||||
"@app.route('/')\n",
|
||||
"def index():\n",
|
||||
" # Initialize the quiz session\n",
|
||||
" if 'selected_questions' not in session:\n",
|
||||
" selected_questions = random.sample(questions, 10)\n",
|
||||
" session['selected_questions'] = selected_questions\n",
|
||||
" session['question_index'] = 0\n",
|
||||
" session['answers'] = [] # Clear answers to start fresh\n",
|
||||
"\n",
|
||||
" else:\n",
|
||||
" selected_questions = session['selected_questions']\n",
|
||||
"\n",
|
||||
" question_index = session.get('question_index', 0)\n",
|
||||
"\n",
|
||||
" # If all questions are answered, redirect to the results page\n",
|
||||
" if question_index >= len(selected_questions):\n",
|
||||
" return redirect(url_for('result'))\n",
|
||||
"\n",
|
||||
" # Get the current question\n",
|
||||
" current_question = selected_questions[question_index]\n",
|
||||
"\n",
|
||||
" # Shuffle the answers to randomize their order\n",
|
||||
" random.shuffle(current_question['answers'])\n",
|
||||
"\n",
|
||||
" return render_template('quiz.html', question=current_question, question_index=question_index)\n",
|
||||
"\n",
|
||||
"@app.route('/submit_answer', methods=['POST'])\n",
|
||||
"def submit_answer():\n",
|
||||
" # Get the user's answer and the current question index\n",
|
||||
" user_answers = request.form.getlist('answer') # Use getlist for checkboxes (multiple answers)\n",
|
||||
" question_index = int(request.form.get('question_index'))\n",
|
||||
" \n",
|
||||
" # Store the answer in the session\n",
|
||||
" answers = session.get('answers', [])\n",
|
||||
" answers.append(user_answers)\n",
|
||||
" session['answers'] = answers\n",
|
||||
"\n",
|
||||
" # Move to the next question\n",
|
||||
" question_index += 1\n",
|
||||
" session['question_index'] = question_index\n",
|
||||
" \n",
|
||||
" return redirect(url_for('index'))\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"@app.route('/result')\n",
|
||||
"def result():\n",
|
||||
" # Ensure 'selected_questions' exists in the session\n",
|
||||
" selected_questions = session.get('selected_questions', None)\n",
|
||||
" answers = session.get('answers', None)\n",
|
||||
"\n",
|
||||
" if not selected_questions or not answers:\n",
|
||||
" return redirect(url_for('index')) # Redirect back to the quiz if selected_questions or answers are missing\n",
|
||||
"\n",
|
||||
" # Calculate the score and track mistakes\n",
|
||||
" score = 0\n",
|
||||
" mistakes = []\n",
|
||||
"\n",
|
||||
" for i, user_answer in enumerate(answers):\n",
|
||||
" correct_answers = selected_questions[i]['correct_answers']\n",
|
||||
" \n",
|
||||
" # Check if the selected answers exactly match the correct answers (order doesn't matter)\n",
|
||||
" if set(user_answer) == set(correct_answers):\n",
|
||||
" score += 1\n",
|
||||
" else:\n",
|
||||
" mistakes.append({\n",
|
||||
" 'question': selected_questions[i]['question'],\n",
|
||||
" 'correct_answer': correct_answers,\n",
|
||||
" 'user_answer': user_answer\n",
|
||||
" })\n",
|
||||
"\n",
|
||||
" # Prepare zipped data to pass to the template (question, user answer pair)\n",
|
||||
" questions_with_answers = zip(selected_questions, answers)\n",
|
||||
"\n",
|
||||
" # Reset session data so the user can restart the quiz or continue\n",
|
||||
" session.pop('question_index', None) # Clear the current question index\n",
|
||||
" session.pop('answers', None) # Clear stored answers\n",
|
||||
" session.pop('selected_questions', None) # Clear selected questions\n",
|
||||
"\n",
|
||||
" return render_template('result.html', score=score, total=len(selected_questions), mistakes=mistakes, questions_with_answers=questions_with_answers)\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"@app.route('/restart')\n",
|
||||
"def restart():\n",
|
||||
" # Clear session data to restart the quiz\n",
|
||||
" session.pop('question_index', None)\n",
|
||||
" session.pop('answers', None)\n",
|
||||
" session.pop('selected_questions', None)\n",
|
||||
" \n",
|
||||
" return redirect(url_for('index')) # Redirect to start the quiz again\n",
|
||||
"\n",
|
||||
"if __name__ == '__main__':\n",
|
||||
" app.run()\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"metadata": {
|
||||
"kernelspec": {
|
||||
"display_name": "venv",
|
||||
"language": "python",
|
||||
"name": "python3"
|
||||
},
|
||||
"language_info": {
|
||||
"codemirror_mode": {
|
||||
"name": "ipython",
|
||||
"version": 3
|
||||
},
|
||||
"file_extension": ".py",
|
||||
"mimetype": "text/x-python",
|
||||
"name": "python",
|
||||
"nbconvert_exporter": "python",
|
||||
"pygments_lexer": "ipython3",
|
||||
"version": "3.13.0"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 2
|
||||
}
|
129
kerdessor1.txt
Normal file
129
kerdessor1.txt
Normal file
@ -0,0 +1,129 @@
|
||||
Kérdés: Miért van külön Web.Debug.config és Web.Release.config fájl a webalkalmazásban?
|
||||
Azért, mert így külön definiálhatóak beállítások éles és demo környezetekhez.
|
||||
!Azért, mert így külön definiálhatóak beállítások a Solution Configuration alatt választható build típusokhoz.
|
||||
Azért, mert így külön definiálhatóak változtatható a kinézet éles és demo környezetek között.
|
||||
|
||||
Kérdés: Web alkalmazásban adatbáziskapcsolat adatai hol tárolhatóak?
|
||||
ConfigurationSettings.cs fájlban
|
||||
!Web.config fájlban
|
||||
Global.asax fájlban
|
||||
|
||||
Kérdés: Web alkalmazásban mit tartalmaz a Global.asax.cs fájl?
|
||||
!Az egész alkalmazás működését érintő események bekövetkezésekor végrehajtandó kódot.
|
||||
Az egész alkalmazásból elérhető metódusokat.
|
||||
Globális változók definíciója
|
||||
|
||||
Kérdés: Web alkalmazásban mi a különbség valami.aspx, valami.aspx.cs és valami.aspx.designer.cs fájlok tartalma között?
|
||||
!Az aspx tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvelő működését, az aspx.cs a hozzá tartozó code behind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx.designer.cs generált fájl, mely a vezérlők definícióját tartalmazza.
|
||||
Az .cs tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvelő működését, az aspx.designer.cs a hozzá tartozó code behind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx.cs generált fájl, mely a vezérlők definícióját tartalmazza.
|
||||
Az aspx.designer.cs tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvelő működését, az aspx.cs a hozzá tartozó code behind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx generált fájl, mely a vezérlők definícióját tartalmazza.
|
||||
|
||||
Kérdés: Web alkalmazásban mit tartalmaz a Site.master fájl?
|
||||
Az oldal kerete, kinézete és működése, melyet az .cs fájlok töltenek meg tartalommal
|
||||
!Az oldal kerete, kinézete és működése, melyet az .aspx fájlok töltenek meg tartalommal
|
||||
Az egész alkalmazás működését érintő események bekövetkezésekor végrehajtandó kódot.
|
||||
|
||||
Kérdés: Web alkalmazásban lehet-e több site.master fájl?
|
||||
!Igen, lehet
|
||||
Nem, nem lehet.
|
||||
|
||||
Kérdés: Web alkalmazásban egy aspx fájlban a <%: %> jel található, mit jelent?
|
||||
A végleges, browsernek küldött html tartalom előállítása során c# nyelven kell értelmezni a jelek közötti részt.
|
||||
!A végleges, browsernek küldött html tartalomban jelenjen meg a jelek között található kifejezés értéke.
|
||||
|
||||
Kérdés: Web alkalmazásban egy aspx fájlban a <% %> jel található, mit jelent?
|
||||
!A végleges, browsernek küldött html tartalom előállítása során c# nyelven kell értelmezni a jelek közötti részt.
|
||||
A végleges, browsernek küldött html tartalomban jelenjen meg a jelek között található kifejezés értéke.
|
||||
|
||||
Kérdés: Web alkalmazásban(Web forms) mit értünk a code behind fájl alatt?
|
||||
!Azt a .aspx.cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
|
||||
Azt a POCO .cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
|
||||
Azt a .designer.cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
|
||||
|
||||
Kérdés: Web alkalmazásban (web forms) hogyan generáltatható egy vezérlőelem default eseménykezelője?
|
||||
!Dupla kattintás a vezérlőelemen
|
||||
!Properties panel, event gomb alapján a kiválasztott eseményen dupla kattintás
|
||||
Tools menü, events… és ott kiválasztható ’add default’
|
||||
|
||||
Kérdés: Web alkalmazásban (web forms) válassza ki, melyek a választható/használható vezérlő elemek?
|
||||
Clock
|
||||
!Button
|
||||
!Textbox
|
||||
!DropdownList
|
||||
!Checkbox
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) mit tudhatunk meg az IsPostBack tulajdonsából?
|
||||
!Értéke hamis, ha ez az első oldalbetöltés.
|
||||
Értéke hamis, ha az oldalbetöltés vezérlés hatására történt.
|
||||
|
||||
Kérdés: Web alkalmazásban DropdownList vezérlőhöz hogyan tudunk elemeket hozzáadni?
|
||||
!Példány.Items kollekció manipulálásával
|
||||
Példány.Selection kollekció manipulálásával
|
||||
Példány.CustomElements kollekció manipulálásával
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) egy Label típusú vezérlőelemen megjelenő szöveg melyik tulajdonsággal állítható be?
|
||||
Példány.Label
|
||||
Példány.Caption
|
||||
!Példány.Text
|
||||
Példány.ShowText()
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) egy Textbox típusú vezérlőelembe user által írt szöveg melyik tulajdonsággal olvasható ki?
|
||||
Példány.Label
|
||||
Példány.Caption
|
||||
!Példány.Text
|
||||
Példány.ShowText()
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) egy Textbox típusú melyik tulajdonsággal tiltható le (user nem szerkesztheti)?
|
||||
Disabled tulajdonság true értékre állításával
|
||||
!Enabled tulajdonság false értékre állításával
|
||||
Visible tulajdonság false értékre állításával
|
||||
Opacity tulajdonság 0 értékre állításával
|
||||
|
||||
Kérdés: Web alkalmazásban (web forms) egy TextBox típusú vezérlőben hogyan tudunk több sornyi szöveget megjeleníteni?
|
||||
Nem lehetséges, alapvetően user input-ra való
|
||||
Text tulajdonságba sortöréssel ellátott szöveget helyezünk, EnableMultiLine tulajdonságot true értékre állítva
|
||||
!Text tulajdonságba sortöréssel ellátott szöveget helyezünk, TextMode tulajdonságot MultiLine értékre állítva
|
||||
|
||||
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 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: Mire utal az MVC minta?
|
||||
!Model-View-Controller
|
||||
Model-ViewModel-Control
|
||||
|
||||
Kérdés: MVC Web alkalmazásban hogyan kerül egy View megjelenítésre?
|
||||
A megadott URL egy HTML oldalra mutat, melyet a browser megjelenít, ez a View.
|
||||
!A megadott URL egy Controller metódusra mutat, mely View-t adhat vissza.
|
||||
ViewModel generálódik és jeleníti meg a browser.
|
||||
|
||||
Kérdés: MVC alkalmazás esetén mikor fog kiértékelődni a <%%> jelek közötti kifejezés?
|
||||
Csak az első megjelenítés során
|
||||
!Az oldal minden elkészítése során
|
||||
Az oldal minden elkészítése során, ami nem IsPostBack
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) tipikusan milyen típusú fájlok lehetnek az előre definiált Scripts mappában?
|
||||
SQL script fájlok
|
||||
!Javascript fájlok
|
||||
.cs fájlok
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) tipikusan milyen típusú fájlok lehetnek az előre definiált Styles mappában?
|
||||
!CSS fájlok
|
||||
Aspx fájlok
|
||||
Ascx fájlok
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) tipikusan milyen típusú fájlok lehetnek az előre definiált App_Data mappában?
|
||||
Metadata fájlok (.cs)
|
||||
!Helyi adatbázis fájlok
|
||||
Konfigurációs fájlok
|
267
kerdessor2.txt
Normal file
267
kerdessor2.txt
Normal file
@ -0,0 +1,267 @@
|
||||
Kérdés: Miért van külön Web.Debug.config és Web.Release.config fájl a webalkalmazásban?
|
||||
Azért, mert így külön definiálhatóak beállítások éles és demo környezetekhez.
|
||||
!Azért, mert így külön definiálhatóak beállítások a SolutionConfiguration alatt választható build típusokhoz.
|
||||
Azért, mert így külön definiálhatóak változtatható a kinézet éles és demo környezetek között.
|
||||
|
||||
Kérdés: Web alkalmazásban adatbáziskapcsolat adatai hol tárolhatóak?
|
||||
ConfigurationSettings.cs fájlban
|
||||
!Web.config fájlban
|
||||
Global.asax fájlban
|
||||
|
||||
Kérdés: Web alkalmazásban mit tartalmaz a Global.asax.cs fájl?
|
||||
!Az egész alkalmazás működését érintő események bekövetkezésekor végrehajtandó kódot.
|
||||
Az egész alkalmazásból elérhető metódusokat.
|
||||
Globális változók definíciója
|
||||
|
||||
Kérdés: Web alkalmazásban mi a különbség valami.aspx, valami.aspx.cs és valami.aspx.designer.cs fájlok tartalma között?
|
||||
!Az aspx tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvető működését, az aspx.cs a hozzá tartozó codebehind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx.designer.cs generált fájl, mely a vezérlők definícióját tartalmazza.
|
||||
Az .cs tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvető működését, az aspx.designer.cs a hozzá tartozó codebehind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx generált fájl, mely a vezérlők definícióját tartalmazza.
|
||||
Az aspx.designer.cs tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvető működését, az aspx.cs a hozzá tartozó codebehind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx generált fájl, mely a vezérlők definícióját tartalmazza.
|
||||
|
||||
Kérdés: Web alkalmazásban mit tartalmaz a Site.master fájl?
|
||||
Az oldal kerete, kinézete és működése, melyet az .cs fájlok töltenek meg tartalommal.
|
||||
!Az oldal kerete, kinézete és működése, melyet az .aspx fájlok töltenek meg tartalommal.
|
||||
Az egész alkalmazás működését érintő események bekövetkezésekor végrehajtandó kódot.
|
||||
Az egész alkalmazásból elérhető metódusokat.
|
||||
Globális változók definíciója.
|
||||
|
||||
Kérdés: Web alkalmazásban lehet-e több site.master fájl?
|
||||
!Igen, lehet.
|
||||
Nem, nem lehet.
|
||||
|
||||
Kérdés: Web alkalmazásban egy aspx fájlban a <%: %> jel található, mit jelent?
|
||||
A végleges, browsernek küldött HTML tartalom előállítása során C# nyelven kell értelmezni a jelek közötti részt.
|
||||
!A végleges, browsernek küldött HTML tartalomban jelenjen meg a jelek között található kifejezés értéke.
|
||||
|
||||
Kérdés: Web alkalmazásban egy aspx fájlban a <% %> jel található, mit jelent?
|
||||
!A végleges, browsernek küldött HTML tartalom előállítása során C# nyelven kell értelmezni a jelek közötti részt.
|
||||
A végleges, browsernek küldött HTML tartalomban jelenjen meg a jelek között található kifejezés értéke.
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) mit értünk a codebehind fájl alatt?
|
||||
!Azt a .aspx.cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
|
||||
Azt a POCO .cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
|
||||
Azt a .designer.cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) hogyan generáltatható egy vezérlőelem default eseménykezelője?
|
||||
!Dupla kattintás a vezérlőelemen.
|
||||
!Properties panel, event gomb alapján a kiválasztott eseményen dupla kattintás.
|
||||
Tools menü, events... és ott kiválasztható 'add default'.
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) válassza ki, melyek a választható/használható vezérlő elemek?
|
||||
Clock
|
||||
!Button
|
||||
!Textbox
|
||||
!DropdownList
|
||||
!Checkbox
|
||||
|
||||
Kérdés: Miért van külön Web.Debug.config és Web.Release.config fájl a webalkalmazásban?
|
||||
Azért, mert így külön definiálhatóak beállítások éles és demo környezetekhez.
|
||||
!Azért, mert így külön definiálhatóak beállítások a SolutionConfiguration alatt választható build típusokhoz.
|
||||
Azért, mert így külön definiálhatóak változtatható a kinézet éles és demo környezetek között.
|
||||
|
||||
Kérdés: Web alkalmazásban adatbáziskapcsolat adatai hol tárolhatóak?
|
||||
ConfigurationSettings.cs fájlban
|
||||
!Web.config fájlban
|
||||
Global.asax fájlban
|
||||
|
||||
Kérdés: Web alkalmazásban mit tartalmaz a Global.asax.cs fájl?
|
||||
!Az egész alkalmazás működését érintő események bekövetkezésekor végrehajtandó kódot.
|
||||
Az egész alkalmazásból elérhető metódusokat.
|
||||
Globális változók definíciója
|
||||
|
||||
Kérdés: Web alkalmazásban mi a különbség valami.aspx, valami.aspx.cs és valami.aspx.designer.cs fájlok tartalma között?
|
||||
!Az aspx tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvető működését, az aspx.cs a hozzá tartozó codebehind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx.designer.cs generált fájl, mely a vezérlők definícióját tartalmazza.
|
||||
Az .cs tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvető működését, az aspx.designer.cs a hozzá tartozó codebehind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx generált fájl, mely a vezérlők definícióját tartalmazza.
|
||||
Az aspx.designer.cs tartalmazza a vezérlőelemek elhelyezkedését, típusát és alapvető működését, az aspx.cs a hozzá tartozó codebehind fájl (főként vezérlőelemek kezelésére vonatkozó kóddal), míg az aspx generált fájl, mely a vezérlők definícióját tartalmazza.
|
||||
|
||||
Kérdés: Web alkalmazásban mit tartalmaz a Site.master fájl?
|
||||
Az oldal kerete, kinézete és működése, melyet az .cs fájlok töltenek meg tartalommal.
|
||||
!Az oldal kerete, kinézete és működése, melyet az .aspx fájlok töltenek meg tartalommal.
|
||||
Az egész alkalmazás működését érintő események bekövetkezésekor végrehajtandó kódot.
|
||||
Az egész alkalmazásból elérhető metódusokat.
|
||||
Globális változók definíciója.
|
||||
|
||||
Kérdés: Web alkalmazásban lehet-e több site.master fájl?
|
||||
!Igen, lehet.
|
||||
Nem, nem lehet.
|
||||
|
||||
Kérdés: Web alkalmazásban egy aspx fájlban a <%: %> jel található, mit jelent?
|
||||
A végleges, browsernek küldött HTML tartalom előállítása során C# nyelven kell értelmezni a jelek közötti részt.
|
||||
!A végleges, browsernek küldött HTML tartalomban jelenjen meg a jelek között található kifejezés értéke.
|
||||
|
||||
Kérdés: Web alkalmazásban egy aspx fájlban a <% %> jel található, mit jelent?
|
||||
!A végleges, browsernek küldött HTML tartalom előállítása során C# nyelven kell értelmezni a jelek közötti részt.
|
||||
A végleges, browsernek küldött HTML tartalomban jelenjen meg a jelek között található kifejezés értéke.
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) mit értünk a codebehind fájl alatt?
|
||||
!Azt a .aspx.cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
|
||||
Azt a POCO .cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
|
||||
Azt a .designer.cs fájlt, mely az aspx fájllal összhangban tartalmazza többek között az események kezelőit.
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) hogyan generáltatható egy vezérlőelem default eseménykezelője?
|
||||
!Dupla kattintás a vezérlőelemen.
|
||||
!Properties panel, event gomb alapján a kiválasztott eseményen dupla kattintás.
|
||||
Tools menü, events... és ott kiválasztható 'add default'.
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) válassza ki, melyek a választható/használható vezérlő elemek?
|
||||
Clock
|
||||
!Button
|
||||
!Textbox
|
||||
!DropdownList
|
||||
!Checkbox
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) mit tudhatunk meg az IsPostBack tulajdonságról?
|
||||
!Értéke hamis, ha ez az első oldalbetöltés.
|
||||
Értéke hamis, ha az oldalbetöltés vezérlés hatására történt.
|
||||
|
||||
Kérdés: Web alkalmazásban DropdownList vezérlőhöz hogyan tudunk elemeket hozzáadni?
|
||||
!Példány.Items kollekció manipulálásával.
|
||||
Példány.Selection kollekció manipulálásával.
|
||||
Példány.CustomElements kollekció manipulálásával.
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) egy Label típusú vezérlőelemen megjelenő szöveg melyik tulajdonsággal állítható be?
|
||||
Példány.Label
|
||||
Példány.Caption
|
||||
!Példány.Text
|
||||
Példány.ShowText()
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) egy Textbox típusú vezérlőelembe user által írt szöveg melyik tulajdonsággal olvasható ki?
|
||||
Példány.Label
|
||||
Példány.Caption
|
||||
!Példány.Text
|
||||
Példány.ShowText()
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) egy Textbox típusú melyik tulajdonsággal tiltható le (user nem szerkesztheti)?
|
||||
Disabled tulajdonság true értékre állításával
|
||||
!Enabled tulajdonság false értékre állításával
|
||||
Visible tulajdonság false értékre állításával
|
||||
Opacity tulajdonság 0 értékre állításával
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) egy TextBox típusú vezérlőben hogyan tudunk több sornyi szöveget megjeleníteni?
|
||||
Nem lehetséges, alapvetően user input-ra való.
|
||||
Text tulajdonságba sortöréssel ellátott szöveget helyezünk, EnableMultiLine tulajdonságot true értékre állítva.
|
||||
!Text tulajdonságba sortöréssel ellátott szöveget helyezünk, TextMode tulajdonságot MultiLine értékre állítva.
|
||||
|
||||
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 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: Mire utal az MVC minta?
|
||||
!Model-View-Controller
|
||||
Model-ViewModel-Control
|
||||
|
||||
Kérdés: MVC Web alkalmazásban hogyan kerül egy View megjelenítésre?
|
||||
A megadott URL egy HTML oldalra mutat, melyet a browser megjelenít, ez a View.
|
||||
!A megadott URL egy Controller metódusra mutat, mely View-t adhat vissza.
|
||||
ViewModel generálódik és jeleníti meg a browser.
|
||||
|
||||
Kérdés: MVC alkalmazás esetén mikor fog kiértékelődni a <%%> jelek közötti kifejezés?
|
||||
Csak az első megjelenítés során.
|
||||
!Az oldal minden elkészítése során.
|
||||
Az oldal minden elkészítése során, ami nem IsPostBack.
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) tipikusan milyen típusú fájlok lehetnek az előre definiált Scripts mappában?
|
||||
SQL script fájlok
|
||||
!Javascript fájlok
|
||||
.cs fájlok
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) tipikusan milyen típusú fájlok lehetnek az előre definiált Styles mappában?
|
||||
!CSS fájlok
|
||||
Aspx fájlok
|
||||
Ascx fájlok
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) tipikusan milyen típusú fájlok lehetnek az előre definiált App_Data mappában?
|
||||
Metadata fájlok (.cs)
|
||||
!Helyi adatbázis fájlok
|
||||
Konfigurációs fájlok
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) hogyan jeleníthetjük meg az aktuális dátumot egy Label vezérlőben?
|
||||
!A Label.Text tulajdonságot DateTime.Now értékére állítva.
|
||||
A Label.Text tulajdonságot DateTime.Today értékére állítva.
|
||||
A Label.Text tulajdonságot DateTime.Now.ToString() értékére állítva.
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) hogyan érhetünk el egy vezérlőt code-behind fájlból?
|
||||
ID alapján keresve a Controls gyűjteményben.
|
||||
Az adott vezérlő ID-jét megadva közvetlenül hivatkozhatunk rá, ha public.
|
||||
!Az adott vezérlő ID-jét megadva közvetlenül hivatkozhatunk rá, ha runat="server" attribútumot használ.
|
||||
|
||||
Kérdés: MVC alkalmazás esetén melyik mappa tartalmazza az adatmodelleket?
|
||||
!Models mappa.
|
||||
Controllers mappa.
|
||||
Views mappa.
|
||||
|
||||
Kérdés: MVC alkalmazás esetén melyik mappa tartalmazza az action metódusokat?
|
||||
Models mappa.
|
||||
!Controllers mappa.
|
||||
Views mappa.
|
||||
|
||||
Kérdés: MVC alkalmazás esetén hol történik az URI-k leképezése a Controller metódusaira?
|
||||
!RouteConfig osztályban.
|
||||
Web.config fájlban.
|
||||
Global.asax fájlban.
|
||||
|
||||
Kérdés: MVC alkalmazásban egy View-hoz hogyan adhatunk dinamikus adatot?
|
||||
!ViewBag segítségével.
|
||||
Session segítségével.
|
||||
ViewData segítségével.
|
||||
|
||||
Kérdés: MVC alkalmazás esetén hogyan lehet aszinkron metódusokat használni?
|
||||
!Task típusú metódusokat definiálunk.
|
||||
Thread típusú metódusokat definiálunk.
|
||||
Callback függvényeket használunk.
|
||||
|
||||
Kérdés: MVC alkalmazásban milyen metódust kell meghívni, hogy egy másik View jelenjen meg?
|
||||
!RedirectToAction
|
||||
RenderView
|
||||
ShowView
|
||||
|
||||
Kérdés: MVC alkalmazásban melyik osztály kezeli az űrlapok érvényesítését?
|
||||
Validator osztály.
|
||||
!ModelState osztály.
|
||||
Validation osztály.
|
||||
|
||||
Kérdés: MVC alkalmazásban hogyan tudunk egy View-hoz CSS fájlokat rendelni?
|
||||
!Az adott View-ban a <link> elemet használva.
|
||||
A BundleConfig fájlban.
|
||||
Az adott Controllerben hivatkozva.
|
||||
|
||||
Kérdés: MVC alkalmazásban milyen adatstruktúrát használ a TempData?
|
||||
Dictionary
|
||||
List
|
||||
!Hashtable
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) hogyan érhetjük el az aktuális user nevét?
|
||||
HttpContext.Current.User.Identity.Name
|
||||
Session["UserName"]
|
||||
!HttpContext.Current.User.Name
|
||||
|
||||
Kérdés: Web alkalmazásban hogyan lehet session változót beállítani?
|
||||
Session.Add("kulcs", érték)
|
||||
!Session["kulcs"] = érték
|
||||
Session.Set("kulcs", érték)
|
||||
|
||||
Kérdés: Web alkalmazásban (Web forms) hogyan lehet cookie-t létrehozni?
|
||||
!new HttpCookie("kulcs", érték) és a Response.Cookies-ba helyezve.
|
||||
new Cookie("kulcs", érték) és a Request.Cookies-ba helyezve.
|
||||
Response.CreateCookie("kulcs", érték) metódussal.
|
||||
|
||||
Kérdés: Web alkalmazásban hogyan állítható be a session timeout?
|
||||
!Web.config fájlban a <sessionState> elem timeout attribútumával.
|
||||
Global.asax fájlban a Session_Start metódusban.
|
||||
Code-behind fájlban a HttpContext.Session.Timeout értékével.
|
||||
|
||||
Kérdés: Web alkalmazásban hogyan történik az alkalmazásindításkor végrehajtandó műveletek megadása?
|
||||
!Global.asax fájlban az Application_Start metódusban.
|
||||
Web.config fájlban inicializáló szkript megadásával.
|
||||
Az első Controller betöltésekor hívott metódussal.
|
64
templates/index.html
Normal file
64
templates/index.html
Normal file
@ -0,0 +1,64 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Random Question</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
background-color: #f9f9f9;
|
||||
}
|
||||
.container {
|
||||
max-width: 800px;
|
||||
margin: 50px auto;
|
||||
padding: 20px;
|
||||
background: #fff;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
h1 {
|
||||
color: #333;
|
||||
text-align: center;
|
||||
}
|
||||
.question {
|
||||
margin: 20px 0;
|
||||
}
|
||||
.answers {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.answers input {
|
||||
margin-right: 10px;
|
||||
}
|
||||
button {
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
background-color: #4CAF50;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
font-size: 16px;
|
||||
}
|
||||
button:hover {
|
||||
background-color: #45a049;
|
||||
}
|
||||
.option-style:hover{
|
||||
background-color: #33333352;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h1>Véletlenszerű kérdés</h1>
|
||||
<form method="POST">
|
||||
{{ html_frame|safe }}
|
||||
<button type="submit" name="check">Ellenőriz</button>
|
||||
<button type="submit" name="next">Következő</button>
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
68
templates/quiz.html
Normal file
68
templates/quiz.html
Normal file
@ -0,0 +1,68 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Quiz</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
background-color: #f4f4f9;
|
||||
color: #333;
|
||||
padding: 20px;
|
||||
}
|
||||
.container {
|
||||
max-width: 600px;
|
||||
margin: 0 auto;
|
||||
background-color: white;
|
||||
padding: 20px;
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
h1 {
|
||||
text-align: center;
|
||||
color: #2C3E50;
|
||||
}
|
||||
.question {
|
||||
margin-bottom: 20px;
|
||||
font-size: 1.2em;
|
||||
}
|
||||
.answer-options {
|
||||
margin-top: 10px;
|
||||
}
|
||||
.answer-options input {
|
||||
margin-right: 10px;
|
||||
}
|
||||
.submit-button {
|
||||
display: block;
|
||||
width: 100%;
|
||||
padding: 10px;
|
||||
background-color: #3498db;
|
||||
color: white;
|
||||
border: none;
|
||||
border-radius: 5px;
|
||||
font-size: 1.1em;
|
||||
cursor: pointer;
|
||||
}
|
||||
.submit-button:hover {
|
||||
background-color: #2980b9;
|
||||
}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h1>Question {{ question_index + 1 }}</h1>
|
||||
<p class="question">{{ question['question'] }}</p>
|
||||
<form method="POST" action="{{ url_for('submit_answer') }}">
|
||||
{% for answer in question['answers'] %}
|
||||
<label>
|
||||
<input type="checkbox" name="answer" value="{{ answer }}">
|
||||
{{ answer }}
|
||||
</label><br>
|
||||
{% endfor %}
|
||||
<input type="hidden" name="question_index" value="{{ question_index }}">
|
||||
<input type="submit" value="Next" class="submit-button">
|
||||
</form>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
139
templates/result.html
Normal file
139
templates/result.html
Normal file
@ -0,0 +1,139 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>Quiz Results</title>
|
||||
<style>
|
||||
body {
|
||||
font-family: Arial, sans-serif;
|
||||
background-color: #f4f4f9;
|
||||
color: #333;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100vh;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.container {
|
||||
background-color: #ffffff;
|
||||
width: 90%;
|
||||
max-width: 900px;
|
||||
padding: 30px;
|
||||
border-radius: 10px;
|
||||
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
|
||||
overflow-y: auto;
|
||||
max-height: 90vh;
|
||||
}
|
||||
|
||||
h1 {
|
||||
text-align: center;
|
||||
color: #4CAF50;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
color: #333;
|
||||
margin-top: 20px;
|
||||
font-size: 1.5em;
|
||||
}
|
||||
|
||||
p {
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
padding-left: 0;
|
||||
}
|
||||
|
||||
li {
|
||||
background-color: #f9f9f9;
|
||||
border: 1px solid #ddd;
|
||||
padding: 15px;
|
||||
margin-bottom: 10px;
|
||||
border-radius: 8px;
|
||||
word-wrap: break-word;
|
||||
}
|
||||
|
||||
li strong {
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.correct-answer {
|
||||
color: #4CAF50;
|
||||
}
|
||||
|
||||
.user-answer {
|
||||
color: #FF5722;
|
||||
}
|
||||
|
||||
.mistake-item {
|
||||
background-color: #FFEBEE;
|
||||
border: 1px solid #FFCDD2;
|
||||
}
|
||||
|
||||
.no-mistakes {
|
||||
text-align: center;
|
||||
font-size: 1.2em;
|
||||
color: #4CAF50;
|
||||
}
|
||||
|
||||
a {
|
||||
display: block;
|
||||
text-align: center;
|
||||
margin-top: 20px;
|
||||
padding: 10px 20px;
|
||||
background-color: #4CAF50;
|
||||
color: white;
|
||||
text-decoration: none;
|
||||
border-radius: 5px;
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
background-color: #45a049;
|
||||
}
|
||||
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div class="container">
|
||||
<h1>Quiz Results</h1>
|
||||
|
||||
<p><strong>Score:</strong> {{ score }} out of {{ total }}</p>
|
||||
|
||||
<h2>Mistakes</h2>
|
||||
{% if mistakes %}
|
||||
<ul>
|
||||
{% for mistake in mistakes %}
|
||||
<li class="mistake-item">
|
||||
<strong>Question:</strong> {{ mistake.question }}<br>
|
||||
<strong class="user-answer">Your Answer:</strong> {{ mistake.user_answer }}<br>
|
||||
<strong class="correct-answer">Correct Answer:</strong> {{ mistake.correct_answer }}<br>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
{% else %}
|
||||
<p class="no-mistakes">No mistakes!</p>
|
||||
{% endif %}
|
||||
|
||||
<h2>All Answers</h2>
|
||||
<ul>
|
||||
{% for question, answer in questions_with_answers %}
|
||||
<li>
|
||||
<strong>{{ question['question'] }}</strong><br>
|
||||
<strong class="user-answer">Your Answer:</strong> {{ answer }}<br>
|
||||
<strong class="correct-answer">Correct Answer:</strong> {{ question['correct_answers'] }}<br>
|
||||
</li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
|
||||
<a href="{{ url_for('restart') }}">Restart Quiz</a>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
Reference in New Issue
Block a user