RobotLoader a temp dir a sessions dir, logs nezpomaluje se?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
MzK
Člen | 127
+
0
-

Když mám ve složce APP_DIR složky temp, sessions a logs a používám RobotLoader()->addDirectory(APP_DIR); RobotLoader tyto soubory a složky prohledává.. Není zde ztráta výkonu? Nebo se tyto složky nějak rozpoznají a ignorují se?

norbe
Backer | 405
+
0
-

Můžeš do složky app umístit soubor „netterobots.txt“ s následujícím obsahem:

Disallow: /temp
Disallow: /sessions
Disallow: /logs
MzK
Člen | 127
+
0
-

Díky, na tuto možnost jsem zapomněl…

Honza Kuchař
Člen | 1662
+
0
-

Ale stejně RobotLoader prohledává jen soubory s příponou PHP, ne?

Honza Marek
Člen | 1664
+
0
-

Vzhledem k tomu, že RobotLoader má cache, tak je to jedno.

Petr Motejlek
Člen | 293
+
0
-

@Honza Marek: ono se hezky říká, že má cache, ale já jsem si nakonec v mém skeletonu nastavil, aby hledal soubory jen ve vybraných adresářích a jejich podadresářích, protože naprosto stačí mít v sessions třeba 15K souborů – to je potom doba, než se udělá cache RobotLoaderu.

Honza Marek
Člen | 1664
+
0
-

Petr Motejlek napsal(a):

@Honza Marek: ono se hezky říká, že má cache, ale já jsem si nakonec v mém skeletonu nastavil, aby hledal soubory jen ve vybraných adresářích a jejich podadresářích, protože naprosto stačí mít v sessions třeba 15K souborů – to je potom doba, než se udělá cache RobotLoaderu.

Jo to jo. Ale myslím, že zacatecnik měl na mysli výkon při běžném provozu. Jinak temp je ignorován automaticky, session ne.

22
Člen | 1478
+
0
-

dotaz k netterobots, kdyz byl zminen…akceptuje nastaveni z robot.txt nebo se musi duplikovat?

Panda
Člen | 569
+
0
-

Neakceptuje a nemusí, protože oba soubory mají naprosto rozdílnou funkci.

pekelnik
Člen | 462
+
0
-

Jemné OT: já v app/ nemám ani sessions ani logs ani nic podobného. Je to možná jedna z nejpodivnějších věcí, které mne na Nette udivují – Doporučování umístění těchto adresářů do app/

app/ (i libs/) tedy mám jen to co chci načítat robotem.

Ondřej Mirtes
Člen | 1536
+
0
-

Je to možná jedna z nejpodivnějších věcí, které mne na Nette udivují – Doporučování umístění těchto adresářů do app/

Co je na tom špatného? sessions jsem neměl nikdy potřebu přesouvat, ale soubory s exceptionama od Laděnky, proč ne?

v6ak
Člen | 206
+
0
-

Taky by mi to sedělo spíš na adresář data nebo něco podobnýho.

Honza Kuchař
Člen | 1662
+
0
-

Vidíte, adresář data je fajn nápad. Protože např. když chci ukládat odeslané soubory, tak kam? Adresář data tam opravdu chybí. Nebránil bych se vůbec ani app/data/sessions/ atd.

David Grudl
Nette Core | 8166
+
0
-

Přesun těchto adresářů ve Skeletonu do „data“ chci navrhnout na poslední sobotě.

Petr Motejlek
Člen | 293
+
0
-

Data působí spíš jako sklad něčeho. Co udělat var, jako to je na unixových systémech ;) Pak bychom měli var/log, var/temp (i když to by bylo lepší udělat spíš jako var/cache), var/sessions – to by bylo celkem hezké.

Ondřej Mirtes
Člen | 1536
+
0
-

var zní pěkně, data bych si taky rád rezervoval pro soubory k downloadu pro uživatele ;)

pekelnik
Člen | 462
+
0
-

Petr Motejlek napsal(a):

Data působí spíš jako sklad něčeho. Co udělat var, jako to je na unixových systémech ;) Pak bychom měli var/log, var/temp (i když to by bylo lepší udělat spíš jako var/cache), var/sessions – to by bylo celkem hezké.

/var používám já /data taky ale na data :)

/var/cache
/var/logs
/var/sessions

je to prima

Honza Kuchař
Člen | 1662
+
0
-

Já jsem tedy pro data. Já si klidně udělám /data/uploads. Co by jako mělo to var znamenat? Viděl jsem to tuším někde na Linuxu.

Vyki
Člen | 388
+
0
-

Také jsem pro název adresáře data. Z toho snad bude dost zřejmé co do něj patří.

Etch
Člen | 403
+
0
-

Osobně sem pro /var to je adresář do kterého patří cache, logy a stejně tak všechny dočasné soubory.

Edit: Typo

Editoval Etch (27. 2. 2010 22:15)

buff
Člen | 63
+
0
-

