blog - 90 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
2023
-
-
-
-
-
-
-
-
-
-
-
2020
-
-
-
-
-
-
-
-
-
-
-
2019
-
-
-
-
-
-
-
-
-
-
-
2017
-
-
-
-
-
-
-
-
-
-
2016
-
-
-
-
-
-
-
-
-
-
-
2014
-
-
-
-
-
-
-
-
-
2013
-
-
-
-
-
-
-
-
-
-
-
2008
-
-
-
-
-
-
-
-
2007
-
-
-
-
-
-
-
-
2006
-
-
-
-
-
-
-
-
2005
-
-
-
-
-
-
-
-
-
-
2003
-
-
-
-
-
-
-
-
-
-
Haszprus

FormatterChains

©   Haszprus   |   blog fejlesztés php

Különböző szövegmezők formázásai a blogon.

<?php

namespace Uberblog\Text;

use Uberblog\System\DI;

class PreSaveFormatterChains
{
    public function formatPreSaveUserTextarea(string $text,
                                              string $inputType): string
    {
        return $this->apply($text, $inputType,
            DI::MarkDownPresaveFormatter(),
            DI::BbcodePreSaveFormatter(),
            DI::TextPreSaveFormatter(),
            DI::CommentPreSaveFormatter()
        );
    }

    private function apply(string                       $string, 
                           string                       $inputType, 
                           PresaveFormatterInterface ...$formatters): string
    {
        foreach ($formatters as $formatter) {
            $string = $formatter->doThePresaveFormatting($string, $inputType);
        }
        return $string;
    }

    public function formatPreSaveEditableTextarea(string $text, 
                                                  string $inputType): string
    {
        return $this->apply($text, $inputType,
            DI::PostPreSaveFormatter(),
            DI::TextPreSaveFormatter()
        );
    }

    public function formatPreSaveGeneratedTextarea(string $text, 
                                                   string $inputType): string
    {
        return $this->apply($text, $inputType,
            DI::PostPreSaveFormatter(),
            DI::MarkDownPresaveFormatter(),
            DI::TextPreSaveFormatter()
        );
    }

    public function formatPreSavePostTitle(string $text, 
                                           string $inputType): string
    {
        return $this->apply($text, $inputType,
            DI::PostPreSaveTitleFormatter()
        );
    }
}

Like? Dislike? Ötlet? Javaslat?

(7.2-es PHP-re be vagyok korlátozva, másképp mondjuk minimum enumok lennének az $inputType-ok, most máson nem gondolkodtam, hogy mi lenne frissebb PHP-vel.)

21:09 elvileg hamarosan lesz 8.2-es PHP-nk, yeaaah

Haszprus

Syntax highlight / prism / torchlight

©   Haszprus   |   blog első fejlesztés javascript laravel php történelem

Mivel az utóbbi időben 1-2 code sample-t is tettem az oldalra, syntax highlighthoz berántottam a prism js-t.

Közben lehet, hogy a Torchlight jobb lenne syntax highlightra, de első körben nem láttam plain php támogatást.

Amúgy én Parsedownt használok .md parsingra (ami elvileg a leggyorsabb markdown parser). The struggle is real. Mondjuk a prism se rossz, de ha lehet elkerülném a kliens oldali js bütykölést, performance okokból.

Haszprus

Installing Laravel Sail on Windows

©   Haszprus   |   blog fejlesztés laravel life php

Előkövetelmények (Windowson)

curl -s https://laravel.build/example-app | bash
cd example-app
./vendor/bin/sail up

Esetleg

./vendor/bin/sail up -d

Hogy csöndben legyen, meg hogy ne pazaroljunk el rá egy külön nyitva tartandó ablakot.

Nekem most momentán azért kell egy projekthez, mert fel akartam rakni a PHPStant, és a natív Windowsos PHP-mmel valahogy akadt, és úgy gondoltam, hogy nem arra fordítom az energiámat, hogy a Windowsos PHP problémámat próbálom megoldani, hanem inkább felteszem a Sailt, mert abban úgyis van egy csomó dolog amire szükségem lenne egyébként is.

Amíg ezt leírtam, a Sail nagyjából fel is rakta magát.

Alapból egy nagyon kellemes hibaoldallal fogad, mert még nem futtattuk a migrációt.

Segítsünk ezen, futtassunk egy migrációt:

./vendor/bin/sail artisan migrate

A sailhez majd vagy fel kell venni egy aliast, vagy csinálni rá egy symlinket.

Mindenesetre fáradozásunk eredménye egy gyönyörű üres Laravel oldal a localhoston.

Pár blog-todo:

Haszprus

GuzzleHttp Client első körben

©   Haszprus   |   blog done első fejlesztés laravel php todo történelem

Van egy endpointom a blogon, amin a TODO itemeket csekkolgatom ki-be (/my/todo/toggle/{id}). Ez nem Laravelben van, hanem a jó öreg saját blogengine-ben, és most a laraveles felületre nem akarok semmi JS-t tenni. Az endpoint egy JSON-t ad vissza:

{ "checked": true }

vagy

{ "checked": false }

Annak függvényében nyilván hogy a TODO done lett-e vagy .. todo.

Igazából sosem használtam a Guzzle-t. Nem nagyon akarok sokmindent változtatni, annyit akarok, hogy az endpointomat meg tudjam hívni, amihez szükségem van arra, hogy bejelentkezett adminnak lásson a blog. Ehhez át kell küldenem a vid, uid, sid cookie-kat.

A Guzzle http kliensét akartam kipróbálni, ez a lényege a feladatomnak.

Következőt sikerült produkálni, ez egy Laravel kontrollerben van:

namespace App\Http\Controllers\Admin;
use GuzzleHttp\Client;

