jedmac
-
Postów
13 -
Dołączył
-
Ostatnio
Nigdy
Typ zawartości
Profile
Fora
Kalendarz
Articles
Pliki
Posty napisane przez jedmac
-
-
Przede wszystkim Internet, ponieważ większość dobrych materiałów jest niestety tam, zazwyczaj po angielsku (nie pamiętam dobrych, polskich źródeł).
Zacząłbym od bardzo prostej aplikacji wykorzystującej wszystkie sensory itp. - taki multitool, a następnie zrobił aplikację typu offline/online -> jeżeli jest dostęp do internetu, łączyć się z serwerem i robić update'y, natomiast jeśli offline -> wkładać dan do Indexed DB. W ten sposób przejdziesz większość ścieżek.
Jedno z lepszych źródeł:
http://www.tutorialspoint.com/android/
Zawiera zazwyczaj wprowadzenie do tematu oraz przykładowy kod.
-
Może nie do końca blogi, ale bardzo fajne strony dla początkujących:
http://www.homeandlearn.co.uk/csharp/csharp.html
Natomiast, jeśli chodzi o blogi:
http://mfranc.com -> ciekawy blog z praktycznym podejściem do tematu
A jak komuś się nudzi, to zapraszam do siebie:
-
W większości, pracodawcy patrzą na to co potrafisz, a nie na szkoły/uczelnie/certyfikaty i inne. Nie zmienia to faktu, że często rekruter nie jest w stanie dokładnie ocenić danego kandydata na pracownika - zadaje pytania dotyczące teorii i projektów - jak ktoś jest dobry w kantowaniu, to myślę, że spokojnie jest w stanie oszukać pracodawcę co do swoich umiejętności (czasami, jak patrzy się na kod danego programisty w jakimś projekcie to aż krew zalewa - potem zamiast nowe rzeczy robić, poprawiasz stary kod). Osobiście jestem zdania, że bardzo fajną praktyką stosowaną przez niektóre firmy są zadania z Codility np. Tu nie chodzi o to, żebyś nawrzucał rekruterowi 1000 technologii z jakimi miałeś do czynienia, tylko pokazał, że potrafisz myśleć logicznie i rozwiązywać od strony programistycznej pewne problemy przy wykorzystaniu algorytmów. Naprawdę częstą sytuacją jest to, że idziesz na rozmowę nie mając zielonego pojęcia np. o MVC 3, ale dostajesz jakiś problem, rozwiązujesz jeden i drugi na 100% i dostajesz umowę na okres próbny 3 miesięczny, w czasie którego masz za zadanie zaznajomić się z MVC i pokazać, jak dobrym pracownikiem jesteś. Faktycznie, wiąże się to z niższą pensją, ale po okresie próbnym często dostajesz podwyżkę, nawet 1000 zł.
Podsumowując - koduj, koduj, koduj. Czytaj fora, rozwiązuj problemy. Zacznij tworzyć proste aplikacje, które będą wspomagać twoją codzienną pracę - choćby klienta poczty, terminarz, sticky notes, parser'y. Jak masz dostęp do serwera i programujesz w C# - stwórz sobie WebService. Wystaw go na tym serwerze, dopisz klienta i stwórz np. szachy multiplayer. Po pewnym czasie wróć do kodu, który napisałeś wcześniej i zastanów się co jest z nim nie tak, jak możesz go poprawić. Załóżmy będziesz miał 4-5 klas w jakiejś prostej aplikacji. spróbuj wydzielić jeszcze 3 np. - zaczniesz poznawać co to jest hermetyzacja od strony praktycznej. Dojdzie dziedziczenie, polimorfizm i po pewnym czasie będziesz tworzył dobry kod.
Praktyka, praktyka i jeszcze raz praktyka! :)
-
Nie ma takiej zasady :)
Ogólnie zasada jest prosta, tam gdzie masz int main(args) jest return 0. Dlaczego? Właśnie dlatego, że main jest int'em i musi coś zwrócić. Natomiast w przypadku całej reszty return stosujesz zawsze wtedy, kiedy chcesz, żeby funkcja Ci coś zwróciła i wynik całej operacji chcesz gdzieś przypisać. Czasem jest tak, że wygodniej nie zwracać nic, metoda po prostu coś ustawia, natomiast kiedy indziej lepiej coś zwrócić i przypisać, żeby później np. serializować jakiś obiekt. Zastosowań jest mnóstwo i dopiero wraz z doświadczeniem wiesz, kiedy której użyć.
-
Wszystko zależy od rodzaju task'a. Zazwyczaj nie ma tak dobrze, że jednego dnia piszesz tylko kod pod jedną aplikację, ale np. 2 lub 3. Kolejną kwestią jest też inna sprawa, tzw. "optymalizacja" kodu - czasem jest tak, że dany fragment kodu odpowiedzialny za jakieś wyliczenia jest zbyt wolny, za duży czas oczekiwania na rezultaty - wtedy musisz się zastanowić, przetestować różne rozwiązania - może być tak, że wybrany wcześniej algorytm, jednak nie jest najlepszy. Wtedy możesz napisać i 50 linii kodu w jeden dzień, ale rezultat będzie wystarczający i wszyscy będą zadowoleni. Innego dnia może być tak, że napiszesz 500 - 1000 linii kodu.
Czasami nad jednym zadaniem pracuje 2 programistów, dlatego dla .NET masz coś takiego jak Team Foundation Server, przy wykorzystaniu którego możesz wersjonować swój kod.
Tak jak wcześniej wspomniałem, często jest tak, że kod musi zostać tylko poprawiony/dopracowany i na koniec okaże się, że napisałeś danego dnia niewiele.
Wszystko zależy też od metodologii, w której pracujesz i od samego Ciebie - w jaki sposób podzielisz sobie dane zadanie - może się okazać, że przez 3 dni nie napiszesz nic, żeby 4 napisać 2/3 kodu - nie polecam, aczkolwiek znam takie przypadki.
-
Najłatwiej byłoby napisać aplikację web'ową pod platformy mobilne. Z tego co pamiętam, rozwijany był projekt MONO http://www.mono-project.com/Main_Page, który umożliwiał napisanie wieloplatformowego kodu na Androida, IOSa itp. używając do tego C#, aczkolwiek nic więcej Ci na ten temat nie powiem, ponieważ nigdy go nie używałem.
-
C++ jest znakomitym językiem "wyjściowym" do całej reszty. Jeśli chodzi o start w C#, to myślę, że to jest dobra droga:
1) Opanowanie podstaw C#, rozpoczęcie tworzenia aplikacji w Windows Forms w połączeniu z bazami danych przy wykorzystaniu ADO.net
2) Opanowanie WPF – takie „nowsze” Windows Forms i jak dla mnie dużo wygodniejsze – przede wszystkim masz praktycznie pełną kontrolę nad swoją aplikacją
3) Opanowanie w dobrym stopniu XML, serializacja, deserializacja i te sprawy
4) nHibernate & Entity Framework
5) WCF i starsza technologia – web service’y
6) Jak to już ogarniesz, zabierz się za ASP.net
7) HTML 5
Bardzo dobry kurs dla początkujacego:
-
Przede wszystkim znajomość STL'a, to jest podstawa do całej reszty, następnie boost. Jeśli chodzi o wspomnianego c# to nie tylko asp.net, ale też WPF, WCF, Silverlight (już niedługo) :)
-
Przede wszystkim jQuery. W momencie, gdy zaczniesz na poważniej przygodę z asp.net to na pewno również AJAX. Kolejną sprawą jest wywoływanie web service'ów przy wykorzystaniu Javascript. Do tego dochodzi też kwestia baz danych oraz jak wspomniał kolega wyżej - CSS3 i HTML5.
-
Jak najbardziej WPF: http://www.kirupa.com/blend_wpf/
W VS 2012 masz wbudowane narzędzie Expression Blend, dlatego najlepiej zainstalować VS 2012 i zacząć się bawić w nim, zwłaszcza, że chcesz pisać programy okienkowe pod Windows 8
Jednak mimo wszystko, tak jak wspomniał kolega wyżej - przenieś się na asp
-
Musisz się dobrze zastanowić, czego oczekujesz:
Jako programista .NET polecam C#, aczkolwiek musisz mieć na uwadze fakt, że w ostatnich latach bardzo szybko pojawiają się nowe frameworki, przez co mogą pojawić się problemy - w jednym framework'u słyszysz, że LINQ jest super itp., natomiast w drugim, że już niekoniecznie. Pojawia się Silverlight, po czym okazuje się, że MS będzie się z niego wycofywał na rzecz HTML 5. Dlatego, w tym przypadku musisz się nastawić na ciągłe zmiany, które będziesz musiał szybko przyswajać - mnie takie coś odpowiada, dlatego w tej chwili nie zamieniłbm .net na nic innego :)
Jeśli chodzi o język Java - na pewno tempo zmian jest tutaj dużo mniejsze, aczkolwiek rozpoczęcie przygody z Javą i mnogością framework'ów już istniejących będzie bolało.
A po za tym, tak jak to już wcześniej wspomniał michal-franc -> wolę MS od Oracle, ale to już kwestia indywidualnego podejścia.
Jeśli chodzi o start w C#, to myślę, że to jest dobra droga:
1) Opanowanie podstaw C#, rozpoczęcie tworzenia aplikacji w Windows Forms w połączeniu z bazami danych przy wykorzystaniu ADO.net
2) Opanowanie WPF - takie "nowsze" Windows Forms i jak dla mnie dużo wygodniejsze - przede wszystkim masz praktycznie pełną kontrolę nad swoją aplikacją
3) Opanowanie w dobrym stopniu XML, serializacja, deserializacja i te sprawy
4) nHibernate & Entity Framework
5) WCF i starsza technologia - web service'y
6) Jak to już ogarniesz, zabierz się za ASP.net
7) HTML 5
Po drodze nie zapomnij o przyswojeniu testowania - tutaj jest dosyć ciekawy artykuł, polecam:
http://www.mfranc.com/unit-testing/good-unit-test-one-assert/
-
@eXray, napisałeś praktycznie cały kod, przez co gość nic nie zapamięta - potem dziwimy się, że przychodzi programista do pracy i pisze rzeczy w stylu int flaga1, flaga2 itp. Utrzymanie takiego kodu generuje taki koszt, że lepiej zaorać aplikację i stworzyć ją od nowa :)
@kokos1234 -> zacznij od totalnych podstaw: http://cpp0x.pl/kursy/Kurs-C++/1 Jeśli chodzi o if/else, poczytaj sobie na spokojnie, do tego poczytaj od razu o switch i zobacz jakie są między nimi różnice.
Tylko w ten sposób, krok po kroku, nauczysz się pisać programy. Praktyka czyni mistrza, nie teoria.
Co polecacie?
w Delphi / Pascal
Napisano