Zobrazit příspěvky

Tato sekce Vám umožňuje zobrazit všechny příspěvky tohoto uživatele. Prosím uvědomte si, že můžete vidět příspěvky pouze z oblastí Vám přístupných.


Příspěvky - Kit

Stran: 1 ... 28 29 [30] 31 32 ... 47
436
takže r+ , ale tím jsem přepsal původní soubor, už to je úplně odlišný algoritmus.

Tohle chování jsi přece chtěl.

437
Kit, mám dotaz. Aktuálně mám dva oddělené bloky, jeden čte, druhý zapisuje. To by nejspíš bylo lepší sloučit do jednoho, tak co to otevřít s fopen w+? Tím se vyřeší problém té narušené atomicity scriptu ne? Akorád po načtení pomocí fread musím převinout na začátek souboru ne?

Tak se koukni kousek zpátky a podívej se na můj příspěvek, kde ti radím "r+". Máš to tam i se zámkem a převinutím.

438
Pokud by za hosting platil 50 Kč měsíčně, měl by naprosto stejné problémy se zamykáním souborů, jaké tady řeší. Cena za hosting v tom nehraje roli.
Nikoli, stejné problémy by neměl. Nebyl by omezený limitem 20 MB na databázi, takže by se nepokoušel bez jakýchkoli znalostí naprogramovat vlastní databázi, ale použil by tu, kterou nabízí webhosting.

Tohle omezení se zřejmě týká MySQL, ale SQLite bývá omezeno jen velikostí přiděleného diskového prostoru. Rozhodně lepší a spolehlivější řešení, než fopen().

439
Na druhou stranu bych ti vytkl, že jsi u nějakého freehostingu s tak mizernými parametry. Zkus hledat u konkurence, která je také zdarma a přitom má ty parametry (včetně databází) o jeden či dva řády lepší.
Nechci se znovu nachytat. Neznám je a bez doporučení se sotva mohu pouštět do experimentů. Nechci zažít druhé Moxo.

U Moxo jsem byl také. Zrušili provoz. No a? Přešel jsem jinam a jedu dál. U koho jsi teď?

440
Na druhou stranu bych ti vytkl, že jsi u nějakého freehostingu s tak mizernými parametry. Zkus hledat u konkurence, která je také zdarma a přitom má ty parametry (včetně databází) o jeden či dva řády lepší.

441
Pokud nejste ochoten dát 50 Kč měsíčně, místo toho budete týdny něco programovat s nejistým výsledkem, znamená to, že váš čas nemá žádnou hodnotu.

Pokud by za hosting platil 50 Kč měsíčně, měl by naprosto stejné problémy se zamykáním souborů, jaké tady řeší. Cena za hosting v tom nehraje roli.

442
Raději dát pár stovek ročně než přijít o několik víkendů kdy budeš řešit chyby v tom systému. Taky připočti častější výpadky na freehostingu ze kterého návštěvníci taky nebudou nadšeni. Existuje spousta koníčků a projektů co dělá člověk pro radost a nic na nich nevydělává.

Jestli použiješ databáze vs. soubory; freehosting vs. placený; vlastní systém vs. Wordpress; to všechno záleží na tobě, ale zaplatit trochu peněz za něco co ti ušetří hodně práce je obecně správný přístup, vyjímkou snad je pokud jsi hodně mladý a i těch pár korun je pro tebe dost peněz.

Tady bych se exkalibra zastal. Mám z minula několik projektíků, které mi běží na freehostinzích a poběží tam, dokud služba bude fungovat. Nemají velkou hodnotu a kdybych za každý z nich platil těch zmíněných 50 Kč měsíčně, tak bych se jich už dávno zbavil. Pokud se učí a zkoumá vlastnosti souborových systémů na hostingu, který neptá peníze, tak ho nechej být. Je to jeho čas, který do toho investuje. Pokud je ti líto tvého času, tak se na tohle vlákno vykašli.

Ty freehostingy mi dělají dobrou službu, i když občas nefungují, jak by měly. Právě na nich se skvěle simulují souběhy, závady, chyby v konfiguraci, chyby při různých upgradech apod. Mohu si na nich vyzkoušet i věci, které si v ostrém provozu nemohu dovolit.

443
... jen 20MB. Taky jsem psal, že tu databázi použiju, ale rozhodně ne na registraci. A tento týden se databází rozhodně zabývat nebudu. To jakým tempem pracuju je moje věc, do toho vám nic není pane.

Jestli je to MySQL na Webzdarma, tak na ni můžeš v klidu zapomenout. Nikdy mi tam pořádně nejela. Zato SQLite tam sviští jako vítr.

444
Který freehosting používáš, ať mohu porovnat parametry?

445
To je blbost, registraci si napíšu za týden.

Proč ne za hodinu?

446
Jo k té databázi, styčí když k tomu použiju příkazy mysql_? Učit se za něco nového jako PDO se mi nechce.

Práce s PDO je jednodušší než s mysql_* a navíc získáš ošetření proti SQL injection - tedy pokud použiješ prepared statemnts.

447
Kit: do databáze by se mi nevešlo všechno to co chci uložit. Ta databáze na freehostingu má jen 20 mB.

Použij SQLite. Budeš omezen jen velikostí diskového prostoru na webhostingu a ušetříš hromadu místa.

448
Takže až vyřešíš problémy se zamykáním souborů, přejdi na databázi.
Takhle to nebude fungovat, jedině opačně – nejprve se naučit používat prostředky databáze, které jsou jednodušší, a teprve pak se případně dostat k souborům.

To měl být sarkasmus.

449
Jiné řešení pro případ vzkazníku mě napadlo.

Odesílatel odešle zprávu do složky uživateli, ale ta se nezpracuje automaticky. Ta zpráva tam bude čekat jako samostatný soubor, dokud si uživatel nepřečte všechny zprávy (které se mu zařadí do souboru teprve až navštíví svojischránku). Tím pádem jde o stoprocentní atomicitu, protože jediný skript, který bude zapisovat data do souboru je ten jeho. Nevýhoda je že při velkém množství zpráv se může uchovávat velké množství souborů, které na linuxu mohou zabírat nevím kolik.

Tohle řešení se jmenuje Maildir a skutečně se používá. Při správné volbě souborového systému to funguje skvěle i pro velké množství souborů. Funkce file_put_contents() zde bude namístě bez rizika kolize, neboť názvy souborů se generují přes UUID.

Alternativní a doporučenou variantou je použití databáze, která ti zajistí nejen atomicitu, ale i eliminuje riziko kolizí a polovičních souborů. Takže až vyřešíš problémy se zamykáním souborů, přejdi na databázi.

450
Ten je o pár řádků výše, přece:

$locked = flock($fp, LOCK_EX);

Já jsem dával jen ukázku toho fstat, ne zámku

Bylo by lepší, kdybys vypsal obě hodnoty, ať z toho můžeme odvodit nějaké závěry.

Stran: 1 ... 28 29 [30] 31 32 ... 47