Blog infomatyka z pasją poświęcony językom komputerowym

0

Zapraszam na blog infomatyka z pasją poświęcony językom komputerowym - C, C#, PHP, JavaScript, XML i CSS oraz technologii Ajax i DOM www.informatykzpasja.za.pl. Wpisy są napisane w prosty i przystępny sposób, więc może pomogą Wam na początkowym etapie nauki. Zapraszam :)

13

Przypomniał mi się 1995 rok.

6

1.Wygląd rodem z lat '90, jak wspomniał już @somekind - kalendarz, całkowicie nie-RWD itd.

2.DOM to raczej nie jest technologia.

3.Twoja strona od połowy roku 2015 ma 4.5k odwiedzin, a Ty już wciskasz tam reklamę? Skup się lepiej na treści Twoich postów, a nie na tym, jak zarobić (zwłaszcza że za.pl to hosting darmowy, więc prowadzenie tego bloga kosztuje okrągłe zero złotych :D).

4.Wszystko dałoby się nawet przeboleć, gdyby Twoje posty były ciekawe - a Ty w bardzo słaby sposób (brak akapitów, błędy stylistyczne, gdzieniegdzie niepoprawna interpunkcja itd.) opisujesz to, co każdy już wie bądź to, co już zostało lepiej opisane przez dziesiątki/setki/tysiące innych ludzi.

5.No i błędy merytoryczne, tak na pierwszy rzut oka odnośnie Twojego postu o goto:
5a. Pozwala ona [instrukcja goto] wykonywać skoki do różnych części programu - do różnych części aktualnej funkcji najwyżej.
5b. W tamtych [Basic, Fortan] językach nie było bloku else instrukcji sterującej if - nie dość, że poprawna nazwa języka to Fortran (tak, dwa r), dodatkowo to zdanie mija się z rzeczywistością (obydwa języki miały konstrukcję if), to na dokładkę pozostaje tylko zadać sobie pytanie w jaki sposób bezwarunkowy skok goto rekompensuje instrukcję warunkową? ;-)
5c. Występuje jednak jedna sytuacja, w której jej zastosowanie jest całkowicie uzasadnione – to wyjście z zagnieżdżonych pętli. - na ogół pętle nie powinny być zagnieżdżone per se - treść pętli wewnętrznej wraz z nią samą powinna zostać wydzielona do odrębnej funkcji, co niweluje konieczność użycia goto. Oczywiście są przypadki, gdzie goto widać co chwilę (patrz: źródło Pingwinka), lecz to jest inny kaliber ;-)

Inne perełki:

Wpis nr 50 (http://www.informatykzpasja.za.pl/index.php?wpis=50):
1.trzecią i ostatnią formą sterującą (...) - co to jest forma sterująca?
2. (...) w C i innych głównych językach programowania - co to są inne główne języki programowania i dlaczego akurat one?
3.Pozwala on [operator warunkowy] w możliwie najłatwiejszy sposób zareagować na zastane wartości. - tym zdaniem to w ogóle poleciałeś ;-) nie ma ono absolutnie żadnego sensu.
4.Występują w nim [operatorze warunkowym] trzy wyrażenia a mogą one składać się z danych (...) - z czego? danych? Co to znaczy, że coś jest daną?
5.funkcji z wartością zwracaną - funkcje z definicji zwracają jakąś wartość - na tym polega sens istnienia funkcji. + to zdanie sugeruje, że istnieje coś takiego, jak funkcja z wartością niezwracaną, co jest oczywiście bzdurą.
6.otrzymamy jeden, gdy da ono [warunek operatora trójargumentowego] prawdę i zero w przeciwnym wypadku - technicznie rzecz biorąc, to chyba działa tak, że otrzymamy zero w przypadku fałszu i cokolwiek innego (na ogół 1) w przeciwnym razie, ale tu niech wypowie się ktoś bardziej ogarnięty ;-)
7.jeśli pierwsze [wyrażenie] będzie pozytywne - prawdziwe. Ponieważ, choć pozytywne w sensie matematycznym wpasowuje się w działanie tego operatora, sensowniej jest trzymać się jednego nazewnictwa.
8.Dalej mamy dwukropek i trzecie wyrażenie realizowane wtedy (...) - co to znaczy, że wyrażenie jest realizowane?

