Apache ANT. Narzędzie do automatyzacji zadań projektowych. Spis treści. Dawid Weiss Id: ant-zajecia.tex :37:20Z dweiss
|
|
- Grażyna Krzemińska
- 6 lat temu
- Przeglądów:
Transkrypt
1 1 Apache ANT Narzędzie do automatyzacji zadań projektowych Dawid Weiss Spis treści
2 1 Wprowadzenie ANT jest odpowiednikiem programu MAKE, znanego użytkownikom systemów Unix, i służy do automatyzacji wykonywania serii poleceń zmierzających do wykonania pewnego określonego celu. Celem tym, w przypadku zadań programistycznych, może być kompilacja plików źródłowych, usunięcie plików tymczasowych ale i również zupełnie inne zadania: opublikowanie dokumentacji na stronę WWW, wykonanie testów jednostkowych i generacja raportu w formie HTML, czy też wysłanie protokołem FTP plików na serwer dystrybucyjny. O sile narzędzia świadczy wachlarz możliwości jego użycia. Popularność ANTa jest wynikiem paru czynników: przenośność ANT jest napisany w Javie i używa języka XML do opisu skryptów automatyzacji. Poprawnie napisany skrypt będzie zatem działał identycznie zarówno w środowisku Windows, jak i innych (Linux czy MacOS). dużo gotowych zadań Biblioteka ANTa zawiera wiele gotowych zadań takich, jak kompilator Java, kompresja ZIP, czy też wszechstronne zadania do obsługi plików. integracja ANT jest łatwo integrowalny z innymi środowiskami programistycznymi. I tak Eclipse i wszystkie inne środowiska programisty umożliwiają uruchamianie skryptów bezpośrednio ze środowiska wizualnego. automatyzacja ANT powstał z myślą o automatyzacji zadań i daje się łatwo uruchamiać w sposób automatyczny (na przykład co pewien czas). Można ten fakt wykorzystać aby sprawdzać integralność projektu za pomocą testów regresji (określaną też czasem terminem continuous integration). rozszerzalność Czegokolwiek nie ma jeszcze w programie ANT, daje się łatwo zaprogramować jako własne zadania (w języku Java oczywiście). automatyzacja zadań Bez owijania w bawełnę: ANT jest używany zwykle do automatyzacji zadań programistycznych przez osoby związane z programowaniem w języku Java. Jednak nic nie stoi na przeszkodzie aby użyć go do każdego innego języka lub też zadania wymagającego powtarzalnych, identycznych kroków wykonania. Koncepcje podstawowe.1 Terminologia i jej znaczenie Przed przystąpieniem do programowania skryptów w programie ANT, warto przyswoić sobie terminologię towarzyszącą temu produktowi. Każdy skrypt ANTa to plik zapisany w języku XML (domyślnie ANT poszukuje pliku o nazwie build.xml, choć nie trzeba się do tej konwencji stosować). Ilustracja?? prezentuje główne bloki, z których składa się każdy skrypt: cele, zadania i powiązania. Ich krótkie omówienie znajduje się poniżej. cele Każdy skrypt składa się z zestawu nazwanych celów (ang. target). Każdy cel powiniem posiadać unikalną nazwę, która jednocześnie definiuje jego przeznaczenie. I tak typowymi celami będą: skrypty ANTa cele clean cel czyszczący projekt z plików tymczasowych, compile cel kompilujący pliki źródłowe, test cel uruchamiający testy jednostkowe, build cel kompilujący pliki źródłowe i wszelką inna dokumentację (przygotowanie wersji dystrybucyjnej). Cele są dokładniej omówione w rozdziale?? na stronie??. zadania Na każdy cel składają się liniowo wykonywane zadania (ang. task). Zadania owe są w większości predefiniowane i opisane w dokumentacji do ANTa. Ich stopień złożoności jest różny: od prostego kopiowania pliku (zadanie copy), do złożenia pełnej aplikacji internetowej (zadanie war). Przykłady dostępnych zadań poznamy w rozdziale?? na stronie??. zadania
3 RYSUNEK 1: Wizualizacja struktury skryptu ANTa. Plik skryptu, nazwany tutaj build.xml, zawiera nazwane cele (target), które z kolei zawierają podzadania (task). Cele są powiązane między sobą zależnościami (ang. dependency). powiązania Jeśli wykonanie jednego celu zależy od pomyślnego wykonania innego, to można zdefiniować powiązanie lub zależność (ang. dependency) między celami. Przykładowo, zadanie uruchamiające testy jednostkowe zależy od tego, czy udało się pomyślnie przeprowadzić proces kompilacji. Zadanie kompresji finalnego pliku ZIP z projektem może zależeć zarówno od poprawnej kompilacji, jak i (co wystarczy) od poprawnego wykonania testów. zależności Klarowne deklaracje zależności między celami są głównym atutem ANTa. Poprawnie zaprojektowany plik automatyzacji zawiera autonomiczne, drobne cele, które są powiązane ze sobą w większą całość właśnie przy pomocy powiązań. Wielokrotnie zdarza się, że niektóre cele nie posiadają wcale zadań, a jedynie sieć zależności łączącą inne cele w jeden bardziej skomplikowany. Programista ANTa nie musi przejmować się poprawną kolejnością wykonania celów zadanie sortowania ich w odpowiedniej kolejności (sortowanie topologiczne) przejmuje na siebie ANT.. Plik skryptu i uruchamianie programu ANT Plik projektu to plik zapisany w języku XML, który zawiera w sobie definicję dostępnych w projekcie celów. Zwykle dla każdego projektu mamy jeden plik automatyzujący zadania z nim związane. Oczywiście w razie konieczności plików takowych można mieć więcej niż jeden (co komplikuje jednak nieco wywołanie programu ant, bowiem należy wtedy wskazać, który plik ma być analizowany). Każdy plik projektu musi obowiązkowo zawierać cel domyślny (wywoływany, gdy nie poda się żadnego argumentu do polecenia ant. Trywialnym skryptem może więc być znakomity przykład hello world : 1 <?xml version="1.0" encoding="utf-8" standalone="yes"?> <project name="my project" default="hello"> 4 <target name="hello" description="says hello"> 5 <echo>hello world.</echo> 6 </target> 7 </project>
4 4 Należy zwrócić uwagę na atrybut default, który wskazuje domyślny cel. Uruchomienie tego skryptu 1 daje następujący wynik: 1 g:\projects>ant -f empty.xml Buildfile: empty.xml 4 hello: 5 [echo] Hello world. 6 7 BUILD SUCCESSFUL 8 Total time: 1 second Opcja -f służy do wskazania pliku skryptu o nazwie innej niż build.xml (w przypadku której może zostać pominięta). Jak widać z powyższego listingu, wynikiem działania programu jest informacja o celach i zadaniach, które zostały wykonane. Argumentami programu ANT są cele, które należy wykonać. Równie dobrze możemy więc wpisać: Uruchamianie specyficznych celów 1 g:\projects>ant -q -f empty.xml hello [echo] Hello world. 4 BUILD SUCCESSFUL 5 Total time: 0 seconds Tym razem program ANT uruchomiono z opcją -q, która powoduje mniejszą liczbę wypisywanych komunikatów (ang. quiet) oraz ze specyficznym celem hello (w naszym przypadku identycznym z domyślnym). Aby dowiedzieć się, jakie cele zawiera plik ANTa, można przekazać do programu opcję -p: 1 g:\projects>ant -f empty.xml -p Buildfile: empty.xml Informacja o dostępnych celach 4 Main targets: 5 6 hello Says hello 7 Default target: hello Jak widać, jedyny cel (domyślny) tego pliku to hello.. Cele Jak już wspomnieliśmy, cele to główne bloki budujące plik skryptu ANTa. Każdy cel zawiera atrybut name, który jest jednoznacznym identyfikatorem tego celu. Dodatkowo można w definicji celu umieścić atrybut description, który pojawi się jako opis tego celu w momencie wywołania ANTa z opcją -p. Konwencja nazw celów jest oczywiście jedynie umową. Dla projektu łatwo jest wypisać wszystkie zdefiniowane w nim cele (wraz z dokumentacją), więc nawet zarzucenie tej konwencji nie czyni dużej szkody. Doświadczony programista będzie jednak oczekiwał celów o określonych nazwach (takich jak clean czy build). Plik ANTa definiujący dwa cele: hello i world może wyglądać następująco: 1 <?xml version="1.0" encoding="utf-8" standalone="yes"?> <project name="hello-1" default="hello"> 4 <target name="hello" description="says hello"> 5 <echo>hello</echo> 6 </target> 7 8 <target name="world" description="says world"> 9 <echo>world.</echo> 10 </target> 11 </project> 1 Instalacja programu ANT jest omówiona w punkcie?? na stronie??
5 5 Przykładowe zaś wykonanie powyższego skryptu wygląda następująco (proszę zwrócić uwagę na podane jawnie oba cele w argumentach do programu): 1 g:\projects>ant -f hello-1.xml world hello Buildfile: hello-1.xml 4 world: 5 [echo] World. 6 7 hello: 8 [echo] Hello 9 10 BUILD SUCCESSFUL 11 Total time: 0 seconds.4 Powiązania Zależność jednego celu od drugiego definiujemy przy pomocy atrybutu depends w elemencie target. Wartością atrybutu są, oddzielone przecinkami, nazwy celów, które mają się wykonać przed zadanym. Przykładowo, nasz poprzedni skrypt definiujący cele hello i world może wyglądać następująco: 1 <?xml version="1.0" encoding="utf-8" standalone="yes"?> <project name="hello-" default="hello"> 4 <target name="hello" description="says hello"> 5 <echo>hello</echo> 6 </target> 7 8 <target name="world" description="says world" depends="hello"> 9 <echo>world.</echo> 10 </target> 11 </project> Wówczas wywołanie celu world będzie zawsze poprzedzone wykonaniem celu hello: 1 g:\projects>ant -f hello-.xml world Buildfile: hello-.xml 4 hello: 5 [echo] Hello 6 7 world: 8 [echo] World BUILD SUCCESSFUL 11 Total time: 0 seconds.5 Zadania Zadania w skrypcie ANTa są deklarowane jako elementy języka XML wewnątrz celu. Zadania mniej skomplikowane są zwykle deklarowane jako elementy puste (jedynie z atrybutami), lub zawierające pewne instrukcje wewnątrz deklaracji. Przykładowo, w poniższym celu tworzony jest katalog i wyświetlana jest informacja dla użytkownika: 1 <target name="create.tmp"> <mkdir dir="tmp" /> <echo>folder "tmp" created.</echo> 4 </target> Nietrudno jest zgadnąć, że ANT wykonuje zadania w kolejności ich deklaracji w skrypcie. Ten i inne ważne elementy sposobu wykonania przez ANT skryptu automatyzacji podsumowano w punktach poniżej: Sposób wykonania skryptu
6 6 1. Zadania są wykonywane sekwencyjnie: w kolejności zależności między celami, a następnie w obrębie jednego celu.. W ogólnym przypadku cały skrypt będzie wykonywany dokładnie przez jeden wątek. Zrównoleglenie zadań jest możliwe przy pomocy zadania o nazwie parallel, jednak w tym tekście nie będziemy poszerzali tego zagadnienia.. Wykonanie skryptu jest przerywane i kończy się błędem w momencie, gdy którekolwiek zadanie zakończy się błędem (pozostałe zadania nie są wykonywane). W przypadku niektórych zadań można w sposób jawny żądać ignorowania błędów wykonania. Powyższe zasady ilustruje następujący przykład: 1 <?xml version="1.0" encoding="utf-8" standalone="yes"?> <project name="failure" default="build"> 4 <target name="build"> 5 <copy file="from.txt" tofile="to.txt" /> 6 <echo>file copied.</echo> 7 </target> 8 </project> Wykonanie tego skryptu (kopiowanie pliku, który nie istnieje) kończy się błędem. Proszę zwrócić uwagę na to, że zadanie echo nie wykonało się: 1 >ant -f failure.xml Buildfile: failure.xml 4 build: 5 6 BUILD FAILED 7 D:\failure.xml:5: Warning: Could not find file D:\from.txt to copy. 8 9 Total time: 1 second Można jednak polecić zadaniu copy ignorowanie błędów: 1 <?xml version="1.0" encoding="utf-8" standalone="yes"?> <project name="failure" default="build"> 4 <target name="build"> 5 <copy file="from.txt" tofile="to.txt" failonerror="false" /> 6 <echo>file copied.</echo> 7 </target> 8 </project> wtedy cały skrypt kończy się sukcesem: 1 >ant -f failure-.xml Buildfile: failure-.xml 4 build: 5 [copy] Warning: Could not find file D:\from.txt to copy. 6 [echo] File copied. 7 8 BUILD SUCCESSFUL 9 Total time: 0 seconds Zadania o większym stopniu skomplikowania mogą składać się z paru zagnieżdżonych instrukcji języka XML (w tym również deklaracji zbiorów plików, omówionych w rozdziale??). Przykład takiego bardziej skomplikowanego zadania (detale tutaj pomijamy) znajduje się poniżej: 1 <junit dir="${build.dir}/jni-testdir" fork="true" haltonerror="true" haltonfailure="true" printsummary="false">
7 7 <env key="ld_library_path" file="${build.dir}/jni-testdir" /> 4 5 <classpath> 6 <pathelement path="${build.dir}/classes" /> 7 <pathelement path="${build.dir}/test" /> 8 <path refid="libs" /> 9 </classpath> <formatter type="plain" usefile="false" /> 1 1 <sysproperty key="java.library.path" path="${build.dir}/jni-testdir" /> <batchtest> 16 <fileset dir="${build.dir}/test"> 17 <include name="**/*test.class" /> 18 </fileset> 19 </batchtest> 0 </junit> Powstaje oczywiście pytanie skąd czerpać wiedzę na temat dostepnych zadań? W większości zastosowań w zupełności wystarczał będzie zestaw podstawowych zadań dostarczany z ANTem (tak zwanych core tasks). Ich świetny opis i zestawienie oferuje dokumentacja ANTa, dostępna na stronie (należy wybrać z menu opcję Ant Tasks a następnie Core Tasks). Inna użyteczna biblioteka zadań to ANT-CONTRIB, dostępna pod adresem: http: //ant-contrib.sourceforge.net/. Tam, gdzie zadania podstawowe lub ich kompozycja nie wystarcza, można zawsze pokusić się o napisanie własnego zadania w języku Java lub w formie skryptu. Tematykę tę porusza rozdział??..6 Deklarowanie zbiorów plików i katalogów Automatyzacja budowy projektu to zwykle manipulacje pewnymi zbiorami plików. Wiele zadań (przykładowo copy, delete lub javac) umożliwia deklarowanie zbiorów plików w postaci elementu fileset. Pojedynczy element fileset zawsze wskazuje na jakiś katalog w systemie plików. Domyślnie jego wartością są wszystkie pliki i katalogi zawarte we wskazanym katalogu. Zbiór ten może być zawężony poprzez użycie klauzul włączenia (include) lub wyłączenia (exclude) ścieżek plików pasujących do pewnych wzorców. Przykładowo, wszystkie pliki z rozszerzeniem java w katalogu src można skopiować używając następującej deklaracji: 1 <copy todir="src-copy"> <fileset dir="src"> <include name="**/*.java" /> 4 </fileset> 5 </copy> Jak widać wzorce w elementach include i exclude są specyficzne dla ANTa (nie są to wyrażenia regularne). Symbole specjalne, które mogą pojawić się we wzorcu to: SYMBOL OPIS * Symbol zastępujący dowolny ciąg znaków w nazwie pliku lub katalogu. ** Symbol oznaczający dowolny ciąg podkatalogów.? Symbol zastępujący dowolną literę w nazwie pliku lub katalogu. Sprawne posługiwanie się wzorcami wymaga pewnej praktyki. Należy poświęcić jej choć trochę czasu. Jakie pliki wyznacza ten fileset? 1 <fileset dir="."> <include name="**/local/**/*test.java" /> <exclude name="**/controller*.java" /> 4 </fileset>
8 8.7 Deklarowanie i użycie ścieżek Ten rozdział wymaga jeszcze ukończenia. Proszę słuchać na zajęciach! Więcej informacji znajduje się również pod adresem: html#path..8 Deklarowanie i użycie stałych w projekcie Ten rozdział wymaga jeszcze ukończenia. Proszę słuchać na zajęciach! Więcej informacji znajduje się również pod adresem: html#properties Programowanie własnych zadań Programowanie własnych zadań w programie ANT jest bardzo, bardzo łatwe i daje wiele satysfakcji (i możliwości, oczywiście). Zaprogramowanie nowego zadania sprowadza się do napisania klasy, która deklaruje metodę o sygnaturze public void execute(). Ten rozdział wymaga jeszcze ukończenia. Proszę słuchać na zajęciach! Więcej informacji znajduje się również w rozdziale Developing with Ant w dokumentacji ANTa pod adresem: Poprawne zadania powinny dziedziczyć z klasy org.apache.tools.ant.task, jednak nie jest to wymagane.
9 9 4 Ćwiczenia praktyczne 4.1 Podstawy Skrypt tworzący katalogi tymczasowe i kasujący je. 1 <project name="cw1" basedir="." default="init"> <target name="init"> 4 <mkdir dir="tmp" /> 5 <mkdir dir="tmp/build" /> 6 </target> 7 8 <target name="clean"> 9 <delete dir="tmp" failonerror="true" 10 includeemptydirs="true" quiet="true" /> 11 </target> 1 1 </project> 4.1. Skrypt kompilujący źródła, wprowadzenie stałych 1 <project name="cw" basedir="." default="compile"> <property name="build.dir" location="tmp/build" /> 4 5 <target name="init"> 6 <mkdir dir="${build.dir}" /> 7 </target> 8 9 <target name="clean" description="clean up temporary files"> 10 <delete dir="${build.dir}" failonerror="true" 11 includeemptydirs="true" quiet="true" /> 1 </target> 1 14 <target name="compile" depends="init" description="compiles sources"> 15 <javac destdir="${build.dir}" 16 optimize="false" debug="true" deprecation="true" 17 failonerror="true" 18 includeantruntime="false" includejavaruntime="false"> 19 <src location="src" /> 0 </javac> 1 </target> </project> 4.1. Skrypt kompilujący źródła, z ustawieniem specyficznej ścieżki klas (CLASSPATH) 1 <project name="cw" basedir="." default="compile"> <property name="build.dir" location="tmp/build" /> 4 5 <target name="init"> 6 <mkdir dir="${build.dir}" /> 7 </target> 8 9 <target name="clean" description="clean up temporary files"> 10 <delete dir="${build.dir}" failonerror="true" 11 includeemptydirs="true" quiet="true" /> 1 </target> 1 14 <target name="compile" depends="init" description="compiles sources"> 15 <javac destdir="${build.dir}" 16 optimize="false" debug="true" deprecation="true" 17 failonerror="true" 18 includeantruntime="false" includejavaruntime="false"> 19 <src location="src-cw" /> 0 <classpath>
10 10 1 <fileset dir="lib" includes="**/*.jar" /> </classpath> </javac> 4 </target> 5 6 </project> Skrypt tworzący plik JAR 1 <project name="cw4" basedir="." default="jar"> <property name="build.dir" location="tmp/build" /> 4 <property name="dist.dir" location="tmp/dist" /> 5 6 <target name="init"> 7 <mkdir dir="${build.dir}" /> 8 <mkdir dir="${dist.dir}" /> 9 </target> <target name="clean" description="clean up temporary files"> 1 <delete dir="${build.dir}" failonerror="true" 1 includeemptydirs="true" quiet="true" /> 14 </target> <target name="compile" depends="init" description="compiles sources"> 17 <javac destdir="${build.dir}" 18 optimize="false" debug="true" deprecation="true" 19 failonerror="true" 0 includeantruntime="false" includejavaruntime="false"> 1 <src location="src-cw" /> <classpath> <fileset dir="lib" includes="**/*.jar" /> 4 </classpath> 5 </javac> 6 </target> 7 8 <target name="jar" depends="compile"> 9 <jar compress="true" jarfile="${dist.dir}/test.jar" update="false"> 0 <fileset dir="${build.dir}" /> 1 </jar> </target> 4 </project> 4. Skrypty bardziej zaawansowane 4..1 Testowanie kodu z ANTa przy pomocy JUnita 1 <project name="cw5" basedir="." default="test"> <property name="build.dir" location="tmp/build" /> 4 5 <target name="init"> 6 <mkdir dir="${build.dir}" /> 7 </target> 8 9 <target name="clean" description="clean up temporary files"> 10 <delete dir="${build.dir}" failonerror="true" 11 includeemptydirs="true" quiet="true" /> 1 </target> 1 14 <target name="compile" depends="init" description="compiles sources"> 15 <javac destdir="${build.dir}" 16 optimize="false" debug="true" deprecation="true" 17 failonerror="true" 18 includeantruntime="false" includejavaruntime="false"> 19 <src location="src-cw" /> 0 <classpath> 1 <fileset dir="lib" includes="**/*.jar" />
11 11 </classpath> </javac> 4 </target> 5 6 <target name="test" depends="compile" description="runs test cases"> 7 <junit dir="${build.dir}" fork="true" 8 errorproperty="junit.error" failureproperty="junit.failure" 9 haltonerror="true" haltonfailure="true" 0 printsummary="true"> 1 <classpath> <pathelement location="${build.dir}" /> 4 </classpath> 5 6 <batchtest> 7 <fileset dir="${build.dir}"> 8 <include name="**/*test.class" /> 9 </fileset> 40 </batchtest> 41 </junit> 4 </target> 4 </project> 4. Programowanie własnych zadań 4..1 Skrypt z własnym zadaniem: dodaj Skrypt ANTa, który najpierw kompiluje kod zadania, a następnie je wywołuje: 1 <project name="cw8" basedir="." default="dodaj"> <property name="build.dir" location="tmp/build" /> 4 <target name="compile"> 5 <mkdir dir="${build.dir}" /> 6 <javac destdir="${build.dir}" 7 optimize="false" debug="true" deprecation="true" 8 failonerror="true" 9 includeantruntime="true"> 10 <src location="src-cw8" /> 11 <classpath> 1 <fileset dir="lib" includes="**/*.jar" /> 1 </classpath> 14 </javac> 15 </target> <target name="dodaj" depends="compile"> 18 <taskdef name="dodaj" classname="pakiet.dodaj"> 19 <classpath location="${build.dir}" /> 0 </taskdef> 1 <dodaj a="5" b="6" wynik="stala.wynik" /> <echo message="wynik: ${stala.wynik}" /> </target> 4 </project> Sam kod zadania Dodaj w Javie: 1 package pakiet; import org.apache.tools.ant.*; 4 5 public class Dodaj { 6 private int a; 7 private int b; 8 private String name; 9 private Project project; public void seta(int a) { 1 this.a = a; 1 } 14
12 1 15 public void setb(int b) { 16 this.b = b; 17 } public void setwynik(string name) { 0 this.name = name; 1 } public void setproject(project project) 4 { 5 this.project = project; 6 } 7 8 public void execute() { 9 project.setproperty(name, Integer.toString(a + b)); 0 } 1 }
13 1 A Instalacja ANTa Instalacja programu ANT polega na wykonaniu następujących czynności: 1. Pobraniu pliku ZIP z programem ze strony Odkompresowaniu pliku ZIP do katalogu lokalnego. Proszę zwrócić uwagę by w ścieżce prowadzącej do instalacji nie było znaków spacji ani innych specjalnych. Dobrym kandydatem jest, na przykład, c:\java\ant.. Ustawieniu zmiennej systemowej ANT_HOME tak, aby wskazywała na katalog instalacyjny. 4. Dodaniu katalogu ANT_HOME/bin do ścieżki domyślnej (zmiennej środowiskowej PATH). Program ANT jest gotowy do pracy gdy wywołanie ant powoduje wypisanie komunikatu o braku pliku build.xml. Niektóre zadania A N Ta wymagają specyficznych kroków instalacji. Przykładowo, zadanie kompilacji plików Java (javac) wymaga zdefiniowania zmiennej środowiskowej JAVA_HOME, wskazującej na katalog instalacyjny JDK (Java Development Kit). B Inne materiały Program ANT posiada bardzo dobrą dokumentację użytkownika (niestety jedynie w języku angielskim), która dołączana jest do programu (katalog docs) oraz jest dostępna on-line pod adresem:
Metryki. Narzędzia do pomiaru złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz
Metryki Narzędzia do pomiaru złożoności modułowej i międzymodułowej oprogramowania autor: Zofia Kruczkiewicz 1 Zastosowanie narzędzi ant i ckjm do pomiaru złożoności oprogramowania 2 1. Wskazanie ścieżki
Bardziej szczegółowoArchitektury Usług Internetowych. Laboratorium 2. Usługi sieciowe
Architektury Usług Internetowych Laboratorium 2. Usługi sieciowe Wstęp Celem laboratorium jest zapoznanie się z modelem usług sieciowych na przykładzie prostego serwera Apache Axis2. Apache Axis2 Apache
Bardziej szczegółowoJęzyk JAVA podstawy. wykład 1, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy wykład 1, część 2 1 Język JAVA podstawy Plan wykładu: 1. Krótka historia Javy 2. Jak przygotować sobie środowisko programistyczne 3. Opis środowiska JDK 4. Tworzenie programu krok po
Bardziej szczegółowoInstalacja. Zwykle należy też zwiększyć pamięć dla konsoli poleceniem: set ANT_HOME=c:\ant set JAVA_HOME=c:\jdk1.2.2 set PATH=%PATH%;%ANT_HOME%\bin
1 Apache Ant Ant jest narzędziem umożliwiającym automatyzację procesów związanych z budowaniem programów. Jego podstawowe cechy to: konfiguracja zadań zapisana w formacie XML, wieloplatformowość m. in.
Bardziej szczegółowo1. Metryki złożoności modułowej i międzymodułowej Chidamber & Kemerer (CK)
1. Metryki złożoności modułowej i międzymodułowej Chidamber & Kemerer (CK) 1.1. Podstawowe metryki CK: międzymodułowe CBO, RFC modułowe WMC, DIT, NOC, LCOM1. 1.2. Uzupełniony zbiór metryk przez innych
Bardziej szczegółowoProgramowanie obiektowe
Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć
Bardziej szczegółowoJava jako język programowania
Java jako język programowania Interpretowany programy wykonują się na wirtualnej maszynie (JVM Java Virtual Machine) Składnia oparta o język C++ W pełni zorientowany obiektowo (wszystko jest obiektem)
Bardziej szczegółowoWPROWADZENIE DO JĘZYKA JAVA
WPROWADZENIE DO JĘZYKA JAVA programowanie obiektowe KRÓTKA HISTORIA JĘZYKA JAVA KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny języka java. Pierwsza nazwa Oak (dąb). KRÓTKA HISTORIA JĘZYKA JAVA 1991 - narodziny
Bardziej szczegółowoĆwiczenie 1. Przygotowanie środowiska JAVA
Ćwiczenie 1 Przygotowanie środowiska JAVA 1. Wprowadzenie teoretyczne Instalacja JDK (Java Development Kit) NaleŜy pobrać z java.sun.com środowisko i zainstalować je. Następnie naleŝy skonfigurować środowisko.
Bardziej szczegółowoJava Podstawy. Michał Bereta www.michalbereta.pl mbereta@pk.edu.pl
Prezentacja współfinansowana przez Unię Europejską ze środków Europejskiego Funduszu Społecznego w ramach projektu Wzmocnienie znaczenia Politechniki Krakowskiej w kształceniu przedmiotów ścisłych i propagowaniu
Bardziej szczegółowoContinuous Integration z ClickOnce
Continuous Integration z ClickOnce To, że Continuous Integration (z ang. ciągła integracja) to proces polegający na stałym, możliwie częstym konsolidowaniu (kompilacji, testowaniu, publikacji) wyników
Bardziej szczegółowoProgramowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.
Programowanie w Javie cz. 1 Wstęp Łódź, 24 luty 2014 r. Prawdy i mity o Javie Java jest techniką webową? (tak, platforma Java EE, aplety) Java jest bezpieczna? (tak, aplety, brak operowania na pamięci)
Bardziej szczegółowoJava pierwszy program w Eclipse «Grzegorz Góralski strona własna
Strona 1 z 9 «Przykładowe zadania do cz. III ćwiczeń z genetyki Java pierwsze kroki w programowaniu (01)» Kategoria: java, Tagi: eclipse - java - programowanie. Autor: Grzegorz, napisał dnia: February
Bardziej szczegółowoWykład 7: Pakiety i Interfejsy
Wykład 7: Pakiety i Interfejsy Plik Źródłowy w Javie Składa się z: instrukcji pakietu (pojedyncza, opcjonalna) instrukcji importujących (wielokrotne, opcjonalne) deklaracji klasy publicznej (pojedyncza,
Bardziej szczegółowoProgramowanie Urządzeń Mobilnych. Laboratorium nr 7, 8
Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem
Bardziej szczegółowoXML i nowoczesne technologie zarządzania treścią 2007/08
Zadanie 3 Poprawkowe XML i nowoczesne technologie zarządzania treścią 2007/08 Wprowadzenie Należy napisać program w Javie, który czytając w trybie SAX plik z listą operacji, wykonuje zadane operacje na
Bardziej szczegółowoProgramowanie obiektowe. Literatura: Autor: dr inŝ. Zofia Kruczkiewicz
Programowanie obiektowe Literatura: Autor: dr inŝ. Zofia Kruczkiewicz Java P. L. Lemay, Naughton R. Cadenhead Java Podręcznik 2 dla kaŝdego Języka Programowania Java Linki Krzysztof Boone oprogramowania
Bardziej szczegółowoAnt - prezentacja narzędzia
Dawid Dorosz Michał Ostrowiecki Andrzej Perużyński Technologie Biznesu Elektronicznego 21 marca 2006 Plan prezentacji 1 Wprowadzenie Wprowadzenie do Ant Ant vs Make Budowa pliku build.xml 2 Instalacja
Bardziej szczegółowoTestowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.
Testowanie I Cel zajęć Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego. Testowanie oprogramowania Testowanie to proces słyżący do oceny
Bardziej szczegółowoznajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Bardziej szczegółowoProgramowanie obiektowe zastosowanie języka Java SE
Programowanie obiektowe zastosowanie języka Java SE Wstęp do programowania obiektowego w Javie Autor: dr inŝ. 1 Java? Java język programowania obiektowo zorientowany wysokiego poziomu platforma Javy z
Bardziej szczegółowoTrochę o plikach wsadowych (Windows)
Trochę o plikach wsadowych (Windows) Zmienne środowiskowe Zmienną środowiskową można ustawić na stałe w systemie (Panel sterowania->system- >Zaawansowane ustawienia systemu->zmienne środowiskowe) lub też
Bardziej szczegółowoSposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Bardziej szczegółowoProgramowanie niskopoziomowe
W. Complak, J.Kniat, M. Antczak, K. Kwarciak, G. Palik, A. Rybarczyk, Ł. Wielebski Materiały Programowanie niskopoziomowe http://www.cs.put.poznan.pl/arybarczyk/c_w_0.pdf Spis treści 1. Instalacja środowiska
Bardziej szczegółowoLaboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
Bardziej szczegółowoNarzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl
Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z
Bardziej szczegółowo1. Wprowadzenie. 2. Instalacja i uruchomienie. 3. Projekt i POM
1. Wprowadzenie Apache Maven jest kolejnym narzędziem do wykonywania buildów aplikacji platformy Java. Projekt jest znacznie młodszy niż Apache Ant (Ant 1.1 jako samodzielny projekt od roku 2000, Maven
Bardziej szczegółowoUtworzenie pliku. Dowiesz się:
Dowiesz się: 1. Jak rozpocząć pisanie programu 2. Jak wygląda szkielet programu, co to są biblioteki i funkcja main() 3. Jak wyświetlić ciąg znaków w programie 4. Jak uruchamiać (kompilować) napisany program
Bardziej szczegółowoUniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania
Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania Celem ćwiczenia jest zapoznanie studentów z najprostszą dynamiczną strukturą
Bardziej szczegółowoJDK można pobrać ze strony http://www.oracle.com/technetwork/java/javase/downloads/jdk-7u2-download-1377129.html
Program napisany w języku Java, w wyniku kompilacji da kod bajtowy, plik z rozszerzeniem.class. Nie jest to plik wykonywalny samodzielnie w systemie operacyjnym tak jak pliki.exe. Uruchomienie gotowego
Bardziej szczegółowoMetryki. Przykłady pomiaru złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz
Metryki Przykłady pomiaru złożoności modułowej i międzymodułowej oprogramowania autor: Zofia Kruczkiewicz 1 Dodatek Powtórka z metryk ilustrowana wynikami pomiaru realizowanymi przez narzędzia ckjm 1.8,
Bardziej szczegółowoPakiety i interfejsy. Tomasz Borzyszkowski
Pakiety i interfejsy Tomasz Borzyszkowski Pakiety podstawy W dotychczasowych przykładach nazwy klas musiały pochodzić z jednej przestrzeni nazw, tj. być niepowtarzalne tak, by nie doprowadzić do kolizji
Bardziej szczegółowoTworzenie oprogramowania
Tworzenie oprogramowania dr inż. Krzysztof Konopko e-mail: k.konopko@pb.edu.pl 1 Tworzenie oprogramowania dla systemów wbudowanych Program wykładu: Tworzenie aplikacji na systemie wbudowanym. Konfiguracja
Bardziej szczegółowoJęzyki i metody programowania Java. Wykład 2 (część 2)
Języki i metody programowania Java INF302W Wykład 2 (część 2) Autor Dr inż. Zofia Kruczkiewicz 1 Struktura wykładu 1. Identyfikacja danych reprezentowanych przez klasy podczas opracowania koncepcji prostego
Bardziej szczegółowo1 Atrybuty i metody klasowe
1 Atrybuty i metody klasowe Składowe klasowe (statyczne) Każdy obiekt klasy posiada własny zestaw atrybutów. Metody używają atrybutów odpowiedniego obiektu. Czasem potrzeba atrybutów wspólnych dla wszystkich
Bardziej szczegółowoImplementacja aplikacji sieciowych z wykorzystaniem środowiska Qt
Implementacja aplikacji sieciowych z wykorzystaniem środowiska Qt 1. Wprowadzenie Wymagania wstępne: wykonanie ćwiczeń Adresacja IP oraz Implementacja aplikacji sieciowych z wykorzystaniem interfejsu gniazd
Bardziej szczegółowoTechniki programowania INP001002Wl rok akademicki 2018/19 semestr letni. Wykład 8. Karol Tarnowski A-1 p.
Techniki programowania INP001002Wl rok akademicki 2018/19 semestr letni Wykład 8 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Biblioteka GSL Na podstawie: https://www.gnu.org/software/gsl/doc/html/index.html
Bardziej szczegółowoWarsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika
Warsztaty AVR Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR Dariusz Wika 1.Krótki wstęp: Eclipse to rozbudowane środowisko programistyczne, które dzięki możliwości instalowania
Bardziej szczegółowoKonstruktory. Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut.
Konstruktory Streszczenie Celem wykładu jest zaprezentowanie konstruktorów w Javie, syntaktyki oraz zalet ich stosowania. Czas wykładu 45 minut. Rozpatrzmy przykład przedstawiający klasę Prostokat: class
Bardziej szczegółowoZałącznik 1 instrukcje instalacji
Załącznik 1 instrukcje instalacji W poniższym załączniku przedstawione zostaną instrukcje instalacji programów wykorzystanych w trakcie tworzenia aplikacji. Poniższa lista przedstawia spis zamieszczonych
Bardziej szczegółowoInstrukcja instalacji
Instrukcja instalacji Niniejsza instrukcja obejmuje instalację krok po kroku narzędzi potrzebnych do uruchomienia aplikacji ERS pod systemem Windows. Ze względu na uniwersalność użytych rozwiązań możliwe
Bardziej szczegółowoPodstawy programowania, Poniedziałek , 8-10 Projekt, część 1
Podstawy programowania, Poniedziałek 30.05.2016, 8-10 Projekt, część 1 1. Zadanie Projekt polega na stworzeniu logicznej gry komputerowej działającej w trybie tekstowym o nazwie Minefield. 2. Cele Celem
Bardziej szczegółowoPodstawy, środowisko JDK, kompilacja programów z linii poleceń
Komunikacja Człowiek-Komputer ZADANIE 1 Niniejsza instrukcja podzielona jest na dwie części. W pierwszej części zostały przedstawione dwiczenia wstępne o charakterze dydaktycznym do samodzielnego wykonania
Bardziej szczegółowoBudowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer
Budowa aplikacji webowej w oparciu o Maven2 oraz przykłady testów jednostkowych. Wykonał Marcin Gadamer Maven 2 podstawowe informacje Apache Maven jest narzędziem automatyzującym budowę oprogramowania
Bardziej szczegółowoWprowadzenie do biblioteki klas C++
Instrukcja laboratoryjna nr 7 Programowanie w języku C 2 (C++ poziom zaawansowany) Wprowadzenie do biblioteki klas C++ WxWidgets mgr inż. Lasota Maciej dr inż. Kaczmarek Tomasz dr inż. Wilk-Jakubowski
Bardziej szczegółowoKatedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej
Katedra Architektury Systemów Komputerowych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej dr inż. Paweł Czarnul pczarnul@eti.pg.gda.pl Architektury usług internetowych laboratorium
Bardziej szczegółowoRozdział 4 KLASY, OBIEKTY, METODY
Rozdział 4 KLASY, OBIEKTY, METODY Java jest językiem w pełni zorientowanym obiektowo. Wszystkie elementy opisujące dane, za wyjątkiem zmiennych prostych są obiektami. Sam program też jest obiektem pewnej
Bardziej szczegółowoJAVA?? to proste!! Autor: wojtekb111111
1 JAVA?? to proste!! 2 Niniejszy tutorial przedstawia krótkie wprowadzenie do programowania w języku JAVA. Jakie narzędzia na początku potrzebujemy do rozpoczęcia programowania w tym języku? JDK (java
Bardziej szczegółowoDokumentacja kompilacji źródeł aplikacji 1.0
Projekt dofinansowany ze środków Mechanizmu Finansowego Europejskiego Obszaru Gospodarczego Dokumentacja kompilacji źródeł aplikacji Projekt: Wypracowanie i wdrożenie innowacyjnych metod integracji danych
Bardziej szczegółowoProgramowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!
Programowanie I O czym będziemy mówili Podstawy programowania w językach proceduralnym ANSI C obiektowym Java Uwaga! podobieństwa w podstawowej strukturze składniowej (zmienne, operatory, instrukcje sterujące...)
Bardziej szczegółowoPython jest interpreterem poleceń. Mamy dwie możliwości wydawania owych poleceń:
W pierwszym kroku nauczymy się uruchamiać w Pythonie tradycyjny* program ". Dzięki temu nauczysz się pisać w języku Python, a także zapisywać i uruchamiać swoje pythonowe programy. *Jest taka tradycja,
Bardziej szczegółowoBUDOWANIE APLIKACJI. Waldemar Korłub. Platformy Technologiczne KASK ETI Politechnika Gdańska
BUDOWANIE APLIKACJI Waldemar Korłub Platformy Technologiczne KASK ETI Politechnika Gdańska Budowanie aplikacji 2 *.java resources punkt wejścia javac *.class *.properties *.css *.fxml *.png MANIFEST.MF
Bardziej szczegółowoBACKUP BAZ DANYCH FIREBIRD
BACKUP BAZ DANYCH FIREBIRD SPIS TREŚCI Informacje ogólne... 2 Tworzenie projektu... 2 Krok 1: Informacje podstawowe... 2 Krok 2: Dane... 3 Backup bazy umieszczonej na serwerze... 3 Bezpośredni backup pliku
Bardziej szczegółowoMentorGraphics ModelSim
MentorGraphics ModelSim 1. Konfiguracja programu Wszelkie zmiany parametrów systemu symulacji dokonywane są w menu Tools -> Edit Preferences... Wyniki ustawień należy zapisać w skrypcie startowym systemu
Bardziej szczegółowo1. Pierwszy program. Kompilator ignoruje komentarze; zadaniem komentarza jest bowiem wyjaśnienie programu człowiekowi.
1. Pierwszy program // mój pierwszy program w C++ #include using namespace std; cout
Bardziej szczegółowoProjekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 podłączenie i obsługa wyświetlacza LCD.
LAB. 2 Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 podłączenie i obsługa wyświetlacza LCD. Laboratorium Mikroprocesorowych Układów Sterowania instrukcja
Bardziej szczegółowoWyjątki. Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut.
Wyjątki Streszczenie Celem wykładu jest omówienie tematyki wyjątków w Javie. Czas wykładu 45 minut. Wydaje się, że żaden użytkownik oprogramowania nie lubi, kiedy stosowany program nagle zawiesza się,
Bardziej szczegółowoW2 Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy :
Wprowadzenie do klas C++ Klasa najważniejsze pojęcie C++. To jest mechanizm do tworzenia obiektów. Deklaracje klasy : class nazwa_klasy prywatne dane i funkcje public: publiczne dane i funkcje lista_obiektów;
Bardziej szczegółowoCzęść XVII C++ Funkcje. Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład.
Część XVII C++ Funkcje Funkcja bezargumentowa Najprostszym przypadkiem funkcji jest jej wersja bezargumentowa. Spójrzmy na przykład. 2 3 Tworzymy deklarację i definicję funkcji o nazwie pobierzln() Funkcja
Bardziej szczegółowoNarzędzie pomocnicze do przedmiotu Podstawy Informatyki - złożoność obliczeniowa
Narzędzie pomocnicze przedmiotu Podstawy Informatyki - złożoność obliczeniowa Piotr Jeruszka 1 25 listopada 2013 1 Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska pjeruszka@icis.pcz.pl
Bardziej szczegółowoWPROWADZENIE DO INFORMATYKI
J.NAWROCKI, M. ANTCZAK, H. ĆWIEK, W. FROHMBERG, A. HOFFA, M. KIERZYNKA, S. WĄSIK WPROWADZENIE DO INFORMATYKI PROGRAMOWANIE IMPERATYWNE ŚRODOWISKO URUCHOMIENIOWE I. INSTALACJA I KONFIGURACJA ECLIPSE CDT
Bardziej szczegółowoZałącznik 1 instrukcje instalacji
Załącznik 1 instrukcje instalacji W poniższym załączniku przedstawione zostaną instrukcje instalacji programów wykorzystanych w trakcie tworzenia aplikacji. Poniższa lista przedstawia spis zamieszczonych
Bardziej szczegółowoWykład 6. Charakterystyki zewnętrzne a wewnętrzne oprogramowania (2) Narzędzia do pomiaru programowania. autor: Zofia Kruczkiewicz
Wykład 6 Charakterystyki zewnętrzne a wewnętrzne oprogramowania (2) Narzędzia do pomiaru programowania autor: Zofia Kruczkiewicz 1 Zagadnienia 1. Metryki złożoności modułowej i międzymodułowej Chidamber
Bardziej szczegółowoCwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR
Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać
Bardziej szczegółowoByć może jesteś doświadczonym programistą, biegle programujesz w Javie,
Kompendium PHP 01 Być może jesteś doświadczonym programistą, biegle programujesz w Javie, C++, Pythonie lub jakimś innym języku programowania, których jak myślę, powstało już tyle, że chyba nie ma osoby,
Bardziej szczegółowoProgramowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat
Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie
Bardziej szczegółowoJava w 21 dni / Rogers Cadenhead. Gliwice, cop Spis treści. O autorze 11. Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA
Java w 21 dni / Rogers Cadenhead. Gliwice, cop. 2016 Spis treści O autorze 11 Wprowadzenie 13 TYDZIEŃ I JĘZYK JAVA Dzień 1. Rozpoczynamy przygodę z Javą 21 Język Java 21 Programowanie obiektowe 24 Obiekty
Bardziej szczegółowoInstalacja sieciowa Autodesk AutoCAD oraz wertykali
Instalacja sieciowa Autodesk AutoCAD oraz wertykali Łukasz Kuras Licencja sieciowa w przypadku produktów Autodesk rozdzielana jest za pomocą odpowiedniego oprogramowania zwanego Menedżerem licencji sieciowej.
Bardziej szczegółowoTworzenie i wykorzystanie usług sieciowych
Ćwiczenie 14 Temat: Tworzenie i wykorzystanie usług sieciowych Cel ćwiczenia: W trakcie ćwiczenia student zapozna się z procedurą tworzenia usługi sieciowej w technologii ASP.NET oraz nauczy się tworzyć
Bardziej szczegółowoPodstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1
Podstawy programowania. Wykład Funkcje Krzysztof Banaś Podstawy programowania 1 Programowanie proceduralne Pojęcie procedury (funkcji) programowanie proceduralne realizacja określonego zadania specyfikacja
Bardziej szczegółowoGit, Bitbucket, IntelliJ IDEA
Państwowa Wyższa Szkoła Zawodowa w Tarnowie Zakład Informatyki Narzędzia i środowiska programistyczne Laboratorium 3 Git, Bitbucket, IntelliJ IDEA Prowadzący: Kierunek: Semestr: Rok: Informatyka Zimowy
Bardziej szczegółowoWprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium.
Wprowadzenie do laboratorium. Zasady obowiązujące na zajęciach. Wprowadzenie do narzędzi wykorzystywanych podczas laboratorium. Prowadzący Dr inż. Zofia 1 La1 La2 Forma zajęć - laboratorium Wprowadzenie
Bardziej szczegółowoInstrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse
Instrukcja 10 Laboratorium 13 Testy akceptacyjne z wykorzystaniem narzędzia FitNesse 1 Cel laboratorium: Nabycie umiejętności przygotowywania testów akceptacyjnych za pomocą narzędzia FitNesse 1. Wg wskazówek
Bardziej szczegółowoWYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH. Mirosław Gołda, Programista Java
WYKORZYSTANIE JĘZYKA GROOVY W TESTACH JEDNOSTKOWYCH, INTEGRACYJNYCH I AUTOMATYCZNYCH Mirosław Gołda, Programista Java Agenda Kilka słów o języku Groovy Wpięcie Grooviego w projekt Springowy Testy jednostkowe
Bardziej szczegółowoWskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.
Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na
Bardziej szczegółowoZaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce
Zaawansowane programowanie w języku C++ Funkcje uogólnione - wzorce Prezentacja jest współfinansowana przez Unię Europejską w ramach Europejskiego Funduszu Społecznego w projekcie pt. Innowacyjna dydaktyka
Bardziej szczegółowoInformatyka I. Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki
Informatyka I Dziedziczenie. Nadpisanie metod. Klasy abstrakcyjne. Wskaźnik this. Metody i pola statyczne. dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2017 Dziedziczenie klas
Bardziej szczegółowo4. Funkcje. Przykłady
4. Funkcje Przykłady 4.1. Napisz funkcję kwadrat, która przyjmuje jeden argument: długość boku kwadratu i zwraca pole jego powierzchni. Używając tej funkcji napisz program, który obliczy pole powierzchni
Bardziej szczegółowoMetryki. Narzędzia do pomiaru złożoności modułowej i międzymodułowej oprogramowania. autor: Zofia Kruczkiewicz 1
Metryki Narzędzia do pomiaru złożoności modułowej i międzymodułowej oprogramowania autor: Zofia Kruczkiewicz 1 Zagadnienia 1. Metryki złożoności modułowej i międzymodułowej Chidamber & Kemerer (CK) 2.
Bardziej szczegółowoWykład 1: Wprowadzenie do technologii Java
Programowanie komputerów Wykład 1: Wprowadzenie do technologii Java dr inż. Walery Susłow walery.suslow@ie.tu.koszalin.pl Czym jest Java? Obiektowy język programowania ogólnego przeznaczenia Opracowany
Bardziej szczegółowoInstrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux
Instrukcja użytkownika Platforma transakcyjna mforex Trader dla systemu Linux Kontakt: e-mail: kontakt@mforex.pl infolinia: 22 697 4774 www.mforex.pl 1 1 O platformie Platforma mforex Trader to część systemu
Bardziej szczegółowoInformacje ogólne. Karol Trybulec p-programowanie.pl 1. 2 // cialo klasy. class osoba { string imie; string nazwisko; int wiek; int wzrost;
Klasy w C++ są bardzo ważnym narzędziem w rękach programisty. Klasy są fundamentem programowania obiektowego. Z pomocą klas będziesz mógł tworzyć lepszy kod, a co najważniejsze będzie on bardzo dobrze
Bardziej szczegółowoBackend Administratora
Backend Administratora mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 W tym celu korzystając z konsoli wydajemy polecenie: symfony generate:app backend Wówczas zostanie stworzona
Bardziej szczegółowoInterfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej
Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,
Bardziej szczegółowoD:\DYDAKTYKA\ZAI_BIS\_Ćwiczenia_wzorce\04\04_poprawiony.doc 2009-lis-23, 17:44
Zaawansowane aplikacje internetowe EJB 1 Rozróżniamy dwa rodzaje beanów sesyjnych: Stateless Statefull Celem tego laboratorium jest zbadanie różnic funkcjonalnych tych dwóch rodzajów beanów. Poszczególne
Bardziej szczegółowoZmienne i stałe w PHP
Zmienne i stałe w PHP Zmienne Zmienne to konstrukcje programistyczne, które pozwalają na przechowywanie danych. Każda zmienna posiada swoją nazwę oraz typ. Nazwa to jednoznaczny identyfikator, dzięki któremu
Bardziej szczegółowoZaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Bardziej szczegółowoWykład 5: Klasy cz. 3
Programowanie obiektowe Wykład 5: cz. 3 1 dr Artur Bartoszewski - Programowanie obiektowe, sem. 1I- WYKŁAD - podstawy Konstruktor i destruktor (część I) 2 Konstruktor i destruktor KONSTRUKTOR Dla przykładu
Bardziej szczegółowoProgramowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw
Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej
Bardziej szczegółowoKatalog książek cz. 2
Katalog książek cz. 2 Odczytywanie danych z XML Do ćwiczenia dołączony jest plik books.xml zawierający pełen katalog książek. Poniższy listing zawiera przykładowy fragment danych w stosowanym formacie.
Bardziej szczegółowoWyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w
Wyrażenie include(sciezka_do_pliku) pozwala na załadowanie (wnętrza) pliku do skryptu php. Plik ten może zawierać wszystko, co może się znaleźć w obrębie skryptu. Wyrażenia include() i require() są niemal
Bardziej szczegółowoWdrożenie modułu płatności eservice. dla systemu Magento 1.4 1.9
Wdrożenie modułu płatności eservice dla systemu Magento 1.4 1.9 - dokumentacja techniczna Wer. 01 Warszawa, styczeń 2014 1 Spis treści: 1 Wstęp... 3 1.1 Przeznaczenie dokumentu... 3 1.2 Przygotowanie do
Bardziej szczegółowoJAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.
JAVA Java jest wszechstronnym językiem programowania, zorientowanym obiektowo, dostarczającym możliwość uruchamiania apletów oraz samodzielnych aplikacji. Java nie jest typowym kompilatorem. Źródłowy kod
Bardziej szczegółowoObszar statyczny dane dostępne w dowolnym momencie podczas pracy programu (wprowadzone słowem kluczowym static),
Tworzenie obiektów Dostęp do obiektów jest realizowany przez referencje. Obiekty w języku Java są tworzone poprzez użycie słowa kluczowego new. String lan = new String( Lancuch ); Obszary pamięci w których
Bardziej szczegółowoPodstawy i języki programowania
Podstawy i języki programowania Laboratorium 1 - wprowadzenie do przedmiotu mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 16 października 2017 1 / 25 mgr inż. Krzysztof Szwarc Podstawy i
Bardziej szczegółowoTestowanie II. Celem zajęć jest zapoznanie studentów z oceną jakości testów przy wykorzystaniu metryk pokrycia kodu testami (ang. code coverage).
Testowanie II Cel zajęć Celem zajęć jest zapoznanie studentów z oceną jakości testów przy wykorzystaniu metryk pokrycia kodu testami (ang. code coverage). Pokrycie kodu testami Jak już była mowa na poprzednich
Bardziej szczegółowoProgramowanie w Javie
Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student
Bardziej szczegółowoFacelets ViewHandler
JSF i Facelets Wprowadzenie JSP (JavaServer Pages) są natywną i najczęściej używaną technologią do tworzenia warstwy prezentacyjnej dla JSF (JavaServer Faces) Istnieją alternatywne technologie opisu wyglądu
Bardziej szczegółowoKurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016
Wstęp - wykład 0 22 lutego 2016 Historia Simula 67 język zaprojektowany do zastosowan symulacyjnych; Smalltalk 80 pierwszy język w pełni obiektowy; Dodawanie obiektowości do języków imperatywnych: Pascal
Bardziej szczegółowo