Akihabara.cz


Autor Téma: Programování  (Přečteno 48383 krát)

0 uživatelů a 1 Host prohlíží toto téma.

Offline Gurthfin

  • Veterán
  • *****
  • Karma: +68/-23
  • Madao Maven
Re:Programování
« Odpověď #30 kdy: 06. Září 2011 - 00:12:12 »
Nie je to nahodou GNU General Public Licence co hladas?

hop stranka:
Kód: [Vybrat]
http://www.gnu.org/copyleft/gpl.html
« Poslední změna: 06. Září 2011 - 00:14:31 od Gurthfin »

Offline Geont

  • Malkavian antitribu
  • Nováček
  • *
  • Karma: +1/-2
Re:Programování
« Odpověď #31 kdy: 06. Září 2011 - 08:36:02 »
Nie je to nahodou GNU General Public Licence co hladas?

hop stranka:
Kód: [Vybrat]
http://www.gnu.org/copyleft/gpl.html

GNU GPL není pro něho vhodná. Součástí GPL je totiž i možnost modifikace SW, což Benda_11 zrovna nechce.

Osobně bych asi doporučil freeware licenci, ale bohužel se mi nepodařilo najít její přesné znění. Asi bude nutné využít znění freeware licence z nějakého jiného programu a akorát ji modifikovat, aby se týkala vlastního programu.

Offline Benda_11

  • Admin
  • Veterán
  • *******
  • Karma: +215/-32
  • Live a life in RL
Re:Programování
« Odpověď #32 kdy: 06. Září 2011 - 08:43:58 »
Tak GNU padá...

Čirou náhodou nebude ta licence pod označení EULA? Problém je že já se v licencí vůbec nevyznám...

Offline Geont

  • Malkavian antitribu
  • Nováček
  • *
  • Karma: +1/-2
Re:Programování
« Odpověď #33 kdy: 06. Září 2011 - 09:14:49 »
Tak GNU padá...

Čirou náhodou nebude ta licence pod označení EULA? Problém je že já se v licencí vůbec nevyznám...

EULA (End User License Agreement) by tomu mohla vyhovovat. Jedná se teda o licence, která jako poslední definuje, co uživatel může a nemůže, a může doplňovat jinou licenci (GPL, CDDL atd.).

Offline Benda_11

  • Admin
  • Veterán
  • *******
  • Karma: +215/-32
  • Live a life in RL
Re:Programování
« Odpověď #34 kdy: 06. Září 2011 - 09:29:57 »
Je někde k dostání šablona pro EULA? Protože se mě to moc nechce psát...

Jinak co jsem se porozhlížel, tak bych mohl použít i Apache License 2.0
Je to licence z roku 2004, dlouho neaktualizovaná. Sice zavádí strašné pojmy, ale pak je pro mě přívětivá.
Nevymezuje si právo, aby se můj program vztahoval pak pod novou verzí - třeba kdyby vyšla někdy Apache License 3.0, která by po mě chtěla poplatky, tak se můj program na ní nebude vztahovat, protože je pod Apache License 2.0.
A do přiloženého souboru s označení NOTICE mohu napsat své dodatky, jako že k dispozici není zdrojový kód a že užití je možné jak pro osobní účely, tak i pro účely ve firmě.
A dává mě právo/zakazuje uživateli, aby modifikoval můj program...

Ale teď se rozhodnout co je lepší...
« Poslední změna: 06. Září 2011 - 09:32:28 od Benda_11 »

Offline Benda_11

  • Admin
  • Veterán
  • *******
  • Karma: +215/-32
  • Live a life in RL
Re:Programování
« Odpověď #35 kdy: 06. Září 2011 - 09:35:51 »
Tak jsem našel super šablonu pro EULA:

Kód: [Vybrat]
1.    You have no rights
2.    Please read carefully 1

Ta se mě líbí :D

Offline TIwdaym

  • Nováček
  • *
  • Karma: +2/-0
