PHP kódminőség fenntartás
php, qa, static code checking, phpunit, phpcs, phpmd, phpstan, churn, phpdd, psalm, phplint, phan
2024-10-17
Failed: bson encoding error: BSON element key cannot contain null bytes
mongo, mongodb, bson, null, key
2024-08-24
Nem bízol a kollégáidban? Akkor valamit rosszul csinálsz!
bizalom vezetokent
2023-05-03
Dolgok, amikről a programozók azt hiszik, hogy tudják, de tévednek
programozoi-tevhitek-falsehoods
2023-04-08
A programozóktól meg kell szabadulni
chatgpt no-code low-code
2023-01-22
Miért fontosak a személyes adatok egyáltalán?
privacyaware, privacy
2023-01-07
Egy tanmese a szerény, de tehetséges informatikusról, akit én csak Gézának hívok
privacyaware, privacy
2023-01-02
Beskatulyáznád magad egy termékkel? Gondold át még egyszer!
learning, vendorlockin, risky
2022-12-11
Rekrúterekről és állásajánlatokról
bérsáv, recruiter, relevancia
2022-10-30
"A hídon akkor kell átmenni, amikor odaérünk."​ - YAGNI
yagni, pagni
2022-10-17
"A lényeg, hogy a munka készen legyen!"
agile, estimation, becsles, scrum, home office
2022-08-20
Munka vs. hivatás, a klasszikus dilemma
hr, hobbi, munka, egyensuly, hivatas
2022-07-18
Miért nem fogok nálatok technikai interjún részt venni?
technikai interju, hr, recruit, leet code, coding challenge, take home challenge
2022-07-04
"Hogyan építsek kapcsolati tőkét, ha karriert szeretnék váltani?"
linkedin, tippek, trukkok
2022-06-10
Junior/Medior/Senior, hogyan mérjük?
junior, medior, senior, hr, grade, level, experience
2022-05-09
11 tipp frontendeseknek, hogyan tegyék hatékonyabbá a munkájukat
frondend, vscode, angular
2021-10-31
Motion zoom - mozgás alapú képrekonstrukció
#52het
2021-06-01
Gesture Launcher
#52het
2021-05-31
CellEvent, első Android alkalmazásom
#52het
2021-05-19
Notebookcheck, azaz hogyan válasszuk ki a legjobb ár-érték arányú eszközt
#52het
2021-05-18
Torrent multiplexer
#52het
2021-05-17
Process watcher, logger
#52het
2021-05-05
Lazy loading material dialog content
lazy loading, angular, material, dialog
2020-12-28
Runtime configuration loading in Angular
angular, runtime, configuration, settings, environment, production
2020-03-29
How to start an Angular project?
angular
2020-03-11
Az 52 hét projekt
#52het
2020-01-01
Akkutöltöttség-jelző
#52het
2020-01-01
NetClub - Kollégiumi internetszolgáltató
#52het
2019-12-31
DeeJayy - Lost Terminal
#52het
2019-12-31
Counter Strike monitor
#52het
2019-12-31
Kollégiumi CS bajnokság 2005
#52het
2019-12-31
Mozgásérzékelős képrögzítő, Camera Capture
#52het
2019-12-30
Többszörös host pingelő
#52het
2019-12-30
Sávszélesség mérő, tesztelő
#52het
2019-12-30
Generáljunk hamis adatokat
#52het
2019-12-30
SQL lekérdezések parancssorból, odbc-vel
#52het
2019-12-30
Nonogram generátor (aka. "Fesse feketére")
#52het
2019-12-30
Egyedi chat alkalmazás, kliens és szerver
#52het
2019-12-29
FontSelector - betűtípusválasztó / font preview
#52het
2019-12-28
Saját hálózati kommunikációs segédszoftver - sox
#52het
2019-12-28
Csoportos e-mail küldő szoftver Delphiben
#52het
2019-12-28
Universal Api caller module for Angular 7-9 With NGRX state management
Ngrx, API, Effects, HttpClient
2019-07-02
A leghosszabb projekt
#52het
2019-04-19
Legelső kioszk projektem: Stari Sör Jukebox
#52het
2019-02-28
BPM számláló
#52het
2018-11-01
Assembly féléves beadandók
#52het
2018-11-01
Chatbot before it was cool
#52het
2018-10-30
StartX - Cseréljük ki a windows tálcáját és a Start menüt
#52het
2018-10-28
What? - fájltípus azonosító
#52het
2018-10-27
Transport Tycoon DirectX
#52het
2018-10-26
Diff - fájlösszehasonlító
#52het
2018-10-26
De Facto - Szoftverfelügyelet
#52het
2018-10-25
CD és DVD katalogizáló
#52het
2018-09-24
MP3 segédeszközök
#52het
2018-09-24
Keylogger - azaz billentyűleütés-figyelő és naplózó alkalmazás
#52het
2018-08-29
Az örök projekt: személyes weboldal és blog
#52het
2018-08-14
Szógyakorló nyelvtanuláshoz
#52het
2018-08-13
Warzone 2100 mentett játék szerkesztő
#52het
2018-08-13
Rejtett Windows-beállításokat konfiguráló program: TweakMaster
#52het
2018-08-13
A DrótPostaGalamb levelezőprogram adatfájljainak dekódolása
#52het
2018-08-13
Privacy jegyzet
2018-07-30
Egy éve ilyenkor
2018-07-25
The Matrix - konzol szimuláció
#52het
2018-07-13
Kakaóreceptkönyv
kakaó
2018-06-29
Crackelés!
#52het
2018-06-22
A K.I.T.T. challenge
#52het
2018-06-18
Doom 2 botokkal
#52het
2018-06-16
Römi játék Delphiben
#52het
2018-06-09
MeetsCow & DeeJayy - Intro
#52het
2018-06-09
Direct viewer - bitmap megjelenítő
#52het
2018-06-09
bazMAG
#52het
2018-06-09
Console Vision - Konzolos ablakkezelő Delphiben
#52het
2018-05-01
Quake 2 egy floppyn
#52het
2018-04-20
Játék-kitömörítők
#52het
2018-04-12
Tetszőleges program elrejtése Windows tálcáról
#52het
2018-04-05
Személyre szabás
#52het
2018-03-28
A year with Angular 5, 6 - Angular 2018
#angular5 #angular #resources #articles
2018-03-16
Az ikon evolúciója
#52het
2018-03-14
Betűtípusok
#52het
2018-03-04
Billentyűzet-gyakorló
#52het
2018-02-28
Zenél is a DeeJayy?
#52het
2018-02-22
Térképrajzoló az Ascii 3D labirintushoz
#52het
2018-02-19
Ascii 3D labyrinth
#52het
2018-02-14
52 hét - 52 projekt, avagy #eletem
#52het
2018-02-14
Dockerezzünk virtualizált környezetben!
docker, xen, ubuntu
2017-11-12
A cloud-initramfs-copymods hatásai paravirtualizált környezetben
ubuntu, xen, copymods, docker, docker-ce, docker.io
2017-11-11
Virtualizáljunk Xen 4.6-tal Ubuntu 16-on (Xenial)
ubuntu, xen, virtualizálás, hypervisor, debootstrap
2017-11-04
Álláskeresésem története
álláskeresés, it, fejvadászok, linkedin, job
2017-10-24
FAR Manager competitors
far manager, file managers
2010-01-01
Blog
blog
2001-01-02