class TodoController
{
    public function toggle(HbTodo $todo)
    {
        $headers = [
            'Cookie' =>
                'vid=' . DI::Cookies()->getVid()
                . ';uid=' . DI::Cookies()->getUid()
                . ';sid=' . DI::Cookies()->getSid()
        ];
        $client = new Client();
        $res = $client->post(DI::Config()->siteUrl 
            . '/my/todo/toggle/' . $todo->t_id, [
            'headers' => $headers
        ]);
        $contents = json_decode($res->getBody()->getContents());

        return redirect()->route('admin.todos', [
            'checked' => $contents->checked
        ]);
    }

A fenti kódban a DI nevű class egy saját dependency injection megoldás (használhatnám a PHP-DI-t pl, de minek, ugye, itt minden saját). (Egyik nap ami azt illeti be is rántottam a PHP-DI-t a blog alá, aztán kitöröltem. Teljesen működőképes volt stb, de ... akartam írni egy postot a PHP-DI-ról hogy miért nem azt használom... majd egyszer talán. Közben létrehoztam a postot hogy nyomasszon, benne van a queue-ban, mire megjelenik, szeretnék írni bele valamit. :Đ )

Na de a lényeg: létrehozzuk a Guzzle Client-et, simán küldünk vele egy POST requestet, belesütjük a Cookiekat, json_decode-oljuk a választ az endpointról, és átirányítjuk a usert (magamat) az új Laraveles TODO admin oldalra, becsűrve az URL-be hogy done lett-e az item vagy todo (checked=0 v checked=1).

A Guzzle ->post() helyett tudna ->postAsync() -et is, az elég fontos funkció lenne, de akkor nem kapnám meg, hogy mi lett az endpoint válasza, és így nem tudnám belesütni az URL-be.

Amúgy az URL-be belesütés nyilván nem annyira hatékony módja a kommunikációnak, de leszarom, egyszerűen csak ismerkedek libekkel.

Van amikor hasznos, pl. egy sima URL logból látom, hogy mondjuk valaki hozzászólt egy topikhoz, mert az URL-ben benne van hogy &thx4=cmnt (aki nézi az URL-t, biztos találkozott már ilyennel a blogon, miután hozzászólt valami témához). Kiszedhetném belőle, a blogon van egy kellemes kis értesítős megoldás (most már azzal is találkozhattok pl. ha beléptek vagy kiléptek, vagy módosítjátok a profilotokat).

Mi ez a function toggle(HbTodo $todo)?

Éleslátók észrevehetik, hogy a Laravel tök faszán URL-ből felpéldányosít nekem egy HbTodo objektumot. Ez szerintem kurvajó. Itt a példában tök fölösleges, mert csak az ID-jára van szükségem. De annyiból mégis jó, hogy ha rossz ID lenne, akkor már eleve a Controller végrehajtása előtt kapna a user egy HTTP 404 not found hibát. Így az ID-t nem kell manuálisan validálni, hogy létezik-e. Szóval annyira mégse fölösleges. Good.

Miért nem JS-ben írom?

Mert perpill a Laravel dolgaira akarok fókuszálni, épp egy backend developer role-ra pályázok, és nem akarok JS-sel foglalkozni most, így is végeláthatatlan dolognak kell utánanézzek. Egyébként természetesen JS-ben lenne logikus, pláne ha már ilyen nice endpointom van ami JSON-t ad vissza.

Másfelől perpill nem tenném le a voksomat semmilyen JS lib mellett, a Reactot évente újra kell írni (nekem nem lesz ennyi kapacitásom a blogra, most épp van, de tudom hogy nem lesz), jQuery-t minek gyakoroljak 2024-ben, stb.

Legfőképp meg azért mert a Laravel admin felületemre egyelőre semmi JS nincs bevezetve. Pedig fájóan kéne egyébként. Fel is jegyzem:

Haszprus

Typora

©   Haszprus   |   blog fejlesztés hwsw

Megvettem a Typorát (nem volt különösebben drága szvsz, ~7000 Ft), ami egy - szerintem - kurvajó markdown editor.

  • WYSIWYN - What you see is what you need. Nem a forráskódot szerkeszted hanem a vizuális végeredményt. Vagy írod be a kódokat és rögtön konvertálja át a megjelenésre, vagy vannak shortcutok és azokat használod (pl. H1 = Ctrl + 1, stb, tök kényelmes.)
  • Atom kellemes UI
  • Jó shortcutok
  • Simply awesome

Te mit használsz Markdown szerkesztésre?

(Itt a blogon egyébként egyszerűen markdown "forráskódot" írok, egyelőre csak az adminban elérhető, később lehet hogy bevezetem a kommentek közé is, de még tesztelgetem. A Parsedown-t használom rá egyébként.)

Vannak egyébként bugjai, de így is simán megérte.

Elgondolkodtam azon, hogy mi lenne ha a blogpostokat gitben (is?) tárolnám (DB helyett / mellett). A mass replace dolgokat eléggé megkönnyítené. Persze elég sokat kéne kódolni hozzá (importálni folyton a változásokat markdownból vagy pláne oda-vissza syncelni - itt mindig szem előtt kell tartani hogy ez nem egy ezer fős projekt, szóval mennyi időm van magyarán).

Haszprus

nesbot/carbon

©   Haszprus   |   blog első fejlesztés laravel php történelem

Tudnivalók

  • carbon.nesbot.com
  • An API extension for DateTime that supports 281 different languages.
  • A legújabbhoz (most épp) 8.1-es php kell
  • Carbon::now()
  • Ezt használja a Laravel, tipikusan now()-ként hivatkozik rá

Blade template-ben így lehet használni, ha a meződ alapból nem lenne Carbon [ld lejjebb]:

<div>
    {{\Carbon\Carbon::parse($todo->t_inserted_at)
        ->diffForHumans()}}
</div>

Vagy így is:

@inject('carbon', 'Carbon\Carbon')
<div>
    {{$carbon::parse($todo->t_inserted_at)->diffForHumans()}}
</div>

Amit megjelenít (pl):

1 day ago

Vagy magyarul:

{{$carbon->parse($todo->t_inserted_at)
    ->locale('hu_HU')->diffForHumans()}}

A kimenet:

1 napja

A locale('hu_HU') nem szükséges, ha a config/app.php-ben be van állítva, hogy

    'timezone' => 'Europe/Budapest',

És akkor említettem hogy "ha a meződ nem lenne alapból Carbon". A Laravel ugye egy inserted_at és egy created_at mezőt használ a db-ben a rekord beszúrási/frissítési időpontjaira. Ezeket a mezőket a Laravel alapból castolja Carbon példányokra, így alapból hívható rajtuk a diffForHumans metódus, illetve amúgy bootolhatod úgy is az appot hogy bizonyos mezőket alapból castoljon Carbonra.

Személy szerint nem ezeket a mezőneveket használom a DB-ben a blogon, de a Laravel modelljeit lehet instruálni, hogy más mezőneveket használjon, így azokat is Carbonná konvertálja by default, megkönnyítve a template-ben a dolgunkat, nem kell a Carbont külön injektálni. A Laravel setupolása igazából eredetileg nem volt a célom ebben a postban, úgyhogy nem is megyek bele jobban. :)

Az a gyanúm, hogy frissebb Laravelekben lehetne csinálni egy ilyet, de a blog momentán 7.2-es php-n fut (ami 7-es laravelt jelent), úgyhogy itt ezt nem tudom kipróbálni. Az AppServiceProvider.php-ben van egy boot metódus:

    public function boot()
    {
        // ...
        Blade::stringable(function (Carbon $date) {
            return $date->diffForHumans();
        });
    }

Ezzel elvileg az összes dátumot így lehetne kiíratni. Idő hiányában ezt most nem tudom kipróbálni 11-es laravel projektben, mert mozdulnom kell a köv témára. :) Next time maybe.

Nyilván egy csomó dolgot tud még, szóval ld. fenti link, vagy nesbot/carbon on packagist, vagy laravel.com doksi.

20:12 syntax highlighthoz berántottam a prism-öt.

Haszprus

Laravel in da house

©   Haszprus   |   blog fejlesztés laravel php

Raktam be a blog alá laravelt jól. Egyelőre - és várhatóan a jövőben is - kizárólag admin funkciókhoz. Nem rossz az ha 20 év múlva is megy valami.

Vicces, 2 hónapja még minden dependenciámat ki akartam vakarni a blog alól, most meg épp abban vagyok h berántsak ezt-azt.

Szerintem ezt a site-ot amúgy úgy érdemes csinálni - és nagyjából így is van -, hogy a "mainstream" oldalhoz nem nagyon használok külső dolgokat, az adminisztrációhoz, fejlesztéshez, meg igen.