+1 /var

Honza Kuchař
Člen | 1662
+
0
-

Etch napsal(a):

Osobně sem pro /var to adresář do kterého patří cache, logy a stejně tak všechny dočasné soubory.

Ale pro dočasné soubory jsou tempy. Data jsou data. Prostě všechny data.

  • Data – jakákoli data, ktrátkodobé, dlouhodobé
    • \session – data, která se týkají relací uživatelů
    • \temp – dočasná data
    • \log – logy
    • \nejakeMojeData – tady budou moje data, která jsou trvalé. Např.: soubory, na které se odkazuji z databáze

Ptám se znova: Co má znamenat název var? Co to je var?

Panda
Člen | 569
+
0
-

honzakuchar napsal(a):

Ptám se znova: Co má znamenat název var? Co to je var?

https://en.wikipedia.org/…chy_Standard#…

Variable files—files whose content is expected to continually change during normal operation of the system—such as logs, spool files, and temporary e-mail files. Sometimes a separate partition.

Honza Kuchař
Člen | 1662
+
0
-

Panda napsal(a):
Variable files—files whose content is expected to continually change during normal operation of the system—such as logs, spool files, and temporary e-mail files. Sometimes a separate partition.

Takže jsem se nesekl. Viděl jsem to na Linuxu. Ale Nette není Linux.

Editoval honzakuchar (27. 2. 2010 22:24)

Etch
Člen | 403
+
0
-

honzakuchar napsal(a):

Etch napsal(a):

Osobně sem pro /var to adresář do kterého patří cache, logy a stejně tak všechny dočasné soubory.

Ptám se znova: Co má znamenat název var? Co to je var?

Zkratka pro variable. Jeden z defaultních adresářů unixového file systému. Viz. třeba

http://www.pathname.com/…fhs-2.3.html#…

Adresář /data je pro mě příliš nejednoznačný.

Honza Kuchař
Člen | 1662
+
0
-

Hmmm. Pochopil bych data/var. Data která jsou variabilní. Ale jen var je jak temp.

Editoval honzakuchar (27. 2. 2010 22:25)

v6ak
Člen | 206
+
0
-

No, data, která variabilní nejsou, patří do app apod. Takže data/var IMHO nemá moc smysl.

Je mi celkem jedno, jestli se to bude jmenovat var, nebo data. Název „data“ jsem plácl jako nějaký rychle vymyšlený název. Důležité je to oddělení.

Petr Motejlek
Člen | 293
+
0
-

Mě je taky celkem jedno, jestli se to bude jmenovat Windows/Temp, ale hlavně ať to zmizí z app ;). Var se mi líbí, protože narozdíl od platformy Windows (kterou evidentně mnoho z vás používá) je na platformě Linux rozdělení věcí do adresářů už vymyšlené prakticky k dokonalosti…

Abych do toho ale ještě trochu rejpnul, dneska není na 100 % pravda, že by se var používal jen pro logy, cache, atd. Spousta distribucí do něj ukládá document_root od Apache, databázové soubory od PgSQl, MySQL, a spoustu dalších věcí…

PaBi3
Bronze Partner | 62
+
0
-

Keby sa rozhodovalo medzi /var a /data, som pre /data. Osobne mi FHS bolo vždy nesympatické.

Editoval PaBi3 (28. 2. 2010 11:30)

Cifro
Člen | 245
+
0
-

Ja mam na to adresár .temp. A v ňom .temp/cache, .temp/sessions.temp/logs

pekelnik
Člen | 462
+
0
-

Je pravda že na linuxu jsou ve /var i data která by se za dočasná dala označit jen těžko. Například zmíněné databázové soubory.
Na druhou stranu /temp nebo /tmp taky není k zahození.
Potom se nabízí ještě /cache – tenhle adresář používá například Symfony.

Honza Kuchař
Člen | 1662
+
0
-

Cifro napsal(a):

Ja mam na to adresár .temp. A v ňom .temp/cache, .temp/sessions.temp/logs

Ano tohle je fajn. Akorát jsem pro data/xxx. Protože temp je temporary → můžu kdykoli smazat. Pokud smažu sessions, tak to nebude uplně ok.

Ondřej Brejla
Člen | 746
+
0
-

Osobně jsem pro var, je to pěkné a intuitivní ;-) Navíc jsem na to zvyklý :-)

mkoubik
Člen | 728
+
0
-

var/ +1

Honza Kuchař
Člen | 1662
+
0
-

Já vám teda nevím. Ale kdybych nevěděl, že je nějakej Linux, tak by mi var teda nic neřeklo. Data jsou prostě data. Je to samovysvětlující.

redhead
Člen | 1313
+
0
-

data +1

pekelnik
Člen | 462
+
0
-

var je variable stejně jako app je application a tmp je temporary :)

Honza Kuchař
Člen | 1662
+
0
-

No porovnejte překlady:

variable: http://slovnik.seznam.cz/?…
x
data: http://slovnik.seznam.cz/?…