Re:Programování
« Odpověď #36 kdy: 06. Září 2011 - 11:44:22 »
Myslím, že najlepšie urobíš, keď si o tom niečo prečítaš na nete. V podstate pri každej licencii je základ EULA - tam si môžeš napísať čo chceš. Freeware je inak aj closed source program, alepo tak nejak. Všetko sú to relatívne pojmy. Presné kritérium na koncove práva si vyhradzuje vždy majiteľ a tvorca, takže nejakú šablónu moc nenájdeš. AK pracuješ ale na nejakých externých softoch, tak len odporúčam čítať a čítať a čítať (a nezblázniť sa z toho)

Edit:
Ešte by som dodal, že ja som robil jeden programík pre ukážku kódu a dával som ho ako opensource na sourceforge a hodil som tam taký jednoduchý reaqdme s licencioi - vlastnoručne zbúchanou - mal by byť niekde pri súboroch už sa mi to nechce hľadať, je to staré asi rok a nerobil som s tým, tak moc nepamätám
Kód: [Vybrat]
http://snakegameinpure.sourceforge.net/
« Poslední změna: 06. Září 2011 - 11:47:09 od TIwdaym »

Offline Mt_Terror

  • Nováček
  • *
  • Karma: +0/-0
Re:Programování
« Odpověď #37 kdy: 06. Září 2011 - 11:53:14 »
Myslím že by se dala použít licence Creative Commons:
Kód: [Vybrat]
http://creativecommons.org/choose/by tam mělo jít nastavit zda to můžou upravovat či ne.

Offline Geont

  • Malkavian antitribu
  • Nováček
  • *
  • Karma: +1/-2
Re:Programování
« Odpověď #38 kdy: 06. Září 2011 - 12:00:57 »
Myslím že by se dala použít licence Creative Commons:
Kód: [Vybrat]
http://creativecommons.org/choose/by tam mělo jít nastavit zda to můžou upravovat či ne.

Co vim, tak CC se nedoporučuje používat pro software viz http://wiki.creativecommons.org/FFAQ#Can_I_license_software_using_CC_licenses.3F

Offline Gurthfin

  • Veterán
  • *****
  • Karma: +68/-23
  • Madao Maven
Re:Programování
« Odpověď #39 kdy: 07. Únor 2012 - 10:45:06 »
pri behu programu(c++) potrebujem vytvorit a mat otvoreny textovy subor, aby som donho v pripade chyby zapisal poslednu poziciu. Lenze ak prebehne program v poriadku, ten subor nepotrebujem. Nie je nejaky sposob, ako by ten pomocny subor program vymazal sam?

Offline Tigr

  • Sledovač
  • **
  • Karma: +9/-0
  • Fansuber teoretik
Re:Programování
« Odpověď #40 kdy: 07. Únor 2012 - 19:29:14 »
pri behu programu(c++) potrebujem vytvorit a mat otvoreny textovy subor, aby som donho v pripade chyby zapisal poslednu poziciu. Lenze ak prebehne program v poriadku, ten subor nepotrebujem. Nie je nejaky sposob, ako by ten pomocny subor program vymazal sam?
Tak určitě můžeš zavolat system("rm -f muj_soubor") nebo něco takového, jenže to není přenositelné. Řešením by bylo použít nějakou knihovnu (Boost::filesystem?).

Druhá možnost je udělat vypisování líné. Můžeš to celé vypsat třeba až na konci programu, pokud to dřív nepotřebuješ. V tu chvíli také víš, jestli vlastně něco vypisovat chceš. V pseudo-C++:

Kód: [Vybrat]
class ErrorReporter {
public:
    ErrorReporter(path)
        this->path = path
   
    ~ErrorReporter()
        if this->data:
            otevři soubor this->path pro zápis
            zapiš do něj obsah this->data
   
    void report(string)
        this->data << string

protected:
    string       path;
    stringstream data;

};

