Jojo, keep it kurva simple a místo "cathegory" budu dělat raděj s "category"
Názory k článku
KISS v praxi: polibek pro blog
Re: KISS v praxi: polibek pro blog
celé vláknoja by som to zhrnul do 4roch slov: čím menej tým viac.
Nabídka přijata
celé vlákno-- 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 :-)
Načo to robiť dynamické a s databázou?
celé vláknoNa 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
Re: Načo to robiť dynamické a s databázou?
celé vláknoTenhle 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.
Re: Načo to robiť dynamické a s databázou?
celé vláknoTakových řešení existuje dokonce několik. Asi nejznámější je Jekyll (https://github.com/mojombo/jekyll/), ale zde (http://iwantmyname.com/blog/2011/02/list-static-website-generators.html) jich najdete celou spoustu.
Re: Načo to robiť dynamické a s databázou?
celé vláknoOno 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" :-)
Re: Načo to robiť dynamické a s databázou?
celé vláknomno to by ale bylo jen KIS - simple nikoliv, stupid velmi
Re: Načo to robiť dynamické a s databázou?
celé vláknoTaky si ten web můžeš vygenrovat a pak na serveru nepotřebuješ ani PHP, jsou to jen statické řešení.
Re: Načo to robiť dynamické a s databázou?
celé vláknoJá 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/strelnice, 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).
Re: Načo to robiť dynamické a s databázou?
celé vláknoHoď 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).
Re: Načo to robiť dynamické a s databázou?
celé vláknoTaké 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)
Re: Načo to robiť dynamické a s databázou?
celé vláknohttp://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
Re: KISS v praxi: polibek pro blog
celé vláknoMožná tenhle přístup neni nejlepší pro každého ale mě rozhodně sedí.
Calepin?
celé vláknoHm, a nestacil by na tohle Dropbox+Calepin+Disqus? Abych krome KISS principu uzil take DRY a nevymyslel znovu kolo...? :)
Viz http://calepin.co/
Když už tak už
celé vláknoKdyž 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?
too extreme
celé vláknov 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 ;)
Z obou to horší
celé vláknoPř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í/programovací 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í.
Re: Z obou to horší
celé vláknoP.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.
Re: Z obou to horší
celé vláknoJá myslím, že "mentální cvičení" je nejčastějším důvodem vzniku blogu na vlastní platformě.
Re: Z obou to horší
celé vláknoSouhlas – 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.
bohužel někdy frameworky a redakční systémy překračuji možnosti HW
celé vláknoRá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.
Re: bohužel někdy frameworky a redakční systémy překračuji možnosti HW
celé vláknoProblé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. :)
Re: KISS v praxi: polibek pro blog
celé vláknoTohle 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.
Komentáře "mor"?
celé vláknoMimochodem, 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.
Re: KISS v praxi: polibek pro blog
celé vláknoJelikož 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.
Re: KISS v praxi: polibek pro blog
celé vláknoDí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ý.
Re: KISS v praxi: polibek pro blog
celé vláknoTo 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ě.
QuickCMS Lite
celé vláknoPoužívam tento - http://opensolution.org/download,en,18.html?sDir=Quick.Cms
sorry, nie
celé vláknoSorry, 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ý.
Re: sorry, nie
celé vláknoOdkud čerpáte tvrzení, že by neexistence kategorií nějak výrazně snižuje dohledatelnost?
Re: sorry, nie
celé vláknoBlog 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.
Re: sorry, nie
celé vláknoBTW: 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“.
Re: sorry, nie
celé vláknoDě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čů.
Souhlas
celé vláknoS 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".
Re: Souhlas
celé vláknoOno, 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.
Re: Souhlas
celé vláknoVtip 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.
Re: Souhlas
celé vláknodoufám že texy cachuješ