ݺߣ

ݺߣShare a Scribd company logo
Webový portál pro demonstraci skriptů
psaných v Pythonu
(MASSCOM)
Antonín Neumann, 2014
Vedoucí práce: Ing. Michal Campr 1/10
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ů
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
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ů
Antonín Neumann, 2014 5/10
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)
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
Antonín Neumann, 2014 8/10
Děkuji Vám za pozornost.
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
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

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
  • 8. Antonín Neumann, 2014 8/10 Děkuji Vám za pozornost.
  • 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