Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [BLOG] Moj blog na temat front end developmentu do oceny
dufia
post 28.11.2013, 23:01:18
Post #1





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 27.02.2010

Ostrzeżenie: (0%)
-----


Hej!

moj blog [zmoderowane]

Jakis czas temu rozpoaczalem nauke web developmentu, wtedy postanowilem, ze zaloze sobie bloga i bede tam wrzucal jakies ciekawe linki, czasami sam cos naskrobie. Ostatnio zrobilem spory update i pomyslalem, ze wrzuce gdzies link zeby to komus pokazac smile.gif

Blog na wordpressie, jest po angielsku. Jest tez responsive wiec jak macie smartfony albo tablety to mozecie powiedziec jak sie sprawuje smile.gif

Licze na jakies ciekawe opinie, ciagle sie ucze i wielu podstaw jeszcze nie opanowalem smile.gif
Powód edycji: [nospor]:
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
lukasz1985
post 1.12.2013, 12:30:49
Post #2





Grupa: Zarejestrowani
Postów: 205
Pomógł: 43
Dołączył: 5.03.2012

Ostrzeżenie: (0%)
-----


Za dużo linków, za mało własnej treści, brak jasnej struktury informacji. Jak dla mnie wygląda to jak jakiś śmietnik, do którego wrzucane są jakieś tam wypociny, nawet tagi w nagłówku są chaotycznie rozmieszczone. Co do formy powiem tak: widzę standardowe bazgroły na tego typu blogach, ktore zaciemniają czytelność. Generalnie też nie lubię jednej rzeczy - że od nagłówka z tagami do pierwszego wpisu dzieli mnie jakieś 200 - 300 px obrazka z jakimś miastem i znakiem z lewej strony.

Podoba mi się natomiast to, że istnieje wyraźny podział między pudełkami w których znajdują się wpisy.

I jeszcze jedno a propos samego JS - nie ma co zachwalać tego języka. Jego wieloparadygmatowość kończy się tam gdzie programista chce przesłać do funkcji referencję metody przypisanej do kontekstu danej klasy. Jest to po prostu niemożliwe używając prototypu.
Go to the top of the page
+Quote Post
PrinceOfPersia
post 1.12.2013, 12:59:09
Post #3





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

Ostrzeżenie: (0%)
-----


Cytat(lukasz1985 @ 1.12.2013, 12:30:49 ) *
I jeszcze jedno a propos samego JS - nie ma co zachwalać tego języka. Jego wieloparadygmatowość kończy się tam gdzie programista chce przesłać do funkcji referencję metody przypisanej do kontekstu danej klasy. Jest to po prostu niemożliwe używając prototypu.

Tzn. Czego sie nie da dokładnie? Możesz zarzucić jakimś przykładem kodu/pseudokodu?


--------------------
Go to the top of the page
+Quote Post
lukasz1985
post 1.12.2013, 16:02:43
Post #4





Grupa: Zarejestrowani
Postów: 205
Pomógł: 43
Dołączył: 5.03.2012

Ostrzeżenie: (0%)
-----


