fejlesztés - 2014 - 36 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.


Haszprus

SEO

©   Haszprus   |   fejlesztés seo

Szeretném tovább fejleszteni a SEO skilljeimet, ha te egy olyan arc vagy, akinek van kedve kicsit dumálni a témáról, akkor írj

Lecseréltem a version historyt a blogon, statikus html-ből egy angularos kis oldal lett, filterezési lehetőséggel.

Sokminden történik újabban, lehet hogy lenne érdemes írnom egy bejegyzést - ne adj isten cikksorozatot - a blogon történő újabb fejlesztésekről, az architektúráról, a fejlesztési módszerről. Nyilván aki nem hardcore törzsolvasó és pláne nem regisztrált user, vagy nem trusted, az ezeknek jórészéről lemarad egyébként, és valszeg kérdőjel rajzolódik ki a homlokára, hogy ugyan miről, de a helyzet az hogy a blog azért egy elég nagy cucc ahhoz képest hogy csak egy blog.

Na szóval a history meg:

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

Google IO @ BME

©   Haszprus   |   fejlesztés google io konferencia

Holnap Google IO a BME-n:

  • 16:00 - 16:30 Google I/O Extended 1. nap megnyitó (BME AUT)
  • 16:30-17:00 QII ChromeOS az ASUS tálalásában (Gyepes Máté - ASUS)
  • 17:00-17:30 QII Samsung
  • 17:30-18:00 QII NokiaX
  • 18:00-19:30 QII KeyNote
  • 20:00-20:45 QII Reflection lehetőségei és veszélyei Android környezetben. (Hands-on-lab lehetőséggel) (Ekler Péter)
  • 20:50-21:30 QII Függőség kezelési elvek és függőség kezelési eszközök (Erdődy-Nagy Zsombor)
  • 21:30-22:00 QII Google Cloud a gyakorlatban BigData/Hadoop fejlesztésekhez (Ujj Tamás)
  • 22:00-22:45 QII Making your cloud apps Google-fast
  • 22:00-22:45 QBF14-15 What's new in Android
Haszprus

2 órás build? wtf!!! :D

©   Haszprus   |   fejlesztés
Tegnap sorozes közben ahogy jöttek a kocka témák a build futasidejerol, kornyezetekrol, unit testekrol, azt vettem észre magamon hogy ismét kurvara érdekel ez az egész és ennek nagyon örülök alig várom hogy fel birjak kelni és folytathassam a saját kis blog projektemet
Haszprus

Fejlesztői környezet

©   Haszprus   |   blog fejlesztés life php

Na jó, az lesz, hogy összehozok egy local environmentet mégiscsak a blognak. Erre az alapkésztetés az, hogy nagyobb feature-ök lefejlesztésére nagyobb hajlandóságot éreznék, ha nem lenne folyton a nyakamban az, hogy elcseszek valamit productionben.

A második nagy késztetés, hogy előbb-utóbb portolni kell újabb php verzióra a blog motorját, és ez nem annyira frankó élőben.

Amúgy a dolog marha izgalmas, csomó deprecated dolog időközben kivezetésre került, úgyhogy jönnek a factoryk és a különféle elágazások környezet mentén.

Muy excitement, mucho power! Sose gondoltam volna, hogy egyszer lesz ez még ennyire izgalmas.

Most pedig péntek este van, sörre fel!

Haszprus

Open Academy 2014 június

©   Haszprus   |   barátok fejlesztés

Most jöttem Open Academyről, ahol volt pár kurvajó előadás, mint pl. a legjobb nec előadása volt a ustreamtől a Javascript Module Serverről (javascript fájlok kiszolgálása dependencia gráfoknak megfelelően, csomagolva, de csak azt ami éppen kell még a kliensnek), illetve nem volt rossz a Functional Reactive Programming sem, amit egy prezis arc tartott, 40 percben leprogramozott egy kis animált Mario játékot. Nice.

Tényleg a mai átlagon felüli volt, thumbs up.

Néha elgondolkodom ezen a ustream dolgon.

Haszprus

Scala developers wanted for EPAM :)

©   Haszprus   |   epam scala

Scala nyelven backendet fejleszteni nem akar valaki nálunk (EPAM)?

Előfeltétel: minimum vmi egyéb nyelven legyél jó fejlesztő, és legyen benned érdeklődés a Scala felé. Ha már eleve Scala fejlesztő vagy, az se baj.

