howto - 2014 - 5 megfelelő bejegyzés

Mutass mindent

Jelöld be, hogy főbb mely kategóriákat akarod olvasni, vagy ha csak egyet: kattints a nevére.


mindet
jan
feb
már
ápr
máj
jún
júl
aug
sze
okt
nov
dec
2024
-
-
-
-
-
-
-
-
-
-
-
2023
-
-
-
-
-
-
-
-
-
-
-
2015
-
-
-
-
-
-
-
-
-
-
2014
-
-
-
-
-
-
-
-
-
2013
-
-
-
-
-
-
-
-
-
-
-
2012
-
-
-
-
-
-
-
-
-
-
-
2011
-
-
-
-
-
-
-
-
-
2010
-
-
-
-
-
-
-
-
-
-
2008
-
-
-
-
-
-
-
-
2004
-
-
-
-
-
-
-
-
-
-
-
Haszprus

MBA vs life

©   Haszprus   |   bme epam howto life mba todo

Nos egy ideje húzom be a kéziféket, mert időcsapdába kerültem. Lett egy csomó új ember, társaság körülöttem, és legfőképp elkezdtem az MBA képzést. Az EPAM-ban is sokkal pörgősebbé váltak az események.

Időcsapdába kerültem.

Rengeteg mindennel szoktam tölteni az időmet úgy általában, és ezzel nem is lenne gond, most azonban megjelent egy olyan dolog, ami ha hiányt szenved, az nem jó. Ez pedig a tanulás.

Tanulásra muszáj időt szakítanom valahogyan, és nem is gondoltam volna, hogy ez ennyire nehéz ügy lesz. Nem tudom még, hogy hogyan fogom megoldani.

MBA-n választhat az ember hogy pénteken vagy szombaton akar bejárni. Ez eddig rendben, de ahogy én látom, heti egy full napot minimum rá kéne allokálni a tanulásra, és akkor még csak kb. egy vagy két tárgyra készültem (kvantitatív módszerekre amiből házi feladatok vannak, valamint üzleti gazdaságtanra, amiből eddig volt egy olvasási teszt, ma-holnap elővizsga, két hét múlva pedig még egy olvasási teszt, de addigra már meglesz az első tárgyunk vizsgája is, a többi meg hamarosan követi).

Szóval tegyük fel, az emberünk szombatonként jár be, és öt napot dolgozik. Marad a hétből egy nap, amikor tanulni kéne. Ezt hogy lehet két éven át kibírni?

Még nem jöttem rá.

Ja igen, az első diplomám utolsó 2 évét én is meló mellett végeztem, de addigra alig voltak kreditjeim, és a tempóban rendesen benne voltam.

Szóval egyelőre még nem teljesen egyértelmű, hogy ezt hogy is fogom megoldani az életem kb komplett feladása nélkül.

A Batarang nevű chrome extensionnel tudod debugolni és sebesség-optimalizálni az angularjs oldaladat. Sebesség-optimalizáció címszó alatt nagyjából hasonló feature-t kapsz mint amit php-ben az xhprof vagy xdebug adna, megláthatod hogy mely function hívásokkal telik el az oldalad legnagyobb időhányada. Állat.

Például a YOULOG-ban észrevehető volt már szemmel is, hogy beszaggatott, amikor begépelt valami keresőszót az ember. Nem tudtam igazából, hogy vajon melyik rész lehet a lassú, meg amúgy ez az első angular cuccom amit valaha írtam. Na nézzük Batarangben:

Mint látható, az oldalon töltött idő 66%-a, azaz 763 msec azzal telt, hogy a fejlesztes keresőszó begépelésének hatására lefutott ez a pár kis redundáns filter. Nosza optimalizáljunk valamit rajta:

Miután a userFilter futtatásának számát redukáltam 2-re, már csak 393 msec telik a filterrel, így az oldal 66%-a helyett már csak 44%-át töltjük itt, nyertünk közel 400 msecet (!!!!!), ami bőven érzékelhető is, mert ez a lag a gépeléskor a karakterek megjelenését is késleltette.

Emeletes csúcskirály!

Ps. a dolgot a userFilter memoizációjával tovább lehetne gyorsítani, nem beszélve arról ha minden adatműveletet átemelnék a controllerbe.

Két könyvet tudok most megemlíteni Angular JS témában, az egyik az O'Reilly féle 200 oldalas AngularJS címre hallgató. Ezt úgy gondolom hogy 200 oldalon át semmi olyat nem mond szinte amit 1-2 hét minimális gyakorlati kódbökdöséssel ne tudna meg az ember, ez ilyen dummies könyv, tényleg pár perc alatt átpörgethető és érzed hogy nem mond semmit. A másik a 600 oldalas ng-book Ari Lernertől, na ez faszának tűnik, és többek közt az optimalizációra is kitér, mégha 10 oldalnál nem is szán rá többet, de a memoizációt is innen szedtem egyébként, és ez látványosan egy mélyebb könyv.

Haszprus

Hello World of Traits

©   Haszprus   |   fejlesztés howto php

Eddig nem használtam a Traits feature-ét a PHP-nek, megnéztem most vele egy Hello Worldöt. Semmi extra.

<?php

trait Hello {
    function sayHello() {
        echo "Hello";
    }
}

trait World {
    function sayWorld() {
        echo "World";
    }
    function sayHello() {
        echo "Szia";
    }
}

trait HelloWorld {
    use Hello, World {
        World::sayHello insteadof Hello;
    }
    function sayHelloWorld () {
        $this->sayHello();
        echo " ";
        $this->sayWorld();
        echo "!";
    }
}

class Main {
    use HelloWorld;
}

$m = new Main();
$m->sayHelloWorld(); // Szia World!
Haszprus

Scala Play blogengine, now with comments!

©   Haszprus   |   fejlesztés howto play scala

Hoppá-hoppá, megjelent egy aloldal és kommentek, ugyanakkor fix menüsor a bejegyzésekkel

A lényeg:

// ...

import java.util.Date

// ...

class Comment(
  val id: Int,
  val date: Date,
  val text: String,
  val login: String
)

object Posts extends Controller {

  def index(id: Int) = Action {

     // ...


     var comments = selectComments().map(row =>
        new Comment(
          row[Int]("id"), 
          row[Date]("date"), 
          row[String]("text"), 
          row[String]("users.login")
     )).toList

     // ...

}

Mit mondjak, ha egyszer az ember ráérez, akkor p. gyors! POWER!

02:54 kitoltam githubra! A kód csúnya, nem az a cél vele, csak elkezdtem szórakozni a playjel/scalaval, és ha valakit érdekel, rácsekkolhat.