DE MIÉÉÉÉRT

Mert előfordulnak röpke 10 évek az életemben amikor mondjuk nem annyira foglalkozom a bloggal, és utána kb lehetetlen a régi dependenciákkal mit kezdeni, meg ugye nem is szereti az ember annyira a lejárt dolgokat, de nehéz upgrade-elni, kivakarni, stb. Ez nem egy 200 fős projekt, érted. Nincs folyamatosan up-to-date tartva. Tökjó ha olyan dolgokból épül, ami menni fog az unokáimnak is.

Most idén amikor elkezdtem foglalkozni vele újból, konkrétan taskokat hoztam létre arra, hogy pár dependenciától nézzem már meg hogy miként tudnék megszabadulni. Hát sejthető hogy mennyire sikerült. (Semennyire.)

Ugyanakkor ami mondjuk csak lokál fejlesztéshez volt használva - vagrant - azt nyilván 0 sec alatt kivágtam.

Mondjuk most már kezdek úgy behúzni ezt-azt hogy kb feature switchelhető hogy van-e vagy nincs, azt' max nincs használva az adott funkcionalitás. Dehát ezt nyilván nem lehet mindennel megcsinálni.

Haszprus

Back to "normal"

©   Haszprus   |   amazon aws barátok blog ec2 ecs fejlesztés laravel life meli mysql php

Voltak itt Meliek. Elmentek. Altalaban nem erzem magam olyan egyedul, mint most. Csak most eros a kontraszt.

Konkretan ram tort a panik.

Idokozben vege lett.

Beszeltem anyammal ahol a "true self"-em elojohet. Elegge elveztem, alig tudtam abahagyni, vegul azert ejjel 2.30kor lekorlatoztam magam.

Ezeket at kell nezzem a keddi interjuig

Es tok jo lenne ha el tudnek . De lathatoan nehezen menedzselem a prios dolgokat. Anyam tanacsa: mi hataridos. Nos egyedul a keddi meeting hataridos, a tobbi a kutyat nem erdekli (magamon kivul) hogy elkeszul-e v mikor

Meliek behuztak a , lol

De a true selfet egyebkent szivesen megmutatnam masoknak is, de valszeg korlatozottabb lenne ra az erdeklodes.

, ami valszeg senkit se erdekel egyebkent, de engem annal inkabb

Haszprus

Bejegyzéskategóriák tisztogatás

©   Haszprus   |   blog

Noh a bejegyzéskategóriáknál csináltam egy nagyrendrakást, be lett állítva h melyik mászhat fel automatikusan és melyik nem, volt egy rakat amiket visszamenőleg leszedtem a bejegyzésekről.

Haszprus

Commentdelay 2007-2024

©   Haszprus   |   blog bme fejlesztés over

Akik végigküzdötték velem a BME-s vizsgaidőszakokat, talán emlékezhetnek, hogy volt egy commentdelay mód a blogon, amit ha bekapcsoltam, akkor az aznapi kommentek nem jelentek meg, csak éjféltől. Így redukáltam a site-ra fordított függőségi időt. Mert ugye akkoriban rengeteg komment jött (asszem 169 komment volt egy nap a csúcs), egész nap volt mit olvasgatni, meg mire válaszolgatni.

Nos ezt a funkciót most eltemetjük, béke poraira.

Haszprus

OMG this tool is beautiful

©   Haszprus   |   blog buli css design fejlesztés php

Blog health check & maintenance.

(A második kép valójában nem kattintható de már a fülemen jön ki a CSS hegesztés, sry.)

Még gondolkodom rajta hogy automatizáljam-e az ilyen orphanok törlését. Bizonyos esetekben mehet, de mondjuk találtam értékes adatokat is a múltból amiket restauráltam. (Pl. egy rakás kommentet egy törölt bejegyzéshez.)

Haszprus

utf8mb4

©   Haszprus   |   blog fejlesztés php

Oké sikeresen áttértünk utf8mb4-re. Ofkorsz élesen kellett kipróbálni. Ofkorsz elhasalt a felénél. De most már lehet smiley-kat írni a szövegbe. Mármint igazi smiley karaktereket. Mind blown.

Erre azért volt szükség mert kimásoltam ide egy chatrészletet és elveszett a bejegyzésem smiley-tól hátralevő része. Elsőre nem vágtam hogy mi van.

A dolog mindenesetre elég könnyen ment. Nem is vártam mást, annak ellenére hogy egy encoding váltás anno micsoda KŐKEMÉNY SZOPÁS volt.

Haszprus

Dübörög a várólista

©   Haszprus   |   blog fejlesztés

Helyreállítottam ezt a funky feature-t és így sokkal nyugodtabban írkálok mindenféle fasságról. Mint pl arról hogy helyreállítottam ezt a feature-t.

Talán valahogy még rankelnem kellene a várakozó bejegyzéseket, hogy a legvégére maradjanak a futottak még kategóriájúak, de nem tudtam kitalálni jól automatizálható metrikát. Illetve ki tudja lehet hogy a legjobbakat érdemes a végére hagyni (feltételezve hogy lesz olyan pont amikor egy darabig nem lesz a várólistában semmi, akkor tökjó ha a legjobb post a legújabb).

Haszprus

@!!#

©   Haszprus   |   blog fejlesztés php phpstorm

Hogy b*nád meg phpstorm, besz.pattál a refaktorral. Hát a f.szom, nem mindent nevezett át.

11:45 resolved.

Haszprus

Moderálási alapelvek

©   Haszprus   |   blog fejlesztés film

Mielőtt hozzászólást írsz, tudnod kell, hogy…

  • Fikázások nem jelennek meg az oldalon.
  • Ha filmhez írsz, többet írj, mint hogy tetszett vagy sem.
  • Film- és zenekérések törlésre kerülnek.
Haszprus

Redirects++

©   Haszprus   |   blog fejlesztés seo

Csak csendben elég brutál képessége lett az archívumnak. Mondjuk nem csoda, beletoltam pár nap fejlesztést. Gyakorlatilag akárhova lehet kattintgatni és mindenre jön elő értelmes kontent. Nincs üres oldal. És nem duplicate content, hanem szépen egy rakat redirekt/logika.

Miért: seo miatt. Brutális mennyiségű nemlétező (tartalomtalan) oldalt indexelnek a blogon. Ezt igyekeztem megszűntetni, megtartva az archívum elég combos funkcionalitását.

Mint a képen látjuk, a társszerzők is bekerültek a logóba

Haszprus

Vaffankulo

©   Haszprus   |   blog fejlesztés php

Baszki kikapcsolt a gepem, a legizgalmasabb resznel. Visszakapcsolom.

23:09

Végre zöld a phpstan, el se hiszem, persze új baseline fájllal nyilván csak zöld lehet, ez némileg levon belőle.

A mai nap kiemelt kommitja: render templates with reflection. Yeah.

Haszprus

A terrible decision

©   Haszprus   |   blog fejlesztés google seo

Ez a teljesen custom szűrhető archívum egy viszonylag bonyi de kurvajó feature.

Egész addig, amíg nem gondolsz bele, hogy a keresőbotok (hello SEO) mit kezdenek vele.