Haszprus

Seamless Mode

©   Haszprus   |   epam hwsw scala

Istenem, Oracle VirtualBoxban Seamless Mode, hogy eddig miért nem találtam, hát ez istenkirályság, ajh. Happy happy happy.

(Így a VM-nek nincs háttérképe, húzigálhatod a Windows ablakokat és a VM ablakokat szépen egymás közt. Gyönyör.)

Óriási produktivitásjavító felfedezés. Nagyon örülök

Haszprus

PHP vs Angular & YOULOG

©   Haszprus   |   angular blog fejlesztés javascript php történelem

Csak egy gyors angular vs php view kód összevetés

PHP:

Angular:

Sasszeműeknek feltűnhet hogy az angular kódom egy picivel kevesebbet tud, ettől függetlenül tisztább, szárazabb érzés.

Szóval a YOULOG most kőkemény angular js lett:

Oh yeah.

Haszprus

youlog

©   Haszprus   |   blog fejlesztés life önmenedzsment php

Mai állat fejlesztésünk: youlog.

Mint tudjuk régóta csinálok fancy naptárat magamnak arról, hogy miket csináltam. Most egyelőre az van hogy fel tudom címkézni a blogon a napjaimat faszán.

Aztán hosszú távon szeretném megcsinálni vele ugyanazt, amit most excelben tudok:

A cucc egyelőre a saját useremre van limitálva, de lehet hogy felkínálom még valakinek érdeklődés esetén.

Ami nagyon fontos, és ami a fő motiváció, hogy motiválni akarom magam, hogy csináljak dolgokat. Pl. kondizzak, fejlesszek, ilyesmi.

A háttérben meg mellesleg csináltam hozzá egy kis ActiveRecord implementációt szórakozásból.