Notebookcheck, azaz hogyan válasszuk ki a legjobb ár-érték arányú eszközt

- 2010 -

A legjobb ár/érték arány véleményem szerint a tudatos vásárló világos célja. Minden fontos beszerzést ementén mérlegelek én is. Másfél évvel azelőtt kezdtem dolgozni a buszgyárban, amikor úgy éreztem, lassan ideje nyugdíjazni a 4 éves laptopomat (hogy aztán másnál eldöcögjön még 10 évet, szia anyu!) és valami korszerűbb, erős, mégis kis méretű, könnyű számítógépre cseréljem (naponta hordoztam oda-vissza bringával a munkahely és az otthon között).

Szóval az ár-érték arány akkor jó, amikor az érték magas, az ár alacsony, ez egyszerű. Az ár esetében nincs kérdés, viszont az érték az egy sokkal körülményesebben számolható "valami". Vagyis csak annak tűnik elsőre, ugyanis az elvárások megfogalmazása után mégis nagyon könnyen kiszámolható.

Mi volt fontos akkoriban egy laptop esetén?

  • legyen kicsi
  • legyen erős

Ez a két szempont nem csak látszólag, de gyakorlatilag is egymással ellentétes irányba mutatott és relatív kevés opció volt arra, hogy ilyen paramétereket mondjuk egy webshop keresőjébe beírjak. Kellett keresnem egy másik megoldást, de előbb, kifejteni, hogy mit jelent a kicsi és az erős (bors!).