Anebo mě napadá třetí možnost – v C++ vypisovat na stderr a přesměrovat si to do souboru v shellu. Asi nejjednodušší možnost, pokud je to potřeba jen pro vývoj a ne pro finální aplikaci:

Kód: [Vybrat]
muj_program 2>muj_soubor

Offline Gurthfin

  • Veterán
  • *****
  • Karma: +68/-23
  • Madao Maven
Re:Programování
« Odpověď #41 kdy: 16. Únor 2013 - 12:24:10 »
da sa nejako ofajat velkost fronty argv[]? Mne dovoli nejakych 320 zaznamov(potom vypise chybu), ale velmi casto sa stretavam so situaciou, kedy potrebujem viac.

Offline Tigr

  • Sledovač
  • **
  • Karma: +9/-0
  • Fansuber teoretik
Re:Programování
« Odpověď #42 kdy: 16. Únor 2013 - 20:21:08 »
da sa nejako ofajat velkost fronty argv[]?
Zdá se, že na Windows je limit 32 KiB a na Linuxu 1/4 velikosti stacku, tedy nějaký megabajt a víc. Na Windows má cmd.exe ještě vlastní omezení na 8 KiB. Nevypadá to, že by se to dalo nějak ovlivnit.

Zamyslel bych se nad tím, jestli opravdu potřebuji všechny ty argumenty předat najednou, nebo jestli by nešlo opakovaně spouštět daný program třeba jen s jedním argumentem. Pokud ne, řešením je načítání ze souboru. Pokud ano, tak stačí zařídit, aby se program opakovaně volal. Několik příkladů, jak na to (v Bashi, tj. na Linuxu nebo v MinGW na Windows):

Kód: [Vybrat]
$ find . -type f -name '*.jpg' >soubory.txt
$ while read line; do muj_program $line; done <soubory.txt
Kód: [Vybrat]
$ for line in `find . -type f -name '*.jpg'`; do muj_program $line; done
Kód: [Vybrat]
$ find . -type f -name '*.jpg' | xargs -n 1 -P 4 muj_program
Poslední příklad nechá běžet až 4 instance programu naráz.

Offline Gurthfin

  • Veterán
  • *****
  • Karma: +68/-23
  • Madao Maven
Re:Programování
« Odpověď #43 kdy: 16. Únor 2013 - 21:10:31 »
ts.. blby windows, musi nas tak obmedzovat. No nic, vyriesene to mam, len takto by to slo ovela rychlejsie a hlavne som to chcel vyuzit pri viacej programkoch. Ostava mi uz len vytvorit vlastnu fronu a pomocou vnutornych funkcii to posietal do cmd.

Offline Gurthfin

  • Veterán
  • *****
  • Karma: +68/-23
  • Madao Maven
Re:Programování
« Odpověď #44 kdy: 28. Duben 2013 - 05:43:35 »
No vdaka ClassicShell sa uz nemusim obmedzovat, ten to ma krasne a rychlo vyriesene, ale zase mi nastali nejake problemy:

1. ClassicShell pouziva pri volani "silent mod" pre command line. Cize ak pouzijem prikaz PicConv.exe %3 (kde PicConv.exe je moj program a %3 je C:\Users\ADMINI~1\AppData\Local\Temp\cei1FB2.tmp) tak sa mi nezobrazi okno vystupu. Skusal som pouzit v mojom programe cout, cerr, system("echo on"), ale nic nepomohlo. Nie je nejaky sposob ako vynutit zobrazenie vystupu?

2. Unicode (presnejsie japonske znaky). Nejdu volat programy s argumentami obsahujucimi unicode znaky (coz je prirodzene), tak mam vyvinut snahu a opytat sa, ako naprogramovat taky program, alebo bude ovela lahsie len prehodit subory zo zlozky, ktorej meno obsahuje unicode znaky do nejakej, ktora ich neobsahuje?