Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

3 Stron V   1 2 3 >  
Reply to this topicStart new topic
> [www]ocena mojego "portfolio"
Beniooo
post
Post #1





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

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


Cześć, chciałbym Was prosić o ocenę, wyłapanie błędów, i zasugerowanie co jeszcze można poprawić w mojej stronie, która jest moim portfolio i jednocześnie blogiem.
http://mrgod.pl
Go to the top of the page
+Quote Post
markuz
post
Post #2





Grupa: Zarejestrowani
Postów: 1 240
Pomógł: 278
Dołączył: 11.03.2008

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


Logo wygląda źle.
Nawigacja znika po przewinięciu w dół - czemu?

Cytat
Aktualnie 1 rok technikum o profilu informatyka

Cytat
Znajomość języków HTML, HTML5, CSS, JS, JQuery w stopniu bardzo dobrym
PHP, SQL w stopniu bardzo dobrym
Bash, Java, C++ w stopniu dobrym


Zacząłem programować w 1 gimnazjum, teraz mam 21 lat - studiuję informatykę - niestety nie mogę się pochwalić takimi umiejętnościami (IMG:style_emoticons/default/wink.gif)

Cytat
Im wiecej wiesz,tym bardziej zauważasz jak mało wiesz

Też miałem taki etap w życiu gdzie przedstawiając ofertę chwaliłem się swoimi umiejętnościami podobnie jak Ty. Liznąłem co nieco danego języka i pisałem, że go znam.
Teraz wiem, że jestem laikiem w większości języków - może poza PHP.

PS.
Na twoim blogu masz błędny kod:
  1. function reszta($liczba){
  2.  
  3. ($liczba%5!=0) ? TRUE : FALSE;
  4.  
  5. }


Poza tym możesz go jeszcze skrócić:
  1. function reszta($liczba) {
  2. return ($liczba % 5 != 0);
  3. }


Oczywiście chwali Ci się, że w tak młodym wieku piszesz stronki itp. W przyszłości nie będziesz musiał się martwić o pracę (IMG:style_emoticons/default/wink.gif)

Ten post edytował markuz 23.03.2015, 16:00:41
Go to the top of the page
+Quote Post
Beniooo
post
Post #3





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

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


Logo zrobione tylko na próbę.
Nawigacja znika, bo uznałem, że będzie ładniej wyglądać, gdy zostanie wyświetlona przy przewijaniu cała zawartość strony, a wyświetlę tylko strzałeczkę z funkcją przewijania na szczyt strony.
Strona O mnie jest tylko podglądowa jak na razie, oczywiście, że jej tak nie zostawię, pisana na szybko, byle tylko zapełnić stronę, finalna wersja będzie skromniejsza ;-)
Go to the top of the page
+Quote Post
Turson
post
Post #4





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Cytat
Ukończenie Gimnazjum w Zespole Szkół w Karpaczu z oceną celującą z informatyki

Chłopie weź to wywal bo wstyd o tym pisać.

Nie chwal się znajomością PHP i JS w stopniu bardzo dobrym bo nie wiesz co piszesz. Przykład? http://mrgod.pl/ratings podatne jest na XSS
Zgadzam się z markuz'em
Go to the top of the page
+Quote Post
com
post
Post #5





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

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


Turson Ty żyjesz (IMG:style_emoticons/default/biggrin.gif) dawno Cie tu nie widziałem coś (IMG:style_emoticons/default/tongue.gif)
Poco dajesz co oceny coś co jest nie skończone?
Go to the top of the page
+Quote Post
in5ane
post
Post #6





Grupa: Zarejestrowani
Postów: 1 335
Pomógł: 34
Dołączył: 9.11.2005
Skąd: Wrocław

Ostrzeżenie: (10%)
X----


http://mrgod.pl/blog, pierwszy wpis na blogu:
Kod
Jak często używasz instrukcji warunkowej if?
Wiele osób pisze kod zawierający tę instrukcję, jednak mało z nas zna jej skróconą wersję.

(IMG:style_emoticons/default/sciana.gif)


Wybacz, ale nie podoba mi się tło, logo, znikające menu, brak czegoś pod treść - a nie na takim imo dziwnym tle.
Go to the top of the page
+Quote Post
Turson
post
Post #7





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Cytat(com @ 23.03.2015, 20:05:20 ) *
Turson Ty żyjesz (IMG:style_emoticons/default/biggrin.gif) dawno Cie tu nie widziałem coś (IMG:style_emoticons/default/tongue.gif)

Żyję, żyję (IMG:style_emoticons/default/smile.gif) tylko studia dzienne + praca dają w kość i nie mam ani czasu ani siły zaglądać tu tak często jak wcześniej... (IMG:style_emoticons/default/sad.gif)

Ten post edytował Turson 24.03.2015, 07:37:12
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #8





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(Beniooo @ 23.03.2015, 15:40:32 ) *
Cześć, chciałbym Was prosić o ocenę, wyłapanie błędów, i zasugerowanie co jeszcze można poprawić w mojej stronie, która jest moim portfolio i jednocześnie blogiem.
http://mrgod.pl


Nie żebym przypadkiem wiedział o co chodzi, ale podstrona opinie przekierowuje na redtube. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
tzm
post
Post #9





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


