Komentáře k článku

KISS v praxi: polibek pro blog

Strategii KISS, tedy „udržovat při vývoji věci jednoduché a malé, jak to jen jde“, lze použít i v tak jednoduchých případech, jakým je osobní weblog. Nikde není psáno, že weblog rovná se nutně, vždy a nevyhnutelně WordPress (nebo podobný CMS), který je všechno jiné, jen ne „KISS“. Jak by tedy mohl vypadat „minimalistický weblog“?

Zpět na článek

38 komentářů k článku KISS v praxi: polibek pro blog:

  1. zemistr

    Nabídka přijata

    — Blog, o němž jsem mluvil, se jmenuje Zápissník Anαβ. Bude-li zájem, rád napíšu další článek, kde ukážu jednotlivé části kódu a vysvětlím, co všechno jsem seškrtal, smazal, zrušil a obětoval. —

    Tak pokud nabídka platí, rád se něco přiučím :-)

  2. NN

    Načo to robiť dynamické a s databázou?

    Na uvedený účel predsa stačí samotné HTML a primitívny script, ktorý tie statické články zobrazí v poradí ako boli hodené na server a zohľadní prípadnú požiadavku na dátum vydania pomocu adresárovej štruktúry filesystému. Načo takú ohavu ako framework a databáza? :-) KISS

    1. Honza

      Re: Načo to robiť dynamické a s databázou?

      Tenhle nápad se mi líbí :-)

      BTW, víte o nějakém takovém skriptu, používáte sám takový? Osobně jsem na vážkách, jestli si něco takhle minimalistického sám napsat, nebo prostě používat Tumblr.

        1. Datastart

          Re: Načo to robiť dynamické a s databázou?

          Ono se to da udelat uplne jednoduse i v obycejnem Excelu :-)

          Vyzkouseno!!

          A s trochou Visual Basicu se z toho clovek nakonec propracuje ke „skoro WordPressu“ :-)

      1. František Kučera

        Re: Načo to robiť dynamické a s databázou?

        Taky si ten web můžeš vygenrovat a pak na serveru nepotřebuješ ani PHP, jsou to jen statické řešení.

      2. gilhad

        Re: Načo to robiť dynamické a s databázou?

        Já používám vlastní řešení spočívající v jednom brutálním Makefile jednom souboru s definicemi a pár souborech s bižuterií okolo (CSS a tak).

        Celý ten silostroj funguje tak, že na disku vytvořím nějaké adresáře/soubory v nich, případně nějaké soubory upravím dle libosti, pak dám v hlavním adresáři příkaz make a co mi přistane v adresáři upload prostě přesunu na web (čili vlastně jen změnovky). (Samozřejmě můžu dát příkaz make all, pak se vygeneruje celá site znovu, ale nebývá to potřeba, protože si to samo (díky make) hlídá závislosti a tudíž zjistí, co je třeba udělat)

        Celé to vzniklo jako hříčka, když už mě štvalo pořád psát většítka, menšítka a lomítka tam, kde to bylo zbytečné. Takhle vypadá _bold(tlusté písmo) a takto _i(písmo šikmé)

        zápisek s datem a odkazem na vlastní text vypadá třeba takto:
        _blog(_date(2012­.01.30) zase jsem něco něco napsal, _a(zbrane/strel­nice, je to uloženo tady))

        atd atd… přitom za tím stojí pár maker v m4 a snadno se dodávají další, když nějaký postup budu opakovat častěji. Výhoda je, že do systému vidím, dá se přizpůsobit na míru a vyžaduje minimum práce pro publikování dalších keců. K dispozici jsou jak chytrá makra, tak přímo html, pokud jde o nějakou vychytávku, generuje si to samo navigaci adresářovou strukturou, generovaný obsah by byl statický, kdybych tam nechtěl pár vychytávek, jako označování nových, týden starých a vic než měsíc starých záznamů, nebo počitadlo přístupů (ano je to ještě z doby, kdy nebyly na webu všude zdarma)

        Pokud by byl zájem, klidně pošlu zdrojáky pod GPL, upravit si je už musí každý sám (na pár místech hardcoded moje jméno či mail).

        1. František Kučera

          Re: Načo to robiť dynamické a s databázou?

          Hoď prosím někam zdrojáky – pro inspiraci :-) Napsal jsem si totiž něco podobného, akorát nad jinou technologií (odkaz v komentáři výše).

        2. ondra melkes

          Re: Načo to robiť dynamické a s databázou?

          Také se přimlovám o zveřejnění zdrojaků. Díky. Pro svoje generovátko jsem použil php, ale je to teda nic moc :) (asi tak hodinka dvě práce odpoledne)

          1. gilhad

            Re: Načo to robiť dynamické a s databázou?

            http://members.chello.cz/gilhad/MyWeb.tar.gz

            Tady je jedna ze zaloh, co jsem nahodne nasel – AS IS – a zadna zaruka, ze vas pocitac nezesili a neznasilni vaseho krecka, nebo jak se to pise.

            Ale melo by to (snad fungovat)

            rozbalte do libovolneho adresare, obsah podadresare bin dejte nekam do cesty (typicky ~/bin), vlezte do adresare source a dejte
            make clean
            make

            udela to dalsi dva podadresare upload (ten prijde na web) a src_upload (to je co se od posledne zmenilo – po make clean teda vse)

            na web jeste prijde z adresare source toto: favicon.ico gilhad.css _php.inc

            je to trochu bordel, ale kdisi mi to chodilo a da se od toho odpichnout dal.

            na webu to chce php

  3. wincle

    Re: KISS v praxi: polibek pro blog

    Možná tenhle přístup neni nejlepší pro každého ale mě rozhodně sedí.

  4. Jiří Landsman

    Když už tak už

    Když už to má být tak děsně jednoduché a bez práce tak proč si to psát sám? Jako programátorské cvičení? ok. Ale jinak by bylo asi lepší šáhnout po Posterous nebo něčem podobnym a mám vystaráno ne?

  5. . Paladin

    too extreme

    v obecne rovine s clankem souhlasim, KISS se mi taky libi, ale treba v pripade blogu je dohnan podle mne moc daleho… seznam clanku podle mne na blog patri… priserne dlouha stranka se vsemy clanky… nevim no, podle mne to neni idealni uplne.

    Ale o clanek rozebirajici konkretni kod bych taky mel zajem :) nebo to rovnou hodit na github ;)

  6. František Kučera

    Z obou to horší

    Přijde mi, že si bereš z obou přístupů to horší:

    – musel jsi trávit čas programováním, místo aby ses soustředil na tvorbu obsahu
    – web prakticky nic neumí
    – přesto je technologicky náročný

    K čemu je tam databáze? Jelikož nejsou komentáře, jsi jediný autor, obsah se mění velmi zřídka (jednou za den, týden?), je databáze naprosto zbytečná závislost a složitost. Stejného výsledku se dá dosáhnout s články uloženými v souborech. Když už KISS, tak ho dělej pořádně – a nebudeš muset řešit, jestli běží databázový server, nebo si platit dražší tarif webhostingu.

    A můžeme jít ještě dál: proč tam je skriptovací/pro­gramovací jazyk na straně serveru? Pro takhle jednoduchý web není potřeba – stránky můžou být statické vygenerované nějakým generátorem (ten si opět nemusíš programovat, stačí použít nějaký hotový). A opět je o jednu závislost méně – opět můžeš mít levnější webhosting, opět o jednu věc méně, která se může pokazit. Tento bod je trochu sporný, protože generátor musí někde běžet (pravděpodobně na tvém desktopu), takže je složitější, kdybys chtěl napsat článek např. z internetové kavárny – proto může mít smysl mít to skriptování na serveru – ale databáze s jednou tabulkou opravdu opodstatnění nemá.

    Když to shrnu: článek popisuje polovičaté řešení a stejného výsledku by se dalo dosáhnout s jednoduššími technologiemi. Naopak se stejnými technologiemi (databáze + programování na straně serveru) se dá dosáhnout daleko lepšího výsledku a lepších funkcí.

    1. František Kučera

      Re: Z obou to horší

      P.S. totéž platí pro práci – napsat si vlastní řešení jsou minimálně hodiny, přesto to prakticky nic neumí. Nainstalovat si hotové řešení jsou řádově minuty a je do budoucna rozšiřitelné (zvládá vše od jednoduchého blogu nebo webové prezentace o pěti stránkách, až po složité weby nebo i webové aplikace). Psát si vlastní „jednoduchý redakční systém“ je tedy značně neekonomické. Smysl to má snad leda tehdy, když bereš takové programování jako mentální cvičení a odreagování – pak budiž, to beru.

      1. Čelo

        Re: Z obou to horší

        Já myslím, že „mentální cvičení“ je nejčastějším důvodem vzniku blogu na vlastní platformě.

        1. František Kučera

          Re: Z obou to horší

          Souhlas – jak se říká: každý si někdy psal vlastní redakční systém… – ale pak bych to tu neprezentoval jako KISS, jelikož je to naopak ukázka, jak dělat věci složitě. Jednodušší by bylo použít hotový systém: ať už generátor statických webů nebo Drupal, WordPress… nebo službu typu Posterous*. A když už si tedy psát vlastní, tak do toho alespoň netahat databázi.

          *) sice tyhle služby nemám moc rád, ale jelikož ji lze provozovat na vlastní doméně, tak je to celkem OK (pokud není nějaká sviňárna ve smluvních podmínkách, ty jsem nečetl), protože člověk může snadno přejít jinam, aniž by se změnila URL jeho stránek, takže je celkem nezávislý na dodavateli služby.

  7. Jiří Pavlíček

    bohužel někdy frameworky a redakční systémy překračuji možnosti HW

    Rád čtu podobná zamyšlení a úvahy o minimalistice při řešení problémů. Vezměme si praktický příklad, MODx Evolution je velmi propracovaný PHP framework/redakční systém. Následující verze MODX Revolution pořádně nabobtnala a namísto provedení SQL dotazu vytvoří několik objektů a ty potom něco provedou. A výsledek? Velmi problematické nasazení na weby, která mají více než desítky stránek… I na výkonných serverech je potom doba načtení stránky prohlížečem nepoužitených několik sekund namísto potřebných stovek milisekund.

    1. Audiod

      Re: bohužel někdy frameworky a redakční systémy překračuji možnosti HW

      Problém s rychlostí načítání webu v MODx Revolution zrovna nemám, ikdyž stránky navštěvují pouze desítky lidí denně. Nicméně nahrávat na hosting nebo stahovat těch cca 7 tisíc souborů, které MODx Revo utvářejí, je přes klasické FTP celkem peklo. :)

  8. Pepca

    Re: KISS v praxi: polibek pro blog

    Tohle je přesně ukázka toho, jak to nedělat. Popisuješ, jak je Texy! overkill a v dalším odstavci se věnuješ jeho (mizerné) implementaci. V databázi máš příznak, že je článek publikovaný, ale kdybys tam místo boolu dal datetime s možností být null, tak bys mohl články publikovat i v budoucnosti, ale na složitosti by to nepřidalo. Když máš články v databázi, je triviální přidat jejich seznam, klidně rozskupinkovaný podle měsíců.

    Článek není o KISS, ale o vlastní blbosti. Je to celkem normální chování u studentů, kteří si hrají a nepotřebují kvalitní výsledky. Od článku na Rootu bych čekal víc.

    Kdybys opravdu chtěl něco ve stylu KISS, tak použiješ malé a hezké knihovny, například Texy!, a poskládáš to z nich.

    KISS totiž není v tom, že si napíšeš všechno sám, ale v tom, že je dílo jednoduché a elegantní. Naneštěstí se ale nedá složitosti systému jen tak zbavit, lze ji jen rozdělit a jednotlivé části skrýt do knihoven.

  9. Honza

    Komentáře "mor"?

    Mimochodem, tahle diskuse je krásnou ukázkou toho, že komentáře nemusí být vždy „mor“, ale naopak mohou být užitečnější než článek sám.

  10. Matěj Konečný

    Re: KISS v praxi: polibek pro blog

    Jelikož by se jednotlivé odpovědi značně kryly, dovolím si odpovědět všem najednou jedním komentářem.

    Myslím, že se příliš zaměřujete na technologickou stránku věci a nevšímáte si filozofické. Článkem jsem se nesnažil říci, že nemáte používat Texy! a už vůbec ne, že máte používat databázi, PHP nebo cokoli jiného. Chtěl jsem (a proto jsem vynechal veškerý kód) poukázat na jádro věci, že velká spousta věcí na stránkách není nutná a že to jde i bez ní. (Většinou je to i lepší. Když vyjde dobrá mobilní stránka, kde se kvůli místu plno věcí obětovalo, lidé se často ptají, proč není taková i stránka „desktopová“.) Dokonce nebylo cílem ani přesně vymezit, která část věcí to je, nerad bych, aby byl článek brán jako snaha o nějaké dogma. Já pouze nastínil, co jde vynechat. Pokud mi bude něco z toho opravdu chybět, tak to přidám, když zjistím, že je ještě něco zbytečné, odeberu.

    @Hrach
    Za upozornění na cat(h)egory děkuji, s tím svádím boj už dlouho.

    Ad „Proč používáš databázi?“ / „Proč nepoužíváš filesystém / statický soubor / XYZ“
    Protože nechci a nepotřebuju. Spojení Nette a MySQL bylo v tu chvíli to nejrychlejší a nejvíce mi vyhovovalo. Hosting mám jeden na více stránek, tzn. technologické zázemí je. Až mě bude číst tolik lidí, že databáze přestane stíhat, klidně mohu udělat blog jako statické stránky, strčit mezi to Memcache, odebrat se na papír nebo to udělat v Assembleru a NoSQL. Ale já to zatím nepotřebuji. Navíc je z pohledu publikování nejjednodušší kdekoliv něco naťukat do textarey a odeslat.

    Ad „Proč si to píšeš sám?“
    Vedle cvičení i proto, že pět šest hodin programování (a tudíž přesná znalost celého systému) je pro mě méně než tři hodiny hledání a zkoušení a potom další čtyři hodiny učení se se šablonami, upravování, aby mi to přesně sedělo a tak dále.
    O DRY jsem tam záměrně nikde nic nepsal, i když si myslím, že bych mohl. Můj pohled na DRY není „Když jednou někdo něco podobného udělal, musíš to použít.“ Já pod pojmem DRY vidím spíše „Pokud existuje něco, co Ti přesně vyhovuje, použij to a nedělej to znovu.“ Mimochodem, použil jsem Nette, což je podle mě už dostatečná sušina. Porušením DRY by dle mého bylo psát si sám SQL dotazy, routy, přihlašování, šablony a tak.

    Ad „Píšeš si vlastní Texy! a ještě špatně“
    Vím, vím. Možná nakonec zjistím, že Texy! potřebuju a nahraju si ho na server. Z toho důvodu jsem se snažil být kompatibilní s jeho syntaxí. Pro vlastní řešení jsem ovšem měl důvod. Příliš možností může znamenat, že je budu příliš využívat. A to já nechci. Podíval jsem se na své dokumenty a zjistil, jaké formátování používám. Z toho jsem odstranil matematické a chemické věci, pak to seškrtal na polovinu a jsem spokojen.

    Moc mě potěšilo, že má někdo zájem i o konkrétní ukázky kódu (ač nevím, nakolik to je či není zlomyslné :D). Pokusím se něco napsat a pokud mi to Martin Malý vydá, budete to mít. Ale upozorňuju, že Daniel Steigerwald by se asi otáčel v hrobě, kdyby tam byl, a vy budete mít co kritizovat.

    Snad jsem odpověděl tak nějak na všechno.
    Mrzí mne, že pointa článku nebyla tak úplně pochopena (respektive nebyla tak úplně pochopena diskutujícími).

    Matěj

    P.S. Pokud mi chcete něco osobně, preferuji e-mail.

    1. František Kučera

      Re: KISS v praxi: polibek pro blog

      Díky, s tímhle vysvětlením to už dává větší smysl.

      Možná to chtělo jiný titulek článku – víc zdůraznit, že jde o přístup mobile first a nemotat do toho KISS – protože KISS princip beru hlavně jako jednoduchost na úrovni návrhu a kódu.

      Tohle je dobré rozlišovat, protože program může být na této úrovni krásně jednoduchý a přehledný a přesto bude uživateli poskytovat spoustu funkcí (které uživatel potřebuje, ne nějaké blbosti samozřejmě).

      A oproti tomu může být program s jednoduchým uživatelským rozhraním a s minimem funkcí (směrem k uživateli) a zároveň být vnitřně složitý, mít nepřehlednou strukturu a záviset na spoustě knihoven, obsahovat spoustu nevyužitého nebo zpraseného kódu – není to KISS, ale přesto to může být zakryté nějakou fasádou, takže uživateli se takový program bude jevit krásně přehledný a jednoduchý.

      1. Matěj Konečný

        Re: KISS v praxi: polibek pro blog

        To jsem rád, že se to vysvětlilo.

        O té terminologii bych se přel. To samozřejmě neznamená, že pravdu musím mít já. Ale nejsem obeznámen se žádnou „oficiální“ definicí KISS. Pro mě jsou to pouze čtyři slůvka „Keep It Simple Stupid“ a za těch okolností si myslím, že se to může vztahovat i na uživatelské rozhraní a funkčnost.

        Původně jsem měl v názvu článku a obecně celým článkem propleteno i mobile first, ale pak jsem to odstranil, protože si myslím, že by to bylo zavádějící. Pod článkem o mobile first bych čekal nějaké tipy, jak na dotykové ovládání, jak dělat menu, panely, čím nahradit hover stavy a tak podobně.

  11. S.

    sorry, nie

    Sorry, ale tohle mi přijde jako maximální egocentrismus.
    Takový blog slouží jen pro onanií nad textem, který jsi umístil na síť.
    Článek, který by u tebe někdo eventuálně přečetl a po nějaké době si řekl, aha, teď by se mi to mohlo hodit, ale má smůlu. To o co ti šlo, tedy o jednoduchost se stane peklem a ejhle; uživatel odejde nasraný, nebo hůř, frustrovaný.
    S tím se Váže další věc, píšeš, že nepotřebuješ kategorie, že pro tebe je důležitější obsah, ale k čemu ti je obsah, který je nedohledatelný? …a jsme opět u onanie.

    Jako koncept, který chce říct: hele, jde to dělat i jinak je to dobrý, ale reálně za mě nepoužitelný.

    1. Čelo

      Re: sorry, nie

      Odkud čerpáte tvrzení, že by neexistence kategorií nějak výrazně snižuje dohledatelnost?

    2. Matěj KonečnýAutor příspěvku

      Re: sorry, nie

      Blog je už teď dobře indexován Googlem, Seznam se doufám brzy také přidá. Když tedy někdo bude hledat třeba článek „Podobenství o rybníku“ (například mu někdo tvrdí, že Řecko se musí zachránit), stačí, když si pamatuje, že ve článku bylo něco s rybníkem. Do Googlu zadá „zapissnik analfabeta rybnik“ a hle, článek je tu.

      1. František Kučera

        Re: sorry, nie

        BTW: Nechceš dát do titulku stránky i název článku? V tomto případě by to bylo: „Podobenství o rybníku – Zápissník Analfabeta“.

        1. Matěj KonečnýAutor příspěvku

          Re: sorry, nie

          Děkuju za upozornění. Myslel jsem, že to mám naprogramované, ale zapomněl jsem to zkontrolovat a nikdy jsem si nevšiml, že to nefunguje. Nefungovalo to kvůli špatně vymyšlené logice šablon, kdy jsem jednu vkládal jako soubor ({include ‚article.latte‘}), a tudíž mi z ní „neprobublal“ block. Teď už by to mělo fungovat, doufám, že to co nejrychleji probublá do vyhledávačů.

  12. Kareves

    Souhlas

    S tímto přístupem souhlasím. Sám jsem si osobní stránky naprogramoval podobným stylem.

    Jeden index.php pro zobrazení, druhý soubor na editaci, víc nepotřebuju (mám FTP).

    Výhody:

    – maximální kontrola
    – nenáročnost na server

    Nevýhody:

    – chronicky chybí ne zas tak uplně triviální fukce
    – co bylo jednou blbě navrženo špatně se opravuje

    No, ale pořád lepší si něco vyzkoušt a navrhnout podle sebe, než si dělat nervy například s Drupalem.

    Akorát tu Texy je lepší převzít, každý prostě není regulární bůh. Já sám mám teď dost ošklivé soubory díky ,,str_replace wiki syntaxi“.

    1. Matěj KonečnýAutor příspěvku

      Re: Souhlas

      Ono, abych byl upřímný, Texy! jsem nakonec asi před třemi dny nasadil – potřeboval jsem asi dvě další funkce a tehdy už bylo výhodnější Texy převzít, opravdu bych ji implementoval z velké části znovu.
      Objevil jsem i nějaké další problémy, konkrétně mám problém s indexací hlavní stránky, když tam jsou všechny články celé, uvidím, jak se to časem vyvine.

      1. Kareves

        Re: Souhlas

        Vtip je v tom, že rádoby komplexní řešení a aplikace nabízí na webu kdekdo. Ale pokud člověk schání něco primitivníního a jednoduchého, nezbývá mu než si to napsat sám.

Napsat komentář

Tato diskuse je již příliš stará, pravděpodobně již vám nikdo neodpoví. Pokud se chcete na něco zeptat, použijte diskusní server Devel.cz

Zdroj: https://www.zdrojak.cz/?p=3602