Edytuj stronę Odnośniki Fold/unfold all ODT export Ta strona jest tylko do odczytu. Możesz wyświetlić źródła tej strony ale nie możesz ich zmienić. ~~NOCACHE~~ ====== Narzędzia programistyczne ====== ===== Wykład i laboratorium ===== Termin zajęć w semestrze zimowym 2013/2014 * wtorki, godz. 10<sup>00</sup>-11<sup>30</sup>, sala 28, WFAiIS * <del>Laboratorium: poniedziałki, godz. 8-10, sala PK1, WFAiIS </del> ===== Przebieg zajęć/ prezentacje ===== ^ Data ^ Temat ^ Prowadzący ^ Źródła/Projekty/ ^ | 08/10/2013 | [[.:wyklad:plan|Wstęp - plan]] | MG | | | 15/10/2013 | [[.:wyklad:ide_wstep|IDE przegląd]] | MG | | | 22/10/2013 | [[.:wyklad:tfs_codeplex|TFS + ALM]] | MG | | | 29/10/2013 | {{zajecia:npr_2013_2:gardzinski-git.pdf|Git}} | R. Gardziński | | | ::: | {{zajecia:npr_2013_2:schalau-svn.pdf|Subversion}} | M. Schalau | | | ::: | [[http://joshcarter.com/productivity/svn_hg_git_for_home_directory|Porównanie SVN vs. git]] | MG | | | 5/11/2013 | {{zajecia:npr_2013_2:lawniczak-doxygen.pdf|Doxygen}} | A. Ławniczak | {{zajecia:npr_2013_2:lawniczak-doxygen.zip|demo.zip}} | | ::: | {{zajecia:npr_2013_2:szymecki-testyjednostkowe.pdf|Testy jednostkowe w VS}} | W. Szymecki | {{zajecia:npr_2013_2:szymecki-testyjednostkowe.zip|demo.zip}} | | 19/11/2013 | {{zajecia:npr_2013_2:przybyl-firebug.pdf|firebug}} | M. Przybył | {{zajecia:npr_2013_2:przybyl-firebug-demo.7z|demo.7z}} | | ::: | {{zajecia:npr_2013_2:burzynski-deployment-vs2010.pdf|Deployment w VS 2010}} | R. Burzyński | | | 26/11/2013 | [[zajecia:npr:monogame|MonoGame]] | Ł. Kiełczykowski | | | ::: | {{zajecia:npr_2013_2:ganko-physx.pdf|PhysX Visual Debugger}} | T. Gańko | | | 3/12/2013 | {{zajecia:npr_2013_2:bartnicki-xcode.pdf|X Code, tworzenie oprogramowania Apple}} | M. Bartnicki | | | ::: | {{zajecia:npr_2013_2:gorzel-pascal.pdf|Free Pascal}} | Ł. Gorzel | | | 10/12/2013 | {{zajecia:npr_2013_2:chojnicki-gcc.pdf|GCC + make}} | S. Chojnicki | | | ::: | {{zajecia:npr_2013_2:dzwonkowski-libgdx.pdf|Eclipse + libgdx}} | Ł. Dzwonkowski | {{zajecia:npr_2013_2:dzwonkowski-libgdx-demo.7z|demo.7z}} | | 17/12/2013 | {{zajecia:npr_2013_2:falewicz-matlab.pdf|Matlab}} | K. Falewicz | | | ::: | {{zajecia:npr_2013_2:ejnik-gettext.pdf|gettext}} | J. Ejnik | | | 14/01/2014 | {{zajecia:npr_2013_2:milewski-autotools.pdf|autotools}} | P. Milewski | | | ::: | {{zajecia:npr_2013_2:demski-java.pdf|Narzędzia deweloperskie Java}} | Ł. Demski | [[zajecia:npr:java-cmd]] | | 21/01/2014 | {{zajecia:npr_2013_2:furdyna-netbeans.pdf|NetBeans}} | G. Furdyna | [[zajecia:npr:netbeans-references|Żródła]] | | ::: | {{zajecia:npr_2013_2:krol-delphi.pdf|Delphi}} | Ł. Król | {{zajecia:npr_2013_2:krol-delphi-opis.pdf|Opis}} | | ::: | {{zajecia:npr_2013_2:rybarczyk-symfony.pdf|PHP + Framework Symfony}} | N. Rybarczyk | | | 28/01/2014 | [[zagadnienia|Kolokwium]] | | | ===== Propozycje tematów ===== Niektóre, w zależności od ujęcia, można/należy podzielić na kilka prezentacji: * <fs large>Visual Studio 2010/2012/2013 (Professional/Ultimate)</fs> * Zarządzanie projektami. Kompilatory C%%++%% i C#. * Debugger * Projektowanie wizualne (WindowsForms, WPF, inne) * Generowanie kodu : kreatory, refaktoryzacja, inne pomocne "sztuczki" (np. for<Tab>) * Generowanie dokumentacji : VS2010 C#, c%%++%% \\ [[http://www.codeproject.com/KB/cpp/TestXMLdoc.aspx|Quick C# Documentation using XML]] \\ [[http://msdn.microsoft.com/en-us/magazine/cc302121.aspx|XML Comments Let You Build Documentation Directly From Your Visual Studio .NET Source Files]] \\ [[http://community.sharpdevelop.net/blogs/mattward/pages/FeatureTourXmlComments.aspx|XML Comments]] \\ Pomocne narzędzia: [[http://www.helixoft.com/vsdocman/overview.html|VSdocman]] [[http://ndoc.sourceforge.net/|NDoc]] [[http://submain.com/products/ghostdoc.aspx|GhostDoc]] * Wsparcie dla programowania obiektowego: ClassDiagram i generowanie kodu, ClassViewer, Nawigacja pomiędzy klasami/metodami, * Programowanie Windoes Phone/Windoes 8 * Blend * Diagramy UML (tylko Ultimate) * Tworzenie aplikacji web * Profilowanie kodu (tylko ultimate) * Testowanie : Testy jednostkowe (TestUnit, NUnit - trzeba zainstalować) * WPF, WorkFlow, * inne: [[http://msdn.microsoft.com/en-us/library/ms173063%28v=VS.100%29.aspx|Using the Visual C# Development Environment - MSDN]], * Team Foundation Server * Team Foundation Service * Azure, usługi * <fs large>Eclipse</fs> przegląd narzędzi, * JDT - Java development tools * CDT, Eclipse IDE for C/C%%++%% Developers, wsparcie dla C%%++%% * Eclipse for Mobile Developers * Eclipse Modeling Tools (MDT) * Eclipse for Testers * PDT, PHP Development Tools * Mylyn - Application Lifecycle Tools * jest tu bardzo dużo różnych narzędzi postaci dodatków: Memory Analyzer, Test and Performance Tools Platform (TPTP), Web Tools * Netbeans * przegląd, tworzenie projektów, dostępne narzędzia i pluginy * Projektowanie GUI + SWING, mniej więcej to samo co dla VS + * profilowanie kodu * NetBeans i wsparcie dla C%%++%%, tworzenie aplikacji na system Linux. * Valgrind wykrywanie wycieków pamieci (Cygwin, ferm lub virtualna maszyna) * Doxygen lub/i javadoc (ferm (?), virtualna maszyna) * Systemy kontroli wersji * SVN - konfiguracja serwera (sprawdzić czy czy potrzebne uprawnienia administracyjne?) * SVN - użytkowanie, rozwiązywanie konfliktów, (zdalna maszyna) * GIT * Kompilator gcc (Linux/Cygwin), najważniejsze opcje + narzędzie make (Linux/ferm/Cygwin) * GDB - debuuger * Tworzenie i używanie statycznych i/lub dynamicznych bibliotek: * VS2010 (C%%++%%) * Linux (gcc/g%%++%%, ar, ranlib, ldconfig, ld, ldd, nm) \\ [[http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.html|Tutorial - Static, Shared Dynamic and Loadable Linux Libraries]] \\ [[http://www.tldp.org/HOWTO/Program-Library-HOWTO/|Program Library HOWTO]] * Autotools (Linux/Cygwin) * Systemy raportujące błędy (Trac , Bugzilla) * Trac - Wsparcie dla programowania zespołowego (harmonogramy, śledzenie wykonania zadań, itp.) * Zarządzanie projektami (Project Management Software) * [[wp>List_of_project_management_software]] * Trac, TFS, Google Code, GitHub, CodePlex, inne... * [[http://www.taskjuggler.org/|TaskJuggler]], [[http://www.redmine.org/|Redmine]], Microsoft Project, MS Project Server * metodologie zarządzania: Scrum, inne.. i oprogramowanie wspierające * gettext - lokalizacja programów w Linuxie * Profilowanie kodu za pomocą GNU gprof + grafy wywołań (GraphViz) (Linux/ferm) * UML (Dia, dia2code, MS Visio, umbrello, argouml, bouml, ...), UML i inżynieria wstecz/wprzód na przykładzie diagramów klas/use case przy użyciu programu [[http://argouml.tigris.org/|ArgoUML]]\\ W miarę potrzeb moźna rozszerzyć temat o inne dostępne w programie diagramy lub uwzględnić inne narzędzia: [[http://alexdp.free.fr/violetumleditor/page.php|VioletUML]] (brak generowania kodu), [[http://staruml.sourceforge.net/en/|StarUML]] (brak wersji portable), VS2010 Ultimate (widomo, na pracowni jest professional), [[http://uml.sourceforge.net/download.php|umbrello]] (wymaga KDE), dia (wymaga GTK), inne (?)... * Wdrażanie aplikacji (deployment) * Wdrażanie aplikacji w VS2010 \\ [[http://msdn.microsoft.com/en-us/library/bb384837.aspx| Deploying Your Program (C%%++%%) - MSDN]] \\ [[http://msdn.microsoft.com/en-us/library/zebw5zk9.aspx|http://msdn.microsoft.com/en-us/library/zebw5zk9.aspx]] \\ [[http://msdn.microsoft.com/en-us/library/e2444w33.aspx|Choosing a Deployment Strategy]] * <fs large>Inne: jakich narzędzi używacie? Pochwalcie się!</fs> * Inne przydatne narzędzia: * [[http://www.jetbrains.com/resharper/|ReSharper]] * [[http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx|FxCop]] * [[http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx|DebugView]] * [[http://www.jetbrains.com/profiler/index.html?topDT|dotTrace]] * [[http://www.jetbrains.com/dotcover/index.html?topDC|dotCover]] * [[http://www.jetbrains.com/decompiler/index.html?topDP|dotPeak]] ===== Zaliczenie zajęć ===== [[zagadnienia|Zagadnienia na kolokwium]] \\ Warunki zaliczenia laboratorium: * Kolokwium zaliczeniowe ... * ... lub prezentacja wybranych narzędzi programistycznych (ok. 30-45 min.). W prezentacji, obok części prowadzającej teoretycznie, warto zawrzeć przykłady demonstracyjne. * Obecność.