i po karierze
Go to the top of the page
+Quote Post
Forti
post
Post #10





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

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


Cytat(b4rt3kk @ 24.03.2015, 12:07:54 ) *
Nie żebym przypadkiem wiedział o co chodzi, ale podstrona opinie przekierowuje na redtube. (IMG:style_emoticons/default/smile.gif)



To już jest conajmniej chamskie zachowanie moim zdaniem ;] Co innego alert a co innego coś takiego.
Go to the top of the page
+Quote Post
Pyton_000
post
Post #11





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Haha jaka strona takie opinie, Jednym słowem przeglądając opinie strona nadaje się do wypier...a (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
Forti
post
Post #12





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

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


Cytat(Pyton_000 @ 24.03.2015, 12:40:29 ) *
Haha jaka strona takie opinie, Jednym słowem przeglądając opinie strona nadaje się do wypier...a (IMG:style_emoticons/default/biggrin.gif)


Gosciu nie przyszedł "mam super strone, zrobie tanio i dobrze zlecenia! pisać(IMG:style_emoticons/default/exclamation.gif) " tylko "hey, uczę się, zrobiłem strone, sprawdzcie błędy i dajcie znać!". Zachowujmy się troche jak ludzie, i tak mało nowych "webmasterów" tu jest.
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #13





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(Forti @ 24.03.2015, 12:34:46 ) *
To już jest conajmniej chamskie zachowanie moim zdaniem ;] Co innego alert a co innego coś takiego.


Nie bój nic, chłopak na pewno ogarnie sprawę. Lepsze to niż 10 000 alertów.

Cytat(Forti @ 24.03.2015, 12:50:46 ) *
Gosciu nie przyszedł "mam super strone, zrobie tanio i dobrze zlecenia! pisać(IMG:style_emoticons/default/exclamation.gif) " tylko "hey, uczę się, zrobiłem strone, sprawdzcie błędy i dajcie znać!". Zachowujmy się troche jak ludzie, i tak mało nowych "webmasterów" tu jest.


Jeśli chodzi o błędy - xss.
Go to the top of the page
+Quote Post
tzm
post
Post #14





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Cytat
Zachowujmy się troche jak ludzie, i tak mało nowych "webmasterów" tu jest.


tylko Tobie to przeszkadza.

Ten post edytował tzm 24.03.2015, 13:00:44
Go to the top of the page
+Quote Post
Forti
post
Post #15





Grupa: Zarejestrowani
Postów: 655
Pomógł: 73
Dołączył: 2.05.2014

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


Cytat(tzm @ 24.03.2015, 13:00:26 ) *
tylko Tobie to przeszkadza.


Mi to nie przeszkadza, nic a nic - więcej miejsca na rynku pracy (IMG:style_emoticons/default/wink.gif) tylko takie redirect do redtube jest raczej debilne niż przydatne moim zdaniem i podchodzi pod kryminał - w końcu "hack" (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
com
post
Post #16





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

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


Przynajmniej zmusza programiste do poprawienia tego. Wcześniej były alerty to nic z tym nie zrobił. Jaki kryminał spamboty robią to samo (IMG:style_emoticons/default/tongue.gif)
Go to the top of the page
+Quote Post
tzm
post
Post #17





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Nie no Forti, ja kumam o co Ci chodzi... pewnie ze lepiej by tam bylo zrobic redirect do jakiegos tutoriala z xss... no ale.. pedal jestes?(IMG:style_emoticons/default/biggrin.gif)

edit: mam nadzieje ze wylapales sarkazm i zarcik (IMG:style_emoticons/default/tongue.gif) nie bierz tego do siebie

edit2: @phpion, juz, masz racje. sory

Ten post edytował tzm 24.03.2015, 13:53:33
Go to the top of the page
+Quote Post
phpion
post
Post #18





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




Dobra starczy. Nie musicie wykazywać się chamstwem by pokazać swoją wyższość nad kolegą. W imieniu kolegi proszę o powstrzymanie przed takim chamskim wykorzystywaniem luk. Jeśli jednak kogoś to wybitnie bawi to niech sobie poogląda filmiki w domowym zaciszu.

@b4rt3kk:
Oczywiście można się tylko domyślać, że to Twój żarcik. Moim zdaniem podpada to pod ostrzeżenie za skrajną złośliwość w stosunku do innego użytkownika.
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #19





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(phpion @ 24.03.2015, 13:39:05 ) *
Dobra starczy. Nie musicie wykazywać się chamstwem by pokazać swoją wyższość nad kolegą. W imieniu kolegi proszę o powstrzymanie przed takim chamskim wykorzystywaniem luk. Jeśli jednak kogoś to wybitnie bawi to niech sobie poogląda filmiki w domowym zaciszu.

@b4rt3kk:
Oczywiście można się tylko domyślać, że to Twój żarcik. Moim zdaniem podpada to pod ostrzeżenie za skrajną złośliwość w stosunku do innego użytkownika.


To nie złośliwość, a unaocznienie zagrożeń wynikających z braku zabezpieczenia formularza. Inaczej by to zignorował, do momentu aż by mu jakieś boty spamu nie powtykały.

Gdyby mi ktoś w młodości nie "shackował" forum phpbb o heroes 3, to nigdy bym się programowaniem nie zainteresował.

Także widzisz, to taka nauka poprzez zabawę. Lepiej prędzej niż później się dowiedzieć, że coś nie tak.
Go to the top of the page
+Quote Post
Beniooo
post
Post #20





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

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


No dobra, wielkie dzięki kolegom za te normalne porady, oraz także dzięki, za te nauki w formie debilnych żartów ;]
Opinie zabezpieczone przed XSS, myślicie, że po dodaniu opinii powinien zostać już schowany formularz dodawania kolejnej? Chociażby przez zwykłe cookie.
Dodatkowo, spytam jeszcze o poruszony wcześniej temat chowającego się menu, czy lepiej byłoby, gdyby po przewinięciu na dół zmieniało się ono w takie niewysokie menu nawigacyjne? ;-)
Go to the top of the page
+Quote Post
Tuminure
post
Post #21