/** * Class Diary * @property int id * @property string date */ class Diary extends HfModel { protected $table = "hb_diary"; protected $fieldsPrefix = "d"; /** * @var array */ public $fields = array( "id", "date", ); ?>

A fenti kód már önmagában validálja az id és a date mezőket, dob kivételt ha nem jók, stb. Nyilván a HfModelben van a lényeg, csak megmutattam hogy ilyen kis lightweight cuccka lett, a használata pedig:

$diary = new Diary(); $diary->date = $_REQUEST['date'] ? $_REQUEST['date'] : date("Y-m-d"); $diaryId = $diary->save();

Oh, I heart PHP!

Haszprus

Lájkkirályok

©   Haszprus   |   fejlesztés

Nemtom észrevette-e valaki, de lett jobb oldalon egy lájkkirályok doboz.

Persze productionön lefejlesztve az egész fennakadás nélkül, ahogy kell, sum(downtime) = 0, count(dev & test environments) = 0.

Haszprus

Life after facebook

©   Haszprus   |   energiablog fejlesztés life php play scala

Mai productivity eredmény: melóban egyértelműen jobban haladtam fb nélkül, itthon pedig leporoltam a januárban félbehagyott scala play blogengine projektemet (Elavultak a cuccok alatta, már nem fordult IntelliJ-ben (ez nem egészen tudom hogy hogy lehet, habár gondolom úgy, hogy a play konzol valamit update-elt magán, az IntelliJ meg nem követte), rendbe kellett rakni. Ráment kb. 2 óra, de megérte. )

A miranda ng-t pedig még tovább customizáltam, egész barátságos lett. (Atom minimál.)

23:02 Na még egy gyors bejegyzéslájkolós feature lefejlesztése belefért. 0.1-es verzió, egyelőre lehet lájkot leadni, és kiírja hogy hányan lájkolták eddig a bejegyzést. Oje! Majd lesz fullosabb később. (Ja és csak ha belépett user vagy.) Igen, igen, tudom hogy volt már hasonló, de ez kicsit másmilyen lesz, meg jobbabb is lesz.

Mai fejlesztéssel töltött idő itthon: 3-4 óra. Roxx! Istenem, végre.

(Mert persze be kellett tolni egyből egy új 0-ról írt frameworköt is az új feature alá, nem lehet csak úgy. Rég nyúltam a blog kódjához na, és már mások az elképzeléseim.)

Ja és itt kikúrt continuous delivery van ám, annyira hogy nincs localhoston meg sehol tesztszerverem, a blog úgy jó egyből ahogy megírom.

Machete dont text test.

Nem tesztelni kell, hanem jó kódot írni, basszátok meg.*

* A szerző a pókerarcos humor hazai élharcosa. Ismeri és gyakorolja a TDD-t, de ez itt most nem az a projekt, itt tényleg izgibb egyből productionön futó kódot írni. Ennek is megvan a szépsége, ha valaki nem hiszi, próbálja ki dev/test környezetek nélkül fejlesztenie az akármilyen rendszerét.

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.

Haszprus

Angol végre

©   Haszprus   |   energiablog english fejlesztés haszpra olivér scala történelem

Sose jártam nyelvi magántanárhoz, vagy nyelvtanfolyamra, de hosszú évek óta tervben van, hogy majd egyszer, és most végre létrejött, egy arccal beszélgettem Skype-on, aki NY-ban született, és jelenleg is Amerikában lakik, és kifejezetten foglalkozik ilyesmivel. Ennél bár nem tudok konkrétabbat, de a csávóval tényleg jól el lehet dumálgatni, javasol nyelvi fordulatokat stb, korrigál, én meg nagyjából pont ezt kerestem, illetve nem tudtam hogy mit keresek, de most ez tökéletes. Jepp. Amúgy szerintem fogok keresni még további arcokat, rá akarok feküdni önmagam képzésére keményen. Ma vettem két angol nyelvkönyvet is, Scalaztam is (Play frameworköt feltettem, mysql-hez kapcsolódtam, lekérdeztem, csináltam benne routolást, új controllert, új actionnel, új template-tel), eredményes napot tudhatok magam mögött. Valahogy így képzelem a közeljövőt is. Power

Mint azt egy korábbi bejegyzésben említettem, a tudásom valahol felsőfok környékén van egy szintmérő teszt szerint (melóhoz napi szinten kellett is beszélnem angolul), a célom nem az hogy megtanuljam a nyelvet, hanem hogy tovább finomítsam és tökéletesítsem. Régen kifejezetten informatikai angolt szerettem volna tanulni, mostanra úgy gondolom, hogy azzal semmiféle problémám nincs, úgyhogy inkább az általános angol felé fordult az érdeklődésem, informatikára gyakorlatilag elég nehéz találni bárkit is, mert aki tud fejleszteni az aligha angolórákkal fog foglalkozni. A fejlesztés jobban fizet.

Egyébként ami a nyelveket illeti, 3+4 évet tanultam németül, ezzel párhuzamosan 4 évet latinul, később 4 évet középhaladóval kezdve angolul és 4 évet spanyolul. Angolból eredetileg a felsőfokot szerettem volna kapásból letenni, de beparáztattak hogy ott atomerőművek belsejéről kell beszélni meg ilyenek, úgyhogy középfokkal megelégedtem 12. osztályban. Később belekóstoltam még a franciába mp3-ak formájában, de pár lecke után elmúlt az érdeklődésem. Néha gondolok rá, hogy a többi nyelvemet is fel kéne eleveníteni, mármint a németet és/vagy a spanyolt. Bár mivel ezeken a nyelveken nem jön szembe semmi (se meló, se film, se slágerek, se semmi), így ezek aktívan tartása elég nagy kihívás lehet mind időben, mind pénzben, ami erőforrásokat lehet hogy jobban megtérülő dolgokba is be lehet fektetni.

Balage

Android vs. iOS

©   Balage   |   android life
Ha a pénz nem számítana, akkor ti milyen operációs rendszerrel ellátott mobilt vennétek és miért?
Haszprus

What's on your mind?

©   Haszprus   |   fejlesztés
Csináltam egy új kis gyors-posztolási lehetőséget adminoknak - így magamnak is - a blogra, úgyhogy a továbbiakban előfordulhat hogy több kontent várható.
Haszprus

Überblog for Android

©   Haszprus   |   android fejlesztés php scala

Amúgy kéne írnom egy überblog android appot, legalábbis az admin dolgoknak. Csak azért ennyire fb-központú vagyok, mert ott könnyebb megszerkeszteni a dolgokat. Mind mobilról, mind innen netről.

Mondjuk hozzáteszem, hogy nagyobb közönséget is érek el vele, legalábbis jelenleg. (Ha akarják, ha nem, ahah!)

Mindenesetre az Android app helyett most egyelőre elscalazgatok, azzal is elkezdtem játszani. Kellemes, szimpatikus.