Szerencsétlen bot idejön, és azt találja, hogy millió féle archívum oldal elérhető, a fele duplicate kontent, a fele üres. Emberi user szerintem könnyen átlátja hogy mire érdemes szűkíteni, de a logból tűnt fel hogy értelmetlen oldalakat indexelnek ezerrel a botok. Ideiglenesen kikapcsoltam pár dolgot szegények miatt. Hamarosan érkezik egy jobb megoldás. (Amin még kénytelen vagyok gondolkodni előtte )

Haszprus

A bit more responsive

©   Haszprus   |   blog english fejlesztés

Gallery got better a bit on mobile. Planning to improve further. It doesn't handle touch gestures yet. I start to feel like I should continue developing this site every year at least a bit. It's still fun as a hobby project.

Haszprus

Monster deploy

©   Haszprus   |   blog fejlesztés

Feltoltam 120 módosított fájlt, kíváncsi vagyok mi tört el. Remélem semmi. (Ez vajon mennyire életszerű?)

Volt egy kis refaktor, fixing, etc.

Ha látsz vmi problémát, kifejezetten örülnék, ha szólnál, thx.

Haszprus

Lehet regisztrálni

©   Haszprus   |   blog fejlesztés

Mint kiderült, többek között el volt törve a blogon a regisztráció. Oops.

Ciki vagy sem, ha esetleg akarsz regelni, most már tudsz. Azt hittem egy ideje senki se akar. Persze ettől még lehet h senki se akar.

Meg még egy pár egyéb dolog is el volt törve, javítás folyamatban...

Ps. A Playwright tests for the blog c. bejegyzéshez egy automata fazon kommentálgatja a git commitok szövegeit. Majd lehet h változtatok rajta, mert kicsit spam jellegű.

Haszprus

Playwright tests for the blog

©   Haszprus   |   blog fejlesztés php

Na ha már törünk mindent, akkor legyenek end-to-end / UI tesztek. Az utóbbi években történt a szerveren egy PHP verziófrissítés, aminek a változásait csak ímmel-ámmal követtem le (nem volt fókuszban a blog, de ezt nyilván észlelték akik követnek valamennyire). Most ránéztem újra alaposabban a site-ra, mert növelni akartam kicsit a reszponzivitást, és rájöttem, hogy egy csomó feature el van törve, meg én is eltörtem ezt-azt miközben ezt lefejlesztettem. Meg arra is ráeszméltem így sok év szünet után, hogy atyaúristen mennyi minden funkciót csináltam itt Ami mókás és örömteli felismerés volt. Úgyhogy elkezdtem playwright teszteket írni. Még nincs sok, mivel tegnap álltam neki.

Egyelőre egy külön privát github repóba tettem, szépen CI-ban futtatva, kapok emailt ha hasal meg minden. Később valószínűleg jobb lenne beletenni a blog főrepójába.

Van pár known issue, és azokat már úgy akarom meghegeszteni, hogy teszt is legyen rá.

Hát, nemtom meddig lesz erre időm, de most épp van.

Haszprus

I'm back

©   Haszprus   |   blog life

Újra megy a blog. The one and only.

A kommenteket úgy látom még debugolni kéne. Egyéb problémák is lehetnek. De most ezzel megelégszem. Majd lehet h később ránézek.

19:11 kommentek is mennek

Haszprus

Refaktor, új backend feature-ök, ilyesmi

©   Haszprus   |   blog php

Mostanában elég sok időm van, és sokmindent egyszerűen nem csinálhatok, pl nem sportolhatok. Meg minden. Meg egyébként is újra php-zek (vagy hackezek, ld. hhvm*) backenden, úgyhogy ezen apropóból nekikezdtem egy ideje a blog modernizálásának, és tervezem hogy kisebb-nagyobb időszeleteket erre fogok allokálni. Igazából új feature-öket nem tudom mennyire várhatok, először szeretném a meglehetősen legacy kódbázist egy picit modernizálni. Nem egyszerű feladat egyébként, és felmerülhet a but why kérdés is. Hiszen pl nem több értelme lenne-e valami másik nyelven írni egy új motort, vagy valami egészen új dologba kezdeni. Igen, ezek a kérdések validak, a válaszom pedig az hogy most erre van lehetőségem így hosting terén, és egyébként sem akarom veszni hagyni a blogot. 2003 óta létezik, az annyit tesz hogy idén lesz 14 éves (nem semmi azért), és még él, lélegzik, és ezt meg is akarom tartani még egy darabig. Modernizációkra szükség van.

* HHVM is an open-source virtual machine designed for executing programs written in Hack and PHP. HHVM uses a just-in-time (JIT) compilation approach to achieve superior performance while maintaining the development flexibility that PHP provides. HHVM is developed by Facebook.

Úgyhogy ma:

  • Meghegesztettem a szóismétlésekre figyelmemet felhívó cuccot az admin felületen
  • Kiveszi a vízbűl bejegyzésből a szavakat és ha talál olyan címkéket a db-ben akkor ráaggatja őket
  • Ha a bejegyzés címe egy duplikátum lenne akkor hozzáhegeszt valami egyedi azonosítót hogy ne legyenek már duplikátumok (igen, a bejegyzéscím azért nem unique key a db-ben, nyilván, mert miért ne lehetne két bejegyzésnek az a címe hogy Sun is shining)
  • Egyéb refaktor dolgok

Egyébként elgondolkodtam persze azon is - már egy ideje - hogy nem kéne-e valami pluszmelóba tolnom a szabadidőmet, pénzért. Well, it can happen on some day, addig meg igazából ennek is van értelme. Például tök jól flowba kerülök tőle.

Haszprus

RSS feed update

©   Haszprus   |   blog fejlesztés php

Nem tudom használ-e még valaki régi RSS url-eket a blogról (ahol a címekben nincs benne az rss mappa, vagy rss_* a feedek címe), mindenesetre kipurgáltam őket. Ha szeretnéd frissíteni a feedjeidet, a https://blog.haszprus.hu/rss/ címen megteheted. Az rss/bejegyzesek, rss/kommentek, meg ilyesmi című feedek működnek a továbbiakban. (Ezek a címek már évek óta léteznek, az ennél régebbi feedcímeket dobtam ki.)

Egyébként nekimentem a motorháztető alatt egy masszív takarításnak ill. újrastrukturálásnak.

Haszprus

We are back

©   Haszprus   |   blog fejlesztés life
Na az elmúlt 1 hétben kicsit vacakolt a blog, így lemaradtunk pár posztról, de remélem most már oké lesz. Hamarosan írok majd összefoglalót 2016-ról, meg terveket idénre, meg mindent.

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:

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

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!

Észleltem egy olyan személyes levélnek álcázott típusú spamet ami valahogy átjutott a szűrőn, és mindjárt keresetlen válaszra is méltattam (naivan bízva abban hogy nem spambot csinálja, és ezúttal be is igazolódott a gyanúm), majd továbbküldtem a Homárnak. Igaz, nem az én bejelentésem alapján, de lehozták a dolgot. A spammerem azonban gyorsabb volt, és válaszolt. (Ami azért nem mindennapos, ezért is gondoltam hogy megírom ilyen backstage-finomság gyanánt a levelezésemet vele.)