Grupa: Zarejestrowani
Postów: 178
Pomógł: 49
Dołączył: 16.04.2012
Skąd: Bytom

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


Cytat
Opinie zabezpieczone przed XSS, myślicie, że po dodaniu opinii powinien zostać już schowany formularz dodawania kolejnej? Chociażby przez zwykłe cookie.
Osobiście nie widzę sensu posiadania takiego działu z formularzem w portfolio.

Cytat
Dodatkowo, spytam jeszcze o poruszony wcześniej temat chowającego się menu, czy lepiej byłoby, gdyby po przewinięciu na dół zmieniało się ono w takie niewysokie menu nawigacyjne? ;-)
Na pewno nie w taki sposób, w jaki to robi obecnie.

Ten post edytował Tuminure 25.03.2015, 16:57:22
Go to the top of the page
+Quote Post
Turson
post
Post #22





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Opinie - można wysłać bez treści. Walidacji po stronie serwera w ogóle nie ma. Można wywalić required firebugiem i wysłać kompletnie pusty formularz.
Go to the top of the page
+Quote Post
redeemer
post
Post #23





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

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


Na szybko:

Strona zawiera błąd typu SQL injection. Poprzez manipulację wartości parametru "ocena" w formularzu dodawania opini możliwe jest wstrzyknięcie złośliwego kodu.

Testowy payload:
Kod
(SELECT SLEEP(16)))-- -


Rzuciły mi się jeszcze błędy merytoryczne w notce o "skróconych ifach":

Drugi listing na stronie nic nie zwraca.

Cytat
...jeśli chcemy zmienić wartości dwóch zmiennych musimy wykorzystać normalny zapis if.
  1. list($a,$b) = (true) ? array('x','y') : array('z','z');

No i najładniej bez użycia IFów i TERNARY to:
  1. ...
  2. return ($liczba%5!=0);
;-)
Go to the top of the page
+Quote Post
PrinceOfPersia
post
Post #24





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

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


Cytat
Ukończenie Gimnazjum w Zespole Szkół w Karpaczu z oceną celującą z informatyki

jak już ktoś wspomniał - wywaliłbym to, bo to raczej cię pogrąża. Pozycjonujesz się jako gimnazjalista/dzieciak (niezależnie od umiejętności, nawet Bill Gates miał problemy z tym, że go brali za dzieciaka).

Cytat
Zainteresowania
Muzyka
Grafika
Logika

Nie potrzebna informacja. Nikogo to nie zainteresuje raczej.

Cytat
Jak często używasz instrukcji warunkowej if?
Wiele osób pisze kod zawierający tę instrukcję, jednak mało z nas zna jej skróconą wersję.
Sam często o niej zapominam, jeszcze częściej o jej poprawnym zapisie.

ternary operator to akurat podstawowy ficzer w językach C-podobnych, więc to brzmi trochę jak "dużo osób zna pętlę for, ale mało kto wie o istnieniu pętli while"


Cytat
Samodzielna nauka wielu języków programowania od 2011 roku
Umiejętności
Znajomość języków HTML, HTML5, CSS, JS, JQuery w stopniu bardzo dobrym
PHP, SQL w stopniu bardzo dobrym
Bash, Java, C++ w stopniu dobrym

Skąd wiesz, że twoje umiejętności są na poziomie bardzo dobrym? Czy ktoś ci to powiedział (np. rekruterzy na rozmowie o pracę?). Zresztą i tak na rozmowie będą cię sprawdzać zadaniami testowymi, albo oglądać twoje projekty na Githubie (jeśli takie masz).