Petr Motejlek
Člen | 293
+
0
-

Tak se trochu odpoutáme od problematiky názvů přejatých z OS, ok? (Tahle diskuze se pomalu začíná chovat jako flame).

Co vlastně potřebujeme? Zásadní problém je, že mi framework musí zapisovat do adresáře app (resp. do podadresářů), mě by se ale líbilo, kdyby v app byly jen soubory, které se nemění za běhu aplikace (ať už to jsou dočasná data, nebo jakákoliv jiná data). Vedle app, document_root, tests a libs je teda potřeba vytvořit ještě nějaký jiný adresář, kam proměnlivá data ukládat. Jestli mu někdo chce říkat var, někdo data, někdo pr*el, je celkem jedno, protože se ten adresář stejně bude hledat přes nějakou proměnnou (i když ano, ta proměnná bude mít nejspíš název varDir/dataDir ;)), takže si ji může přes config.ini změnit.

Taky by se dalo jít cestou vytvoření adresáře temp a log vedle document_root, app, tests a libs.

Honza Kuchař
Člen | 1662
+
0
-

Ehm, na toto vlákno se nějak zaopomnělo?! :-)

SyXcz
Člen | 75
+
0
-

už se to řešilo před dvouma měsícema a skeleton vypadá pořát stejně, ostatně je mi jedno jestli to bude \var anebo \data ale hlavně aby to bylo zvlášt (temp,sess,logs,uploads,…)

stephanos
Člen | 7
+
0
-

hlavna adresarova struktura by mohla vyzerat takto:

app/			(staticke subory nutne pre beh aplikacie)
	models/
	presenters/
	templates/
	config.ini
	bootstrap.php
var/			(dynamicky tvorene/menene subory potrebne pre beh aplikacie)
	log/
	sessions/
	cache/		(povodny app/temp/)
data/			(ulozisko suborov, ktore nemaju byt dostupne z webu)
document_root/		(subory dostupne z webu)
	index.php
libs/			(kniznice tretich stran)

hlavny rozdiel medzi var/ a data/ je ten, ze obsah vo var/ je potrebny (nie vsak nevyhnutny – rozdiel od app/) pre spravny beh aplikacie, zatial co data/ ma funkciu urciteho skladu (storage) suborov, ktore je potrebne uchovavat pre potreby buduceho spracovania (napr. povodne obrazky pred aplikovanim watermarku a pod.).

Edit: Na navrh Majkl578 premenovany var/temp/ na var/cache/ a opraveny nazov bootstrap.php

Editoval stephanos (20. 4. 2010 8:44)

Majkl578
Moderator | 1364
+
0
-

stephanos: Souhlasím, akorát bych místo „temp“ použil „cache“ (tak to mám rozvržené sebe).
Btw, bootstrap není ini, ale php. :)

Editoval Majkl578 (20. 4. 2010 13:13)

stephanos
Člen | 7
+
0
-

Celkom dobrý nápad, vyjadrovalo by to presný význam :)
Aj majster tesár sa utne ;)

Petr Motejlek
Člen | 293
+
0
-

Jo, s návrhem od uživatele stephanos se ztotožňuji.

wdolek
Člen | 331
+
0
-

mel bych pro zucastnene otazku :) kterak si to mohu nastavit? at koukam, jak koukam, v index.php mam toto:

define('WWW_DIR', __DIR__);
define('APP_DIR', WWW_DIR . '/../app');
define('LIBS_DIR', WWW_DIR . '/../libs');

kdepak se skryva nastaveni, ze temp je v APP_DIR . '/temp', log v APP_DIR . 'log' atd.? nejak se nemuzu v dokumentaci dopatrat :(

_Martin_
Generous Backer | 679
+
0
-

Výchozí nastavení je v třídě Nette\Environment, konkrétně na tomto řádku (pro verzi 0.9.4). Změnit jej lze jednoduše přes změnu proměnných například v bootstrapu:

Environment::setVariable('tempDir', '%appDir%/temporary');

P.S. Hádám, že by to mělo jít i pomocí nastavení proměnných v config.ini.

Mesiah
Člen | 240
+
0
-

+1 /var

líbí se mi varianta od stephanos, jen asi bych přesunul data do document_root… Hm?

Majkl578
Moderator | 1364
+
0
-

Mesiah napsal(a):

+1 /var

líbí se mi varianta od stephanos, jen asi bych přesunul data do document_root… Hm?

To by ztratilo pointu, viz „ulozisko suborov, ktore nemaju byt dostupne z webu“.

Patrik Votoček
Člen | 2221
+
0
-

já bych byl pro

  • app
    • presenters
    • templates
  • document_root
    • js
    • css
    • index.php
  • libs
    • Doctrine2
    • Nette
  • var
    • sessions
    • cache
  • log

Btw proč jsou vlastně ve složce app u něčeho složky malími písmeny a u něčeho velkými?