The GuNN

Olvasói levelek 080229

©   The GuNN   |   blog olvasói levelek szánalmas

Feladó: soliman

Címzett: The GuNN

Küldve: 2008. február 28. 23:21 (tegnap)

archiválva törlés

Szia! Azt sem tudod miről beszélsz,fiam.Akkor miért mondod.(örök téma)Maradnál csöndben és csak figyelnél.Többet érnél vele.Amúgy(biztos)fasza gyerek vagy.Máshoz is így szólsz hozzá?

És még egy kis mellékes infó:

regisztrált: 2008. február 28., csütörtök 23:13

itt járt: 2008. február 28., csütörtök 23:30

hozzászólások: 0

letöltött lapok: 29

feladott privát üzenetek: 1 (0 olvasatlan)

kapott privát üzenetek: 1 (1 olvasatlan)

Haszprus

Übertúra március 1 éjjel

©   Haszprus   |   barátok blog bme éjjel éjszakai túra fejlesztés túra
Tali március 1 21:20-kor a Nyugati pályaudvar jegypénztárában. Vonat 21:40-kor indul. Akármilyen idő esetén.

Na ha látod ezt a topicot, az azt jelenti hogy meg vagy hívva túrázni! Itt a blogon vagyunk már elegen ahhoz, hogy összejöhessen egy ilyesmi, ráadásul egy csomóan bme-sek vagyunk, szóval noha még nem mindenki ismer mindenkit, de adja magát hogy most már szervezzünk itt valamit...

Ha van kedved jönni, akkor az alábbi két szavazáson csekkold be az összes megfelelőnek tűnő időpontot, és meglátjuk mi lesz.

  1. Melyik éjszakai túrára lenne kedved és lehetőséged jönni?
  2. Melyik nappali túrára lenne kedved és lehetőséged eljönni?
  3. Szavazás rossz idő esetére

Kommentbe egyéni megjegyzések, lelkesítő szövegek, meg bármi releváns jöhet. Az is királyos lenne, ha itt a blogon is jeleznéd, hogy van kedved jönni, nemcsak a doodle-ön. A doodle azért jó, mert megkönnyíti a szervezést, a blog meg azért jó mert személyesebb, mindenki szívesen látja itt is, hogy jössz te is!

Ha tudod hogy nem jönnél, dobj lécci egy privmsg-et. Nincs sértődés nyilván, és sokkal jobb, mintha nem jeleznél vissza semmit.

Haszprus

Új RSS url-ek

©   Haszprus   |   barátok blog fejlesztés google rss

A site átstrukturálásának részeként új helyre kerültek az RSS feedek, tessék frissíteni az olvasókat. Ezen kívül ha valaki külön szerzőt figyelt meg, akkor nézze meg hogy nem módosult-e a kedvenc szerzőjének az id-je, ugyanis jópáran újat kaptak a felszabaduló alacsonyabb id-knek (és egyéb félautomata id-átrendezéseknek) köszönhetően (többek közt: Tamás: 7, Orca: 22, Montana: 27, The GuNN: 28).

Az RSS letöltéseket nem szoktam logolni mert túl nagy többletforgalom szerintem, és sok értelme nincs, most egy órája logolom, érdekes dolgok derülnek ki belőle. Ez alatt az egy óra alatt 26 egyedi ip-ről kapott a blog rss-letöltést, namost egyedi ip-nek számít például a google reader vagy a netvibes rss fetchere is. Szerencsére ezek user agentben megadják, hogy hány előfizető húzódik meg az egyetlen letöltésük mögött, google readerből 30-an olvassák a fő bejegyzésfeedet, netvibesról pedig 39-en (ezen őszintén meglepődtem). Ez legkevesebb 95 előfizetőt jelent, de ez csak egy egy egyórás megfigyelés (nyilván akik nem webes readert használnak, azok közül nem mindenki volt online az egy óra alatt és az se biztos hogy ha online volt is, futott az olvasója, vagy elég gyakran frissít, stb stb).

Vajon milyen metodikát használnak például a feedburnernél az előfizetők számának megállapítására? (Tekintve hogy egy új ip nem feltétlen jelent új előfizetőt, és azonos ip nem feltétlen jelent egyetlen előfizetőt, ld. lan).

Haszprus

Négy éves a blog

©   Haszprus   |   ajax blog design első fejlesztés javascript rss sql

Bezony.

Ezenkívül volt egy csomó olyan dolog, amiknek a felszínen nem sok látszata van, a háttérben viszont igencsak, ezért technikai/webdev érdeklődésűeknek javaslom a history felkeresését, mert ezekről csak ott ejtettem néhány szót.

Bár nem a bloghoz tartozik, de ezen időszak alatt megküldtem a Haszprus Private Galleryt egy igen durván cache-elő javascripttel és egyéb js-es feature-ökkel, úgy mint pl. onthefly szerző szerinti szűkítés, képek lapújratöltés nélküli megjelölése.

Végül pedig néhány screenshot a tervezett 3.0-s designról, amire nem tértünk át.

Íme az überblog legújabb, highly advanced feature-e, a képlapozó.

Semmiféle adatbázis-módosítás nem kellett hozzá, egyszerűen kideríti hogy a képet melyik bejegyzésből linkelték (mégpedig erőforráskímélően, de még lehet rajta fejleszteni), megnézi hogy a bejegyzésben mely képek veszik körbe őt (azaz melyik kép van előtte és utána (ezen is lehet gyorsítani)), belinkeli azokat, sőt belinkeli magát a bejegyzést is, így megkönnyítvén a navigációt. Ha jók lesztek akkor előbb-utóbb talán megcsinálom javascriptesen széjjelcache-elve is, mint a private galleryt, 0 sec késleltetéssel, lapújratöltés nélkülire.

Ha az egeret az előző/következő link fölé viszed, kapsz egy kis thumbnailt is arról, hogy mégis milyen képre jutsz a linkre kattintva. Mindez nem feltétlen lóg rá egyébként a képre, alapvetően 1280*1024-re illetve afölé van kitalálva mindez, ahol rálógás nincs, sőt az egész kép kifér.

Azt kell mondjam, ez kurvajó lett. Elégedetten dőlök hátra. Vegyük észre hogy ez egy lightweight galleryt akaszt a blogra, amely így 2.9-es stádiumba léphet.

A dolog működését megtekintheted például itt, vagy nyilván bármelyik bejegyzésnél, ahol van mik között lapozgatni.

Update aug. 23. 18:18: lett 0 sec delayes lapozás, cache-eléssel, oldalújratöltés nélkül. Tudnivalók:

  • Első képletöltéskor nincs cache-elés, megelőzendő a fölösleges cache-elést. Ez leghasznosabb olyankor, amikor a júzer külön fülekre megnyitogatja a képeket egyesével, ilyenkor a cache-rendszer nem okoz fölösleges többletforgalmat.
  • Abba az irányba cache-el, amerre a néző lapoz.

A címke ismérvei a web 2.0-ban a következők:

  1. egy objektumot többel is felruházhatunk (szemben a kategóriákkal)
  2. a felhasználó egyszerűen hozhat létre újat