[JAVASCRIPT] pobierz, plaintext
  1. /*
  2.   * Problem polega na tym, że nie można do funkcji wysłać referencji metody dziedziczonej obiektu bez uprzedniego wiązania
  3.   * jej w jakiś sposób z bieżącym kontekstem lub kontekstem prototypu bieżącego obiektu.
  4.   * Jedynym rozwiązaniem jest utworzenie nowej funkcji ze związanym kontekstem
  5.   * i przypisanie jej do pola bieżącego obiektu - wykonane w punkcie (1) co wiąże się
  6.   * z marnowaniem pamięci, lub użycie prototypu bieżącego obiektu i przypisanie metody ze związanym
  7.   * kontekstem do właściwego pola (2), co nie jest rozwiązaniem prawidłowym ze względu na złe umieszczenie
  8.   * metody w łańcuchu dziedziczenia.
  9.   * Jest to poważny problem ponieważ przez to niemożliwe jest pełne programowanie
  10.   * wieloparadygmatowe JS (funkcyjne i obiektowe).
  11.   * Na marginesie: nawet w C++, który nie jest uznawany za język z programowaniem funkcyjnym
  12.   * jest to możliwe.
  13.   */
  14.  
  15.  
  16. function wykonajInna(funkcja) {
  17. funkcja();
  18. }
  19.  
  20. // Zwierze
  21. function Zwierze() {
  22. this.iloscDzieci = 0;
  23. }
  24. Zwierze.prototype = new Object();
  25.  
  26.  
  27. Zwierze.prototype.rozmnoz = function() {
  28. console.log("Rozmnazanie");
  29. this.iloscDzieci += 1;
  30. }
  31.  
  32. // Kurczak
  33. function Kurczak() {
  34. this.jajka = 5;
  35. }
  36. Kurczak.prototype = new Zwierze();
  37.  
  38.  
  39.  
  40.  
  41. var kurczak = new Kurczak();
  42.  
  43. function wykonajTest() {
  44.  
  45. console.log("---------------------------------------------")
  46. console.log("wykonajInna(kurczak.glos)")
  47.  
  48. console.log("kurczak ma: " + kurczak.iloscDzieci + " dzieci");
  49. wykonajInna(kurczak.rozmnoz);
  50. console.log("kurczak ma: " + kurczak.iloscDzieci + " dzieci");
  51.  
  52. console.log("---------------------------------------------")
  53. console.log("kurczak.rozmnoz()")
  54. console.log("kurczak ma: " + kurczak.iloscDzieci + " dzieci");
  55. kurczak.rozmnoz();
  56. console.log("kurczak ma: " + kurczak.iloscDzieci + " dzieci");
  57. }
  58.  
  59.  
  60.  
  61. // Klient
  62.  
  63.  
  64. // Pierwsze wykonanie testu, bez przypisywania metody do kontekstu bieżącego obiektu
  65. console.log("Test pierwszy - bez zmiany kontekstu ===========================");
  66.  
  67. wykonajTest();
  68.  
  69.  
  70.  
  71. // Przypisanie metody do kontekstu obiektu i wykonanie testu - wynik prawidłowy ale
  72. // kurczak i każdy obiekt, typu Kurczak muszą mieć przypisaną właściwość - funkcję do
  73. // kontekstu, co wiąże sie z marnotrastwem pamięci.
  74. console.log("Test - funkcja związana z kontekstem ==============================");
  75.  
  76. var kurczakRozmnoz = kurczak.rozmnoz; // Zapisanie zmiennej na czas testu, żeby przywrócić później
  77. kurczak.rozmnoz = kurczak.rozmnoz.bind(kurczak); // (1) trzeba powtorzyć dla każdego kurczaka
  78. wykonajTest();
  79. kurczak.rozmnoz = kurczakRozmnoz;
  80.  
  81.  
  82. // Alternatywnie można użyć kontekstu bieżącego prototypu. Ale znów nie jest to idealne.
  83. console.log("Test pierwszy - kontekst prototypu ===========================");
  84. Kurczak.prototype.rozmnoz = Zwierze.prototype.rozmnoz.bind(Kurczak.prototype); // (2) rozmnoz w prototypie Kurczaka zamiast Zwierzęcia.
  85. wykonajTest()
[JAVASCRIPT] pobierz, plaintext


Poza tym, chyba każdy widzi jak niepotrzebnie zawiły jest ten język.

Ten post edytował lukasz1985 1.12.2013, 16:04:39
Go to the top of the page
+Quote Post
com
post 1.12.2013, 18:48:58
Post #5





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


Przepraszam bardzo ale ostatnio próbowałeś mi powiedzieć że komputery maja przecież takie parametry że co to dla nich za różnica, poza tym nawet w językach wysokiego poziomu w konstruktorze inicjalizujesz wszytko wiec o czym ty mówisz?
Go to the top of the page
+Quote Post
PrinceOfPersia
post 1.12.2013, 22:30:43
Post #6





Grupa: Zarejestrowani
Postów: 717
Pomógł: 120
Dołączył: 18.04.2009

Ostrzeżenie: (0%)
-----


wymyślasz problemy na siłę. Co za problem, zamiast bawić się w bindowanie, podawać kontekst wywołania explicite?

Kod
function wykonajInna(funkcja, kontekst) {
                funkcja.call(kontekst);
}
...
wykonajInna(kurczak.rozmnoz, kurczak);

albo skorzystać z jakiejś biblioteki (UnderscoreJS ma funkcję bindAll, która binduje z automatu metody do obiektu, ponadto ma wiele innych metod, które ułatwiają pracę z funkcjami. Ponadto są też takie biblioteki jak when.js czy sinon itp. A jeśli nie - można napisać od zera te kilka prostych high order functions, które będą nam akurat potrzebne...).



--------------------
Go to the top of the page
+Quote Post
nospor
post 1.12.2013, 22:35:43
Post #7





Grupa: Moderatorzy
Postów: 36 557
Pomógł: 6315
Dołączył: 27.12.2004




Ale co tu mamy oceniac? To ze potrafisz postawic bloga na wordpress po czym wrzucac do niego cudze linki? Super smile.gif Z reklamą przyjdz jak zrobisz cos sam


--------------------

"Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista
"Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer

Go to the top of the page
+Quote Post

Closed TopicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 10:45