modal, który się odpala po kliknięciu w "szczegóły":
http://mrgod.pl/works#
straaasznie zamula. Wydaje mi się, że ta funkcja togglePopup, którą go wyświetlasz może zamulać, bo tam żywcem tworzysz tablicę (new Array.... bla, bla), a potem dodajesz to jako innerHTML itp:
[JAVASCRIPT] pobierz, plaintext
  1.  
  2. function togglePopup(a, id) {
  3. var content = new Array('<h2>GOskins.pl</h2><br><br>Strona zawierająca sklep z wirtualnymi przedmiotami do gry Counter Strike. Zaimplementowane w niej zostały płatności m.in. SMS, oraz przelewami bankowymi. Posiada bardzo skromny panel administracyjny, bez elementów graficznych, wykonany na prośbę zleceniodawcy, w którym był podglad n.p. ostatnich transakcji przeprowadzonych przez użytkowników, dodawanie przedmiotów do sklepu, monitorowanie zamówień. W czasie aktualizacji strony dodane zostało pobieranie ceny przedmiotów z serwerów Steam, oraz przeliczanie ich na polską walutę na podstawie kursu dolarów amerykańskich pobieranego z bazy NBP.<br>Strona została wykonana w językach: HTML, CSS, JS, PHP, JQuery. Jest ona oparta o framework Bootstrap. W całości wykonana i modyfikowana przeze mnie.<br>Projekt aktualnie porzucony przez zleceniodawcę, jednak w sieci nadal znajduje się jego kopia.<br><br><br><a href="http://backup.mrgod.pl/goskins" class="btn btn-default">Przejdź do strony</a>', '<h2>Askwymiana.PL</h2><br><br>Portal poświęcony w pełni użytkownikom serwisu ASK.FM<br>Został wykonany w oparciu o grafiki dostępne na darmowej licencji w internecie, a cały kod strony napisany jest w pełni przeze mnie z wykorzystaniem technologii programowania obiektowego PHP, oraz innych języków, m.in. HTML, CSS, JS, JQuery.<br>Projekt obecnie porzucony przeze mnie na rzecz rozwijania swoich nowych umiejętności, jednak w celach podglądowych jest dostępny w internecie na moim serwerze backupowym.<br><br><br><a href="http://backup.mrgod.pl/askwymiana" class="btn btn-default">Przejdź do strony</a>', 'Projekt wykonany w językach HTMl, CSS, oraz PHP, kod zagubiony z powodu nieopłacenia serwera przez zleceniodawcę, jednak jego opinia na temat strony jest celująca.');
  4. if (a == 1) {
  5. document.getElementById('popup-content').innerHTML = content[id];
  6. $("#hide-show-popup").fadeIn("slow");
  7. $("#hide-show").fadeIn("slow");
  8. document.getElementById('site').style.overflow = 'hidden';
  9. } else {
  10. $("#hide-show-popup").fadeOut("slow");
  11. $("#hide-show").fadeOut("slow");
  12. document.getElementById('site').style.overflow = 'visible';
  13. }
  14. }
[JAVASCRIPT] pobierz, plaintext

nie wiem gdzie jest błąd w sztuce ale ta animacja działa niepłynnie (może przez to tworzenie tablicy i podmienianie innerHTML, bo przecież na jQuery można zrobić również coś płynnego. Obczaj jak tutaj zrobiłem przykładowo: http://jsfiddle.net/wa0t8bcu/
tam zawartość jest w ukrytych divach w HTMLu, które potem wystarczy uwidocznić.

ew. mozna jeszcze tranzycji CSS3 użyć.

Ten post edytował PrinceOfPersia 26.03.2015, 14:45:54
Go to the top of the page
+Quote Post
Tuminure
post
Post #25





Grupa: Zarejestrowani
Postów: 178
Pomógł: 49
Dołączył: 16.04.2012
Skąd: Bytom

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


[JAVASCRIPT] pobierz, plaintext
  1. script.js:1 Uncaught ReferenceError: $ is not defined
  2. bootstrap.min.js:1 Uncaught Error: Bootstrap's JavaScript requires jQuery
[JAVASCRIPT] pobierz, plaintext

Ja tam co chwile dostaję błędy o braku jquery. Wyrzuć ten async.
Go to the top of the page
+Quote Post
Beniooo
post
Post #26





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

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


Opisy prac będa będą wyświetlane już z gotowego html, więc nie będzie tablicy w js ;-)
Czy sposób w który teraz wysuwa się fixed-menu jest odpowiedni?

Ten post edytował Beniooo 26.03.2015, 20:41:01
Go to the top of the page
+Quote Post
Kloc
post
Post #27





Grupa: Zarejestrowani
Postów: 115
Pomógł: 8
Dołączył: 8.06.2014

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


Jeśli reprezentujesz tak wysoki poziom to zacznij pomagać nam biednym ludziom na forum (IMG:style_emoticons/default/biggrin.gif)
Pokaż, że coś umiesz bo nie dowierzam.
Stań się słynną postacią jak Pan nospor, phpion, trueblue, Pyton_000, Kshyhoo, Damonsson, ctom, com, memory, SmokAnalog, tzm, markonix i wielu innych... To są ludzie z jakąś wiedzą, którą się z nami dzielą, przy czym sami się wiele uczą.
Samemu można kupę zrobić, a nie opanować do poziomu bardzo dobry jakiś jezyk programowania, każdy popełnia błędy, każdy czegoś nie rozumie nawet kolega Mark Zuckerberg (IMG:style_emoticons/default/biggrin.gif)

Ten post edytował Kloc 26.03.2015, 23:01:53
Go to the top of the page
+Quote Post
tzm
post
Post #28





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


(IMG:http://stopnudzie.pl/upload/file/1724.jpg)
Go to the top of the page
+Quote Post
Beniooo
post
Post #29





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

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


Klocu, staram się udzielać na forum, oraz pomagać innym ;>
Dzięki temu forum też wielu, wielu rzeczy się nauczyłem ;-)
Go to the top of the page
+Quote Post
Janusz1200
post
Post #30





Grupa: Zarejestrowani
Postów: 110
Pomógł: 6
Dołączył: 19.12.2010
Skąd: Krzyżanowice

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