Ebből kisül, hogy a blogon eddig is félig-meddig címkézés volt, mert bár én kategória szót használok (mert szvsz az értelmesebb), a bejegyzések mégis tartozhatnak több kategória alá.

Na mostantól viszont az adminfelületen egyszerűen lehet új kategóriákat (ha úgy tetszik címkéket) is létrehozni, amivel vélhetően élni is fogunk. Azonban ezek nem lesznek egyenértékűek a régi alapkategóriákkal, melyekből nagyjából 20 van. Azokból kötelező lesz választani legalább egyet minden bejegyzéshez, az újakból nem. Az archívum is a régiek alapján fog listázódni továbbra is. Az új címkéket elsősorban arra kívánom használni hogy a nagyon egybetartozó bejegyzéseket valamilyen módon összefogjam. Ez megtörténik egyrészt a bejegyzés címe alatti kategórialinkeléssel, másrészt a menüben található intelligens bejegyzésajánlóval (ami tovább okosodott az új feature-nek megfelelően).

Jah és most már nem muszáj évre sem szűkíteni az archívumot.

Ebben a szellemben az első néhány címkénk (vagy minikategóriánk): tűzijáték, skandinávia, hollandia, apple. Utóbbi csak a trend kedvéért. Majd lesz több is, de okosan, nem pedig hülyén. Ezzel elértük a blog 2.8-at.

Haszprus

Mesterséges intelligencia - blog 2.7

©   Haszprus   |   blog fejlesztés version history

A Haszprus Überblogon a továbbiakban a kommentelők intelligensebbnek és igényesebbnek tűnnek, mint amilyenek valójában. Szavak helyesírását egyelőre nem javítjuk, de eltűnnek a félsornyi felkiáltójelek, a csupa kisbetűs szövegek mondatai nagy kezdőbetűt kapnak, az írásjelek után szóköz kerül, a tagmondatok közé megfelelően pozicionált vessző, meg még pár apróság.

Például:

Tesztalanyunk kommentjébe (v.ö.: állatorvosi ló) vesszők és szóközök kerültek, a felkiáltójelek pedig megritkultak.

Legyetek tehát bármilyen hülyék, az überblogon intelligensnek fogtok tűnni. Kommentre fel!

Ja és ez amúgy akkora feature hogy át is lépünk vele a 2.7-es verzióba, utoljára úgyis áprilisban váltottunk.

Úgy különösebben nincs ingerenciám évösszegzést készíteni, úgyhogy csak röviden kinézem a blog történelmi bejegyzéseiből, hogy mi volt 2006-ban…

  • Átjöttem állami finanszra a bme-n. Ez egyelőre nem tett jót a tanulmányaimnak, de jót tett minden másnak.
  • Változtattam az étrendemen (ami azóta lényegesen egészségtelenebb mint akkoriban, de még így is sokkal jobb mint korábban).
  • Eljártam úszni (amíg nem volt konkurenciája ).
  • Fogytam 13,6 kilót (75,5->61,9), majd pedig visszaszedtem egy kicsit, a végleges tömegem még nem alakult ki, de nagyjából ilyesmi szeretnék maradni (67).
  • Vettem egy bringát májusban, amit számomra is meghökkentő mértékben (és célokra - 1 2) kezdtem használni.
  • Kurvajól töltöttem a nyaramat.
  • Megismerkedtem új arcokkal, szerveztem pár eseményt, köztük pár rendhagyóbbat is (éjszakai gyalog- (1 2) és bringatúra) és megejtettem az első házi szervezésű külföldi utamat is. Na nem mintha túl messzire mentünk volna, de a külföld az külföld
  • Év vége felé elkezdtem (komolyabban) kondizni, amit legalább jövő májusig szándékozok folytatni. A későbbiekről nem gondolkodom.
  • Kaptam pár megbízást. Pl. felkértek bme-n számítógép labor 5-ből laborvezetőnek. Erről eddig nem írtam publikusan (meg a többiről sem), úgyhogy most megemlítem. Az nem biztos, hogy be tudom vállalni.

Ezek mellett még történtek dolgok amiket akár meg is említhetnék, mert nem csak ennyi volt idén, de nem teszem. Akit érdekel, egy részüket megtalálja az archívumban

Röviden és lényegretörően: ez egy kurvajó év volt.

Nektek pedig BÚÉK!

Üdv! Hosszú csend után újabb újoncként jelentkezem a fedélzeten! Külön bejegyzést nem terveztem írni beköszönés címszóval. Nem az az ember vagyok aki feleslegesen szaporítja a szót vagy aki a posztolási ranglistán fog az élre törni ettől függetlenül azért igyekszem egyszer-egyszer valami érdekesebbnek ítélt témával hozzájárulni a blog életéhez mondjuk fotózás, life, film, hwsw témákban (meg bármiben ami éppen jön ) Hát, akkor jöjjön is az első bejegyzésem ezekről a fantasztikus háziállatokról!

Gondolkoztam, hogy miként mutassam be az állatkákat.. de még most sem tudom pontosan úgyhogy kezdjük az elejéről, képekkel illusztrálva...

2005. május végén került hozzám négy borsónyi kis állatka, mert gondoltam, ha ilyen baromi picik és sérülékenyek(nek kinézők) akkor lehet nem mind éli túl a költözést. Ez (sajnos *) nem így lett, mind a négy elkezdett iszonyat tempóban nőni, zabálni a salit, uborkát és a szépiát amiből a házukat építgetik (a fehér cucc a képeken).

* mert azóta is négyen esznek ki minden vagyonomból és szaporodnak mint a nyulak.. ehh még ha csak úgy szaporodnának a nyulak elbújhatnak mögöttük de erről még késöbb írok

Alig egy hónap alatt már pár centisre gyúrták fel magukat és szorgosan pusztítottak el minden zöldet vagy kevésbé zöldet amit eléjük raktam. Tehát jól megvoltak, éldegéltek mint a befőtt. Útközben a kezdeti kis műanyag doboz helyett kaptak egy nagyobb üveg tálat is pár centi földdel amibe boldogan ásták be magukat. Sajnos ezek után sötétebb idők következtek, kicsit el lettek hanyagolva, én beköltöztem Budapestre ők maradtak otthon. Ezt annyira zokon vették, hogy jól le is hibernálták magukat és kb szeptember közepétől 8 hónapnyi alvás következett egészen 2006. májusig...

... amikor is hazaköltöztem és újra kezelésbe vettem őket. Mint mindent, a felkelést is baromi gyorsan csinálták. Már kezdtem azt hinni fél óra ébresztgetés után, hogy ezek beleszáradtak a házukba és buktam a csigákat.. de nem! alig fél/háromnegyed órával a melegvízbe mártogatásuk után kilökték és megették az ideiglenesen épített ajtót, sőt sajnos még a házukat is visszarágták 1-2 centit azt hiszem kicsit mész hiányosok voltak, de nem vagyok csigológus tehát nem tudom pontosan. (Mint utólag kiderült amúgy is szeretnek pár hetes/hónapos téli álmot aludni, mert itt kicsit hideg van nekik, hiszen Afrikában őshonosak. Kellő fűtéssel ugyan megakadályozható a bealvásuk de sokan jónak tartják, ha hagyjuk pihenni kicsit az állatkákat.)

