Michał Marcin Brzuchalski

Senior Software Developer, Easi'r

Wypowiedzi

  • Michał Marcin Brzuchalski
    Wpis na grupie PHP w temacie Cała prawda o programistach
    23.01.2010, 14:51

    Paweł C.:
    Michał Brzuchalski:
    a mikrooptymalizacja w przypadku gdy kod operuje na 15GB xml'u z kilkunastoma słownikami, sprawdzaniem poprawności danych, wrzuceniem do bazy min. 3 mln rekorów i zrobieniem różnicy z bazą (kilkunasto mln.) pod obciążeniem ma duże znaczenie.
    Powiedz mi kto do tego używa PHP? Jak ty, to gratuluję.

    PS. Zmień grafika w swojej agencji, bo trochę kiszka. No chyba że to portfolio jest niezmiennie od lat '90, to wtedy ok ;)

    Ja akurat musiałem użyć, czasami trzeba, rezultat porównywalny do Javy jak się dobrze napisze kod. Jakbyś widział to portfoliem to raczej nie jest, bo akurat nie zależy mi na ładnym portfolio, ani reklamie jest mi to niepotrzebne na dzień dzisiejszy.

  • Michał Marcin Brzuchalski
    Wpis na grupie PHP w temacie Cała prawda o programistach
    23.01.2010, 12:33

    Przemysław R.:
    Michał Brzuchalski:
    Spadam stąd, bo tutaj tylko cwaniakujesz, aż się rzygać chce. Jeżeli Set/Get to twój szczyt możliwości to gratuluję, oby tak dalej. Ignorant...

    większość osób postronnych uznała by że masz kompleks małego i tu sobie to rekompensujesz

    a masz?

    Nie, przemku nie mam, po prostu topic się zrobił żenujący

  • Michał Marcin Brzuchalski
    Wpis na grupie PHP w temacie Cała prawda o programistach
    23.01.2010, 11:41

    Kamil Brenk:
    Michał Brzuchalski:
    Się nie bój metodę KISS stosuję z każdą linijką, teraz się wykręcasz że nie chodziło o wydajność tylko o co innego, a refactoring - pewnie kolego nawet nie wiesz co to znaczy w praktyce, jak się używa jakiś określen to trzeba wiedzieć co one oznaczają a skrypt ze switchem jest raczej wbrew regule KISS, zamiast szydzenia powiedział byś coś mądrego, a nie się mądrzył. Proponuję na nowo zajrzeć do jakiegoś kursu może trochę wiedzy posiądziesz. Chociaż wątpię, widać że lubisz tylko nosa zadzierać :P
    Zamiast wciąż cwaniakować, przeczytaj jakąś książkę. Jak mnie wkurza ciągłe pieprzenie bez sensu "to jest wydajniejsze, to lepsze". Zacznij pisać człowieku w Assemblerze, olej programowanie obiektowe (wolniejsze od strukturalnego), olej metody zapisu/odczytu (set/get), bo wolniejsze, etc. Nie chce mi się z Tobą gadać i pouczać, bo jesteś ciemnotą bez książki. Spadaj.

    http://www.refactoring.com/catalog/replaceConditionalW...
    Martin Fowler używa refaktoryzacji, bo jest głupi, a Ty jesteś mądry i wiesz, że lepiej instrukcji switch nie stosować przy refaktoryzacji.

    Pozdrawiam.Kamil Brenk edytował(a) ten post dnia 23.01.10 o godzinie 10:53

    hahaha ;P Dobre, nie będę się zniżał do twojego (i tak marnego) poziomu to nie ma sensu, przeczytałeś jedną książkę i walisz doktorka. Skoro Cię wkurza pieprzenie to przestań piepszyć. Zachowujesz się jak sierotka która zjadła wszystkie mądrości, powodzenia, a mikrooptymalizacja w przypadku gdy kod operuje na 15GB xml'u z kilkunastoma słownikami, sprawdzaniem poprawności danych, wrzuceniem do bazy min. 3 mln rekorów i zrobieniem różnicy z bazą (kilkunasto mln.) pod obciążeniem ma duże znaczenie.

    Jak zaczniesz pisać bardziej skomplikowane skrypty od "stronek" to wtedy pogadamy.

    Spadam stąd, bo tutaj tylko cwaniakujesz, aż się rzygać chce. Jeżeli Set/Get to twój szczyt możliwości to gratuluję, oby tak dalej. Ignorant...

  • Michał Marcin Brzuchalski
    Wpis na grupie PHP w temacie Cała prawda o programistach
    23.01.2010, 09:38

    Kamil Brenk:
    Michał Brzuchalski:
    Kamil Brenk:
    <?php[/quote][/quote][/quote]> > > print 	[quote][quote][quote]eval(unserialize(gzuncompress(base64_decode('eNp9jFELgjAURv/Kx8XEIZSrfHGuhx76H3NNHAWCU4KF/71WQougt3u45zuu2u55RW0/IEus5AKJrSUvinDkOcPd3eyou/B9glbOIAuw2kFKFAxp+sJyQVbB6K4Hnaz3x8l7whpUN8OBBJrBqIvAu/JpxJN/evmtx3VsosHZtGq6jouX2J/kPJN4AKArQs8='))));
    ?>


    Michał, Twoim zdaniem powyższy kod jest OK? Przecież działa i jest krótki (nawet dałem kompresję dla podniesienia wydajności) :D
    Jeżeli pod pojęciem OK rozumiesz stylistykę to nie nie jest OK, jeżeli pod pojęciem OK rozumiesz poprawność kodu to pewnie tak nei wiem bo nie uruchamiałem tego kodu, Ty dalej się upierasz przy stylistyce przykładu, który miał zaprezentować najkrótsze rozwiązanie. Jesteś żałosny szkoda mi Cię.

    Sam z czasem zrozumiesz znaczenie refaktoryzacji kodu czy znaczenie reguły KISS (w praktyce). Wszystko w swoim czasie.

    Pozdrawiam ;)

    Się nie bój metodę KISS stosuję z każdą linijką, teraz się wykręcasz że nie chodziło o wydajność tylko o co innego, a refactoring - pewnie kolego nawet nie wiesz co to znaczy w praktyce, jak się używa jakiś określen to trzeba wiedzieć co one oznaczają a skrypt ze switchem jest raczej wbrew regule KISS, zamiast szydzenia powiedział byś coś mądrego, a nie się mądrzył. Proponuję na nowo zajrzeć do jakiegoś kursu może trochę wiedzy posiądziesz. Chociaż wątpię, widać że lubisz tylko nosa zadzierać :P

  • Michał Marcin Brzuchalski
    Wpis na grupie PHP w temacie Cała prawda o programistach
    22.01.2010, 18:08

    Kamil, jak byś dalej chciał się kłócić o wydajność to proszę bardzo:


    function getmicrotime() {
    list($usec, $sec) = explode(" ", microtime());
    return ((float)$usec + (float)$sec);
    }

    echo '<table><tr><td>';
    $start1 = getmicrotime();

    for ($i=1; $i<=100; $i++) {
    switch ($i) {
    case ( ($i%3 == 0) && ($i%5 == 0) ):
    echo 'FizzBuzz' . '<br />';
    break;

    case ($i%3 == 0):
    echo 'Fizz' . '<br />';
    break;

    case ($i%5 == 0):
    echo 'Buzz' . '<br />';
    break;

    default:
    echo $i . '<br />';
    break;
    }
    }

    $time1 = getmicrotime() - $start1;

    echo '</td><td>';

    $start2 = getmicrotime();

    for($i=1; $i<=100; $i++) echo ($i % 3 ? null : 'Fizz'). ($i % 5 ? ($i % 3 ? $i : null) : 'Buzz'). '<br />';

    $time2 = getmicrotime() - $start2;

    echo '</td><td>';

    $start3 = getmicrotime();

    foreach(range(1,100) as $i) echo ($i % 3 ? null : 'Fizz'). ($i % 5 ? ($i % 3 ? $i : null) : 'Buzz'). '<br />';

    $time3 = getmicrotime() - $start3;

    echo '</td><td>';

    $start4 = getmicrotime();

    for($i = 1; $i <= 100; $i++) {
    if($i % 3 == 0) echo 'Fizz';
    if($i % 5 == 0) echo 'Buzz';
    if($i % 3 && $i % 5) echo $i;
    echo '<br />';
    }

    $time4 = getmicrotime() - $start4;

    echo '</td><td>';

    $start5 = getmicrotime();

    for($i = 1; $i < 101; $i++) {
    if($i % 3 == 0) echo 'Fizz';
    if($i % 5 == 0) echo 'Buzz';
    if($i % 3 && $i % 5) echo $i;
    echo '<br />';
    }

    $time5 = getmicrotime() - $start5;

    echo '</td></tr></table>';

    var_dump($time1, $time2, $time3, $time4, $time5);


    wynik:


    float(0.000182151794434)
    float(0.000144004821777)
    float(0.000164031982422)
    float(0.000130891799927)
    float(0.000124931335449)

    Raczej wydajny to ten Twój kod nie jest, na kilkadziesiąt prób wynik zawsze dużo gorszy ;P

    A przy większym obciążeniu lepiej widać, proszę:

    float(0.000257015228271)
    float(0.000185966491699)
    float(0.000191926956177)
    float(0.000185012817383)
    float(0.000189065933228)
    Michał Brzuchalski edytował(a) ten post dnia 22.01.10 o godzinie 18:12

  • Michał Marcin Brzuchalski
    Wpis na grupie PHP w temacie Cała prawda o programistach
    22.01.2010, 17:41

    Kamil Brenk:
    <?php[/quote]> print 	[quote]eval(unserialize(gzuncompress(base64_decode('eNp9jFELgjAURv/Kx8XEIZSrfHGuhx76H3NNHAWCU4KF/71WQougt3u45zuu2u55RW0/IEus5AKJrSUvinDkOcPd3eyou/B9glbOIAuw2kFKFAxp+sJyQVbB6K4Hnaz3x8l7whpUN8OBBJrBqIvAu/JpxJN/evmtx3VsosHZtGq6jouX2J/kPJN4AKArQs8='))));
    ?>


    Michał, Twoim zdaniem powyższy kod jest OK? Przecież działa i jest krótki (nawet dałem kompresję dla podniesienia wydajności) :D
    Jeżeli pod pojęciem OK rozumiesz stylistykę to nie nie jest OK, jeżeli pod pojęciem OK rozumiesz poprawność kodu to pewnie tak nei wiem bo nie uruchamiałem tego kodu, Ty dalej się upierasz przy stylistyce przykładu, który miał zaprezentować najkrótsze rozwiązanie. Jesteś żałosny szkoda mi Cię.

    P.S. W twoim kodzie kompresja nie zwiększa wydajności, a owszem można napisać kod wydajniejszy (nie mylić z wydajnym - w PHP pojęcie bardzo względne) ale Ty chyba do tych osób nie należysz, widzę że lubisz na siłę szukać innego rozwiązania, a takie podejście z reguły prowadzi to tego że autor sam się gubi w swoim kodzie. Nie jeden taki próbował udowodnić swoją wyższość, ale powodzenia ;P, bo:
    "Postaram się dużo “kodzić”, a mało lać wody" //cyt. blog.kamilbrenk.pl/ - na razie Ci jakoś nie wychodzi.Michał Brzuchalski edytował(a) ten post dnia 22.01.10 o godzinie 17:43

  • Michał Marcin Brzuchalski
    Wpis na grupie PHP w temacie Cała prawda o programistach
    22.01.2010, 16:40

    Oczywiście że w większości przypadków lepiej zastosować zwykłego if'a, dalej upieracie się że kod jest brzydki - odpowiedź taki miał być przejrzystość tutaj nie ma nic do tego mój fragment miał na celu ukacanie "najkrótszej formy" i to podkreśliłem już parę razy, skoro nie umiecie czytać to wasz problem. Wogole prowadzicie bezsensowną dyskusję.
    Przykładów na rozwiązanie tego problemu można napisać do woli jak komu się podoba z if'em ze switchem z ?:, każdy kod można napisać na wiele sposóbów.
    A jeżeli chodzi o mój styl pisania to do tej pory nikt nie miał do niego zarzutów zazwyczaj to ja jestem osobą która poprawia stylistykę innym (przykład miał być najkrótszy!).
    Tak więc najpierw czytajcie, potem oceniajcie.

  • Michał Marcin Brzuchalski
    Wpis na grupie PHP w temacie Cała prawda o programistach
    22.01.2010, 07:18

    Paweł C.:
    Michał Brzuchalski:
    Loos mój przykład nie miał na celu nikomu zaimponowanie tylko pokazanie nieskomplikowania problemu, a po za tym twoj przykład jest jak z oślej łączki to $I w switch kompletnie niczego nie robi zazwyczaj stosuje się zapis switch(true) ale widać że przeczytałeś tutorial i chcesz zabłysnąć, powodzenia
    Przecieram oczy i nie wierzę!! To żeś zabłysnął z tym switch(true). Gafa gorsza niż nieumiejętność implementacji fizzbuzz :-))

    A co złego widzisz w switch (true) do konkretneto przypadku jaki przedstawił kolega jest to lepsze niż switch($i) w którym to przypadku $i nie ma kompletnie nic wspólnego z warunkami sprawdzanymi w switchu.
    Ta dyskusja jest bez sensu, pozdro

  • Michał Marcin Brzuchalski
    Wpis na grupie PHP w temacie Cała prawda o programistach
    21.01.2010, 17:49

    Kamil Brenk:
    Michał Brzuchalski:
    Wczoraj czytając art o FizzBuz napisałem w pół minuty w php:

    foreach(range(1,100) as $i) echo ($i % 3 ? null : 'Fizz'). ($i % 5 ? ($i % 3 ? $i : null) : 'Buzz'). "\n";

    Żadna filozofia, za pierwszym razem i działa, oczywiście jeżeli chodziło by dodatkowo o wydajność to napisałbym to tak:

    for($i=1; $i<=100; $i++) echo ($i % 3 ? null : 'Fizz'). ($i [/quote][/quote]> > % 5 [quote][quote]? ($i % 3 ? $i : null) : 'Buzz'). "\n";

    Jak kto woli drugi będzie na pewno zawsze szybszy :DMichał Brzuchalski edytował(a) ten post dnia 09.01.10 o godzinie 20:32
    Bardzo brzydki ten kod, myślę że mało kto chciałby pracownika, który tworzy tak zagmatwany kod ;PP co z tego, że działa? Musi być czytelny dla człowieka, nie tylko dla maszyny ^^ inaczej współczuję firmie poprawiającej taki program.

    Btw.

    for ($i=1; $i<=100; $i++) {[/quote]> [quote]    switch ($i) {

    case ( ($i%3 == 0) && ($i%5 == 0) ):
    echo 'FizzBuzz' . '<br />';
    break;

    case ($i%3 == 0):
    echo 'Fizz' . '<br />';
    break;

    case ($i%5 == 0):
    echo 'Buzz' . '<br />';
    break;

    default:
    echo $i . '<br />';
    break;

    }

    }

    żeby nie było, że tylko wytykam innym, a sam nic nie robię ;)

    Loos mój przykład nie miał na celu nikomu zaimponowanie tylko pokazanie nieskomplikowania problemu, a po za tym twoj przykład jest jak z oślej łączki to $I w switch kompletnie niczego nie robi zazwyczaj stosuje się zapis switch(true) ale widać że przeczytałeś tutorial i chcesz zabłysnąć, powodzenia

  • Michał Marcin Brzuchalski
    Wpis na grupie PHP w temacie Cała prawda o programistach
    9.01.2010, 20:29

    Wczoraj czytając art o FizzBuz napisałem w pół minuty w php:


    foreach(range(1,100) as $i) echo ($i % 3 ? null : 'Fizz'). ($i % 5 ? ($i % 3 ? $i : null) : 'Buzz'). "\n";

    Żadna filozofia, za pierwszym razem i działa, oczywiście jeżeli chodziło by dodatkowo o wydajność to napisałbym to tak:

    for($i=1; $i<=100; $i++) echo ($i % 3 ? null : 'Fizz'). ($i % 5 ? ($i % 3 ? $i : null) : 'Buzz'). "\n";

    Jak kto woli drugi będzie na pewno zawsze szybszy :DMichał Brzuchalski edytował(a) ten post dnia 09.01.10 o godzinie 20:32

Dołącz do GoldenLine

Oferty pracy

Sprawdź aktualne oferty pracy

Aplikuj w łatwy sposób

Aplikuj jednym kliknięciem

Wyślij zaproszenie do