Programowanie zespołowe

Podobne dokumenty
Git, Bitbucket, IntelliJ IDEA

Spring Web MVC, Spring DI

Git, Bitbucket. Narzędzia i środowiska programistyczne. Laboratorium 2. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Wprowadzenie. Narzędzia i środowiska programistyczne. Laboratorium 1. Prowadzący: Kierunek: Semestr: Rok: Tomasz Gądek Informatyka Zimowy 2

Ćwiczenia 9: Zarządzanie konfiguracją Zadania:

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Gra-zabawka dla niemowląt przygotowana z użyciem w Unity 3D

Programowanie zespołowe

Co zostanie wypisane na ekranie? (1)

Spring, Maven, Postman, Debugger

Programowanie I

Użytkowanie PortableGit w systemie Windows. 1. Najważniejsze informacje

D:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44

Zaawansowane aplikacje internetowe

Aplikacje RMI

SIP Studia Podyplomowe Ćwiczenie laboratoryjne Instrukcja

Adam Wójs <adam[shift+2]wojs.pl> git --wprowadzenie

New Features in Allplan Allplan Nowy system licencjonowania w Allplan

MeetingHelper. Aplikacja Android ułatwiająca przekazywanie materiałów pomiędzy uczestnikami spotkania. Instrukcja obsługi dla programisty

Jak wykorzystać Pulpit Zdalny w Windows 2003 Serwer do pracy z programem FAKT

Instalacja wypychana ESET Endpoint Encryption

Zaawansowane aplikacje WWW - laboratorium

Wykład 12. Programowanie serwera MS SQL 2005 w C#

Procedura wygenerowania paczki instalacyjnej oprogramowania F-Secure

Migracja z programu Symfonia Kadry i Płace wer 3.x do Kadr i Płac Forte

Instrukcja konfiguracji programu Fakt z modułem lanfakt

git krótki przewodnik

Drupal i GIT. Schemat pracy.

Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej

Programowanie w Javie

Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.

Aplikacje webowe z wykorzystaniem Node.js oraz Express

Tutaj znajdziesz Odpowiedź na: Najczęściej Spotykane Problemy Najczęściej zadawane Pytania

INSTRUKCJA UŻYTKOWNIKA Instalacja KS - EDE w systemie KS - ZSA ISO 9001:2008 Dokument: Wydanie: 1 Waga: 90

Aplikacje internetowe i rozproszone - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

5.4. Tworzymy formularze

Kopiowanie plików. 1. Z sieci wewnętrznej PK. System Windows

Instalacja sieciowa Autodesk AutoCAD oraz wertykali

Dokumentacja wstępna TIN. Rozproszone repozytorium oparte o WebDAV

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Programowanie obiektowe

Instalacja i konfiguracja serwera SSH.

Klient poczty elektronicznej - Thunderbird

76.Struktura oprogramowania rozproszonego.

Zaawansowane aplikacje internetowe - laboratorium Architektura CORBA.

Instalacja Active Directory w Windows Server 2003

oprogramowania F-Secure

Aplikacje RMI Lab4

Assembla.com zajęcia 1

Zaawansowane aplikacje internetowe - laboratorium Web Services (część 1).

Instalacja i konfiguracja SAS PC Files Server

Instrukcja instalacji Control Expert 3.0

System kontroli wersji Git

INSTRUKCJA INSTALACJI I PIERWSZEGO URUCHOMIENIA APLIKACJI Rodzajowa Ewidencja Wydatków plus Zamówienia i Umowy

Instrukcja konfiguracji programu Fakt z modułem lanfakt

System kontroli wersji git

Spis treści

PWSG Ćwiczenia 12. Wszystkie ukończone zadania należy wysłać na adres: lub

Architektury systemów rozproszonych LABORATORIUM. Ćwiczenie 1

Panel Administracyjny Spis treści:

Instrukcja instalacji programu ARPunktor wraz z serwerem SQL 2005 Express

WPROWADZENIE DO JĘZYKA JAVA

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Zaawansowane aplikacje internetowe - laboratorium

Partnerzy: Laboratorium 15

Obiektowe programowanie rozproszone Java RMI. Krzysztof Banaś Systemy rozproszone 1

Metody Metody, parametry, zwracanie wartości

Biuletyn techniczny Inventor nr 28

CVS system kontroli wersji

Ćwiczenie 1. Przygotowanie środowiska JAVA

A. Instalacja serwera www

Aplikacje WWW - laboratorium

Konstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.

System kontroli wersji, system zarządzania kodem źródłowym

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Instrukcja aktualizacji programu Integra 7

pomocą programu WinRar.

Programowanie obiektowe zastosowanie języka Java SE

RMI-2. Java Remote Method Invocation (RMI) na podstawie m.in. podręcznika firmy Sun Microsystems SYSTEMY ROZPROSZONE

Utworzenie pliku. Dowiesz się:

Tworzenie aplikacji rozproszonej w Sun RPC

Polbruk Antara II Polbruk Neo

Instrukcja dostępu do Wirtualnych Laboratoriów Logistyczno Spedycyjnych i Magazynowych dla uczniów. Autor: Robert Pawlak

Programy LeftHand - Obsługa plików JPK. Wrzesień 2016

Instrukcja postępowania w procesie aktualizacji systemu UPLOOK / STATLOOK z wersji 3.0 do wersji 3.2

Git - podstawy. Błażej Kowalczyk. Koło Naukowe Robotyków KoNaR. 7 listopada 2014

