A Pannon Egyetemen fejlesztett felhő alapú workflow rendszer (ORENBI) back-end oldali fejlesztése alapján a Műszaki Informatikai karon tartott tanszéki szeminárum során előadott prezentációnk. A prezentáció témája az alkalmazott technológiák és architektúrális valamint TDD módszereink bemutatása és tapasztalataink átadása.
A Pannon Egyetemen fejlesztett felhő alapú workflow rendszer (ORENBI) back-end oldali fejlesztése alapján a Műszaki Informatikai karon tartott tanszéki szeminárum során előadott prezentációnk. A prezentáció témája az alkalmazott technológiák és architektúrális valamint TDD módszereink bemutatása és tapasztalataink átadása.
Fejlesztési kihívások a pénzügyi szektorbanPal Vojacsek
A 2017.11.07-i Eclipse DemoCamp Budapest rendezvény "Fejlesztési kihívások a pénzügyi szektorban" című előadásának fóliái.
Vojácsek Pál
pal.vojacsek@ardinsys.eu
Ardinsys Zrt.
Pontosabban a HTML. Az ötös. És hogy kerül a JavaScript a szerverre? Mi közük ezeknek egymáshoz? Mibe ásd bele magad, ha szeretnél felkészülni a jövőre?
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokoneRise
Egy mobil alkalmazás fejlesztésekor nagy kihívás a különböző platformokra való fejlesztés. Gondoljunk csak arra, hogy az iOS, Android, Blacberry, Windows Phone készülékekre más-más nyelven és környezetben kell fejleszteni. Ez azt jelenti, hogy ahány platform, annyi különböző alkalmazás. Ha cross platform HTML5 JavaScript alapú alkalmazást fejlesztünk elvileg csak egy kódot kell karbantartani, de persze ez sem ennyire egyszerű. Az előadáson bemutatásra kerülnek a különböző mobil cross platform megoldások (HTML5, JavaScript alapokon) és a különböző platformokon létező HTML5 CSS különbségek.
Fejlesztési kihívások a pénzügyi szektorbanPal Vojacsek
A 2017.11.07-i Eclipse DemoCamp Budapest rendezvény "Fejlesztési kihívások a pénzügyi szektorban" című előadásának fóliái.
Vojácsek Pál
pal.vojacsek@ardinsys.eu
Ardinsys Zrt.
Pontosabban a HTML. Az ötös. És hogy kerül a JavaScript a szerverre? Mi közük ezeknek egymáshoz? Mibe ásd bele magad, ha szeretnél felkészülni a jövőre?
Cross Platform mobil app fejlesztés HTML5 JavaScript alapokoneRise
Egy mobil alkalmazás fejlesztésekor nagy kihívás a különböző platformokra való fejlesztés. Gondoljunk csak arra, hogy az iOS, Android, Blacberry, Windows Phone készülékekre más-más nyelven és környezetben kell fejleszteni. Ez azt jelenti, hogy ahány platform, annyi különböző alkalmazás. Ha cross platform HTML5 JavaScript alapú alkalmazást fejlesztünk elvileg csak egy kódot kell karbantartani, de persze ez sem ennyire egyszerű. Az előadáson bemutatásra kerülnek a különböző mobil cross platform megoldások (HTML5, JavaScript alapokon) és a különböző platformokon létező HTML5 CSS különbségek.
2. Verziókezelés - egyénileg
Állapot rögzítése – vissza tudunk térni, mentés
Állapot megjelölése – tudjuk mi van élesben, történet
Elágaztatás – éles és fejlesztői változat
Különbség képzés és alkalmazás – diff és patch
3. Verziókezelés - csapatban
Amire egyénileg, továbbá
Több fejlesztő dolgozhat ugyanazon a projekten
Nem e-mailben küldözgetjük a dolgokat!
Merge – összefűzés, ütközések kezelése
Blame / praise – ki csinálta a változást
4. Hol találkozunk vele?
- fejlesztés, kódolás - az összes eszköz támogatja
- dokumentum management rendszerek (ECM, portál)
- felhő szolgáltatások (dropbox, o365, google drive)
- parancssor
7. Központosított verziókezelés (svn)
- egy központi repository (egy server)
- working copy „checkout”
- net kapcsolat folyamatosan kell
Tipikus workflow:
- checkout-change-update-(resolve)-commit
9. Elosztott verziókezelés (git)
- van egy központi server, de nem kell folyamatosan
- teljes repository „fetch”, minden munkaállomáson megvan (kb) minden
- net kapcsolatot csak fetch és push használja
Tipikus workflow:
- fetch-merge-add-commit-push
- fetch-rebase-add-commit-push
11. Git clone
git clone https://github.com/gabrielke/teszt1.git
Fork:
- ”elágaztatjuk” az eredeti projektet, a kapcsolat megmarad (a forrás is tud róla)
12. Github.com
- legnagyobb git repository
- nagyon sok cég a privát dolgait is ezen tartja
- nagyon sok opensource projekt (kb. mind) itt van
- mindent ami publikus le lehet clone-ozni
- nézegessétek a fent levő kódokat, küldjetek be javításokat, tegyétek ide a fejlesztéseiteket
- legjobb ajánlólevél a github-os usernevet elküldeni – minden látszik belőle
13. Git checkout
- lokális váltás a branchek között
- nem kell hozzá hálózat
- „untracked file”-okra figyelni kell (megmaradnak)
- a default branch a „master”
15. Git remote
- távoli repository beállítása (lehet egyszerre több)
- git clone automatikusan beállítja a forrásra
- a default név: origin
- külön lehet fetch és push remote-ot állítani (nem szokás)
16. Git status és git log
Git status
- file-ok állapota
- tracked/untracked
- changed
Git log
- történések listája fordított időrendben
- helyi adatok alapján (fetch!)
- commit ID
18. Git fetch és git push
git fetch: letölti a távoli repository-ból a változásokat (de azok még nem látszanak!)
git fetch origin
git push: feltölti a lokális commitokat (!) a remote repositoryba
git push origin
19. Git merge
Ez a history :
- A - B - C - D - remote HEAD
E - F - G - local HEAD
Merge után:
- A - B - C - D - remote HEAD
E - F - G - local HEAD - new local HEAD
20. Git rebase
Ez a history :
- A - B - C - D - remote HEAD
E - F - G - local HEAD
Rebase után:
- A - B - C - D - remote HEAD - E' - F' - G' - local HEAD'
21. Github pull request
- Javításainkat, fejlesztéseinket más projektjébe így tudjuk beküldeni.
Menete:
- megcsináljuk a javítást
- commit, push saját repoba, valamilyen branchre (nem muszáj master)
- kijelöljük a javított és a base branchet, ez alapján elkészül a pull request
23. Git rebase és git merge (opcionális)
# create a topic branch based on current master
git checkout -b my_cool_new_feature
# work on feature...
vi file
git add file
git commit -s
# meanwhile, someone else has made changes to master...
git checkout master
git pull
# now rebase so that your topic branch applies on top of current HEAD of master
git checkout my_cool_new_feature
git rebase master
24. Git rebase és git merge 2. (opcionális)
# fix any conflicts that may be discovered on the way
vi file
git add file
git commit -s
# resume the rebase
git rebase --continue
#merge it in locally
git checkout master
git merge my_cool_new_feature
git branch -d my_cool_new_feature
# and propagate it back out to the origin
git push
#also delete remote branch
git push origin –d my_cool_new_feature
Editor's Notes
Egyik alap probléma a bináris file-ok verziókezelése
Több fejlesztő ugyanazon – nem biztos h ugyanazon a file-on!
Patch és diff: text és bináris fileok
- látszik h a remote master branch-en egyszerre jelenik meg az összes változás
- Valakinél lokálisan természetesen össze kell állnia a képnek
Add – hozzáadás
Commit –s : signoff
Commit –m: message, nincs külön editor ablak
Merge: nem írja át a lokális commitokat
Itt ugye a rebase átírja a commitokat, G-t is.
G’ nem volt tesztelve, G igen.
Viszont a history sokkal áttekinthetőbb