Wpis nr 30 (http://www.informatykzpasja.za.pl/index.php?wpis=30):
1.Pobiera dane do wciśnięcia znaku Enter - co to jest znak enter?
2.Fajnie, że wspomniałeś przy okazji o buffer overflow - oh wait...

Wpis nr 15 (http://www.informatykzpasja.za.pl/index.php?wpis=15) - jezu trzymajcie mnie...

Wpis nr 14 (http://www.informatykzpasja.za.pl/index.php?wpis=14):
1.Im mniejsze urządzenie, tym większy font - tak, właśnie na tym polega tworzenie responsywnych UI.
2.W ogóle to całkiem zabawne pisać artykuły na temat RWD, samemu z niego nie korzystając ;-)

Wpis nr 13 (http://www.informatykzpasja.za.pl/index.php?wpis=13):
1.Czas więc na wprowadzenie typu char, czyli typu przeznaczonego do przechowywania znaków - oczywiście, wszak char przechowuje wiele znaków - wcale nie jeden.
2.Komputer nie rozumie nic oprócz liczb - w sumie to komputer sam z siebie nic nie rozumie w sensie świadomości.
3.więc w rzeczywistości typ char przechowuje kody dwójkowe - co to są kody dwójkowe i czy można się tym zarazić?
4.Te typ może przechować wszystkie znaki ASCII, których jest 127 - off by one, ASCII jest 128.
5.Często to nie jest wystarczająco - skoro mówisz często, podaj kilka przykładów na poparcie tezy (wikipedystyczne citation needed).
6.Skąd się wzięła litera A? Liczba 65 odpowiada literze A. Istnieją specjalne znaki sterujące w języku C - oto one - w jednym zdaniu piszesz, że no liczba 65 odpowiada literze A, po czym kompletnie zlewasz wytłumaczenie dlaczego tak jest, i mówisz coś o jakichś znakach sterujących, robiąc całkowitą wodę z mózgu potencjalnemu biednemu czytelnikowi.


Reasumując: ucz się, młody, ucz - na własne blogi przyjdzie czas, gdy już będziesz miał coś wartościowego do przekazania, a nie takie voodoo i woo science ;-)

0

Dobra, przejrzałem wszystkie wpisy, oto moje spostrzeżenia. Zaczynając od samego bloga:

  • podoba mi się to, że blog działa bez JS
  • nie podoba mi się zupełnie nieczytelna czcionka tytułów wpisów
  • brak tytułu wpisu w tytule
  • brak RSS
  • brak strony "o autorze"
  • w momencie gdy czytałem, na liście wpisów część miała "Odwiedzin: 0". Aż mi się smutno zrobiło
  • trochę ironiczne jest pytanie "Jakieś pytania?" na blogu bez systemu komentarzy ok, komentarze wymagają JS, z wyłączonym jest zero jakiegokolwiek info na ten temat.

Teraz odnośnie samych treści:

  • Akapit - przestudiować pojęcie i używać
  • Akapit - przestudiować pojęcie i używać
  • Akapit - przestudiować pojęcie i używać
  • spacje w kodzie też polecam
  • język imo średnio przystępny

Merytoryka:

  • żadnych większych błędów nie widziałem (poza "Pamięć komputera zapisuje te liczby w dwóch częściach - matryca, czyli część główna oraz jej przesunięcie dziesiętne.")
  • poziom wpisów jest bardzo podstawowy - wszystko co na blogu widziałem wrzuciłbym do kilku pierwszych lekcji jakiegoś tutoriala C. Dość dogłębnie jak na taki tutek opisane, ale jednak to same podstawy.
  • edit: czytając posta @Patryk27 jednak trzeba zauważyć, że drobnych błędów/niedokładności jest sporo.

Podsumowując: nie wątpię w pasję, gratuluję zawziętości. Wątpię w przydatność przedstawianych treści dla kogokolwiek, ale mogę się mylić, a grubych błędów merytorycznych nie widziałem, więc nie ma ryzyka zrobienia większej krzywdy.

0

@xpeye
To może Cię zainteresować btw: http://devstyle.pl/daj-sie-poznac/

1

Pod względem merytorycznym nie będę się wypowiadał bo pewne uwagi (słuszne lub nie - nie czytałem) już dostałeś. Natomiast estetyka strony po prostu leży. Nie myślałeś może zeby skorzystać z gotowych rozwiązań typu wordpress czy z serwisu typu blogger.com? Byłoby chyba prościej, szybciej i lepiej.

Jeżeli natomiast chcesz już koniecznie oprzeć się o własne rozwiązanie to może warto byłoby skorzystać z czegoś takiego jak bootstrap (link: http://getbootstrap.com/)? Bootstrap zawiera w sobie pewne gotowe style dzięki którym Twój blog zyska na atrakcyjności wizulanej. Za pomocą tego frameworka możesz też dostosować bloga do urządzeń mobilnych. Dodam, że wdrożenie bootstrapa to nie jest jakas wielka filozofia.

0

@Patryk pozwól, że odniosę się do Twoich merytorycznych rewelacji
Ad. 1. Kalendarz jest RWD – zobacz na smartfonie lub tablecie
Ad.2. Licznik dopiero od 9 stycznia liczy wejścia na każdy wpis - tak to liczył tylko na głównym
Ad.5a. Spójrz na książkę Stephena Prata „Język C. Szkoła programowania. Wydanie V” s. 300 akapit 2
Ad.5b. Literówka to mój błąd, ale o else spójrz na książkę Stephena Prata „Język C. Szkoła programowania. Wydanie V” s. 299 punkt 1
Ad.5c. Spójrz na książkę Stephena Prata „Język C. Szkoła programowania. Wydanie V” s. 300 akapit 3
Ad.Wpis 50.1. if, switch i operator warunkowy
Ad.Wpis 50.2. C#, C++, Java, PHP
Ad.Wpis 50.3. Łatwiejszy od if i switch
Ad.Wpis 50.4. Zmienna, stała lub literał
Ad.Wpis 50.5. Jest - spójrz na książkę Stephena Prata „Język C. Szkoła programowania. Wydanie V” s. 348 akapit 1
Ad.Wpis 50.6. Przyznałeś mi rację
Ad.Wpis 50.7 i 8. Z uwagi na powtórzenia
Ad.Wpis 30.1. Czepiasz się
Ad.Wpis 14.2. Korzystam na innych stronach
Ad.Wpis 13.1. Spójrz na książkę Stephena Prata „Język C. Szkoła programowania. Wydanie V” s. 89 akapit 3
Ad.Wpis 13.4. Mój błąd
Ad.Wpis 13.6. Napisałem na początku wpisu, że znak to tak naprawdę liczba, więc czepiasz się

@hq Ad.Merytoryka.1. Mój błąd - literówka
Licznik dopiero od 9 stycznia liczy wejścia na każdy wpis - tak to liczył tylko na głównym

0

na plus, że nie wordpress, jak dla mnie jeśli nie masz kreatywnego zmysłu to użyj jakiegoś frameworka css, który od razu ci ostyluje layout z rwd i finał, po co się szarpać z surowym kodem :)

0

Kalendarz jest RWD – zobacz na smartfonie lub tablecie

No tak - kalendarz to najważniejsza część strony :D

Ad.Wpis 50.1. if, switch i operator warunkowy

Moje pytanie było retoryczne ;-) Nie chodzi o to, abyś wymyślał własne pojęcia w stylu forma sterująca, tylko wykorzystywał już istniejące.

Ad.Wpis 50.2. C#, C++, Java, PHP

To także było pytanie retoryczne, ale skoro już poruszyłeś: dlaczego akurat takie? Dlaczego nie ma tam Pythona, SQL, R, Ruby, Haskella (...)?

Ad.Wpis 50.3. Łatwiejszy od if i switch

Co to znaczy, że jest łatwiejszy? Po prostu inna składnia, tyle.

Ad.Wpis 50.4. Zmienna, stała lub literał

Nadal wracamy do: nie chodzi o to, abyś wymyślał własne pojęcia, tylko wykorzystywał już istniejące.

Ad.Wpis 50.5. Jest - spójrz na książkę (...)

Nie ma, ponieważ nie ma to po prostu sensu. Jeśli tak jest napisane w tej książce, także jest to bzdura.

Ad.Wpis 50.6. Przyznałeś mi rację

Nieprawda.

Dalej nie czytam, ponieważ mija się to z celem.


Naprawdę, trochę pokory, własnego myślenia i więcej riserczu.

0

Sam poruszyłeś temat kalendarza
Główne języki to takie, które każdy zna – ile zna Pythona a ile C++
To są istniejące pojęcia a poza tym każdy blogger ma swoje ozdobniki
Jeśli mam się uczyć od Ciebie albo od profesora, to wybieram profesora
Polecam lekturę książki :) A system komentarzy jest oparty na Ajax :)