Instrukcja instalacji

Instrukcja instalacji usługi Sygnity SmsService

Klasy i obiekty cz II

Platformy Technologiczne

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Jak skonfigurować klienta Mozilla Thunderbird?

Instrukcja instalacji usługi Sygnity SmsService

GIT. System Kontroli wersji GIT. Rafał Kalinowski

Windows Workflow Foundation (wprowadzenie - prosty przykład Sequential Workflow):

Procedura aktualizacji systemu TelkomBud. dla serwera DBfC w wersji 4.x

Narzędzie pomocnicze do przedmiotu Podstawy Informatyki - złożoność obliczeniowa

Transkrypt:

Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Laboratorium 6 Programowanie zespołowe Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy 2

Programowanie zespołowe Wymagania wstępne Proszę dobrać się w dwuosobowe zespoły oraz podzielić się obowiązkami (pierwszy programista odpowiedzialny będzie za część serwerową, drugi programista będzie odpowiedzialny za część kliencką). Programiści powinni pracować na oddzielnych maszynach! Pierwszy programista pobiera (lub klonuje) aplikację PdfGenerator Drugi programista pobiera aplikację PdfGeneratorExampleClient Komunikacja pomiędzy klientem a serwerem Programista odpowiedzialny za część serwerową ma za zadanie uruchomić projekt (uruchomienie projektu opartego o spring-boot opisane zostało na poprzednich laboratoriach) oraz powinien dowiedzieć się jaki adres IP posiada jego maszyna. Po uzyskaniu adresu IP pierwszy programista podaje tą informację koledze z zespołu. Drugi programista będzie musiał zmodyfikować kod w aplikacji klienckiej (wystarczy podmienić lokalny adres IP czyli 127.0.0.1 na adres, który poda kolega z zespołu). Wskazówka! Jak odczytać adres IP maszyny? Polecenie w konsoli windows: ipconfig Polecenie w terminali linux: ifconfig Po dokonaniu modyfikacji należy uruchomić serwer. Po pomyślnym uruchomieniu serwera, uruchamiamy aplikację kliencką i obserwujemy logi. Klient testuje dwie usługi serwera. Na początku 1

wysyła żądanie typu POST w celu wygenerowania pliku PDF, a następnie wywoływane jest żądanie typu GET w celu pobrania listy plików. Współdziałanie klienta z serwerem widoczne jest w logach serwerowych oraz na konsoli klienckiej. UWAGA! Aby komunikacja się powiodła obie maszyny muszą być podłączone do tej samej sieci! Projektowanie własnego API Zadanie: Na podstawie wzoru funkcji kwadratowej proszę wyznaczyć miejsca zerowe funkcji. Wzór funkcji kwadratowej powinien być wprowadzany w aplikacji klienckiej, a serwer powinien wyliczać miejsca zerowe na podstawie współczynników a, b, c. Należy obsłużyć przypadki dla sytuacji gdy: Istnieje 1 miejsce zerowe, 2 miejsca zerowe oraz gdy miejsca zerowe nie istnieją. Zespół powinien ustalić: Sposób komunikacji klienta z serwerem, W jaki sposób przekazać parametry do serwera (w linku?, jako JSON?, w parametrach?), Jak będzie wyglądała struktura JSONa zwracanego przez serwer? Wszystkie ustalenia powinny być spisane i każda ze stron powinna rozpocząć implementację własnej części aplikacji (jeden programista implementuje aplikację kliencką, a drugi serwerową na podstawie ustalonych przez siebie założeń projektowych). 2

Rozwiązywanie konfliktów Podczas pracy w zespole mogą wystąpić konflikty. Jeśli wystąpią należy je rozwiązać, a zintegrowane środowisko programistyczne ułatwi nam tą operację. Jeśli zdarzy się, że ten sam fragment kodu, który modyfikujemy lokalnie został już zmieniony i wypchnięty do zdalnego repozytorium przez innego programistę to możemy narazić się na konflikt. Postaramy się zasymulować konflikt... Proszę utworzyć nowy projekt ConflictTest (aplikacja konsolowa). Następnie proszę skopiować poniższy kod i wypchnąć dane do zdalnego repozytorium (należy wcześniej utworzyć nowe repozytorium na platformie Bitbucket). public class Main { private int counter; } public static void main(string[] args) { // write your code here } Następnie zmieniamy typ pola counter na Long w systemie Bitbucket (w menu Source proszę kliknąć na liście plików w Main.java a następnie Edit. Po dokonaniu zmian klikamy Commit. W kolejnym kroku należy przełączyć się na zintegrowanie środowisko programistyczne IntelliJ IDEA. Zmieniamy typ pola counter na Integer. Proszę wykonać commit do lokalnego repozytorium. Proszę pobrać zmiany z zdalnego repozytorium w celu symulacji konfliktu. Z menu nawigacyjnego wybieramy VCS Git Pull... Zostaniemy poinformowani o wystąpieniu konfliktu... 3

Wybieramy plik, w którym występują konflikty i klikamy Merge... Lewa kolumna przedstawia lokalne zmiany, prawa kolumna przedstawia zmiany z zdalnego repozytorium. Programista decyduje, które zmiany przyjąć (klikając» lub «) lub odrzucić (klikając x). Środkowa kolumna jest rezultatem decyzji programisty. Po skończonych działaniach klikamy Apply. Jeśli rozwiązywanie konfliktów dobiegło końca to wykonujemy pusha do zdalnego repozytorium. 4