BLOG O KOMPUTERACH

  • NOWY MONITOR

    Jeśli ktoś lubi pracować wygodnie prędzej czy później zdecyduje się na dwa ekrany. Ja zaszczyt nabycia nowego Samsunga miałem dzisiaj. Szczytny cel bo chcę w najbliższej przyszłości skupić się na videokursach. 27 cali HD Ready RTV Euro AGD – kupowany w pośpiechu w ciągu 5 minut – kosztował 620 zł. Spełnia swoje cele – szanuje mój wzrok i umożliwia korzystanie z dwóch ekranów roboczych. Jeśli ktoś lubi oglądać filmy czy grać w gry również niezbędna rzecz. Ogólnie od jakiegoś czasu obserwuje się tręd pracy na 3 ekranach – z różnych powodów nie będę nawet tego testował. Po serii przygód na górze widzicie moje środowisko pracy. Mam teraz czas między 15 a 22 godziną. Wstaje o 6 rano. Liczę że na blogu wreszcie zaczną się pojawiać ciekawsze artykuły. Może nie modele fraktalne w sieciach neuronowych ale na pewno szczegóły jak osiągnąć sukces w programowaniu. To tyle.

  • UBUNTU PIERWSZE STARCIE

    Po zainstalowaniu linuxa warto połączyć się z siecią. Ja zaczynam od instalacji LibreOffice IntelliJ Idea PHPstorm VS code oraz Notepad++. Wcześniej sprawdziłem czy wszystko dobrze z partycjami wpisując w terminalu polecenie sudo fdisk -l. Kolejną rzeczą jaką postanowiłem zrobić modyfikacja plików bashrc oraz bashprofile aby dostosować konsole do naszych potrzeb. Do tego wrócimy. Myśląc pragmatycznie zastanówmy się co może nam sprawić trudności. Na pewno uprawnienia i zarządzanie plikami. Zakładam jednak że jesteś jedynym użytkownikiem systemu – problem z głowy. Na pewno kolejnym problemem może być edytor w konsoli. Zakładam, że nie umiesz vim a już na pewno chcesz włączyć w nim obsługę myszy. Możesz się zdecydować również na emacs lub po prostu mcedit. Z fajnych narzędzi developerskich postanowiłem zainstalować również GitKraken. W skrócie będziemy potrzebować jeszcze licencji na IDE Jetbrains. Zdecydowałem się wykupić pełną licencję w rozliczeniu miesięcznym. Przydaje się – większość tutoriali javoskich – na helionie czy udemy jest obecnie prowadzona w IntelliJ Idea.

  • LINUX NA KOMPIE

    OK dzisiaj powiemy po co i dlaczego stawiamy pierwsze kroki w linuxie na bazie Ubuntu wersja 24.02.2 LTS.

    W skrócie musimy zrobić partycje pobrać obraz iso odpalić rufus do zrobienia bootowalnego dysku i możemy cieszyć się z instalacji systemu Unix. Pytanie – po co?

    Otóż znajomość systemów unixo-podobnych jest wg mnie jednym z podstawowych narzędzi każdego informatyka a w szczególności programisty.

    Nie chodzi tylko o to że jest bezpieczniejszy i bardziej wydajny.

    Jest na pewno Open Source – darmowy.

    Wiele narzędzi developerskich jest rozwijanych pod linuxem.

    Większość serwerów webowych stoi na linuxie.

    Jest tym co nie każdy umie a więc skillem który nas odróżnia.

    Z punktu widzenia opłacalności jego infrastruktura jest darmowa.

    Ważne jest aby umieć dostosować go do naszych potrzeb – czyli niezbędna na początek nam będzie znajomość aplikacji biurowych na linuxa oraz pliki profilowe ustawień terminala.

  • SIECI NEURONOWE I SPORT

    Podzielę się z wami jednym z moich pomysłów. Czekając aż rynek zaleją proste systemy eksperckie w tym dotyczące statystyk sportowych – postanowiłem zrobić amatorską ( wolniejszą ) stronę w stylu wyników sportowych i analiz statystyk. Wykupiłem więc domenę http://videoarbiter.com . Przeanalizowałem dostępne API REST. Wybrałem Angular(SPA) na front i PHP na backend. Moim pragnieniem jest żeby strona odróżniała się bardziej precyzyjnym algorytmem uczenia maszynowego niż konkurencja( jeśli wogóle taka istnieje ) prognoz wyników. Wszystko jasne. Nie dokońca. Dałem sobie 3 lata na ukończenie projektu – mimo że ChatGPT twierdzi że w pojedynkę da się to zrobić w rok.

  • SIECIE NEURONOWE

    Sztuczna inteligencja – dodam że to dziedzina której dopiero się uczę. Możecie pouczyć się ze mną. Sztuczna inteligencje w ujęciu sieci neuronowych i uczenia maszynowego. Sieci neuronowe i uczenie maszynowe to nic innego jak modele matematyczne w dodatku nie aż tak skomplikowane jak by się mogło wydawać.
    Nie przemawia to jednak do mnie i swoją przygodę z uczeniem maszynowym rozpocząłem od podręcznika który praktycznie nie używa matematyki. Skupmy się na najważniejszych pojęciach takich jak : dane treningowe wagi gradient funkcja aktywacji wektory macierze średni błąd kwadratowy prognozy wejście wyjście warstwy. Będziemy razem pisać prostą grę logiczną, w którą będzie za nas grać sieć neuronowa. Jedyny znak zapytania
    jaki pojawia się u mnie na chwile obecną to dane treningowe i ich generator. Jest to dla mnie nowość także nie śpieszmy się. Na chwilę obecną skłaniam się aby generator danych treningowych oceniał stan gry i końcowy wynik a nagrody za ruch przyznawane były algorytmem minmax.

  • ROZKŁAD NA UŁAMKI PROSTE

    Jest to wiedza której moim zdaniem powinni uczyć już w szkole średniej. Rzadko ćwiczona na zajęciach na studiach. Niezbędna w rozwiązywaniu całek w postaci ułamków złożonych. Zacznę dziś od podyktowania zadań do samodzielnego rozwiązania.

    Odpowiedzi w kolejnych postach.

  • DZIELENIE WIELOMIANÓW

    Dzielenie wielomianów jest niezbędne przy obliczaniu całek a także rozkładzie ułamków na ułamki proste. Zapraszam na przykład niezbędny w zrozumieniu zagadnienia.

    Wykonaj dzielenie pisemne wielomianów:

    Całe działanie wygląda tak:Wielomiany podzieliły się bez reszty.
    Zatem dzieląc wielomian 3^3−5^2−2x przez wielomian x^2−2x otrzymujemy wielomian 3x+1.
    Możemy zapisać:

    3x^3−5x^2−2x=(x^2−2x)⋅(3x+1)

    Całę metodę wykonania tego rachunku przedstawiam poniżej:

  • MATEMATYKA INŻYNIERSKA

    Czym jest matematyka inżynierska? To nic innego jak praktyczne umiejętności. O tym będę pisał w blogu. Trudne i zawiłe elementy przedstawię krok po kroku. Skupimy się na analizie matematycznej jako narzędziu innych działów matematyki. Wszystko to co każdy programista powinien wiedzieć. Od rozwiązywania rekurencji po dzielenie wielomianów macierze całki transformaty Laplace i Fourier. Wiedza ta jest niezbędna na potrzeby sztucznej inteligencji algorytmiki statystyki.

  • POPULARNOŚĆ ALGORYTMIKI W JAVA

    Java jest językiem obiektowym. Zwykle ścieżka programowania wiedzie poprzez algorytmy w C++/C co umożliwia szybszą naukę nowych języków. Niestety większość znasz nie używa frameworków C++ w związku z czym przesiadka na inny język wiążę się z nauką inżynierii oprogramowania od zera. Idąc tym tropem mam na myśli, że nasz czas pochłonią frameworki(np. Spring i Hibernate). Będziemy musieli sięgnąć po system kontroli wersji (np. Git i Svn). Nauczyć się wzorców projektowych(np. GoF) a także sięgnąć po praktyki programistyczne (np. SOLID). Większość czasu poświęcimy na programowanie obiektowe i jego wymagania biznesowe – jak również na połączenie systemów z bazą danych. Gdzieś daleko w tym świecie może zostać rzeźbiona przecież algorytmika zaczerpnięta z C++. Nawet jeśli doskonale znaliśmy STL mało prawdopodobne że od razu osiągniemy satysfakcjonujące rezultaty w JAVA.

  • WITAM NA MOIM BLOGU POŚWIĘCONYM PROGRAMOWANIU

    Podstawowe tematy jakie będę poruszał to:

    1.struktury danych w JAVA

    2.sztuczna inteligencja

    3.unix czy windows

    4.matematyka inżynierska

    5.inżynieria oprogramowania

    6.popularne frameworki