0

Strona wygląda trochę gorzej niż mój pierwszy blog z ok. 1997r.

  1. Wygląd:
    Mógłbym długo wymieniać wady, ale to tak jakby krytykować rower za to że się nie sprawdza na autostradzie.
    Zamiast tego co proponuję to poszukać istniejącego szablonu ("free css html template") i zastosować.
    Przygotuj się na cały dzień szukania - ale warto. Będzie wyglądać z 10x lepiej.

Podświetlanie składni można zrobić samemu (tzn. wpleść w szablon odpowiednią wtyczkę JS).
Podobnie z kalendarzem.

  1. Struktura
    Treść nie ma żadnej struktury. Rozdzielają ją tylko kody.
    Polecam zastosować akapity, wypunktowania, odnośniki.
    Najłatwiej z użyciem Markdown.

Syntax:

Tekst przygotowujesz w formacie Markdown (wygodniejszy w edycji) i potem konwertujesz do HTML.
Hasło: "markdown to html converter", odpowiedź np.: https://github.com/cwjohan/markdown-to-html

  1. Zawartość infrastrukturalna
    Czas utworzenia posta co do sekundy jest przesadą dla mnie.
    Licznik odwiedzin przejadł się tak gdzieś ok. 2000r.

Uwagi do treści technicznych już dostałeś. Szczerze mówiąc bez poprawienia 1 i 2 nie chce się czytać tej zupy słów.