Przepraszam bardzo, ale czy ten kod w obrazku z menu blog - skrócony zapis If (motto życiowe):

Cytat
if (sad() === true) {
sad().stop();
}


może kiedykolwiek zadziałać?
Go to the top of the page
+Quote Post
tzm
post
Post #31





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


sad jest funkcją która zwraca wartość true/false, stop jest prototypem który może zmieniać wartość przypisaną w sad.
no ale nie sądzę by autor o tym wiedział.
Go to the top of the page
+Quote Post
Janusz1200
post
Post #32





Grupa: Zarejestrowani
Postów: 110
Pomógł: 6
Dołączył: 19.12.2010
Skąd: Krzyżanowice

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


Aha, ale przepraszam, że drążę, ale wydaje mi się, że funkcja sad() nie tylko zwraca wartość true/false ale i typ boolean (bo to sprawdzamy ===). Chyba że ten strict działa inaczej w jscript niż w php? Jeżeli nie, to czy można na tym typie boolean wywołać metodę stop() ?
Go to the top of the page
+Quote Post
tzm
post
Post #33





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Cytat
Jeżeli nie, to czy można na tym typie boolean wywołać metodę stop() ?


Nie rozumiem kompletnie o co Ci chodzi.

W gruncie rzeczy nie znam teorii czy tak można wg specyfikacji w3c, ale wiem że w praktyce takie operacje nie są niczym specjalnym. Podajesz do funkcji parametr i ifem sprawdzasz co zwróci, w php się tak nie da? sorki ale nie znam php na tyle... dawno se siana z nim dałem. Na logikę wychodzi że jeśli w funkcji będzie return true to porówna to co zwróci i typy się będą zgadzały bo true === true to boolean.


edit: poza tym powinno sie zapisac tak:

  1. if(sad()){sad.stop()}


Ten post edytował tzm 28.03.2015, 19:50:36
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #34





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(tzm @ 28.03.2015, 19:37:07 ) *
Nie rozumiem kompletnie o co Ci chodzi.

W gruncie rzeczy nie znam teorii czy tak można wg specyfikacji w3c, ale wiem że w praktyce takie operacje nie są niczym specjalnym. Podajesz do funkcji parametr i ifem sprawdzasz co zwróci, w php się tak nie da? sorki ale nie znam php na tyle... dawno se siana z nim dałem. Na logikę wychodzi że jeśli w funkcji będzie return true to porówna to co zwróci i typy się będą zgadzały bo true === true to boolean.


Kolega Janusz ma rację.

Jeśli funkcja sad zwraca wartość boolean true (nie jest to obiekt!) to nie można wykonać dalszej operacji w postaci sad().stop(), jest to równoznaczne z true.stop(), czyli jest to absolutnie wykluczone.

Można by dodać metodę __toString, która zwracałaby 1 lub 0, ale wtedy porównanie nigdy nie byłoby prawdziwe 1 !== true, co innego 1 == true.
Go to the top of the page
+Quote Post
Janusz1200
post
Post #35





Grupa: Zarejestrowani
Postów: 110
Pomógł: 6
Dołączył: 19.12.2010
Skąd: Krzyżanowice

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


Albo można to zrobić tak, jak pisze @tzm, to znaczy porównanie powinno być słabe:

if (sad() == true) { sad().stop(); }

Wtedy sad jest np. taką funkcją:
var sad = function() { return inner; };

a inner - takim obiektem:

var inner = new Object;
inner.unhappy = true;
inner.valueOf = function() { return inner.unhappy; };
inner.stop = function() { inner.unhappy = false; }

Warunek zachodzi (bo wartością default obiektu inner jest true i inner == true , ale nie inner === true) i można wywołać:
sad().stop().

Natomiast tak, jak jest na obrazku (strict comparison) raczej nie będzie działać...

Cytat(tzm @ 28.03.2015, 19:37:07 ) *
Nie rozumiem kompletnie o co Ci chodzi.


O niepublikowanie na swojej czy nie swojej stronie błędów, które tylko mogą ludziom nieuczonym - jak np. mi - namieszać w głowie. Wyłącznie o to, a ponieważ wydało mi się, że jest błąd, to zapytałem, bo mogę mieć mylne wrażenie, szczególnie, jeżeli ktoś się wysilił na zrobienie obrazka. Z Twoim wskazaniem na prototypy dopiero zakumałem , że to nie PHP , a jscript (IMG:style_emoticons/default/smile.gif) . Różnica między . a -> (IMG:style_emoticons/default/smile.gif)

Ten post edytował Janusz1200 28.03.2015, 20:41:22
Go to the top of the page
+Quote Post
tzm
post
Post #36





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Nie, dobra sory... ja mogłem nie zakumać że to php. W javascripcie coś takiego da się zapisać, jeśli w funkcji jest result = true; return result to można prototypem napisać właściwość elementu result bez żadnego problemu, w php chyba to nie przejdzie.
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #37





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


W omawianym przypadku chodzi o PHP, czyli kod nie ma sensu.
Go to the top of the page
+Quote Post
Beniooo
post
Post #38





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

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


Skąd stwierdzenie, że obrazek ma w sobie kod PHP? ;>
Go to the top of the page
+Quote Post
Janusz1200
post
Post #39