A lényeg, hogy nagy nehezen felkeltek és birtokba vették az új, szép nagy terráriumukat fahánccsal, fűtőlappal, páratartalom mérővel, vízspriccelővel, esztétikus kék műanyag tányérral és minden földi jóval együtt. Tehát újra kezdődhettek az éjszakai zöldséghabzsolások (mert éjszakai állatok amúgy), földtúrkálás, lobogó szemmel rohangálás meg minden amit egy csiga csinálhat. Pár új tevékenységet is elkezdtek, ilyen például az üvegen házcsúsztatás aminek éjszaka elég rémisztő hangja tud lenni főleg amíg nem jön rá az ember, hogy mi a fene az

A másik új hobbijuk a roppant erotikus nász tánc lejtés lett aminek az eredményét is megtapasztalhatja a boldog csiga tartó úgy 2 havonta/"fő". Ez esetemben azt jelenti, hogy átlag kéthetente kapom az első képen látható kis csomagokat a föld alá ásva, majd pár héttel ezután jön a CSIGA ÖZÖN.. Nem kicsit, nagyon! Volt már olyan, hogy elajándékoztam ~180 pici csigát, de másnap úgy nézett ki a teró mintha egyetlen egy sem hiányozna. Azt hiszem ezek alapján megalapozott az előző kijelentésem miszerint a nyulak sehol nincsenek ezekhez képest...

Mostanában is jól elvannak.. bár annyira nem örülnek az új talajnak amit alájuk raktam.. de majd megszokják

Ha ezek után bárkit érdekel pár kis csiga keressen meg nyugodtan (Mainframe-et már megfertőzték )

Update 2006. nov. 02. 13:44: Még egy érdekes számolgatás eszembejutott a csiga özönnel kapcsolatban...
2 csigától 6,8 x 1036 utód 5 év alatt... a nyulak még mindig messze vannak..
Haszprus

Bejegyzés-várólista

©   Haszprus   |   blog éjjel fejlesztés version history

Ha minden igaz, ez a bejegyzés reggel 7:0x tájékán jelenik meg, noha 02:56-kor írtam/írom.

Reménykedjünk.

Később erről még többet.

BTW a társszerzőkkel átléptünk blog 2.6-ba.

Update 15:37: na íme egy screenshot arról, hogy miként viselkedett a bejegyzés várólista, amíg aludtam. Mindhárom bejegyzést éjjel 3 körül írtam, mielőtt aludni mentem. A script tökéletesen müködik, ahogy akartam, én viszont a bejegyzések írásakor rosszul gondoltam át a megjelenések időpontjait, mert kifelejtettem a harmadik szabályt.

A megjelenési szabályok:

  1. 23 és 6 óra között nem jelenik meg bejegyzés.
  2. Minden bejegyzés között min. 5 órának el kell telnie.
  3. Egy szerző két bejegyzése között min. 10 órának el kell telnie.
  4. Két filmes bejegyzés között minimum 20 óra kell elteljen, de ha van más témájú post is a várólistában, akkor min. 40.
  5. az utolsó post hossza beleszól a következő post megjelenítésének időpontjába. Lényegében hosszabb post több ideig lesz legfelül, de maximum 15 óráig (amennyiben van más, a többi szabály szerint megjeleníthető post).
  6. az utolsó postra érkezett kommentek darabonként egy óra várakoztatást okoznak (nem adódik hozzá a többi várakoztatáshoz), de legfeljebb 28 órányit. Ennek tipikusan csak a népszerű bejegyzések esetén van bármi jelentősége, azokat némileg tovább tartja az oldal tetején.
  7. ha a blog nincs nyaraló üzemmódban és a várólista mérete 5 fölé növekszik, vagy az utoljára publikált bejegyzés zártkörű volt, a várakozó bejegyzések publikálása lényegesen gyorsabbá válik. (fastQueue)

Update 2007. jún. 29. 06:56: bizonyos dolgok már nem pont így működnek vagy nem pont ezekkel a számokkal, netán egészen máshogy, de meguntam ennek a bejegyzésnek a frissítését.

Haszprus

Smarty a blog alatt -> blog 2.5

©   Haszprus   |   blog fejlesztés version history

A kommentek (kizárólag maguk a hozzászólások) mostantól Smarty sablonból jelennek meg. Goodbye $comments->showHTML().

Asszem az utóbbi hetekben elég sokat mozdultam előre fejlesztés terén. Ezúton is thx azon személyeknek, akik ebben segítséget, vagy inspirációt nyújtottak

Ha valami bugot tapasztaltok, nyugodtan szóljatok, mert iszonyat sokmindent írtam át mostanság.

Update 14:33: ja tképpen a smarty bevezetése elég jelentős újítás, úgyhogy ez már a blog 2.5, miközben a 2.4-be kitűzött változtatásokat (oo) még be se fejeztem

Haszprus

Kommentszerkesztés mostantól, blog 2.2

©   Haszprus   |   blog fejlesztés történelem version history
Ez egy marhanagy horderejű változás a blog életében, mostantól át lehet szerkeszteni a kommenteket két órán át a beküldésüktől számítva, azzal a feltétellel, hogy tiéd az utolsó komment. Ez a látszatfeltétel. A belső feltétel valójában az, hogy max 3 órás legyen a komment, annak nem kell teljesülnie, hogy tiéd legyen az utolsó, máskülönben problémás lenne az ügy.

Egyébként legkevésbé sem hasonlít a rendszer erre, mivel nincs külön kommentszerkesztő oldal, nincs editing státusz, egyszerűen ha beküldesz egy hozzászólást, akkor 2 órán át a komment formban ott lesz még a hozzászólásod és bármikor kattinthatsz az átszerkesztem gombra, a változások rögtön iktatva lesznek.

Update 02:05: blog 2.1 -> 2.2

Nem gondoltam ebbe eddig bele de mellékhatásként most már nem lesz olyan hogy egy user több kommentet ír közvetlen egymás alá, mert nem tud Legalábbis 2 órán belül. Ez is jó, számos okból.

Természetesen csak bejelentkezett userek tudják a kommentjeiket átszerkeszteni.

Haszprus

Blog 2.1 - regisztrálatlan kommentelés

©   Haszprus   |   blog fejlesztés történelem version history
A blogon tegnaptól lehet regisztráció nélkül is hozzászólni az egyes bejegyzéseimhez, illetve ha nem vagy bejelentkezve, de regisztrált vagy, a kommentbox alatt rögtön meg is adhatod a belépési adataidat, így a komment a nevedre kerül és be is lépsz. A regisztrált júzerek nevei ofkorsz védve vannak a regisztrálatlan felhasználás elől.
Haszprus

Locked out

©   Haszprus   |   barátok blog bme buli fejlesztés idézet life történelem tv

IRCQuote fight! In the ring:

