Webový portál pro demonstraci skriptů psaných v Pythonu (MASSCOM)
Autor: Antonín Neumann
1 of 10
Download to read offline
More Related Content
Bakalářská práce 2014
1. Webový portál pro demonstraci skriptů
psaných v Pythonu
(MASSCOM)
Antonín Neumann, 2014
Vedoucí práce: Ing. Michal Campr 1/10
2. Antonín Neumann, 2014 2/10
• Co je Masscom
– MAnager of Script for Scientific COMputation
• Motivace
– snadná ukázka práce knihovny SfePy
• řešení PDR metodou konečných prvků
3. Antonín Neumann, 2014 3/10
• Návrh databáze
– obecný model (problem, script)
– ORM (Doctrine 2, Doctrine data fixtures)
• Tvorba aplikace
– Symfony2
– FOSUserBundle
– Twig
4. Antonín Neumann, 2014 4/10
• Definice problému
– XML nebo YAML (JSON)
– parsování XML na HTML forms
• knihovna Ganon
– generování a spuštění výpočtu
• problém s SSH → rozšíření entity script
– Vizualizace výsledků
6. Antonín Neumann, 2014 6/10
• Testování
– uživatelské
• Windows, Linux
• Google Chrome, Mozilla Firefox, Internet Explorer 9+
– základní Unit testy (Ing. Michal Campr)
• Nasazení
– Synology server (Ing. Vladimír Lukeš, Ph.D.)
• rychlost, nastavení serveru (ssh)
7. Antonín Neumann, 2014 7/10
• Závěr
– splnění zadání
– pokračující vývoj
• řešení úprav nastavení serveru (SSH)
• úprava vizuálního stylu aplikace
• dvě jazykové verze (angličtina, čestina)
– zdrojový kód je dostupný pod MIT licencí na:
www.github.com/tonda13/masscom
9. Dotazy k práci
Antonín Neumann, 2014
1. Jak by se vytvořená aplikace upravila, kdybychom do ní
chtěli zakomponovat další knihovnu Pythonu?
– předpoklady: stejný definiční soubor XML
– úprava generování vstupního souboru
– nastavení volání skriptu podle údajů z databáze
• SfePy vidí na Masscom × ostatní ne
• řešení: použít např. RESTful API + Oauth
– úprava vizualizace výsledků
• SfePy vrací obrázek PNG
9/10
10. Dotazy k práci
Antonín Neumann, 2014
2. Jak lze výslednou webovou stránku přeložit do jiného jazyka?
– src/.../Resources/translations/name.LANG.yml
– YAML, kaskádově jako u tvorby entit
– v šabloně: {% trans_default_domain 'name' %}
{{ 'level1.level2.level3'|trans }}
– u formuláře: 'translation_domain' => 'name'
– nastavení URL (routing):
prefix: /{_locale}/
requirements:
_locale: en|cs
10/10