0

Kilka moich uwag:

  1. Jaki jest sens tego kalendarza? Czemu miałoby być dla mnie istotne to w jakie dni pisałeś artykuły? Pomijając to, że można go by było zrealizować przy użyciu JS, bez odświeżania strony przy zmianie miesiąca.
  2. Nie widzę sensu w stosowaniu PHP, strony statyczne (możesz napisać generator w dowolnym języku) + może jakiś Disqus do komentarzy byłyby dużo lepsze. Bardzo dobrym przykładem jak to można zrealizować jest blog Li Haoyi.
  3. Marna i niespójna estetyka strony, ja bym postawił na minimalizm i normalne czcionki.
  4. Ogólnie artykuły dość słabo tłumaczą dane elementy języka, np. w przypadku instrukcji goto, co mnie obchodzi jego historia? Czemu od razu mówisz że nie powinno się ich stosować? Jakie są sytuacje kiedy powinno, a jeśli nie ma takich to po co w ogóle o nich pisać?
  5. Formatowanie kodu też jest słabe np. wyrażenie: if(i==5&&j==4&&k==3) dużo lepiej można by zapisać w postaci: if (i == 5 && j == 4 && k == 3).
  6. Kod w tle nagłówka strony też nie robi wielkiego wrażenia i tylko niepotrzebnie rozprasza uwagę.
0

Ja bym jeszcze dodał, że blog to nie jest książka, nie czyta się go strona po stronie, więc przydałaby się jakaś lista wpisów, kategorie, tagi, cokolwiek do nawigacji.