Kicsi:

  • kis súly (szám érték)
  • kis méret (kijelzőméret, 10.2", 12.1", 13.3", 14", 15.4", 17")

Erős:

  • erős cpu (kb. 20-50 típus)
  • dedikált, erős gpu (kb. 10-25 típus)
  • sok memória (szám érték)
  • nagy felbontású kijelző (1280, 1366, 1440, 1920)

Teljesen nyilvánvaló volt, hogy ebből kompromisszum lesz, viszont egyáltalán nem volt világos, hogy mely paraméterekből kell ehhez engedni.

De ezt a problémát hagyjuk meg kicsit későbbre, először is be kell szerezni a listát, hogy miből lehet választani.

Már 2010-ben is voltak ár-aggregátor weboldalak, mint az Árgép, Olcsóbbat, Árukereső, Depó, satöbbi. Ellenben ezek fejlettsége messze nem volt még olyan, mint ma, nem lehetett csak úgy paraméterekre keresni, maximum a szabad szavas kereső tudott segíteni, ha egy bizonyos dolgot kerestem (mondjuk egy adott processzortípust). Abban viszont sokat segítettek, hogy adjanak egy listát azokról a webshopokról, amelyek nagy típusválasztékban forgalmaznak laptopokat.

A feladat tehát első körben az volt, hogy az összes notebook webshop oldaláról a összes forgalmazott laptopot összegyűjtsem. Megtettem. Ez számosságban 12-14 áruházat jelentett, átlagosan 300-500-as kínálattal. A megoldás relatív egyszerű volt: letöltöttem az összes termék-aloldalt és egy automatizmussal értelmeztem, hogy mi van azon az oldalon.

Scraping, azaz feltérképezés és letöltés

Az automatizmus persze nem volt teljesen triviális, sem működés szempontjából, sem kivitelezésből. Egy webshopon belül a termékoldalaknak nagyrészt azonos a felépítése, ami segít, viszont ott is lehetnek kivételek (például az ár mezőben néha két ár volt, az egyik az akciós, a másik az eredeti - ezeket kezelni kellett). A lényeg az, hogy sikerült egy megfelelően általános logikát írnom arra, hogy

  • lekérje az összes laptop listáját a webshopból
  • letöltse minden találat adatlapját
  • a megfelelő struktúrális elemeket figyelembe véve kivegye csak a fontos adatokat (pl. ha valahol az volt, hogy "4 GB DDR3 RAM", akkor számomra csak a "4" volt az érdekes, stb.)

Ez volt a könnyebb része a dolognak, de ezen a ponton már elég adatom volt ahhoz, hogy továbblépjek. Ilyen akadályok jelentek meg, miután mindent letöltöttem:

1. a paramétereket máshogy csoportosították

Azaz, volt, ahol a képernyőfelbontás így nézett ki: 1366x768, 60Hz, máshol volt egy külön rész a vízszintes pixeleknek (1366), egy a függőlegeseknek (768) és egyáltalán nem volt feltűntetve a frissítési frekvencia.

2. az adatokat különféle formában jelenítették meg

A processzortípus megfogalmazására elég sok lehetőség van anélkül, hogy az információtartalom elveszne. Pl. "Intel i7-4810MQ" és "i7 4810" valójában ugyanaz, mivel i7-et csak az Intel gyárt, illetve a 4810-ből is csak az MQ változatot gyártották laptopokba.

3. kihagyott információk

Bár a főbb adatokat minden webshop listázta, előfordult, hogy a döntéshez szükséges sokadik paramétert nem (pl. vastagság, képernyőfrissítési-frekvencia, stb). Ezekkel az elején próbáltam valamit kezdeni (pl. más webshop adatai alapján kitölteni), de végül elvetettem és csak a végén, amikor már eléggé leszűkült a lehetséges választások számossága, vettem ismét elő.

--

Miután tehát sikerült hozzájutni minden adathoz, azokat többé-kevésbé megtisztítottam, előállt egy excel fájl, amiben komplett webshopok teljes laptop-kínálata benne volt, oszloponként a fontos technikai paraméterekkel. Illusztrálva:


egy webshop katalógusa, ebből volt vagy 12