Grupa: Zarejestrowani
Postów: 110
Pomógł: 6
Dołączył: 19.12.2010
Skąd: Krzyżanowice

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


@tzn, nie da się w javascript. To, co jest w obrazku, w javascript nie zadziała, z powodów które napisał @b4rt3kk (i ja). Żeby zadziałało w javascript, musi być słabe porównanie, jak napisałem w http://forum.php.pl/index.php?s=&showt...t&p=1151770

EDIT: @tzn , chodzi o to, że dokładnie ten kod z obrazka nie zadziała w javascript. Inny kod zadziała, najbardziej zbliżony żeby zadziałał podałem w poście #35.

@b4rt3kk, to nie jest kod w PHP, bo w PHP "operatorem właściwości" (?) jest -> a nie . , jak napisałem w http://forum.php.pl/index.php?s=&showt...t&p=1151770 ,
w php to byłoby sad()->stop();

To może być kod w javascript, pewnie w c# itp. ale prawdopodobnie nie zadziała w żadnym języku w którym jest składniowo poprawny.

Ten post edytował Janusz1200 29.03.2015, 11:42:06
Go to the top of the page
+Quote Post
tzm
post
Post #40





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Ok, Ty lecisz znaczek po znaczku i pytasz czy dziala.. ja patrze i mysle ze sa literowki ktore skasuje i bedzie dzialac jesli dopiszemy reszte, nie widze celu licytowania dalej czy cos moze dzialac czy nie a jesli juz tak bardzo chcesz uslyszec ze nie zadziala ten kod, to tak, NIE ZADZIALA. Zrobilem Ci dobrze ?(IMG:style_emoticons/default/smile.gif) polecam sie
Go to the top of the page
+Quote Post
b4rt3kk
post
Post #41





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

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


Cytat(Janusz1200 @ 29.03.2015, 12:35:02 ) *
@b4rt3kk, to nie jest kod w PHP, bo w PHP "operatorem właściwości" (?) jest -> a nie . , jak napisałem w http://forum.php.pl/index.php?s=&showt...t&p=1151770 ,
w php to byłoby sad()->stop();


Faktycznie, przeoczyłem ten detal.
Go to the top of the page
+Quote Post
Posio
post
Post #42





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

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


Cytat(tzm @ 29.03.2015, 13:27:24 ) *
Zrobilem Ci dobrze ?(IMG:style_emoticons/default/smile.gif) polecam sie


Jeb*em ze śmiechu (IMG:style_emoticons/default/biggrin.gif) , You made my day.

Co do kodu, z punktu widzenia programowania, nie powinno się w ogóle pojawić coś takiego, że raz zwraca bool a raz obiekt. No dobra, są typi dynamic itp. ale w gruncie rzeczy, każdy kto trochę programował a nie "programował", dobrze wie że zwracanie wielu typów przez jedną funkcję to pożoga dla ludzi którzy będą pracować na tym kodzie po nas, i dla nas samych po jakimś czasie nie wspominając już o zasadach pisania "dobrego kodu" - nie ważne czy to php/ c++ / java /c#, tak się nie pisze i już (mimo iż wiem, że brak typowania w php bardzo kusi).

Tak więc podsumowując tą dyskusję na temat tego śmiesznego kodu. Tak nie zadziała. Tak się nie robi. Tak jest źle (IMG:style_emoticons/default/smile.gif)

Inna sprawa gdybyśmy pracowali na obiektach i metoda sad() zwracałaby np. instancję innego obiektu zawartego w obiekcie bazowym.

pseudokod
  1. if human->mood->issad
  2. human->mood->sadstop




Go to the top of the page
+Quote Post
com
post
Post #43





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

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


