Poznámky
The Zen of Todoist
Now is better than later.
Later is better than never.
Organized is better than messy.
Big things are composed by smaller things.
Smaller things are done by action.
Think like a person of action.
Act like a person of thought.
The beginning is half of every action.
The longest journey starts with the first step.
Everything should be made as simple as possible.
But not simpler.
Celebrate any progress.
Don't wait to get perfect.
Deadlines and stress are a part of life.
(Zdroj: http://todoist.com/Help/viewAbout)
Ořez obrázku pomocí JS a PHP
http://www.chose.cz/…rez-obrazku/
Model
dgx-ova břitva dobrého MVC
- když změním názvy sloupců v databázové tabulce, bude nutné editovat kód controlleru či view?
- když změním HTML rozhraní za Flashové, bude nutné editovat kód modelu? (zmíněno i v článku)
- když přehodím rozložení prvku na stránce, bude nutné editovat controller nebo model?
Převzato z komentáře od Davida Grudla.
- model nemá vědět o tom, že nějaké pohledy/presentery existují
- view o modelu vědět také nemusí (pasivní view), nebo naopak může data tahat přímo z něj, dle zvolené koncepce
- presenter seznámí view s modelem (ne naopak) a realizuje uživatelské akce. Ty patří do tří kategorií
- změna view (nejčastější)
- zmena stavu (interakce v rámci aktuálního view)
- příkaz pro model
Model ve většině případů bude tvořit více tříd. Jedna z nich se může starat právě o zapouzdření připojení k DB, které využijí jiné třídy modelu. Ale z pohledu celé aplikace je to chápáno jako jeden celek, jeden model.
Z pohledu jednotlivých vizuálních komponent i tyto mohou mít svůj vlastní malý model. Dal by se nazývat třeba komponentový model. Propojení těchto modelů s hlavním modelem pak opět zajistí presenter.
Z pohledu celé aplikace se tyto modely budou spíš považovat za součást prezentační logiky, než součást modelu.Převzato z Nette fóra.
PHP: Jak ve Windows zjistit, zda je soubor skrytý
function isFileHidden($file)
{
if (!is_file($file)) {
throw new Exception("Soubor '$file' nebyl nalezen.");
}
exec("dir $file /ah /b", $output);
return in_array($file, $output);
}
Proč mě sere NetBeans
- přetahování záložek s otevřenými soubory
- změna přípony souboru
- přidání nového souboru
- $t + enter za sebou nezvládne
- failuje odsazování (čas od času)
- nemožnost zobrazit si bílé znaky
Gem Miner: Dig deeper
- White Opal
- Red Opal = 60
- Black Opal = 90
- Ruby
- Emerald = 81
- Sapphire = 100
- Diamond = 115
- Uranium = 120
Zprovoznění diakritky v příkazové řádce GITu
Transakce + zámky MySQL tabulek dohromady
- Dokumentace MySQL: Interaction of Table Locking and Transactions
LOCK TABLESaUNLOCK TABLESautomaticky commitnou aktivní transakciSTART TRANSACTIONautomaticky commitne aktivní transakci a uvolní zámky tabulek
$this->db->query('SET autocommit = 0'); // nelze použít $db->begin()
try
{
$this->db->query('LOCK TABLES [...] WRITE');
...
$this->db->commit();
$this->db->query('UNLOCK TABLES');
}
catch (Exception $e)
{
$this->db->rollback();
$this->db->query('UNLOCK TABLES');
throw $e;
}
Normalizace konců řádků
find . -name "*.php" -exec dos2unix --d2u {} \;