0

Ciężko mi ocenić treść, gdyż większość tematów jest o C (nagłówek myli: o JavaScript, CSS, AJAX i DOM bardzo niewiele jest).

Chociaż wszedłem w 2 tematy o JS i muszę stwierdzić, że:
http://www.informatykzpasja.za.pl/index.php?wpis=17
http://www.informatykzpasja.za.pl/index.php?wpis=15

  1. brak rozsądnych akapitów. Długie bloki tekstu zniechęcają skutecznie do czytania.
  2. brzydki kod.
    • Powtarzające się kawałki kodu jak np. listaMenu[i].style czy document.getElementById("listaMenu") można by wydzielić do osobnej zmiennej
    • Brak spacji między znakami = czy + sprawia, że czyta się to ciężej
    • używanie zmiennych globalnych bez wyraźnej potrzeby
  3. trochę to przekombinowane, sam pomysł tworzenia takich konstrukcji w JS do ustawiania wielkości fontów.
0

Formatowanie to sprawa indywidualna każdego programisty - ja od zawsze nie lubię spacji tam, gdzie jej nie potrzeba. Co do akapitów, to treść często jest na tyle krótka, że one są zbytecznie. A kolory - na świecie jest 6 miliardów ludzi i tyle samo gustów, więc każdy zastosuje inne

0
xpeye napisał(a):

Formatowanie to sprawa indywidualna każdego programisty - ja od zawsze nie lubię spacji tam, gdzie jej nie potrzeba. Co do akapitów, to treść często jest na tyle krótka, że one są zbytecznie. A kolory - na świecie jest 6 miliardów ludzi i tyle samo gustów, więc każdy zastosuje inne

To o czym piszemy to nie jest kwestia gustu. Gdyby to polegało tylko na guście czy lubieniu to w zasadzie można by skończyć na pierwszej odpowiedzi.

0
somekind napisał(a):

Przypomniał mi się 1995 rok.

słabo, mnie jak zobaczyłem "goto" przypomniał sie 1984

0

A ja jak zobaczyłem "1984" to przypomniał się Orwell.

2
LukeJL napisał(a):

A ja jak zobaczyłem "1984" to przypomniał się Orwell.

1984 to też:

0

40zl za 1000 wyswietlen malutkiej reklamy? Nie dostałbys nawet 40gr za to male miejsca na takim "blogu"

1

@xpeye

na zarzut merytoryczny szukalbym kilku przypisow i kilka zrodel. Na pewno bym nie odpisal popatrz sobie w ksiazke poniewaz osoba, ktora zarzuca blad merytoryczny moze takiej ksiazki nie miec. Np mogles napisac cytat.

I zarzut 5a jest jak najbardziej na miejscu. Niestety, z braku Twojej wiedzy nie rozumiesz posta @Patryk27. Zdanie w tej formie jakie jest. Jest po prostu mylace. Daje wrazenie, ze z maina moge sobie skoczyc do innego watku ktory jest obslugiwany przez inna funkcje. Takze tam masz niedopowiedzenie

5c rowniez jest na miejscu. Ale tutaj z kolei brakuje Ci doswiadczenia z praca z kodem ktory jest duzy. Polecam Ci jedna ksiazke Czysty Kod Martina.

0

Akurat 5c jest wyjęte z książki,, która jest bestsellerem, więc akurat tutaj jestem usprawiedliwiony. A 5a i np. znak Enter poprawiłem. Jeśli chodzi o spacje też je wprowadziłem, ale tylko w logicznych i for - chciałem zaoszczędzić niepotrzebnego stukania w klawisze. Jeśli chodzi o responsywne menu, to zmienne globalne powodują, że one nie są tworzone kolejny raz przy wywołaniu funkcji - to napisałem w opisie. A listaMenu[i].style jest tylko w for. Jeśli za każdą iteracją miałbym przypisać ją do zmiennej, to bardziej spowolniłoby JS

1

"Chciałem zaoszczędzić niepotrzebnego stukania w klawisze." I to pisze informatyk. Zacznij używać IDE np. CLion? Użyj sed, lub znajdź/zamień w pierwszym lepszym notatniku?

