produkcja aplikacji internetowych
DESCRIPTION
O zagadnieniu: Czy następuje taki moment w życiu programisty, kiedy może on stwierdzić, że jego warsztat jest już doskonały? Nie, jeżeli pracuje w technologiach internetowych. Ta dziedzina informatyki rozwija się w niesamowicie szybkim tempie, a stworzone wczoraj rozwiązania warto stosować już dziś! Cel i korzyści spotkania: Podczas spotkania słuchacze poznają aktualnie wykorzystywane technologie oraz kluczowe umiejętności w produkcji aplikacji internetowych, jak również metody programowania ekstremalnego i techniki zwinnego wytwarzania oprogramowania. Osobom, które dopiero zaczynają swoją przygodę z web development, zostanie przedstawiona propozycja działań, których sumienne podjęcie się gwarantuje odniesienie sukcesu zawodowego.TRANSCRIPT
![Page 1: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/1.jpg)
Produkcja aplikacji internetowychwykorzystywane technologie
mgr inż. Tomasz Borowski, 2014-03-22 Cieszyn
![Page 2: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/2.jpg)
mgr inż. Tomasz Borowski
edukacja: BWS im. Tyszkiewicza, Uniwersytet Jagielońskipraca: Selleo, tbprojectsdoświadczenie: w webdevelopmencie: 7 latprojekty w Php: ~15projekty Ruby: ~10projekty w JS: ~5technologie: Ruby on Rails, SQL, Sencha Touch,
Ember.js, Coffeescript, HAML, Rspec.
Kilka słów o wykładowcy
![Page 3: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/3.jpg)
Szeroki wybór
aplikacje mobilne
sterowniki
sieci komputerowe
aplikacje desktopowe
aplikacje internetowe
symulacje
gry wideo
![Page 4: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/4.jpg)
część 1: Aplikacje Internetowe
![Page 5: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/5.jpg)
Dlaczego właśnie web development?
Mogę stworzyć własna stronę z recenzjami filmów! ;)
![Page 6: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/6.jpg)
Dlaczego właśnie web development?
Jest duże zapotrzebowanie - mogę na tym zarobić!
![Page 7: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/7.jpg)
Dlaczego właśnie web development?
Cały czas się zmieniają technologie,a ja mogę uczyć się nowych rzeczy!
![Page 8: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/8.jpg)
Dlaczego właśnie web development?
Mogę poznać inspirujących ludzi i razem tworzyć open source’owe rozwiązania!
![Page 9: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/9.jpg)
Dlaczego właśnie web development?
Wszystko zmierza do internetu...
![Page 10: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/10.jpg)
![Page 11: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/11.jpg)
Cechy dobrego web developera
![Page 12: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/12.jpg)
Cechy dobrego web developera
Wszechstronność umiejętności
admin. serwera
kodowanie server-side
kodowanie client-side
stylowanie + ux
Full Stack Developer
![Page 13: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/13.jpg)
Cechy dobrego web developera
Wszechstronność komunikacja
z współpracownikami
z klientem
pisemna i głosowa
ciągła i elastyczna
![Page 14: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/14.jpg)
obsługa przypadków brzegowych
Cechy dobrego web developera
Profesjonalizm jakość rozwiązania
stabilność
intuicyjność
![Page 15: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/15.jpg)
krótkie, zrozumiałe metody oraz klasy
Cechy dobrego web developera
Profesjonalizm jakość kodu
brak nadmiarowego kodu
testy automatyczne
![Page 16: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/16.jpg)
Cechy dobrego web developera
Otwartość
dystans do swego kodu
chęć otrzymania konstruktywnej krytyki
chęć dawania konstruktywnej krytyki
![Page 17: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/17.jpg)
Cechy dobrego web developera
Cierpliwość
dziel i zwyciężaj zadania
poznawanie rozwiązań wymaga czasu
porażki to część procesu uczenia się
![Page 18: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/18.jpg)
![Page 19: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/19.jpg)
Jak zacząć?
![Page 20: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/20.jpg)
Jak zacząć?
Dać się czymś zainspirować i zacząć drążyć temat
czym jest grywalizacja?
jakie mogą być jej zastosowania?
jakie są istniejące rozwiązania?
jakich błędów nie popełniać?
![Page 21: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/21.jpg)
Jak zacząć?
Wymyślić sobie konkretny projekt do realizacji
jak ma wyglądać?
jakie technologie chcę poznać?
jakie warunki ukończenia?
![Page 22: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/22.jpg)
Jak zacząć?
Poświęcić swój czas i zacząć działać
ile godzin... dziennie?
kiedy gotowa pierwsza wersja?
a może potrzebuję pomocy?
![Page 23: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/23.jpg)
Jak zacząć?
Zbierz konstruktywny feedback i udoskonalaj
czy kierunek jest dobry?
jakie zmiany są najważniejsze?
![Page 24: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/24.jpg)
To działa!
![Page 25: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/25.jpg)
Eksperyment
Grywalizacja bywa ciekawa i pożyteczna
![Page 26: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/26.jpg)
Eksperyment
Grywalizacja pracy może rozwiązać problemy
Invoicing Module
TODO:
Some Task
Some Task
Backlog In Progress Done
Some Task
Some Task
![Page 27: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/27.jpg)
Eksperyment
Chciałbym poznać nowe technologie
![Page 28: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/28.jpg)
Eksperyment
![Page 29: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/29.jpg)
Eksperyment
Jakie jest zdanie potencjalnych użytkowników
+150exp
+520exp
+330exp
+120exp
+480exp
+90exp
![Page 30: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/30.jpg)
Eksperyment
![Page 31: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/31.jpg)
Eksperyment
Opowiedzieć innym o zebranym doświadczeniu
![Page 32: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/32.jpg)
![Page 33: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/33.jpg)
część 2: Technologie Webowez punktu widzenia Ruby on Rails developera
![Page 34: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/34.jpg)
Technology Stack
Back-endkod aplikacji, biblioteki, serwer aplikacji
Usługibaza danych, mailing, monitoring aplikacji
Front-endHTML, Javascript (biblioteki), CSS (stylowanie)
![Page 35: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/35.jpg)
Front-endwybrane języki
![Page 36: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/36.jpg)
HTML HyperText Markup Language
Hipertekstowy język znaczników,definiuje co ma być wyświetlane
<html>
<head>
<title>Awesome strona!</title>
</head>
<body>
<div class=”pink”> Strona o kucykach </div>
</body>
</html>
![Page 37: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/37.jpg)
HAML HTML abstraction markup language
Hipertekstowy język znaczników,definiuje co ma być wyświetlane
%html
%head
%title Awesome strona!
%body
.pink Strona o kucykach
![Page 38: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/38.jpg)
CSS Cascading Style Sheets
Kaskadowe arkusze stylów,definiuje jak ma być wyświetlane
div {
font-size: 14px;
font-color: black;
}
div.pink {
font- color: pink;
}
![Page 39: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/39.jpg)
SASS Syntactically Awesome Stylesheets
Kaskadowe arkusze stylów,definiuje jak ma być wyświetlane
div
font-size: 14px
font-color: black
&.pink
font- color: pink
![Page 40: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/40.jpg)
JavaScript
Skryptowy język programowania,definiuje jak ma się zachowywać
var Person;
Person = (function() {
function Person(name) {
this.name = name;
}
Person.prototype.sayHi = function() {
return alert("Hi, I am " + this.name);
};
return Person;
})();
![Page 41: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/41.jpg)
CoffeeScript
Skryptowy język programowania,kompilowany do JavaScriptu
class Person
constructor: (name) ->
@name = name
sayHi: ->
alert "Hi, I am #{@name}"
![Page 42: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/42.jpg)
Frond-endwybrane biblioteki i frameworki
![Page 43: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/43.jpg)
jQuery
Biblioteka dla języka JavaScript
- manipulacje na drzewie DOM- obsługa wydarzeń- obsługa animacji- obsługa zapytań AJAX
jQuery('body').css('color', 'pink');
jQuery('div.pink').append('Awesome!');
![Page 44: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/44.jpg)
Bootstrap
Framework CSS, JavaScript
- możliwość wykorzystania gotowych szablonów- responsywne stylowanie- komponenty HTML / JavaScript
![Page 45: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/45.jpg)
EmberJS
Framework MVC Javascript
- budowa aplikacji jednostronicowych- zarządzanie danymi po stronie klienta- dynamiczne szablony Handlebars
![Page 46: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/46.jpg)
Wiecej informacji:https://github.com/showcases/front-end-javascript-frameworkshttps://github.com/showcases/css-libraries
![Page 47: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/47.jpg)
Back-endwybrane języki
![Page 48: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/48.jpg)
PHP PHP Hypertext Preprocessor
Skryptowy język programowaniaclass Person {
var $name;
function Person($name)
{
$this->name = $name;
}
function sayHi()
{
return 'Hi, I am '.$this->name;
}
}
![Page 49: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/49.jpg)
Ruby
Skryptowy język programowaniaclass Person
def initialize(name)
@name = name
end
def say_hi
"Hi, I am #{@name}"
end
end
![Page 50: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/50.jpg)
Python
Skryptowy język programowaniaclass Person:
def __init__(name):
self.name = name
def say_hi:
"Hi, I am %s" % self.name
![Page 51: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/51.jpg)
Back-endwybrane frameworki
![Page 52: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/52.jpg)
Frameworki MVCMVC to wzorzec architektoniczny służący do organizowania struktury aplikacji posiadających graficzne interfejsy użytkownika.
MVC zakłada podział aplikacji na trzy główne części:● Model: jest reprezentacją problemu bądź logiki aplikacji.
● Widok: opisuje, jak wyświetlić pewną część modelu w ramach interfejsu użytkownika.
● Kontroler: przyjmuje dane wejściowe od użytkownika i reaguje na jego poczynania, zarządzając aktualizacje modelu oraz odświeżenie widoków.
Wikipedia
![Page 53: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/53.jpg)
Frameworki MVC
![Page 54: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/54.jpg)
Frameworks
![Page 55: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/55.jpg)
![Page 56: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/56.jpg)
Ruby on Rails
Dlaczego
- mało konfigurowania, mało kodu- przyjemny w kodowaniu i czytaniu- łatwość w instalacji gemów (pakietów)- duże i bardzo aktywne community- wsparcie dla różnorodnych baz danych- szybkie prototypowanie dzięki generatorom kodu- ...
![Page 57: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/57.jpg)
Ruby on Rails
Przykładowa aplikacja - otoTeamAplikacja Ruby on Rails do zapraszania znajomych na spotkania z wykorzystaniem kolejki zaproszeń.
Aplikacja jest tworzona podczas warsztatów Ruby on Rails organizowanych przez fundację Mikstura IT.
Repozytoriumhttps://github.com/miksturait/ototeam
Onlinehttp://ototeam-mikstura.herokuapp.com
![Page 58: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/58.jpg)
Usługiwybrane aplikacje
![Page 59: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/59.jpg)
Heroku
Hosting w platformie chmurowej
- darmowy dla prostych aplikacji- duża skalowalność- proste w instalacji dodatki- nie wymaga wiedzy z administracji serwerami
![Page 60: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/60.jpg)
Amazon S3 Simple Storage Service
Hosting plików w chmurze
- darmowy do 1GB wychodzącego transferu miesięcznie- zarządzanie zezwoleniami- usługa niezbędna przy korzystaniu z Heroku
![Page 61: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/61.jpg)
PostgreSQL
Relacyjna baza danych SQL
- darmowa (open source)- bardzo wydajna- możliwość definiowania funkcji i widoków- dodatkowe typy danych np. array, hstore
![Page 62: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/62.jpg)
Mailgun
API do wysyłania i przekazywania maili
- darmowy do 10 000 maili miesięcznie- tracking wysyłanych maili- przekierowywanie maili
![Page 63: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/63.jpg)
New Relic
Monitorowanie aplikacji
- analiza obciążenia serwera- analiza zapytań SQL- analiza ruchu w aplikacji- monitorowanie wydajności aplikacji
![Page 64: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/64.jpg)
![Page 65: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/65.jpg)
Narzędzia do developmentuwybrane aplikacje
![Page 66: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/66.jpg)
Travis-CI
Wykonywanie testów na zdalnym serwerze
- testy uruchamiane przy każdej aktualizacji repozytorium- opcjonalne contiuous deployment- darmowe dla projektów open source
![Page 67: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/67.jpg)
Code Climate
Analiza statyczna kodu
- detekcja powtórzeń kodu- detekcja skomplikowanych metod / klas- obliczanie pokrycia kodu testami- darmowa dla projektów open source
![Page 68: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/68.jpg)
Gemnasium
Analiza wersji wykorzystywanych bibliotek
- powiadomienia o nowych wersjach bibliotek- ostrzeżenia przed dziurami bezpieczeństwa- listowanie zmian w danej bibliotece
![Page 69: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/69.jpg)
![Page 70: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/70.jpg)
część 3: Agilezwinne techniki wytwarzania oprogramowania
![Page 71: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/71.jpg)
Samozarządzający się zespół
Po co nam Project Manager?
- odpowiedzialni ludzie, wszyscy są równi- każdy może komunikować się z klientem
![Page 72: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/72.jpg)
Standup
15 minut dziennie na omówienie “taktyki”
- omówienie postępów z ostatnich 24h- detekcja problemów
![Page 73: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/73.jpg)
Sprint
Bo milestone trwa zbyt długo
- krótkie iteracje (np. 2-tygodniowe), częste planowanie- specyfikacja długoterminowa nie ma sensu
![Page 74: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/74.jpg)
Interakcja z klientem
Ciągła gotowość na zmiany
- klient jest źródłem informacji- feedback dostarczany regularnie- wspólne planowanie sprintów
![Page 75: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/75.jpg)
Test Driven Development
Zanim zaimplementujesz, przetestuj
- kod powinien być automatycznie testowany- testy niezbędne podczas refaktoringu- testy “gwarantem” stabilności aplikacji
![Page 76: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/76.jpg)
Pair Programming
Wspólne rozwiązywanie problemu - jedna osoba koduje, druga weryfikuje oraz wyznacza cel- dobra metoda dzielenia się wiedzą- programowanie z “kaczuszką”- częste zmiany roli
![Page 77: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/77.jpg)
Code Review
Jakość kodu przede wszystkim - wzajemne analizowanie kodu- detekcja potencjalnych problemów- poznawanie ciekawych rozwiązań
![Page 78: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/78.jpg)
Continuous Deployments
Częsta aktualizowanie aplikacji - jeśli wszystkie testy przechodzą, to automatyczny deploy- kilkanaście aktualizacji dziennie
repozytorium serwer integracyjny web serwer
push web hook deploy
nowy kod
![Page 79: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/79.jpg)
Retrospektywy
Wyciągajmy wnioski i usprawniajmy - po każdy sprincie analiza “jak poszło”- detekcja problemów i propozycje rozwiązań
![Page 80: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/80.jpg)
“Na ogół sprawa nie rozbija się o wpadki, o których tak lubią mówić różni spece, lecz o złe wykonanie. Proste jak drut: nie wystarczy wymyślić co i jak, trzeba jeszcze to zrobić, a raczej dopilnować, żeby inni zrobili”
Ram Charan (“Fortune”, 1999)
![Page 81: Produkcja aplikacji internetowych](https://reader033.vdocuments.net/reader033/viewer/2022051817/547d9d935806b5cc5e8b4595/html5/thumbnails/81.jpg)
@TomaszBorowski
tomaszborowski.com
Dziękuję za uwagę