Czy chcesz zareagować na tę wiadomość? Zarejestruj się na forum za pomocą kilku kliknięć lub zaloguj się, aby kontynuować.

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

5 posters

Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by koszmarek Sro Kwi 16, 2014 9:03 pm

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#).


Ostatnio zmieniony przez koszmarek dnia Sro Kwi 30, 2014 10:13 pm, w całości zmieniany 2 razy
koszmarek
koszmarek
Lider grupy "Madagaskar"
Lider grupy

Liczba postów : 596
Join date : 25/10/2012

Powrót do góry Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by koszmarek Sro Kwi 16, 2014 9:15 pm

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
koszmarek
Lider grupy "Madagaskar"
Lider grupy

Liczba postów : 596
Join date : 25/10/2012

Powrót do góry Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by dawidg87 Czw Kwi 17, 2014 2:01 pm

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 Smile

dawidg87

Liczba postów : 19
Join date : 18/10/2013

Powrót do góry Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by Admin Czw Kwi 17, 2014 2:07 pm

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 Smile
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ć
Admin
Admin
Admin

Liczba postów : 40
Join date : 25/10/2012

https://madagaskar.forumpolish.com

Powrót do góry Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by Fores Czw Kwi 17, 2014 5:32 pm

Moja propozycja (kilak rzeczy z powyzszych postow moze sie powtarzac):


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
Fores

Liczba postów : 73
Join date : 30/05/2013
Age : 33
Skąd : Katowice

Powrót do góry Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by koszmarek Pią Kwi 18, 2014 3:41 pm

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)
koszmarek
koszmarek
Lider grupy "Madagaskar"
Lider grupy

Liczba postów : 596
Join date : 25/10/2012

Powrót do góry Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by pozdro600 Pią Kwi 18, 2014 9:56 pm

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.

pozdro600

Liczba postów : 4
Join date : 29/05/2013

Powrót do góry Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by koszmarek Pią Kwi 18, 2014 10:02 pm

dzięki @pozdro600 !
koszmarek
koszmarek
Lider grupy "Madagaskar"
Lider grupy

Liczba postów : 596
Join date : 25/10/2012

Powrót do góry Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by koszmarek Sob Kwi 19, 2014 8:47 pm

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ć:

  • 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 Very Happy )... 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
koszmarek
Lider grupy "Madagaskar"
Lider grupy

Liczba postów : 596
Join date : 25/10/2012

Powrót do góry Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by dawidg87 Sob Kwi 19, 2014 9:18 pm

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 Very Happy

dawidg87

Liczba postów : 19
Join date : 18/10/2013

Powrót do góry Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by koszmarek Sob Kwi 19, 2014 9:32 pm

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.
koszmarek
koszmarek
Lider grupy "Madagaskar"
Lider grupy

Liczba postów : 596
Join date : 25/10/2012

Powrót do góry Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by Fores Sob Kwi 19, 2014 9:51 pm

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
Fores
Fores

Liczba postów : 73
Join date : 30/05/2013
Age : 33
Skąd : Katowice

Powrót do góry Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by koszmarek Nie Kwi 20, 2014 7:02 am

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).
koszmarek
koszmarek
Lider grupy "Madagaskar"
Lider grupy

Liczba postów : 596
Join date : 25/10/2012

Powrót do góry Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by koszmarek Pon Kwi 21, 2014 1:27 pm

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ć:

  • 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
koszmarek
Lider grupy "Madagaskar"
Lider grupy

Liczba postów : 596
Join date : 25/10/2012

Powrót do góry Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by koszmarek Wto Kwi 22, 2014 3:00 pm

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.
koszmarek
koszmarek
Lider grupy "Madagaskar"
Lider grupy

Liczba postów : 596
Join date : 25/10/2012

Powrót do góry Go down

(zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ Empty Re: (zakończony)Warsztat 15: etap 03: budowa listy ZAGADNIEŃ

Pisanie by Sponsored content


Sponsored content


Powrót do góry Go down

Powrót do góry

- Similar topics

 
Permissions in this forum:
Nie możesz odpowiadać w tematach