abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 12:55 | Nová verze

    CiviCRM (Wikipedie) bylo vydáno v nové verzi 6.14.0. Podrobnosti o nových funkcích a opravách najdete na release stránce. CiviCRM je robustní open-source CRM systém navržený speciálně pro neziskové organizace, spolky a občanské iniciativy. Projekt je napsán v jazyce PHP a licencován pod GNU Affero General Public License (AGPLv3). Český překlad má nyní 45 % přeložených řetězců a přibližuje se milníku 50 %. Potřebujeme vaši pomoc, abychom se dostali dál. Pokud máte chuť přispět překladem nebo korekturou, přidejte se na platformu Transifex.

    jardaIT | Komentářů: 2
    včera 12:22 | Bezpečnostní upozornění

    Další lokální zranitelností Linuxu je ssh-keysign-pwn. Uživatel si může přečíst obsah souborů, ke kterým má právo ke čtení pouze root, například soubory s SSH klíči nebo /etc/shadow. V upstreamu již opraveno [oss-security mailing list].

    Ladislav Hagara | Komentářů: 1
    14.5. 17:22 | Komunita

    Singularity (YouTube) je nejnovější otevřený film od Blender Studia. Jedná se o jejich první 4K HDR film.

    Ladislav Hagara | Komentářů: 3
    14.5. 16:55 | Zajímavý software

    Vyšla hra Život Není Krásný: Poslední Exekuce (Steam, ProtonDB). Kreslená point & click adventura ze staré školy plná černého humoru a nekorektního násilí. Vžijte se do role zpustlého exekutora Vladimíra Brehowského a projděte s ním jeho poslední pracovní den. Hra volně navazuje na sérii Život Není Krásný.

    Ladislav Hagara | Komentářů: 25
    14.5. 14:00 | Zajímavý projekt

    Společnost Red Hat představila Fedora Hummingbird, tj. linuxovou distribuci s nativním kontejnerovým designem určenou pro vývojáře využívající AI agenty.

    Pinhead | Komentářů: 6
    14.5. 02:22 | Zajímavý software

    Hru The Legend of Zelda: Twilight Princess od společnosti Nintendo si lze nově díky projektu Dusklight (původně Dusk) a reverznímu inženýrství zahrát i na počítačích a mobilních zařízeních. Vyžadována je kopie původní hry (textury, modely, hudba, zvukové efekty, …). Ukázka na YouTube. Projekt byl zahájen v srpnu 2020.

    Ladislav Hagara | Komentářů: 0
    14.5. 01:11 | Nová verze

    Byla vydána nová major verze 29.0 programovacího jazyka Erlang (Wikipedie) a související platformy OTP (Open Telecom Platform, Wikipedie). Detailní přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 0
    13.5. 21:22 | Bezpečnostní upozornění

    Po zranitelnostech Copy Fail a Dirty Frag přichází zranitelnost Fragnesia. Další lokální eskalace práv na Linuxu. Zatím v upstreamu neopravena. Přiřazeno ji bylo CVE-2026-46300.

    Ladislav Hagara | Komentářů: 1
    13.5. 14:00 | Komunita

    Sovereign Tech Agency (Wikipedie) prostřednictvím svého fondu Sovereign Tech Fund podpoří KDE částkou 1 285 200 eur.

    Ladislav Hagara | Komentářů: 13
    13.5. 12:55 | IT novinky

    Google na včerejší akci The Android Show | I/O Edition 2026 (YouTube) představil celou řadu novinek: Gemini Intelligence, notebooky Googlebook, novou generaci Android Auto, …

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 1638 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    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: 538×
    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.