Jump to content

jedmac

Members
  • Posts

    13
  • Joined

  • Last visited

    Never

jedmac's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. Na Twoim miejscu zacząłbym od C++, jako że jest to świetny język wyjściowy do innych, tj. C# czy Java. Startując w 2 ostatnich, nigdy nie poznasz "smaczków" C++. A potem to już sam wybierzesz.
  2. 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.
  3. Może nie do końca blogi, ale bardzo fajne strony dla początkujących: http://www.dotnetperls.com/ 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: http://macjedrzejewski.wordpress.com
  4. 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! :)
  5. 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ć.
  6. 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.
  7. 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.
  8. 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: http://www.homeandlearn.co.uk/csharp/csharp.html
  9. 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) :)
  10. 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.
  11. 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
  12. 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/
  13. @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.
×
×
  • Create New...