(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
5 posters
Strona 1 z 1
(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
Otwieram etap nr 3 produkcji warsztatu 15.
Poniższy link opisuje kto może wykonywać ten etap produkcji (poziom wyszkolenia z warsztatów), oraz co powinniście pisać w tym wątku (proszę przekopcie się przez ten dokument, oraz piramidę podrzędnych linków przed postowaniem w tym wątku): https://docs.google.com/document/d/1qLiKw72ct99oP4bwtLXfW7nQD-NsjhZ7BdEU8jON0d0/edit?usp=sharing
Kompletny arkusz produkcji tego warsztatu jest tu: https://docs.google.com/spreadsheet/ccc?key=0AiEDbuEU88x4dExzanFMbWZPUkRHelZ4ZUI4VmhndGc&usp=sharing
Zależy mi na tym , aby ten etap był "szybką piłką" , więc spróbuję go zamknąć w sobotę wieczorem (ale czas pokaże czy się uda, bo mamy przecież Święta)
Czekam więc na Wasze propozycje pojęć / zagadnień, których nie wolno przeoczyć produkując ten warsztat nr 15 (dot. tworzenia własnych bibliotek w c#).
Poniższy link opisuje kto może wykonywać ten etap produkcji (poziom wyszkolenia z warsztatów), oraz co powinniście pisać w tym wątku (proszę przekopcie się przez ten dokument, oraz piramidę podrzędnych linków przed postowaniem w tym wątku): https://docs.google.com/document/d/1qLiKw72ct99oP4bwtLXfW7nQD-NsjhZ7BdEU8jON0d0/edit?usp=sharing
Kompletny arkusz produkcji tego warsztatu jest tu: https://docs.google.com/spreadsheet/ccc?key=0AiEDbuEU88x4dExzanFMbWZPUkRHelZ4ZUI4VmhndGc&usp=sharing
Zależy mi na tym , aby ten etap był "szybką piłką" , więc spróbuję go zamknąć w sobotę wieczorem (ale czas pokaże czy się uda, bo mamy przecież Święta)
Czekam więc na Wasze propozycje pojęć / zagadnień, których nie wolno przeoczyć produkując ten warsztat nr 15 (dot. tworzenia własnych bibliotek w c#).
Ostatnio zmieniony przez koszmarek dnia Sro Kwi 30, 2014 10:13 pm, w całości zmieniany 2 razy
koszmarek- Lider grupy "Madagaskar"
- Liczba postów : 596
Join date : 25/10/2012
Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
Na zachętę/rozgrzewkę wrzucam 1 pozycję:
- nie zapomnijmy o zaprezentowaniu w warsztacie sytuacji w której można wrzucić kilka klas do jednej, wspólnej biblioteki (np. jedną klasę z metodami konsolowymi: "PobierzLiczbe", "PoszerzKonsole" oraz drugą klasę "TranslatorMorsa" ... wszystko np. w jednej i tej samej bobliotece Madagascar.dll
koszmarek- Lider grupy "Madagaskar"
- Liczba postów : 596
Join date : 25/10/2012
Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
Przy takim zagadnieniu może by warto było powiedzieć, jeśli jeszcze oczywiście tego nie było, o modyfikatorach dostępu "public, private, protected" i odnieść się przy tym do metod wszystkich klas wrzucanych do naszej biblioteki
dawidg87- Liczba postów : 19
Join date : 18/10/2013
Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
Słusznie ! Przewiduję że w aplikacji treningowej, klasa (prawdopodobnie np. "TranslatorMorsa" z W14 albo "KalkulatorLpg" z W13) z podpiętej bibliotelki (na razie bez wchodzenie a niuanse OOP), będzie pewnie miała publiczną tylko jedną metodę (np. tłumaczącą tekst z j.angielskiego na morse), reszta elementów takiej klasy (w podpiętej bibliotece) będzie prywatna. Myślę że o modyfikatorze "protected" na razie (na 99%) nie będziemy wspominaćdawidg87 napisał:Przy takim zagadnieniu może by warto było powiedzieć, jeśli jeszcze oczywiście tego nie było, o modyfikatorach dostępu "public, private, protected" i odnieść się przy tym do metod wszystkich klas wrzucanych do naszej biblioteki
Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
Moja propozycja (kilak rzeczy z powyzszych postow moze sie powtarzac):
Zaczalbym od malego wprowadzenia do obiektowosci:
Dodawanie dllek:
O winformsach nie pisze, gdyz najchetniej bym je pominal w tym warsztacie. Za mala wiedza, jak na ten etap. A jak juz to banalna aplikacja z banalnymi kontrolkami typu button, label, textbox, checkbox i koniec.
Poza tym trzymalbym sie odpowiedniej konwencji nazw juz w jezyku angielskim.
Zaczalbym od malego wprowadzenia do obiektowosci:
- podstawy przestrzeni nazw (bedzie potrzebne do wlasnych bibliotek)
- wyjasnienie czym jest klasa i dlaczego jest to cos tak fajnego
- wspomnienie o typach referencyjnych i prostych oraz przedstawienie glownych roznic, jak kopiowanie obiektow!
- modyfikatory dostepu na podstawie metod: na poczatek public i private
- pola w klasie. Wlasciwosci w tym warsztacie bym pominal, gdyz jest malo czasu (tak naprawde warsztat z samym wstepem do obiektowosci imo powinien miec z minimum 2h). Pola obowiazkowo tylko i wylacznie private, aby nas ludzie nie zjedli na YT.
- konstruktory. I tutaj zaleznie od potrzeby rozwinalbym temat.
- parametry imienne w metodach (mam zaleglosci co do 2 ostatnich warsztatow, wiec nie jestem pewien czy to juz przypadkiem nie bylo wczesniej)
Dodawanie dllek:
- tutaj nie ma co duzo pisac - pokazac jak zrobic wlasna dllke i jak pozniej ja uzywac w innym projekcie.
O winformsach nie pisze, gdyz najchetniej bym je pominal w tym warsztacie. Za mala wiedza, jak na ten etap. A jak juz to banalna aplikacja z banalnymi kontrolkami typu button, label, textbox, checkbox i koniec.
Poza tym trzymalbym sie odpowiedniej konwencji nazw juz w jezyku angielskim.
Fores- Liczba postów : 73
Join date : 30/05/2013
Age : 34
Skąd : Katowice
Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
Dobra lista Fores.
Na 99% ominiemy (na razie czyli w w15) temat konstruktorów.
Imienne wywołanie parametrów jest opisane bodajże w W13 (wiem, że pisałeś że nie jesteś pewien czy było to już omawiane)
Na 99% ominiemy (na razie czyli w w15) temat konstruktorów.
Imienne wywołanie parametrów jest opisane bodajże w W13 (wiem, że pisałeś że nie jesteś pewien czy było to już omawiane)
koszmarek- Lider grupy "Madagaskar"
- Liczba postów : 596
Join date : 25/10/2012
Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
Moja propozycja jest taka:
-Trochę o przestrzeniach nazw czyli po co istnieją oraz jak używać
* Przestrzeń nazw System
* Zagnieżdżanie przestrzeni nazw
* Przeciążanie klas
* Aliasy do przestrzeni nazw
-Czym wogóle są biblioteki
-Jaka jest różnica między dll a exe
-Tworzenie bibliotek
* Dodawanie wielu klas do jednej biblioteki
* Metoda, której używa biblioteka lecz jest niewidoczna na zewnątrz (public, private)
-Dodawanie bibliotek do projektu
-Jak używać metod zawartych w bibliotekach
Wstęp do obiektowości można dodać na końcu jeśli wystarczy czasu. Chodzi mi o to żeby nie robić warsztatów trwających 3h.
-Trochę o przestrzeniach nazw czyli po co istnieją oraz jak używać
* Przestrzeń nazw System
* Zagnieżdżanie przestrzeni nazw
* Przeciążanie klas
* Aliasy do przestrzeni nazw
-Czym wogóle są biblioteki
-Jaka jest różnica między dll a exe
-Tworzenie bibliotek
* Dodawanie wielu klas do jednej biblioteki
* Metoda, której używa biblioteka lecz jest niewidoczna na zewnątrz (public, private)
-Dodawanie bibliotek do projektu
-Jak używać metod zawartych w bibliotekach
Wstęp do obiektowości można dodać na końcu jeśli wystarczy czasu. Chodzi mi o to żeby nie robić warsztatów trwających 3h.
pozdro600- Liczba postów : 4
Join date : 29/05/2013
Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
dzięki @pozdro600 !
koszmarek- Lider grupy "Madagaskar"
- Liczba postów : 596
Join date : 25/10/2012
Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
No więc przeczytałem wszystkie 10 linków dot. bibliotek, które wyszukaliśmy w etapie 02 produkcji tej laborki. Czytając te opracowania (lub oglądając wideo prezentacje), spisywałem z boku pod zagadnienia , o których wy nie wspomnieliście powyżej (w tym poście), a o których wg mnie należy wspomnieć:
Tyle na razie . Dzisiaj machnę w nocy 50 str. Troelsenka dot. bibliotek/pakietów, może doczytam coś czego nie było w opracowaniach wyszukanych przez nas na necie.
dobranoc ;p
- definicja znaczenia słowa biblioteka w c#, czyli trzeba po prostu powiedzieć/napisać czym jest biblioteka w c#
- koniecznie trzeba wspomnieć, że biblioteka nie jest "executable" (nie wiem na razie jakiego słowa po polsku tu użyć), czyli że nie potrzebuje metody "Main"
- jako ciekawostka: bywa że biblioteka ma rozszerzenie .lib (pomimo , że z reguły ma rozszerzenie .dll)
- jako ciekawostka: o tym że jedna biblioteka może mieć wiele klas to już wspominaliśmy, ale bywa że jedna biblioteka może się składać z wielu plików
- trzeba pokazać/uzmysłowić "studentowi" (choć przez chwilę), że używając metody np. Console.WriteLine, korzysta tym samym z biblioteki nie tyle własnej (co jest głównym tematem warsztatu), co "wbudowanej", dostarczanej przez Microsoft
- czyli co za tym idzie, warto będzie pokazać, że wraz z zakładaniem nowego projektu, automatycznie podpina się np. biblioteka "Microsoft.csharp.dll"
- apropos namespaców: może warto będzie zrobić taki myk, że nasza biblioteka (może "Madagaskar" ? ) będzie zawierała klasę "Console" a w niej metodę "WriteLine" (czyli tak samo nazywającą się jak "standardowy" Console.WriteLine, żeby odpowiednio się kojarzyło), tyle że nasz Console.WriteLine (z dodatkowymi opcjonalnymi parametrami), będzie wyświetlał tekst np. z odpow. prędkością i w wybranym kolorze. Tym samym gdy wywoła się metodę Console.WriteLine to kompilator zgłupieje i nie będzie wiedział którą z tych metod użyć (czy "naszą" czy "wbudowaną" z Microsoftu) ... a rozwiązaniem tego problemu będzie wskazanie odpowiednioga namespace'a: czyli napisanie Madagaskar.Console.WriteLine.
- fajnie będzie uzmysłowić studentowi że biblioteki realizują koncept modularności w programowaniu, czyli że mamy wtedy moduł który może być użyty przez wiele innych programów (można tu użyć analogii do modularności w branży samochodowej :p np. wspólna platforma/"podłoga"/podwozie dla kilku modeli samochodów. )
- fajnie będzie wspomnieć jako ciekawostkę, że są firmy które "żyją" tylko z tworzenia wyspecjalizowanych komercyjnych bibliotek ... a nie koniecznie kompletnych komercyjnych aplikacji
- warto rozwinąć/wyjaśnić skrót dll ("dynamic link library")
- Na końcu postuluję aby jednak nie porywać się na opisywanie zbyt szczegółowo namespaców w W15, bo wg mnie to temat co prawda konieczny do omówienia, ale na kolejne warsztaty (i tu asekuracyjnie się napisze że w kolejnych laborkach będą dokłądniej omówione). Żeby rzetelnie omówić namespacy trzeba wspomnieć o takich sprawach jak np. manulane tworzenie namespace'a, zagnieżdżanie namespaców, tworzenie aliasów do namespaców (wyczytałem w linku od Borixona )... to są żmudne tematy które zajmą sporo warsztatu i mogą się okazać zbyt wlokące się ("booooorinnngg ;p") jak na W15 który ma być naszym atrakcyjnym w odbiorze flagowych produktem do wglądu dla internautów
Tyle na razie . Dzisiaj machnę w nocy 50 str. Troelsenka dot. bibliotek/pakietów, może doczytam coś czego nie było w opracowaniach wyszukanych przez nas na necie.
dobranoc ;p
koszmarek- Lider grupy "Madagaskar"
- Liczba postów : 596
Join date : 25/10/2012
Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
Fajnie w takim razie również było by coś powiedzieć o tworzeniu dokumentacji do bibliotek. Bo powiedzmy, że kod wykonywalny samego programu jest prowadzony przez programistę który myśli po swojemu i powinien go ogarniać, to tworząc bibliotekę:
- Możemy chcieć jej użyć w większej liczbie aplikacji tworzonych za rok, czy dwa.
- Może też dojść do konieczności współpracy przy programie w większym gronie, gdzie każdy pisze swój fragment danej aplikacji ale powiedzmy wszyscy korzystają z jednej biblioteki.
- Albo po prostu chcemy udostępnić światu naszą bibliotekę.
Więc aby nie zmuszać siebie i innych do zastanawiania się analizując linijka po linijce co dana metoda robiła, dobrze jest mieć dokumentacje
- Możemy chcieć jej użyć w większej liczbie aplikacji tworzonych za rok, czy dwa.
- Może też dojść do konieczności współpracy przy programie w większym gronie, gdzie każdy pisze swój fragment danej aplikacji ale powiedzmy wszyscy korzystają z jednej biblioteki.
- Albo po prostu chcemy udostępnić światu naszą bibliotekę.
Więc aby nie zmuszać siebie i innych do zastanawiania się analizując linijka po linijce co dana metoda robiła, dobrze jest mieć dokumentacje
dawidg87- Liczba postów : 19
Join date : 18/10/2013
Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
brawo dawidg87 !!!
Po Twojej uwadze wpadło mi do głowy, że koniecznie trzeba również pokazać, w jaki sposób komentować np. metodę z własnej biblioteki , aby komentarz ten (jako dokumentacja) wyświetlał się w "chmurce" , gdy tą metodę wywoła się z mechanizmu podpowiedzi w Visual Studio.
Po Twojej uwadze wpadło mi do głowy, że koniecznie trzeba również pokazać, w jaki sposób komentować np. metodę z własnej biblioteki , aby komentarz ten (jako dokumentacja) wyświetlał się w "chmurce" , gdy tą metodę wywoła się z mechanizmu podpowiedzi w Visual Studio.
koszmarek- Lider grupy "Madagaskar"
- Liczba postów : 596
Join date : 25/10/2012
Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
pol godziny pisania i wszystko do skasowania, bo juz mnie ubiegliscie ;s
Co do samego warsztatu, to rezygnujemy z winformsow? imo bylby to dobry pomysl, gdyz same biblioteki + wstep do obiektowosci jest juz wystarczajaco duzym tematem.
Co do biblioteki nalegalbym, aby w czesci glownej warsztatu napisac jakas klase, ktora bedzie mogla byc wykorzystywana w nastepnych warsztatach (zarowno konsolowych, jak i okienkowych). W sumie to nie musi byc jedna klasa, a nawet kilka prostych klas, aby mozna bylo podchwycic temat
Co do samego warsztatu, to rezygnujemy z winformsow? imo bylby to dobry pomysl, gdyz same biblioteki + wstep do obiektowosci jest juz wystarczajaco duzym tematem.
Co do biblioteki nalegalbym, aby w czesci glownej warsztatu napisac jakas klase, ktora bedzie mogla byc wykorzystywana w nastepnych warsztatach (zarowno konsolowych, jak i okienkowych). W sumie to nie musi byc jedna klasa, a nawet kilka prostych klas, aby mozna bylo podchwycic temat
Fores- Liczba postów : 73
Join date : 30/05/2013
Age : 34
Skąd : Katowice
Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
Zależy mi na tym, żeby użyć WinForms jako przykład kolejnego UI który (obok konsoli) użyje tej samej biblioteki. Zauważ, że większość tych prezentacji z linków wyszukanych przez nas w etapie 02, to szybka piłka użycia biblioteki właśnie m.in. w Windows Forms i nie zajmuje to bugwie ile. Nie mam przecież zamiaru wyczerpać tematu WinForms'ów w tylko jednym warsztacie. Docelowo najlepiej będzie chyba tworzyć aplikacje w "Madagaskarze" na webowym interfejsie, ale Windows Forms będzie fajniejsze na początek (do uczenia na tym np. podstaw obiektowości).
Może się jednak okazać (np. w trakcie tworzenia wideo), że lista zagadnień (którą tu sklecę na końcu ze wszystkich postów w tym wątku) okaże się za długa na jeden warsztat ... czyli być może to, co teraz tu dogadujemy będzie zakresem wiedzy pod warsztaty W15 i W16 ... choć jestem dobrej myśli i czuję że damy radę zmieścić to w jednym warsztacie (przy zachowaniu pełnego zrozumienia tego materiału przez studenta).
Może się jednak okazać (np. w trakcie tworzenia wideo), że lista zagadnień (którą tu sklecę na końcu ze wszystkich postów w tym wątku) okaże się za długa na jeden warsztat ... czyli być może to, co teraz tu dogadujemy będzie zakresem wiedzy pod warsztaty W15 i W16 ... choć jestem dobrej myśli i czuję że damy radę zmieścić to w jednym warsztacie (przy zachowaniu pełnego zrozumienia tego materiału przez studenta).
koszmarek- Lider grupy "Madagaskar"
- Liczba postów : 596
Join date : 25/10/2012
Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
Przeczytałęm około 50 stron Troelsena o "pakietach"/"biliotekach", i pojawiły się takie pojęcia/zagadnienia, o których nie wspominaliśmy w tym topicu na forum, a o których w warsztacie będzie warto choćby wspomnieć:
O tych pojęciach (bardziej zaawansowanych) się tylko wspomni w tym warsztacie. Czas na bardziej dogłębne ich poznanie nadejdzie , gdy aplikacje treningowe w "Madagaskarze" zaczną być (mam nadzieję) coraz bardziej zaawansowane.
We wtorek w nocy preparuję spis zagadnień dla tego warsztatu (na podstawie wszystkich naszych postów w tym topicu) oraz zamknę ten etap produkcji (do tego czasu można postować)
- biblioteka utworzona w jednym z języków programowania .net'a może być wykorzystywane przez inne języki .net. Np. biblioteka utworzona w C#, może byś podpięta (najczęściej jako plik .dll) do innego (klienckiego) projektu tworzonego w językach np. Visual C++ czy ,Visual Basic.
- pakiety przechowują informację o czteroczęściowym numerze wersji (tym samym co jest używanych w takich systemach kontroli wersji jak subversion czy Git)
- pakiety mogą być prywatne (instalowane w tym samym folderze co aplikacja kliencka), ale mogą być też współdzielone (dzięki temu mogą być wykorzystywane przz "zewnętrzne" aplikacje kolienckie). Biblioteki współdzielone są instalowane nie w konkretnym folderze np. dysku c:, ale w tzw. "GAC" (globalnym buforze pakietów).
O tych pojęciach (bardziej zaawansowanych) się tylko wspomni w tym warsztacie. Czas na bardziej dogłębne ich poznanie nadejdzie , gdy aplikacje treningowe w "Madagaskarze" zaczną być (mam nadzieję) coraz bardziej zaawansowane.
We wtorek w nocy preparuję spis zagadnień dla tego warsztatu (na podstawie wszystkich naszych postów w tym topicu) oraz zamknę ten etap produkcji (do tego czasu można postować)
koszmarek- Lider grupy "Madagaskar"
- Liczba postów : 596
Join date : 25/10/2012
Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ
Hej
Spreparowałem listę zagadnień do warsztatu 15 (na podst. m.in Waszych postów w tym wątku):
https://docs.google.com/document/d/1qLiKw72ct99oP4bwtLXfW7nQD-NsjhZ7BdEU8jON0d0/edit?usp=sharing
Zamykam/kończę ten etap (dzięki za pomoc!), ale można jeszcze postować, jak ktoś ma uwagi.
Spreparowałem listę zagadnień do warsztatu 15 (na podst. m.in Waszych postów w tym wątku):
https://docs.google.com/document/d/1qLiKw72ct99oP4bwtLXfW7nQD-NsjhZ7BdEU8jON0d0/edit?usp=sharing
Zamykam/kończę ten etap (dzięki za pomoc!), ale można jeszcze postować, jak ktoś ma uwagi.
koszmarek- Lider grupy "Madagaskar"
- Liczba postów : 596
Join date : 25/10/2012
Similar topics
» (zakończony)Warsztat 18: etap 03: budowa szczegółowej listy ZAGADNIEŃ
» (zakończony)Warsztat 17: etap 03: budowa szczegółowej listy ZAGADNIEŃ
» (zakończony)Warsztat 15: etap 05: OPROGRAMOWANIE aplikacji (pod warsztat)
» (zakończony)Warsztat 16: etap 01-07
» (zakończony)Warsztat 15: etap 13: PODKŁAD MUZYCZNY
» (zakończony)Warsztat 17: etap 03: budowa szczegółowej listy ZAGADNIEŃ
» (zakończony)Warsztat 15: etap 05: OPROGRAMOWANIE aplikacji (pod warsztat)
» (zakończony)Warsztat 16: etap 01-07
» (zakończony)Warsztat 15: etap 13: PODKŁAD MUZYCZNY
Strona 1 z 1
Pozwolenia na tym forum:
Nie możesz odpowiadać w tematach