"Akurat 5c jest wyjęte z książki,, która jest bestsellerem, więc akurat tutaj jestem usprawiedliwiony", podasz tytuł, cytat?

"Jeśli chodzi o responsywne menu," Responsywne, czyli gdy wejdziesz na smartfonie lub w przeglądarce na monitorze 4K to będdzisz i tu i tu mógł je kliknąć. I to głównie sprawa CSS :D

0

Tyle pisaliście o goto, że zamieszczam Wam skan z książki - może wtedy uwierzycie. A drugi jest o typie char - tam słowo "znaków" naprawdę istnieje. Jeśli chodzi o responsywne menu, to napisałem w pierwszym zdaniu, że sam CSS, przedstawiony wpis wcześniej, nie wystarczy i wyjaśniłem dlaczego

0

Ustalmy jedno - na początku programowania to "goto" po prostu trzeba się nauczyć.
Choćby po to żeby rozumieć stare programy.
"goto" było też nieodzowne w czasach 8-bitowców.
"goto" stosuje się też właśnie przy programowaniu niskopoziomowym żeby zaoszczędzić na zmiennych i operacjach na stosie w niektórych językach.

To że goto nie należy nadużywać to rzecz którą trzeba wiedzieć, ale nie koniecznie trzeba tym od razu machać jak maczetą przy poznawaniu tej instrukcji.
Zwłaszcza że w Javie spokojnie można wyskoczyć z dwóch pętli przez break, w C - albo trzeba użyć goto albo dodatkowych flag.
I nie mówcie że nie piszecie kodu który ma podwójne pętle, bo to gadanie na pokaz (albo the-one-and-only JEE).

Edit: korekta - Java ma goto, ale nieużywane.
Znalezione przy okazji:

1

Pętle podwójne - chyba tylko w skrypcie pisanym na kolanie... Tak normalnie to nawet pojedynczych pętli nie bardzo.... (w Javie? -sorry ale tak skomplikowanych algorytmów to ja normalnie nie piszę :-) - (chyba, że gdzieś po kimś łatam, albo borykam się z niespójnym API javowym).
Przykład: tu masz sieciowego Ponga w javie (REST server). https://github.com/javaFunAgain/lagomPong
Trzasnąłem go na prezentacje - bo oryginalny speaker, który miał prezentować nie dotarł. Poszukaj a: pętli podwójnej, b : jakiejkolwiek pętli, c: zmiennej (czyli czegoś co nie jest effectively final). PONG - jako, że coś tam się dzieje i rusza ma i tak więcej logiki niż typowy kod biznesowy :-)

0

@jarekr000000: No właśnie o tym pisałem. Może powinienem tylko rozszerzyć zakres z JEE na "java biznesowa". Pewnie Cię nie zaskoczę, ale Javę ludzie też (bardzo często jak się spojrzy na liczbę publikacji) używają do algorytmów.

1

Akurat regularnie poprawiam z kolegami na review kod, kóry ma podwójne pętle, ify w ifach, flagi itp. . Jest to kod biznesowy w javie. I tak - niczego takiego nie potrzebuje.
Jeden kolega namiętnie przerabia całe takie metody potem na onelinery :-).
Może ktoś ma jakieś zagadnienia gdzie pętla w pętli jest najczytelniejszym zaprezentowaniem algorytmu. Ale po prawdzie
najczęściej spotykam się z break, pętlami zagnieżdżonymi w kodzie gości co po prostu jeszcze się nie nauczyli programować lepiej niż standard C w latach 90-tych.

3

Masz swoją stronę, to coś. Ja muszę przyznać, poszedłem na łatwiznę, wrzucam po prostu wpisy na googlebloggera , kod na github, a do wklejania snippetów używam jakiejś stronki lub robię całe wpisy jupyter noteebook - u . Ale za to mam więcej czasu na medytowanie nad wpisami ;)

[CIACH!]

1 użytkowników online, w tym zalogowanych: 0, gości: 1