Autor: admin

  • ZESZYCIK TO PODSTAWA CZYLI DLACZEGO WARTO PROGRAMOWAĆ NA PAPIERZE

    Czy znacie powiedzenie „mistrz mylił się więcej razy niż początkujący próbował”? Bardzo adekwatne. Nikt nie wie wszystkiego dzięki talentowi. Większość umiejętności i wiedzy zdobywa się dzięki pracowitości. Najważniejsza jest konsekwetna kierunkowa nauka. Musisz znaleźć w tym wszystkim najlepsze sposoby nauki dla Ciebie. Mówi się że najlepiej zapamiętuje się przez palce na klawiaturze. Dla biegłości warto jednak notować programowanie na kartce papieru wtedy jest szybciej i łatwiej. Na wielu uczelniach egzaminy z programowania odbywają się na kartce A4. Jest to wg mnie zrozumiałe podejście bo skoro musimy być biegli nie powinno nam robić różnicy czy robimy to w IDE czy po prostu umiemy to zawsze i wszędzie. Polecam te metodę nauki zaoszczędza czas i sprzyja koncentracji.

  • VIDEOARBITER.COM SCREENY CZYLI JESZCZE NAWET DOBRZE NIE ZACZĄŁEM A JUŻ WIEM ŻE BĘDZIE CIĘŻKO

    Ogólnie mówiąc mam wersje beta 0.1 . Niestety wysypały się wyniki na livie w skrócie działają zbyt wolno. kod liczy jakieś 2000 lini. Większość napisał za mnie asystent Google Jules. Ale w możliwie najszybszym tempie nadrabiam zaległości o node i websocketach żeby samemu modyfikować kod. Jest bardzo dużo optymalizacji wydaję mi się ona bezzasadna. Moje api przy odświeżaniu co 30 sekund może obsłużyć kilkadziesiąt tysięcy użytkowników. To duży plus. Gorzej wygląda to czasowo.

    Sekcja live wczytywała się 5 minut a powinno maksymalnie w 30 sekund a wogóle myśląc logicznie w 2 sekundy. Niestety nie wiem jak to poprawić. Podobnie wygląda sprawa statystyk pojedyńczych meczy. Dla niektrych po prostu nie ma danych ale to już nie jest takie dziwne biorąc pod uwagę zbiór danych. Cały czas walczę bez użycia baz danych. Tak nie jest to aplikacja webowa bazadanowa.

  • RELACYJNE BAZY DANYCH CZYLI JAK OKIEŁZNAĆ SQL

    Pamiętam moje pierwsze przesłuchanie o pracę. Dostałem pytanie o normalizacje jakie znam i czemu służą? To zostawiam wam do przeczytania. Kompozycja bazy danych uwzlędniająca normalizacje jest kluczowa. Ale HALO skoro jest kompozycja to jest też dekompozycja niezbędna niekiedy w optymalizacji bazy. Kolejne pytania jakie dostałem to zapytania SQL – były dość proste – pomyślałem „mam te prace”. Pracę dostałem ale końcowa rozmowa o zapytaniach skończyła się przeze mnie tekstem „ID robię tylko where ach” . Duży błąd. Przy projektowaniu bazki można dojść do 100% wprawy wystarczy znać podstawowe wzorce i antywzorce i można samemu modelować relacyjną bd. Najpierw model konceptualny potem fizyczny. Nie wolno nam zapomnieć o podejściu ORM. Obiektywno Relacyjne modelowanie gdy mamy dobrze zaprojektowaną baze oszczedza mnóstwa czasu i energi. Kolejnym aspektem jest proceduralny SQL. Wiele systemów stoi na logice bazodanowej. Tak proceduralny SQL jest niezbędy. Trzeba tylko dobrze commitować bo można wysadzić w powietrze cały system. Fajną zajawką jest też migracja z jednego silnika bazodanowego na inny. np. z mysql na postrgesql czy mssql na oracle. Można sporo się nauczyć dzięki temu. Na wielkich zbiorach danych trzeba także umieć optymalizować zapytania – trzeba robić naprawdę sprawnie. Doskonałym punktem wyjścia w wiedzy o bazach danych jest informacja że Baza Danych jest Solid czyli Stała to troche zestaw plików pełnych treści dostępnych w język SQL po stronie serwera lub w rozproszeniu. Polecam wam bardzo praktyczną książeczke.

  • DLACZEGO NODE JEST FAJNY

    Node to stosunkowo nowa technologia biorąc po uwagę pozostałe. Jej największą zaletą jest możliwość korzystania z obsługi HTTP i WebSocket jednocześnie. Za pomocą żądań HTTP dostarczamy pliki statyczne HTML, CSS i kod JavaScript a dzięki WebSocket umożliwiamy komunikację w czasie rzeczywistym. Za sprawą biblioteki Socket.IO możemy napisać np. czat czy każdą aplikację korzystającą z API zewnętrznego. Wszystko to za sprawą serwera Node. Do programowania po stronie serwera Node używa V8, czyli maszyny wirtualnej JavaScript stosowanej w przeglądarce Google Chrome. Silnik V8 zapewnia Node ogromną wydajność, ponieważ eliminuje wszelkich pośredników oraz preferuje kompilację w rodzimym kodzie maszynowym, zamiast wykonywać kod bajtowy za pomocą
    interpretera.

  • NIE GADAJ OGÓLNIKAMI DAWAJ VIETE’A – CZYLI DLACZEGO CAŁKI TO GRAMATYKA POJĘĆ

    Rachunek różniczkowo całkowy możemy rozumieć jako szczegół i uogólnienie jak nazwa wskazuje – analiza matematyczna – mamy do czynienia z analizą funkcji. Konsekwencją tego jest uogólnienie programowania do tworzenia transformacji danych nawet w sensie abstrakcyjnym (czyli na przykład widoku). Większość znanych transformat które spotykamy w matematyce opiera się na całce – „uogólnieniu”. Przykładem takich wniosków może być że skoro przyrost pola jest konsekwencją to konsekwencja jest całką. Innym przykładem broniącym mojej tezy jest to że całke zawsze możemy rozbić na mniejsze operatory. Całka jest ich naczelnym określającym zbiór zasad. Skoro możemy całke rozbić na mniejsze operatory to możemy ją też złożyć z mniejszych operatorów w myśl definicji całki Riemanna. Złożenie informacji jako analogia do pisania do algorytmów w programowaniu z małych klocków. Podobnie możemy nadawać priorytety całek w gramatyce pojęć zanim sięgniemy po operatory z których się składają. Czyli całka jest operatorem – rozkazem – operujemy na pojęciach dzięki niej zarówno w matematyce jak i języku polskim.

    Jeśli jeszcze nie rozumiesz mojego podejścia wyobraź sobie dwa modele językowy i matematyczny

  • VIDEOARBITER.COM SCREENY

    Trochę to potrwa….

  • NODE I EXPRESS CZYLI SPEŁNIENIE SNU O ASYCHRONICZNYM PROGRAMOWANIU

    Pisałem niedawno o fullstack. No to mam okazję się sprawdzić. Będę się dziś i w najbliższej przyszlości uczył node i express. Znam trochę angulara i jquery liczę że dzięki temu pójdzie szybko. Hmmmm przede wszystkim na potrzeby Rest i Websocketów oraz frontu w single page application. Mam już część kodu napisanego przez jules. Bez żadnych szkieletów cała logika mieści się w dwóch oskryptowanych plikach java script. Zależy mi bardzo żeby moja apka była skalowalna. Nie korzystam z bazy danych. Wszystko jest na interakcji websocketów z api. Mam 75 000 requestów dziennie do zużycia. W przyszłości oczywiście zamierzam zaprojektować i zbudować bazę danych z mojego api. No to dzieła.

  • JULES JULES CZYLI GOOGLOWSKI ASYSTENT PROGRAMOWANIA

    Mam przyjemność testowania Googlowskiego Asystenta Programowania o nazwie JULES. Spędziłem razem z nim jakieś 20 godzin nad witryną videoarbiter.com i api-football. W skrócie? Zaoszczędził mi 2 miesiące pracy. To przełom. Narazie mam ograniczenie do 5 tasków dziennie z tego tytułu że nie płacę ani złotówki. Ale na jeden task system poświęca jakieś 2 godziny. ChatGPT wydał w tym samym czasie asystenta Codex. Niestety nie mam możliwości przetestowania go bo kosztuje około 250 Euro miesięcznie. Po udostępnieniu nazwy api JULES przygotował dla mnie szablon strony. Zaprogramował dla mnie WebSockety i przeliczył liczbe requestów na wszystkich użytkowników. Bardziej skomplikowanie odwołania do API takie jak statsy drużyn musiałem precyzować z API dokumentacji. Obecnie spróbuje żeby przygotował dla mnie prototyp UX strony. O wszystkim was poinformuje. Dodam że system współpracuje w czasie rzeczywistym z GITHubem. POLECAM!

  • FULLSTACK CO TO

    Fullstack developer. W skrócie programista obsługujący cały stos technologiczny czyli backend i frontend a także całą inżynierie oprogramowania i raporty oraz ciągłe dostarczanie oprogramowania. W pewnym sensie jest to stworzone stanowisko dla wielu informatyków, którzy nie często od początku kariery specjalizują się w jednej technologi. Osobom, którym łatwo przychodzi nauka stosu technologicznego praca taka powinna sprawiać największą przyjemność. Ja powiem tak: technologie mnie prześcignęły po drugie nigdy nie byłem grafikiem. Z drugiej strony medalu od lat nie ukazują się nowe frameworki zdobywające popularność. To powoduję że trud włożony w klasyke oprogramowania nie poszedł na marne. Kiedy byłem na studiach lata 2005-2007 świat nie słyszał o nierelacyjnych bazach danych jenkinsie czy androidzie. Większość dyskusji na temat programowania wiązała się z tematem czy długo się będzie uczyć javy jeśli znamy php ( często nawet nie php5). Google słynęło wyłącznie z wyszukiwarki a Java nie należała do Oracle. Obecnie mamy do czynienia z systemami wersjonowania bazy danych frontendem SPA. Czy robakami sieciowymi pisanymi wyłącznie dzięki komunikacji REST. Wydaję się że teoria gier zostanie dociśnięta do maksimum dzięki sztucznej inteligencji. Na pewno sztuczna inteligencja zmieni świat jaki znamy. Jako osoba, która programuje nie od dzisiaj mogę na 99% stwierdzić że sztuczna inteligencja nawet jeśli wprowadzi unikalne narzędzia programistyczne nie zastąpi produktu w sieci – usługi i jej monetaryzacji – a więc jest to najlepsza wiadomość z możliwych. Wzrośnie konkurencja ale będą powstawać nowe lepsze produkty. Zamknięcie w świecie cyfrowym w mniejszym stopniu będzie wiązało się z e-autyzmem a bardziej w najdoskonalszej formie rozwoju osobistego.

  • 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