Haszprus
anyámmal lejelszavaztatom a gépet, császtok.
Balage
pff
Haszprus
ld. blog
Balage
te bolond vagy
Haszprus
2 hét alatt 3 órát tudtam tanulni. meg fognak baszni bsz-ből ha össze nem kapom magam sürgősen. nem tudok magamtól elszakadni a géptől. képtelen vok rá
(13:45:07) Haszprus is away: I'm locked out of my computer
(13:45:07) › you have been marked as being away on IRCnet: (I'm locked out of my computer)
(13:45:08)
Haszprus › nick: () is now known as (HaszpLCK)
(13:45:33) (WiZARD) lol
(13:45:37) (HaszpLCK)
WiZARD
a függő
majd könyörögsz anyádnak 1 óra múlva
Haszprus
anyám elmegy itthonról 1 hétre
WiZARD
felhívod
utánamész
Balage
akkor tvt fogsz nézni
Haszprus
mobil nélkül
WiZARD
1 hétig nem gépezel?
Balage
tv lesz
Haszprus
mire hazaér megtalál felakasztva
WiZARD
te se gondolod komolyan
Haszprus
nem amúgy fél órára megy el
WiZARD
nem fog otthon találni
Haszprus
netkávézóban leszek ÍÍÍÍÍÍÍÍÍ
WiZARD
lesz egy cetli az ajtón
Balage
átjön netezni
WiZARD
hogy hárshegyen bezártak
Haszprus
na megyek!
Balage
degáz
WiZARD
majd írunk sms-t, hogy mi van a neten
Balage
írt haszp smst
'de fura, itt a gép és nem tudom használni'
(14:14:53) HaszpLCK is back after 29m: I'm locked out of my computer
(14:14:53) › you are no longer marked as being away after (29m) as (I'm locked out of my computer) on (IRCnet)
(14:14:53) › nick: (HaszpLCK) is now known as (Haszprus)
Haszprus
i'm free!
yeah
Balage
lol ez mi?
Haszprus
van a windowsnak valami olyan szolgáltatása h egy adott júzerhez megadjam hogy mennyi ideig használhatja a gépet...
Balage
Haszprus
azt akarom megkeresni
létrehoznék egy jogosultság nélküli júzert aki mondjuk óránként 5 percet gépezhet (mailcheck, ilyesmi)
így tehát mindig tudnám használni a gépet de csak óránként 5 percre... szal tutizsír lenne
tudok tanulni, de a mailjeimet is nézhetem
Haszprus
hol a faszomban lehet ezt beállítani?
Balage
sztem sehol
Haszprus
de igen. még win2000-nél is be lehet, láttam is ilyet vmi bemutatón
eh. valszeg ez szerver-szolgáltatás...
Haszprus

Haszprus blogja 2.0

©   Haszprus   |   barátok blog buli fejlesztés php történelem version history
Készítettem überjó archívumot.

Meg lehet benne választani, hogy milyen témaköröket kívánsz olvasni, mégpedig checkboxok segítségével annyit, amennyi jólesik. Hasznos kombináció pl. a buli + barátok + kirándulás.

A kategóriánkénti szűrés havi archívumon belül működik. A hónapok közti lapozgatást kicsit megkönnyítettem azzal, hogy az archívum tetejére, a kategóriaválasztó alá is helyeztem egy archív-linktárat.

Legyen ez a blog 2.0-s verziója.
Miért is? A főbb okok:
  • Adatbázisban és php kódban a mezők teljeskörű átnevezése egy logikusabb elgondolás szerint
  • Bejegyzések kategorizálása és kategória szerinti listázhatósága
Blog version history
Haszprus

(Haszprus)Menj el a defense negyedbe egyebkent (pa…

©   Haszprus   |   blog fejlesztés fotózás
HaszprusMenj el a defense negyedbe egyebkent (parizs, 1-es metro ha jol emlexem de nem eskuszom), ha van idod, akkor este (is?), mert gyonyoru, olyan mint egy kis new york, de minden ghetto feeling nelkul. Egy izelito egy jobb jovobol. Defense kepek
(anonim user)koszi a tippet, de mar lattam a mult heten, azota meg lattam a te kepeidet is (mer jo blog-olvaso vagyok es meg barcelonabol is tolom , gecijok lettek, orulok is h nem hoztam fotogepet [...]

A mostanság elkövetett változtatások meghozták a Haszprus blog 1.7-et. Ha gondolod, tekintsd át hogy mik ezek.

Update 22:37: Egy idézet ápr 22-ről:

IRCQuote fight! In the ring:

Tamás
szerintem felesleges ennyire elbonyolítanod. ez csak egy blog
Haszprus
ez csak egy blog
meghalsz, gecó
Tamás
ja bocs, ez egy multifunkciós portálrendszer, amivel a Yahoo-t is lenyomod majd, csak idő kérdése

Egyébként innen üzenem, hogy lehet hogy ez csak egy blog, de mint a jelenlegi egyetlen futó projektem, ezen élem ki az összes programozói kedvtelésemet (Már ahogy időm engedi.)

Haszprus

Na megcsináltam a csonkított szavak levágását…

©   Haszprus   |   blog fejlesztés
Na megcsináltam a csonkított szavak levágását is, jepp. Közben még egy VV3-at is megnéztem félig-meddig. Mármint csak az összefoglaló részét, a beszavazás úgy különösebben nem érdekel, főleg a mai beszavazandókkal, tök bénák mind a hárman.

Küldjetek search engine bugreportot.

Update 21:16 asszem növelek is egyet a blog verzióján...

Haszprus

Srác, aki regisztrálta magát 50 nicken -> bár…

©   Haszprus   |   blog idézet
Srác, aki regisztrálta magát 50 nicken -> bár a proxy megnehezítette a dolgot, rájöttem egy dologra ami alapján a logból kiolvasható, hogy sajna egy ember próbálkozása az egész regisztráció. Vagy esetleg többé, ez tök mindegy, a lényeg hogy max néhány ember csinálta mind az 50 új usert, és új szavazatot. Ezúton is üzenem neki, hogy kurvajófej bazmeg hogy szétbassza más ember munkáját és szarik arra hogy időbe kerül kimoderálni a sok szart amit csinált.

Update 21:18 Log-analízisem szerint 2 ember műve volt. Kellemes perceket szereztek nekem azáltal, hogy kotorhatom az adatbázisban az ő regisztrációikat, mert nem akarom kitörölni azokét, akik közben regisztráltak. Pedig az tényleg fél perc lenne. Amik tutkóra fake nickek voltak:

56 levi 57 lali 58 szakszon 59 qani 60 kapo 61 Fecó 62 sanyi 63 Qupa 64 laqi 66 Petee 67 Flare 68 Pittaa 69 loqi 70 Prog 71 Gogo 72 ppapa 73 Fanny 74 becus 75 Jocccco 76 Koli 77 lalee 78 Tompo 79 tacsi 80 toTTTYA 81 liuk 82 pEPE 83 jano 84 Liu kang 85 subzero 86 Neo 87 sub0 88 Goro 89 Radeon 90 johny 91 raptile 92 Scorpoi 93 Bill Clinton 94 killbill
Ha a nap folyamán 17 óra környékén, meg máskor, az itt felsoroltakon kívüli (ezeket megelőző) nickeken érkezett 'Vidék rulez' szavazatok is tőletek származnak, kedves fakerek, akkor plz üzenjétek meg, hogy azokat is kigyomlálhassam. Bízom benne hogy nem vagytok annyira rossz arcok, csak épp nem gondoltatok bele hogy ezzel elég sok melót okoztok nekem.