Nauka Programowania #3 Kondycja programistyczna

Pamiętam, że gdy zaczynałem moją przygodę z programowaniem to miałem straszne trudności kondycją programistyczną, czyli z wytrzymaniem przy programowaniu dłużej niż godzinę.

Męczyłem się, wiedza gorzej wchodziła mi do głowy. Potem to całe programowanie zaczynało mi się nudzić, aż w końcu odpuszczałem. Próbowałem również takich suplementów jak Kawa czy Yerba Mate, ale niewiele one pomagały.

(więcej…)

Nauka Programowania #2 Rozwiązywanie problemów.

Bo czymże jest programowanie jak nie rozwiązywaniem problemów? I nie ważna zbytnio jest ich natura… Jak jego skomplikowanie. Nie da się wszystkiego rozwiązać od ręki. Są sprawy które jest trudniej rozwiązać. Które wymagają szeregu algorytmów, wielu linijek kodu, wielu miesięcy pracy i czasem dobrego zespołu programistów.

Ale problemy początkujących nie są wcale takie skomplikowane. One są „trudne” ze względu na brak zrozumienia istoty problemu.

(więcej…)

Nauka programowania dla początkujących. #1 Wstęp

Nie będzie to poradnik jakich wiele w internecie. Sam kilka takich poradników przerobiłem i ich skuteczność uważam za średnią.

Sam zmagałem się kiedyś z programowaniem. Wiem jak trudne jest wejście i zrozumienie działania kodu. Kupujesz książkę do wybranego języka, przerabiasz kilkanaście rozdziałów po czym dochodzisz do wniosku, że nic z tego nie rozumiesz. Znam to. Byłem tam. Kupujesz kolejną książkę z nadzieją, że się coś zmieni. Kończy się na tym, że masz ponad 5 książek odnośnie programowania, a mimo to wciąż nie umiesz programować. Szukasz kursu na YouTube, bądź on-line i przepisujesz kod. Czasem bezmyślnie, czasem coś „zrozumiesz”. Przynajmniej u mnie tak to wyglądało. Dla osób umiejących już programować ciężko to zrozumieć, bo albo nauczyli się programowania dawno temu, albo może przyszło im to naturalnie?

(więcej…)

Budowanie projektu i pierwszy prototyp.

Programując już od jakiegoś czasu, zdałem sobie sprawę, że nie wszystkie rzeczy będą takie na jakie wyglądają. Szczególnie jeżeli chodzi o naprawę bugów i błędów.

Znacie to, gdy zaczynacie coś programować i się okazuje, że napotykacie na problemy, które na pierwszy rzut oka nie wydają się takie trudne, ale gdy tylko trochę nad danym problemem spędzicie czasu, to się okazuje, że jest ciężej niż moglibyście się tego spodziewać.

Długo nie pisząc, możecie obejrzeć sobie pierwszy prototyp na GitHubie: https://github.com/petercrowed/PianoGame/tree/master

A „zagrać” możecie tutaj: http://www.noob-programmer.com/piano/piano.html

Błędy, które wciąż występują to:

  • Dźwięk kliknięcia podczas przyciśnięcia klawisza
  • Możliwość „surfowania” po klawiaturze (choć to nie jest błąd, ale lepszy UX (User Experience))
  • Opóźnienie przy naciśnięciu klawisza
  • Przy dłuższym naciśnięciu „dublowanie” się dźwięku

Najwięcej kłopotów miałem z CSSem i HTMLem. Z takich głupot początkującego programisty… Na przykład użyłem znaku # (sharp) w nazwie klasy. Jak się okazuje jest to błąd. Co prawda ten błąd nie wyświetli się wam w logach, ale po prostu klasa w CSSie nie zostanie wywołana.

Obejście problemu, gdy ma się 25 klas ze znakiem „#”? W końcu dźwięki taki znak posiadają. Choćby: „A#, C#, D#, F#, G#”.

Zamienić nazwy na końcówkę „is”, a następnie w kodzie przetłumaczyć, przy pomocy „String replace”.