Egy-egy ilyen munkalap - ahogy följebb említettem - 300-500 sort tartalmazott, de szerencsére az Excel autoszűrője sokat segített lecsökkenteni a mennyiséget értelmesen kezelhetőre (10-15 találat). Az ilyen fajta szűréseket a mai webshopok már egészen jól, de még mindig esetlenül tudják nyújtani.


a rövidített találati lista

Oké, végülis nem kellene meglepődnöm, de most, ahogy leszűrtem a listát azokra a jelöltekre, amikről azt gondoltam, hogy 2010-ben rendben lehettek, egyértelműen látszik, hogy melyik laptopot vettem meg végül :) Igen, az Acer Aspire TimelineX 3820TG típust.

És még a vonatkozó tweetet is megtaláltam 2010-ből :D

De miért pont azt? Itt jön képbe az, hogy hogyan gondoltam megállapítani az "értékét" egy laptopnak.

Súlyozott döntési mátrix

(de bevallom, éppen kettessel mentem át döntéselőkészítésből az egyetemen, szóval lehet, hogy nem is így hívják)

Az egész folyamat lényege az, hogy

  • veszem a számomra fontos paramétereket,
  • megmondom, hogy azok hol ideálisak,
  • adok nekik egy súlyt,
  • és ezeket a szorzatokat szummázom

Paraméterek és preferenciák

Nagyon egyszerű példa a laptop memóriája - minél több, annál jobb. Ugyanígy a felbontás, a memória frekvencia, a processzor frekvencia, satöbbi.

Vannak másfajta értékek, amik csak egy bizonyos tartományban jók. Például a képernyőméret, ahol a 17" egyértelműen túl nagy (biztosan nagyobb súlyú tőle az egész notebook), a 10.2" viszont túl kicsi (nehezen látható, kicsik a gombok a billentyűzeten). Tehát valahol középtájban lesz ideális.

A képernyőméret egyébként más szempontból is speciális, hiszen nem egy folyamatos érték 10-től 17-ig (bár annak tűnik), hanem egy fix, maximum 10 elemes listából álló készlet.

A processzor és videokártya típusra egy külön adatbázist kellett igénybe vennem. Vannak ugyanis tematikus, hardver-teljesítményt gyűjtő statisztikai weboldalak. Sokszázezer felhasználó feltölti a saját hardverének a számítási eredményeit. Ez tehát nem katalógus-adat, hanem való életbeli, ami segít átlátni az esetlegesen félrevezető marketingüzeneteken.

Súlyok

A fenti példatáblázatba sajnos nem fért bele, de ott még van 30 másik oszlop is, ami részt vehet a választás finomításában, például garanciaidő, billentyűzet nyelve, satöbbi. Utóbbiak nyilvánvalóan kisebb súllyal vesznek részt a döntésben, mint mondjuk a processzor teljesítménye.

Nem volt más hátra, mint a paraméterekhez súlyokat rendelni. Ez igazából nem egy komplex dolog és nagyon személyes, de ha köznyelven próbálnám megfogalmazni, azt kérdezném, "mi a legfontosabb egy laptopban?", aztán "mi a második legfontosabb?", stb. és persze nem feltétlenül rossz az sem, ha vannak egyforma fontosságú paraméterek.

Szumma

Ha tehát vettük a paramétereket, azok ideális értékeit, mondjuk egy 1-10-es skálán beosztottuk, valamint ezeket összeszoroztuk azok súlyával, a végén kiesett egy "érték", amit már játszi egyszerűséggel el tudunk osztani a termék árával.

Voila, ár/érték arány! Most már csak sorba kell rendezni az excel táblát eme arány mentén és megrendelni az első elemet a listában!

Notebook Gallery

A webshopok adatainak feldolgozása és tisztítása további előnnyel járt: az adatokat nagyon könnyen adatbázisba lehetett tölteni. Nem tudom ki emlékszik még arra, amikor viszonylag kevés Android alapú telefon volt és a Google úgy döntött, csinál egy katalógust, amiben a felhasználók áttekinthetik és összehasonlítgathatják a komplett Androidos kínálatot (itt a cikk róla). Ez nagyjából így nézett ki:


Google Phone Gallery

Adta magát a lehetőség, hogy csináljak valami hasonlót, csak notebook-okkal. Nyilván a képeket még le kellett hozzá tölteni, de végül így nezett ki, kis extrával megspékelve:


a notebook gallery, vizuálisan elég hasonló a google phone galleryhez

Azután, ahogy megvettem a választott laptopot, a projektet el is felejtettem 5 évre.

És persze a forráskód githubon.