Global Azure Bootcamp we Wrocławiu!

Z małym opóźnieniem, ale już jest!

Zapraszamy na drugi odcinek codingtv();

Dzisiaj założymy projekt, przedstawimy aplikację miniscrum oraz opowiemy, czym jest NuGet.

W związku z tym, że poszczególne odcinki codingtv(); przechowywane są na portalu youtube.com, na którym możemy przechowywać filmy o maksymalnej długości 15 minut, odcinek 2 został podzielony na dwie części – 8 sekund przed zakończeniem pierwszej części nagrania w prawym dolnym rogu wyświetli się komunikat, którego kliknięcie otworzy drugą część nagrania w nowym oknie przeglądarki (należy o tym pamiętać oglądając nagranie w trybie pełnoekranowym).

Mamy nadzieję, że z czasem to ograniczenie zostanie wyłączone dla naszego konta, ale to zależy od Waszego zainteresowania codingtv(); 🙂

Zapraszamy do oglądania i czekamy na Wasze komentarze.

Projekt dostępny jest na portalu CodePlex: http://codingblog.codeplex.com

Zgodnie z obietnicą zamieszczamy linki do pewnych pojęć wykorzystanych w tym odcinku:

32 komentarze

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

  • Hej. Gratuluję drugiego odcinka. MiniScrum i NuGet to dwie nowości, które wyniosłem z tego odcinka i z pewnością zastosuję w moich projektach. Łyżka dziegciu: Nie rozmieniajcie się na drobne opisując okna w VS, w końcu chodzi o pokazanie jak tworzyć aplikacje „biznesowe”, a nie jak napisać swój pierwszy projekt w .Net. To co chciałbym zobaczyć w części trzeciej lub kolejnych to: co z „bazy danych” trzymać w projekcie, a co nie aby ułatwić sobie publikowanie aplikacji na serwerze produkcyjnym oraz jak zorganizować sobie pracę przy modelowaniu danych (wybraliście EF więc interesuje mnie co myślicie o używaniu designera w dużych projektach i jak rozwiązujecie problem konfliktów na plikach designera w mercurialu) aby dokładanie kolejnych tabel nie sprawiało problemów w projektach z 300 tabelami i większymi. Rzeczy, o których w książkach nie piszą, a które można wyciągnąć jedynie od doświadczonych programistów

    • Słuszna uwaga. Widzę, że apetyt rośnie w miarę jedzenia 🙂 Ciężko nam będzie dogodzić wszystkim zainteresowanym – tym którzy liczą na poznanie podstaw i tym którzy oczekują omawiania zagadnień bardziej zaawansowanych przydatnych w naprawdę dużych projektach. Faktycznie do tej pory byłem zawsze sceptyczny w sprawie designerów, szczególnie gdy baza danych jest skomplikowana. Zobaczymy jak sprawa się ma z EF i ewentualnie użyjemy innego sposobu dostępu do danych (tak jak wspomnieliśmy w nagraniu).

  • Nowy odcinek i juz jest trochę lepiej 🙂 gratulacje. Dzwięk już nie jest taki drażniący no i nie ma tego paskudniego pustego miejsca nad waszymi głowami. Proponuję jeszcze zmienić kamerę jeśli możecie lub zmienić jej położenie – wówczas nie będziecie mieli takich wielkich dłoni w porównaniu z głowami 🙂

    Z innych spraw: mówimy biblioteka a nie bibloteka. Starajcie się krzewić prawidłową polszczyznę.

    Czy ktoś ma jakiś inny pomysł na „solucję”? Nie brzmi to ani dobrze ani miło dla mnie.

    jacek.spolnik: Total Commander to zło bo uczy/prowadzi do złych nawyków więc moim zdaniem w tego typu produkcji używanie takiego narzędzia powinno być karane chłostą (dzięki Panowi że nie używacie go)

    Olo: popieram 🙂

    no i statnia sprawa. Szkoda że korzystając z CodePlex-a nie użyliście TFS-a to jest bardzo niedoceniane narzędzie. Każdemu, komu pokazuję możliwości CodePlex-owego TFS-a wychodza oczy z orbit że tyle, tak fajnie i tak wygodnie i w dodatku za darmo.

    Czekam na następny odcinek z niecierpliwością

  • Wielkie brawa za pomysł! Takich rzeczy praktycznie w Polsce nie ma, a wielka szkoda. Na początku korzysta się głównie z książek, które często są swietnym materiałem dydaktycznym ale nie pokazują jak to wszystko wygląda w praktyce, jak zbudować „normalną” aplikację od zera.
    Dodatkowo super, że akurat wybraliscie te narzędzia, które aktualnie albo testuję (EF Code First – bardzo ciekawa rzecz) albo miałem zamiar to zrobić w najbliższym czasie (Moq, NLog).
    Nie mam zastrzeżeń do wykonania technicznego, jest całkowicie zadowalające, to nie Hollywood, nie musi być wodotrysków technicznych. Wydaje mi się, że jednak nadto zwalniacie tempo.
    Dwa odcinki w niecałe 3 tygodnie, przy czym w drugim w zasadzie z konkretów pokazaliscie tylko wykorzystanie TortoiseHg. Myslę, że jesli ktos jest całkowicie początkujący to i tak raczej nie skorzysta za bardzo na Waszym materiale (za wysoki poziom komplikacji), a ktos kto już opanował same podstawy doskonale wie jak stworzyc solucję, obsługę Nugeta można wygooglać w kilka sekund.
    W niczym jednak nie zmienia to faktu, że mam duży szacunek do Was za to przedsięwzięcie i mam nadzieję, że starczy wam samozaparcia, żeby doprowadzić to do końca! Pozdrawiam!

  • Bardzo dobry projekt, gratuluje pomysłu! Tak trzymać!! Zamieszczam wasze linki na moim portalu 😉

    Pozdrawiam!

  • Przyłączam się do prośby o szybsze pojawianie się odcinków, jeżeli to oczywiście możliwe. Dodatkowo mogły by być dłuższe, możecie zahaczać o jakieś tematy poboczne. Jak ktoś się uczy programować, im wiecej informacji dostanie, tym lepiej dla niego. Poza tym dobra robota, keep it up!

  • @devMan: a dokładnie jakie to te „złe” nawyki o których wspominasz?
    Znasz jakieś lepsze narzędzie?
    Tylko proszę, nie pisz, że Explorer, bo jak widzę dobrego informatyka, korzystającego z Explorera to ręce mi opadają.
    Myślę, że musiałbyś zobaczyć jak ja pracuję w TC, wtedy na 100% zmieniłbyś zdanie.

    • Popieram pytanie … Byc moze jest tajemny sposób wykorzystania Windows Explorer, cmd lub powershell console ktorego nie znamy 😉 A moze inne narzedzie?
      Jesli chodzi o produktywnosc, nie znajduje uzasadnienia na takie podejscie 🙂

  • Uważam, że lepiej byłoby wprowadzić architekturę 3-warstwową. Wprawdzie mówiliście, że projekt jest mały, ale pozwoliłby więcej się nauczyć. Może zmienicie to?

    • Architektura będzie 3-warstwowa. Nie widzimy tylko potrzeby dzielenia wszystkiego na osobne projekty, dlatego założyliśmy dwa projekty.

      Omówimy to jeszcze raz w odcinku 3.

    • Jeśli można, moja drobna sugestia. W wypadku architektury 3-warstwowej z fasadą w postaci serwisów, widziałbym to tak, że aplikacja kliencka tu ASP.NET MVC operuje na obiektach DTO. W związku z tym warto by było wydzielić osobną DLL-kę z czymś w rodzaju AppName.Model.Interface (czy *.Service.Interface jak to nazywacie). Dzięki takiemu podejściu ASP.NET nie ma bezpośredniej referencji do modelu, a jedynie do interfejsu. Jeśli w przyszłości zajdzie potrzeba podzielenia aplikacji na fizyczne warstwy, tj. wydzielenia osobnego serwera warstwy środkowej będzie to łatwiejsze. Przy pomocy WCF UI będzie mogło wywoływać zdalnie serwisy warstwy środkowej.
      Wiem, że niektórzy powiedzą, że w tego typu projekcie to może przerost formy nad treścią, ale … przecież tu chodzi o pewną wartość edukacyjną:).

    • tutaj nie chodzi o MVC, tylko o to żeby rozłączyć modul bazodaniowy z biznesowym, żeby było w sumie 3 razem z UI jak pan Bóg przykazał, a nie 2 ;d

  • Chodzi mi o warstwę biznesową i dostępu do danych dodane jako jeden projekt: CodingBlog.Service.

    • Rozumiem, że masz tutaj na myśli rozbicie na dwa projekty, gdzie w jednym trzymamy np same EntityObject, a w drugim klasy Repository.

      Ciekawe to jest z tego względu, czy da się to zaprojektować tak, aby np. klasy Repository przyjmowały w konstruktorze jakiś nasz IContext, który implementują klasy bazodanowe(entity object, linqDataContext, być może jakieś klasy nhibernate). Zmierzam do tego, czy byłaby możliwość stworzenia bardzo elastycznej struktury, gdzie mamy możliwość zmiany tylko warstwy bazodanowej bez jakiejkolwiek zmiany w kodzie w warstwie biznesowej…hmm..

  • tc: podstawowy zarzut do Total Commandera to taki że większość (nie wszyscy ale jednak większosć) osób używających tego narzędzia zakłada foldery gdzie popadnie a nie zgodnie z wytycznymi systemu. Nie używają folderu „Moje Dokumenty” w którym jest potężna moc. Ot pierwszy z brzegu problem z tym narzędziem.

    określanie „dobrości informatyka” na podstawie tego czy używa TC czy nie jest imho fatalną opinią jaką sobie wystawiasz, to że Tobie opadają ręce to Twój problem. Explorer posiada wystarczającą moc aby wykonać to co w codziennej pracy jest potrzebne. Nie ma potrzeby posiłkowania się zewnętrznym softem.

    Osobiście używam TC od czasu do czasu do obsługi FTP – sprawdza się barzdo przyjemnie, oraz czasem jako narzędzie do znajdowania różnić. Do obsługi plików w systemie tylko explorer 🙂

    jacek.spolnik: tajemne skróty to Win + ->, Win + <-, Tab, Ctrl+C, Ctrl+V, Utylizacja menu "Wyślij do", pasek adres i wiele innych

    • devMan: jakieś wymuszone te zarzuty. Jakie są wytyczne systemu odnośnie zakładanie folderów? Domyślam się, że nie powinno się zakładać własnych folderów w katalogu windowsa czy program files, ale mówiąc szczerze jeszcze nie znałem nikogo kto by tak robił.

      No i też co za moc drzemie w „Moje Dokumenty”?

  • Grzesiek: mój błąd, nie wytyczne systemu a wytyczne Microsoftu, odsyłam do materiałów producenta na temat tworzenia aplikacji i tego gdzie można a gdzie nie można zakładać nowe foldery i jak aplikacje się powinny zachowywać co również w pewien sposób determinuje zachowanie użytkwoników.

    Co do Moich Dokuemntów to odsyłam do helpa systemowego. To nie miejsce do edukacji na temat systemu operacyjnego.

    • a żeby było w kontekście programowania to polecam materiały dotyczące wykonywania testów aplikacji – choćby podstawowychnp. ISV Platform test – aby zrozumieć mniej więcej podstawowe wymagania 🙂

  • @devMan: zgadzam się z Grześkiem baardzo naciągane te argumety z katalogiem Moje Dokumenty, poza tym Total Commander nie blokuje do niego dostępu 😛
    Co do stwierdzenia „Explorer posiada wystarczającą moc aby wykonać to co w codziennej pracy jest potrzebne” to dodam, że myszka też posiada wystarczającą moc a mimo to klawiatura daje o wiele większe możliwości, prawda? Tak samo jest z TC, przy nim Explorer to jest jak zabawka dla dzieci. Jak często mówi Scott Hanselman różnica to tak jakby strzelić kulą z pistoletu a rzucić nią z ręki.
    Co do oceniania informatyka po tym jak posługuje się komputerem to chyba dość dobry sposób, przynajmniej mnie się sprawdza – moim zdaniem narzędzia oraz to jak się nimi posługuje dużo mówią o człowieku. Nie usiadłym na fotelu dentystym, który ma w rękach młotek i dłuto 🙂
    Podtrzymuję swoje przekonanie, że zmieniłbyś zdanie gdybyś zobaczył jaka siła drzemie w TC.
    Może nawet skuszę się na zrobienie małego popisowego screencast’u.