@up no owszem nie powinno się ale spójrzmy np na takie PDO. (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Posio
post
Post #44





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

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


Cytat(com @ 2.04.2015, 14:27:53 ) *
@up no owszem nie powinno się ale spójrzmy np na takie PDO. (IMG:style_emoticons/default/smile.gif)

A co takiego jest w PDO bo już od bardzo sporego czasu nie miałem styczności z PHP i nie pamiętam ?
Go to the top of the page
+Quote Post
com
post
Post #45





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

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


np http://php.net/manual/en/pdo.query.php (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Posio
post
Post #46





Grupa: Zarejestrowani
Postów: 417
Pomógł: 44
Dołączył: 23.06.2011

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


No tak... Dla bardziej "dojrzałych" programistów to nie jest fajne, dla dzieciaków to jest fajne. Jak dla mnie to jeden z powodów dla których odstawiłem PHP.
Go to the top of the page
+Quote Post
com
post
Post #47





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

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


w 7 idziemy znów w typowanie wiec to się powoli skończy (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Janusz1200
post
Post #48





Grupa: Zarejestrowani
Postów: 110
Pomógł: 6
Dołączył: 19.12.2010
Skąd: Krzyżanowice

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


Cytat(Posio @ 2.04.2015, 01:55:24 ) *
Inna sprawa gdybyśmy pracowali na obiektach i metoda sad() zwracałaby np. instancję innego obiektu zawartego w obiekcie bazowym.


Tak, jak jest napisane w omawianym obrazku, nie zadziała w żadnym języku. Pracujemy na obiektach.
Go to the top of the page
+Quote Post
Tuminure
post
Post #49





Grupa: Zarejestrowani
Postów: 178
Pomógł: 49
Dołączył: 16.04.2012
Skąd: Bytom

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


Cytat(Janusz1200 @ 2.04.2015, 21:18:40 ) *
Tak, jak jest napisane w omawianym obrazku, nie zadziała w żadnym języku. Pracujemy na obiektach.

Co się nie da, jak się da?
[JAVASCRIPT] pobierz, plaintext
  1. var secretBoolToObjectSwitch = false,
  2. sad = function() {
  3. if(secretBoolToObjectSwitch) {
  4. return {stop: function() { alert('This is bullshit'); }};
  5. } else {
  6. secretBoolToObjectSwitch = true;
  7. return true;
  8. }
  9. },
  10. beAwesome = function() {
  11. alert('and especially not awesome.');
  12. };
  13.  
  14. if (sad() === true) {
  15. sad().stop();
  16. beAwesome();
  17. }
[JAVASCRIPT] pobierz, plaintext


Ten post edytował Tuminure 3.04.2015, 18:49:16
Go to the top of the page
+Quote Post
Janusz1200
post
Post #50





Grupa: Zarejestrowani
Postów: 110
Pomógł: 6
Dołączył: 19.12.2010
Skąd: Krzyżanowice

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


Faktycznie, da się (IMG:style_emoticons/default/wstydnis.gif)
Go to the top of the page
+Quote Post
tzm
post
Post #51





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Cytat(Tuminure @ 3.04.2015, 19:47:57 ) *
Co się nie da, jak się da?
[JAVASCRIPT] pobierz, plaintext
  1. var secretBoolToObjectSwitch = false,
  2. sad = function() {
  3. if(secretBoolToObjectSwitch) {
  4. return {stop: function() { alert('This is bullshit'); }};
  5. } else {
  6. secretBoolToObjectSwitch = true;
  7. return true;
  8. }
  9. },
  10. beAwesome = function() {
  11. alert('and especially not awesome.');
  12. };
  13.  
  14. if (sad() === true) {
  15. sad().stop();
  16. beAwesome();
  17. }
[JAVASCRIPT] pobierz, plaintext


Ja to trochę prościej widziałem, wręcz bym rzekł - 5 linijek kodu. Ale też spoko. Tezę miałem, dowód się znalazł.
Go to the top of the page
+Quote Post
Tuminure
post
Post #52





Grupa: Zarejestrowani
Postów: 178
Pomógł: 49
Dołączył: 16.04.2012
Skąd: Bytom

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


Zapomniałem jeszcze dodać, że mimo tak krótkiego kodu uznałbym to za dość dobry przykład złych praktyk (a konkretnie zwracanie różnych typów, uzależnianie funkcji/metody od parametrów z zewnątrz, zamiast przekazywania ich do metody).

No i można krócej, pousuwać parę enterów i np. nie deklarować zmiennej. Chciałem jednak zachować czytelność (IMG:style_emoticons/default/smile.gif) .

[JAVASCRIPT] pobierz, plaintext
  1. var sad = function() {
  2. return typeof secretBoolToObjectSwitch !== 'undefined' ? {stop: function(){ alert('This is bullshit')}} : function() { secretBoolToObjectSwitch = true; return true; }();
  3. };
  4. beAwesome = function() { alert('and worse than before.')};
  5.  
  6. if (sad() === true) {
  7. sad().stop();
  8. beAwesome();
  9. }
[JAVASCRIPT] pobierz, plaintext
Go to the top of the page
+Quote Post
tzm
post
Post #53





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


A jak w php działają settery i gettery? Nie zwracają wartości deklarowanych poza funkcją? Tez się tak robi.. Przy sliderach dość często.
Go to the top of the page
+Quote Post
Janusz1200
post
Post #54





Grupa: Zarejestrowani
Postów: 110
Pomógł: 6
Dołączył: 19.12.2010
Skąd: Krzyżanowice

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


Cytat(Tuminure @ 4.04.2015, 10:02:45 ) *
przykład złych praktyk


Ja przyspawałem się do myśli, patrząc na ten obrazek, że obiekt nie "modyfikuje się sam", a czeka na modyfikację z zewnątrz. Przy innym założeniu (jak np. w Twoim kodzie) wystarczy tak:

if (sad() === true) {
//już jestem wesoły, nic mi tu nie trzeba z zewnątrz wciskać, pełna hermetyzacja
}

Niemniej jednak teza, że "to nigdy nie zadziała" jest zawsze ryzykowna i nie powinno się jej nigdy stawiać (IMG:style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
Beniooo
post
Post #55





Grupa: Zarejestrowani
Postów: 260
Pomógł: 26
Dołączył: 26.01.2012
Skąd: Ci to przyszło do głowy?

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


Chłopaki, taka dyskusja na temat obrazka, podziwiam Was :3
Go to the top of the page
+Quote Post
tzm
post
Post #56





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Studiowałeś? Tu chodziło o tezę i dowód. Jak we wszystkich naukach ścisłych do których programowanie na dzień dzisiejszy jest zaliczane ( swoją drogą nie ogarniam dlaczego (IMG:style_emoticons/default/biggrin.gif) )

@Janusz , przejrzyj sobie kod jakiejś gry w javascripcie bardziej zaawansowanej niż snake czy memory, obiekty same mogą zmieniać wartości i właściwości, dlaczego by nie mogły? zależy teraz czy odróżniamy instancje klasy od obiektu pełnego funkcji, np taka Player{} która mogła a nawet powinna była sprawdzać masę rzeczy w locie.


edit: poza tym w js da się wszystko. zależy od programisty, wyobraźni i doświadczenia w pisaniu.

Ten post edytował tzm 4.04.2015, 13:21:47
Go to the top of the page
+Quote Post
Comandeer
post
Post #57





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

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


Cytat("tzm")
poza tym w js da się wszystko. zależy od programisty, wyobraźni i doświadczenia w pisaniu.

To tak samo jak w CSS - wszak Turing complete (IMG:style_emoticons/default/wink.gif)

Ok, reszta się poznęcała nad treścią, ale jakoś tak nikt się bliżej nie zainteresował stroną techniczną strony. A z racji tego, że to mój konik, pozwolę sobie zauważyć kilka rzeczy (IMG:style_emoticons/default/wink.gif)
  • Kodowanie zostaje zdefiniowane dwukrotnie - raz przy pomocy zapisu z HTML4, a drugi przy pomocy skróconej składni HTML5
  • [rel=shortcut] to dziwactwo IE, więc serwowanie mu ikonki w png nie jest najfortunniejszym pomysłem
  • Czy aby konieczne Ci jest to RocketScript i ogólnie CloudFlare? IMO przerost formy nad treścią

  • Kod
    <img src="up.png" id="arrow" onClick="java script:scrollToTop();">

    Polecam poczytać o tzw. labels w JS + obowiązkowo nieśmiertelny artek porneLa - https://pornel.net/onclick

  • Kod
    <img src="logo.png" width="150px" id="logo">

    Każdy obrazek powinien mieć [alt] - tym bardziej jeśli pełni ważną funkcję, jak logo! Dodatkowo twierdzę, że tego typu rzeczy to nagłówki. Brakuje także odnośnika do strony głównej Twojej witryny

  • Kod
    <div id="spacer" style="height: 100px;"></div>

    Klasyka gatunku (IMG:style_emoticons/default/wink.gif)
  • Fajnie, że próbujesz (albo to CF?) zabezpieczać mail przed botami… problem polega na tym, że mój bot oparty na PhantomJS bez problemu wykona skrypt JS i dobierze się do poprawnego adresu.
  • De facto wszystkie menu powinny być listami - wyjątku nie stanowi tutaj menu w stopce, które również listą być powinno. &bull; można łatwo wcisnąć jako li + li::before
  • Podstrona "about" - polecam do poczytania: http://blog.paciellogroup.com/2013/10/html...cument-outline/

  • Kod
    <ul>
        <li><b>Nazwa:</b> Wartość</li>
    </ul>

    Tego typu struktura o wiele bardziej przywodzi na myśl inny typ listy w HTML - listę definicji
    Kod
    <dl>
        <dt>Nazwa</dt>
        <dd>Wartość</dd>
    </dl>

  • W tym wypadku dodatkowo te informacje kontaktowe otoczyć można w address, gdyż są to dane kontaktowe dotyczące danej strony
  • Podstrona z pracami
    Kod
    <a class="btn btn-default" href="#" role="button" onClick="java script:togglePopup(1, 3);">Szczegóły &raquo;</a>

    To jest po prostu głupota. Polecam sprawdzić jakie wymagania stawia ARIA, gdy chcemy wykorzystać link jako przycisk. Dostawienie [role=button] sprawy nie załatwia - co więcej, pogarsza ją, przedstawiając element jako przycisk, podczas gdy nie udostępnia on odpowiedniej funkcjonalności. W tym wypadku powinien być zastosowany po prostu button, a obsługa kliknięcia wykonana POPRAWNIE, zatem z poziomu JS, nie kodu HTML.
  • Takie pytanie dodatkowe - a co jeśli z różnych względów nie mam obsługi JS w przeglądarce? Czemu domyślnie szczegóły wszystkich zleceń są ukryte? Powinny być wyświetlane i ukrywane przy pomocy techniki .no-js. Owszem, przy wyłączonym JS nie będzie to wyglądało aż tak atrakcyjnie, ale przynajmniej informacje będą dostępne dla wszystkich.
  • Wystawienie oceny
    Kod
    <textarea onclick="java script:clearTextarea(this);"

    Śmieszy to tym bardziej, że przy normalnym polu używasz [placeholder]. Pomijam fakt, że textarea można sfocusować bez udziału myszki, przy czym Twój skrypt spektakularnie się wyglebi
  • Gdzie są etykietki poszczególnych pól formularza, opis działania gwiazdek i [alt] dla obrazków? To są podstawy dostępności!
  • Kod
    <small><small><small>2015-05-12 23:45:15</small></small></small>

    Co tu robi small? Od dat jest time, a small wcale nie służy do pomniejszania rozmiaru czcionki - polecam zajrzeć do specyfikacji HTML5
  • Czemu strzałka powrotu do góry miga? Była tak niefunkcjonalna, że aż trafiła jako filtr do Adblocka…
Go to the top of the page
+Quote Post

3 Stron V   1 2 3 >
Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 24.12.2025 - 01:34