abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 17:11 | Pozvánky

    Od čtvrtka 30. 5. do soboty 1. 6. lze v Praze navštívit Veletrh vědy, tj. největší populárně naučnou akci v České republice, kterou každoročně od roku 2015 pořádá Akademie věd ČR. Vstup zdarma.

    Ladislav Hagara | Komentářů: 0
    dnes 14:11 | Komunita

    Canonical představil Ubuntu optimalizované pro jednodeskový počítač s RISC-V procesorem Milk-V Mars.

    Ladislav Hagara | Komentářů: 0
    včera 21:22 | Nová verze

    Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 24.5.1 Havier. Přehled novinek v Changelogu.

    Ladislav Hagara | Komentářů: 0
    včera 19:44 | IT novinky

    Společnost xAI založena Elonem Muskem a stojící za AI LLM modelem Grok získala investici 6 miliard dolarů.

    Ladislav Hagara | Komentářů: 1
    včera 15:44 | IT novinky

    Finálový zápas mistrovství světa v ledním hokeji přinesl nový rekord NIX.CZ (𝕏): "Dosavadní absolutní maximum našeho propojovacího uzlu bylo překonáno v čase 21:10, kdy jsme při přenosu dat dosáhli 3,14 Tbps. Je třeba také doplnit, že po deváté hodině večerní byly na maximu i ostatní datové přenosy nesouvisející s hokejovým šampionátem".

    Ladislav Hagara | Komentářů: 3
    včera 15:11 | Pozvánky

    Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 12. a 13. října na FIT ČVUT v pražských Dejvicích. CfP poběží do konce prázdnin, pak proběhne veřejné hlasování a výběr přednášek.

    Petr Krčmář | Komentářů: 0
    25.5. 19:00 | Zajímavý projekt

    Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.

    Ladislav Hagara | Komentářů: 13
    24.5. 22:22 | Upozornění Ladislav Hagara | Komentářů: 21
    24.5. 17:44 | Nová verze

    Firma Murena představila /e/OS verze 2.0. Jde o  alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).

    Fluttershy, yay! | Komentářů: 0
    24.5. 14:33 | Zajímavý software

    Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.

    Ladislav Hagara | Komentářů: 1
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (89%)
     (3%)
     (4%)
     (4%)
    Celkem 926 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dotaz: GIT a netradiční správa komponent?

    7.12.2011 14:12 gorgo | skóre: 11 | blog: denicek
    GIT a netradiční správa komponent?
    Přečteno: 461×
    Plánuji přechod z SVN na GIT (nebo klidně i jiný DVCS) a rád bych při té příležitosti vyřešil problém se správou komponent v systému založeném na Zend frameworku. V jedné stromové struktuře se totiž nachází soubory různých komponent.

    Příklad adresářové struktury:
    ├── application
    │   ├── controllers
    │   ├── forms
    │   ├── models
    │   └── views
    │       ├── layouts
    │       ├── scripts
    │       └── vc
    ├── library
    │   ├── Moje
    │   └── Zend
    └── public
        ├── images
        ├── scripts
        └── styles
    
    Takže např. komponenta Moje_Tabulka se skládá z následujících souborů:
    • vlastní třída v library/Moje/Tabulka.php
    • view šablona v application/views/vc/tabulka.phtml
    • css a obrázky v public/styles a public/images
    Podobně jsou na tom i ostatní komponenty.

    Co bych si přál úplně nejvíc?
    • každý projekt by měl svůj repozitář
    • každá komponenta by měla svůj repozitář
    • komponenty bych mile rád sdílel mezi více projekty a chtěl bych mít možnost je z různých projektů i měnit
    Aktuálně má každý projekt svůj repozitář a sdílený kód synchronizuji pomocí Krusadera a jeho synchronizace adresářů=)

    Toho bych se rád zbavil a řešil to nějak systematicky. Dočetl jsem se o git submodules, ale to asi můj problém neřeší, protože v každém adresáři se nachází soubory různých komponent.

    Je vůbec možné něčeho takového docílit?

    Řešení dotazu:


    Odpovědi

    Řešení 1× (gorgo (tazatel))
    7.12.2011 15:26 dementni.lojzik | skóre: 19 | blog: ze zivota na vsi
    Rozbalit Rozbalit vše Re: GIT a netradiční správa komponent?
    Nechci rikat, ze to v gitu nejde, ale nevim o zadnem zpusobu, jak tohoto docilit. Prijde mi to spis jako nestatne umisteni jednotlivych souboru. Co si jeste pamatuji z doby kdysi davno, kdyz jsem si trochu hral se Zendem, tak tam muzes mit jednotlive moduly, coz jsou adresare ve slozece application obsahujici presne to, co ted mas primo ve slozce application. Stejne tam tam muzes mit styly precificke pro dany modul a pod. Podobne, napr. library/Moje/Tabulka.php je bud specificka pro dany modul a mela by byt v nem nebo je to neco obecneho, pak library/Moje/Tabulka.php je OK, ale cele library/Moje by mel byt asi samostatny projekt. Takze misto reseni, jak takovou strukturu narvat do gitu, abych asi spis resil, jak to presunout, aby veci, co spolu souvisi, byly ve stejnem adresari.
    7.12.2011 15:57 gorgo | skóre: 11 | blog: denicek
    Rozbalit Rozbalit vše Re: GIT a netradiční správa komponent?
    Moduly v Zendu slouží k něčemu jinému - máš například public a admin moduly jedné webové aplikace. Nicméně komponenta Moje_Tabulka má být použitelná v jakémkoliv modulu či kontroleru - dokonce například Moje_Database může být využitelná i v cron skriptu. Právě problém je v tom, že celé library/Moje obsahuje několik takových komponent (které bych ideálně viděl v oddělených repozitářích). Stejný problém je pak u ostatních zmíněných adresářů - v takovém public/styles se nachází css-ka pro tabulku, login-form, wizard a já nevím co všechno. Proto bych si potřeboval nadefinovat "náležitost" jednotlivých souborů (nikoliv jen adresářů) k submodulům (tedy komponentám).
    7.12.2011 20:47 dementni.lojzik | skóre: 19 | blog: ze zivota na vsi
    Rozbalit Rozbalit vše Re: GIT a netradiční správa komponent?
    jestli je Moje_Tabulka pouzitelna v jakemkoli modulu, pak by IMHO, ja pisu vyse, mela byt v samostatnem repozitari a ne v repozitari nejake konkretni aplikace. Pokud je v library/Moje nekolik zcela nesouvisejicich veci, ktere by bylo vhodne rozdelit na samostatne projekty/knihovny, pak bych to udelal a pro kazdou knihovnu udelal samostatny repozitar. Nevidim zadny duvod, proc mit cely projekt i se zavislostma v jednom repozitari.
    8.12.2011 08:24 gorgo | skóre: 11 | blog: denicek
    Rozbalit Rozbalit vše Re: GIT a netradiční správa komponent?
    máš recht, Moje_Tabulka určitě (časem) půjde do svého repozitáře. Celá knihovna Moje na to ještě ale není úplně připravena. V ní jsou věci (ne)související podobně jako jednotlivé části knihovny Zend.

    Zpět ale k původnímu dotazu: je tedy možné v Gitu nastavit, že soubor library/Moje/Tabulka.php patří do jednoho repozitáže, zatímco jiný soubor ve stejném adresáři library/Moje/Database.php patří do jiného repozitáře?
    Řešení 1× (gorgo (tazatel))
    8.12.2011 10:41 Jidnra
    Rozbalit Rozbalit vše Re: GIT a netradiční správa komponent?
    Podle me chces od GITu vic nez poskytuje a (z principu) resi. Pokud potrebujes vyresit situaci kdy mas N komponent v N repositarich a potrebujes je dostat do jednoho stromu souboru, pouzij nejaky sestavovaci program/skript. Make, ant, rake.... dle libosti. Jak to bude delat je jen na tobe, muze treba vy-checkout-ovat aktualni verze, poskladat je podle pravidel do vysledku, ten zabalit (a pokud chces tak treba deploynout)...

    Jak v takovym pripade budes resit "opravy ve vyslednem stromu" a jejich promitnuti do repozitare je jina otazka - zalezi jak rychly bude "sestavovaci" proces, pokud to udelat dostatecne rozumne tak muzes editovat rovnou v repozitari a po kazde zmene pustit "sestaveni" a kouknout na vysledek (nezda se to, ale dneska uz to bude dostatecne rychly)
    8.12.2011 10:57 gorgo | skóre: 11 | blog: denicek
    Rozbalit Rozbalit vše Re: GIT a netradiční správa komponent?
    OK, díky za odpověď. Takže ve výsledku si to budu muset tak jako tak napsat sám. To jsem chtěl vědět.
    8.12.2011 11:03 Jidnra
    Rozbalit Rozbalit vše Re: GIT a netradiční správa komponent?
    Hlavne to nevymejslej cely sam :-). Kterejkoli z existujicich sestavovacu ti poresi to "nakopiruj to tam, ale jenom pokud se tam neco zmenilo"

    co treba http://thechangelog.com/post/493856233/phake-m-rake-for-php ?
    8.12.2011 11:27 gorgo | skóre: 11 | blog: denicek
    Rozbalit Rozbalit vše Re: GIT a netradiční správa komponent?
    Jasně=) Určitě se poohlédnu po něčem existujícím. Šlo mi předně o to, jestli to nezvládne sám Git. Odkaz poznamenán, díky!
    8.12.2011 15:10 klingac | skóre: 10 | Praha
    Rozbalit Rozbalit vše Re: GIT a netradiční správa komponent?
    pre jednotlive subory to nastavit nejde, ale pre podadresare ano. heslo znie git submodule
    8.12.2011 22:53 Jan Marek | skóre: 16
    Rozbalit Rozbalit vše Re: GIT a netradiční správa komponent?
    A byl by problém si udělat verzovací adresář a soubory z něj do příslušných adresářů rozhodit linkama?
    9.12.2011 08:08 gorgo | skóre: 11 | blog: denicek
    Rozbalit Rozbalit vše Re: GIT a netradiční správa komponent?
    Přímo problém by to nebyl, ale ručně mi to přijde těžkopádné. Možná jako součást nějakého sestavovače o kterých mluvil Jindra.
    Řešení 1× (gorgo (tazatel))
    Josef Kufner avatar 12.12.2011 13:50 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: GIT a netradiční správa komponent?
    Koukni na git submodule. Na první pohled jsou trošku podivné, ale fungují pěkně.

    Každý modul pak nacpeš do jednoho submodulu, což je samostatný repositář, který můžeš přilinkovat do libovolného dalšího projektu. V podstatě si submodul můžeš představit jako symlink na repositář a konkrétní verzi (commit) v něm.

    Co se týče uspořádání projektu, máš v podstatě dvě možnosti:
    1. Přeskládat adresářovou strukturu tak, aby vše z jedné komponenty bylo v jednom adresáři. Autoloader pak bude muset s tímto počítat a umět hledat na různých místech. V okamžiku, kdy dáš dohromady rozumná pravidla, tak je to v pohodě (rozumné prefixy nabo jmenné prostory odpovídající adresářům komponent). Výsledek bude celkem přehledný a bude zřejmé, co do které komponenty patří.
    2. V submodulech mít instalační balíčky a pak nějaký automatický nástroj, který provede instalaci/deploy do struktury, kterou máš teď, přičemž aplikaci bych držel stejně jako komponenty nějak bokem a do dané adresářové struktury ji umisťoval stejným způsobem. Výhodou je minimum změn v aplikaci (pokud vůbec), nevýhodou složitý deploy.
    Hello world ! Segmentation fault (core dumped)
    13.12.2011 08:18 gorgo | skóre: 11 | blog: denicek
    Rozbalit Rozbalit vše Re: GIT a netradiční správa komponent?
    O submodules jsem už četl. Jinak díky za shrnutí.

    Přeskládání adresářové struktury má nevýhodu v tom, že např. grafická komponenta si s sebou potáhne nějaké obrázky, styly a javascript. V Zendu se mi hodně líbí myšlenka, že tyhle věci jdou do adresáře public, zatímco php zdrojáky jsou úplně mimo.

    Takže to zatím vypadá na možnost 2=)

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.