var blackKeyName = ".black." + notes[e.keyCode];
substring = "#";
var newBlack = blackKeyName.replace("#", "is");

W ten sposób CSS nam nie wariuje, a mimo to dalej html przekazuje dany dźwięk do wywołania.

Co zostało do zrobienia to na początek naprawa błędów, a potem można się zabrać za rozbudowywanie programu o nowe funkcje.

Z technologii które póki co użyłem to jQuery i Tone.js. Co prawda ten jQuery słabo mi pasuje i pewnie go zastąpię… jeżeli tylko znajdę inne, lepsze rozwiązanie.

I trochę dodatkowej dawki humoru na koniec.

Ulubiona tonacja gitarzysty programisty?

C#

Poradnik do frameworka CreateJS #1

Jako że nie ma żadnych materiałów do tej technologi w języku polskim to postanowiłem kilka rzeczy potłumaczyć, a kilka sam napisać. A przy okazji utrwalić już zdobytą przeze mnie wiedzę.

Zacznę może od EaselJS, który wchodzi w skład pakietu CreateJS.

<!DOCTYPE html>
<html>
<head>
    <script src="http://code.createjs.com/easeljs-0.7.0.min.js"></script>
    <script>
        function init() {
            // twój kod.
        }
    </script>
</head>
<body onload="init();">
    <canvas id="demoCanvas" width="500" height="500">
        // dodatkowa zawartość 
    </canvas>
</body>
</html>

(więcej…)

Dzień 1. Projekt.

Każdy mój projekt zaczynam od tego, że sprawdzam czy już ktoś nie wpadł na podobny pomysł. Sprawdzam jakich technologii użyli, podglądam czego również mógłbym użyć w swoim projekcie. W końcu nie ma sensu wynajdować koła na nowo.

Jak to ostatecznie będzie wyglądać, sam nie mam dokładnego planu. Póki co z technologii, które planuje użyć to:

Three.js oraz Create.js do wyświetlania grafiki.

Three odpowiedzialny jest za wyświetlanie 3D, a Create 2D.

Jeszcze dokładnie nie wiem jak uda mi się to ze sobą sprawnie połączyć, ale będzie to nie lada wyzwanie.

Ewentualnie pójdę na łatwiznę i po prostu użyję tylko jednej technologii.

Do dźwięku zamierzam użyć Tone.js oraz Audiolib.js (więcej…)

Daj się poznać 2017

Bloguję już od jakiegoś czasu, a zaczynałem w 2010 roku z Pamiętnikiem Gitarzysty: https://pamietnikgitarzysty.wordpress.com/

Potem były inne, mniej popularne. Blogi artystyczne, matematyczne, o motywacji. Związane z fotografią… Ale mimo, że programuję od jakiegoś czasu, to nigdy nie miałem odwagi założyć takiego o tematyce programistycznej. Zawsze wydawało mi się, że mój kod jest brzydki. Widziałem kody źródłowe osób z internetu i porównując je z moim… się zniechęcałem.

Wydawało mi się zawsze, że jeżeli ktoś szuka informacji, to znajdzie je na StackOverflow, albo angielskich blogach, stronach, bądź forach. A ja? Mówiłem sobie, że wciąż jestem za słaby, aby pisać o programowaniu.

Ale od jakiegoś czasu czytam bloga http://devstyle.pl/ i słucham podcastów http://devtalk.pl/ i sobie pomyślałem… czemu nie?

Szczególnie jeżeli powstał taki konkurs jak „Daj się poznać”.

Poczytacie o nim tutaj: http://devstyle.pl/daj-sie-poznac/

Więc nie myśląc długo, wykupiłem hosting wraz z domeną i postanowiłem, że zacznę pisać w tej tematyce 🙂

Plany na przyszłość? Kilka. Na razie nie chcę o nich mówić, zobaczycie w trakcie. Póki co zamierzam napisać projekt konkursowy, a potem zobaczymy co dalej.

Stay Tuned!