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 - Ondřej Novák

Stran: 1 ... 31 32 [33] 34 35 ... 38
481
Poslední dobou narážím na dost otravnou věc. Když mi vyprší session, tak po odslání příspěvku - stává se to při založení tématu - se mi napíše chyba "že nemám přístup do sekce". Bohužel na Firefoxu když dám zpět, tak na mě svítí krásně čistý vypraný formulář (bez obsahu)

Donedávna ještě fungovalo přihlášení v jiném okně a reload stránky, což vyvolalo nové odeslání formuláře a téma se založilo. Nyní na mne vyskočí další chyba, že prý jsem omylem odeslal téma dvakrát. Nicméně neexistuje prakticky žádná šance, jak získat odeslaný text zpět. Prostě to musím napsat znova.

Udělejte s tím něco prosím.

482
Vývoj / Re: Tip na portal o C++
« kdy: 30. 10. 2011, 00:36:19 »
Jinak C++ se pomalu přesouvá tam kam patří(programování speciálních výpočetně náročných aplikací), a proto nemůžeš čekat, že dnes budou vznikat nová portály o tomto tématu v češtině.

Samozřejmě, například do Windows 8, to je taky specializovaná a výpočetně náročná aplikace :-D

483
Vývoj / Re: Tip na portal o C++
« kdy: 29. 10. 2011, 15:15:52 »
To bude nejaky fake. C++ rozhodne neumira a jazyku jako vtipku vzniklo hodne, brainfuck, whitespace a ty spise umiraji.

jinak diky za odpovedi. Me slo o to, ze mi prijde root stale mene odborny, nez by bylo potreba. Jako psat do diskuzi nebo do blogu o sablonach a nebo o C++ ve windows neni uplne v tematu roota

484
Vývoj / Tip na portál o C++
« kdy: 28. 10. 2011, 18:12:03 »
Zdravim. Nemate nekdo tip na stranky nebo portal o programovani v C++ kde to nejak zije. Chodim na root.cz, protoze se tu obcas takove tema objevi, ale vice tematicky specializovany portal bych privital. Samozrejme idealne cesky, sehnat zahranicni asi neni takovy problem

485
Vývoj / Re: přetěžování new a delete v C++
« kdy: 12. 10. 2011, 19:56:56 »
Stene, to je dobra pripominka, vim, ze jsem nekde mel kod, kde se do new daval extra parametr urcujici o kolik vetsi ma byt alokovany prostor pro objekt, do ktereho jsem pak ukladal nejaka variabilni data. Zrovna placement delete v tomhle tvaru (se size_t) jsem tam mel. Nastesti se to uz nikde nepouziva

486
Vývoj / Re: přetěžování new a delete v C++
« kdy: 12. 10. 2011, 17:38:40 »
Tak si odpovím sám, dá se to obejít pomocí pomocného objektu, který si velikost zapamatuje. Vyzkoušený příklad v MSVC i v GCC

Objekt Allocator zde představuje placeholder, pro nějaký objekt provádějící alokace kdesi a předpokládá se, že místo standardních new a delete se bude volat on s parametry velikost, potažmo pointer a velikost. Alokace je zde provedena přes new a delete. To co je třeba sledovat je jakým způsobem se zjišťuje velikost alokované paměti při delete bez nutnosti tuto informaci ukládat spolu s alokovaným blokem

Kód: [Vybrat]

#include <iostream>
#include <stdexcept>
#include <memory>


class Allocator {
public:


};

class AllocatorHelper {
public:

AllocatorHelper(Allocator &hlp):rsz(0),hlp(hlp) {
std::cout << "Allocator helper construction. " << std::endl;
}

~AllocatorHelper() {
std::cout << "Allocator helper destructor. " << std::endl;
}


void rememberSize(size_t sz) const {
rsz = sz;
std::cout << "Allocator remembering size: " << sz << std::endl;
}

size_t getSize() const {return rsz;}


protected:

mutable size_t rsz;
Allocator &hlp;
};

class TestClass {

int a;
public:
TestClass(int a):a(a) {}

virtual ~TestClass() {}

void *operator new(size_t sz, const AllocatorHelper &alc) {
std::cout << "Allocating: " << sz << std::endl;
alc.rememberSize(sz);
return ::operator new(sz);
}

void operator delete(void *ptr, const AllocatorHelper &alc) {
std::cout << "In-exception deallocating: " << alc.getSize() << std::endl;
::operator delete(ptr);
}

void operator delete(void *ptr, size_t sz) {
std::cout << "Normal deallocating: " << sz << std::endl;
::operator delete(ptr);
}
};

class TestClass2: public TestClass {
double z;

public:
TestClass2(int a, double z):TestClass(a) {throw std::runtime_error("nejde to");}


};

int main(int argc, char * argv[])
{
try {
Allocator hlp;

std::auto_ptr<TestClass> a(new(hlp) TestClass(10));
std::auto_ptr<TestClass> b(new(hlp) TestClass2(10,12.0));


return 0;
} catch (std::exception &e) {
std::cout << e.what() << std::endl;
}
}

487
Vývoj / Přetěžování new a delete v C++
« kdy: 12. 10. 2011, 15:20:02 »
Programování zdar.

Řeším tu jednu nekonzistenci okolo přetěžování new a delete. Chtěl bych si ujistit, že jsem to pochopil dobře, a že mi nic neuniklo.
Mohu si u vlastní třídy přetížit operator new s placementem

void *operator new(size_t sz, void *a, char *c,...)

Pokud chci objekt té třídy dealokovat nějakým specifickým způsobem, musím tam mít něco takového

void operator delete(void *ptr, size_t sz)

To je výborný, protože hodnotu sz nemusím nikam ukládat. Jenže je zde ještě jedna specifická a povinná funkce

void operator delete(void *ptr, void *a, char *c,...)

která se volá v případě, že konstruktor hodí výjimku. Zkoušel jsem tam narvat size_t sz, a vypadá to, že to sebralo jen GCCčko, ale moc si s tím nejsem jist, protože jsem to netestoval. Rozhodně mi u toho MSVC hodí warning, protože nedokáže spárovat placement new s ...

void operator delete(void *ptr, size_t sz, void *a, char *c,...)

Chápu to tedy dobře tak, že si velikost alokované paměti stále musím ukládat někam vedle? A že se jedná o nekonzistenci v normě, nebo jen v MSVC?

488
Sítě / Re: Synchronní vs. asynchronní přenos
« kdy: 10. 10. 2011, 17:26:18 »
Synchronní komunikace mezi skupinou účastníků: Bude posílat data jednička, pak dvojka, pak trojka, pak čtyřka, pak pětka, a pak zase jednička, atd... Něco jako moderovaná diskuze, kdy moderátor uděluje slovo.

Asynchronní komunikace: Každý účastník posílá data kdykoliv se mu zachce. Na sdíleném mediu se pak třeba řeší kolize, stejně tak jako mezi lidma, když začnou dva lidi mluvit současně.

489
Sítě / Re: Synchronní vs. asynchronní přenos
« kdy: 10. 10. 2011, 17:22:25 »
Synchronni znamená, že někdo komunikaci taktuje, nebo předem určuje, jak bude probíhat, třeba formou dotaz odpověď, ale třeba také tři dotazy, dvě odpovědi. Nebo je komunikace časována z vnějšku, například, pošlu zprávu každou minutu, jindy ne.

Většinou je právě komunikace nějak synchronizována, ať už vnějším arbitrem, nebo vůči sobě podle předem daných pravidel: Ja, on, já, on, já, on... atd.

Asynchroní znamená, že komunikace může probíhat (nebo začít) kdykoliv nahodile.

490
Vývoj / C/C++ knihovna pro asym.šifrování
« kdy: 15. 09. 2011, 10:24:27 »
Zdravím

omlouvám se za svou lenost použít google, zejména z časových důvodů. Neměl by někdo z programátorů tip na knihovnu pro implementaci "nějakého" asymetrického šifrování. Pokud by to nebylo něco standardního, bylo by to možná lepší. Představuju si jednoduché úlohy typu
- vygenerování dvojice klíčů
- zašifrovat blok paměti jedním klíčem
- dešifrovat blok paměti druhým klíčem.
... nezajímají mě ověřené autority, klasické SSL, ani standardní certifikáty. Potřebuju jen ten základ, co možná nejlehčí, žádný moloch postavený na OpenSSL. Chci to použít k šifrování a ověřování autority požadavků mezi dvěma aplikacemi, tak, aby bylo obtížné simulovat jednu stranu (nahratit aplikaci simulací a tak zmást druhou stranu).

PS: Ano, v googlu jsem zadal "c++ library asymmetric encryption" a výsledky aspoň na prvních dvou místech jsou na nic a na třetím místě je prakticky nezodpovězený dotaz na StackOverflow, zbytek je variace na první dva výsledky.

491
Sítě / Re: Alternativa k SSL
« kdy: 12. 09. 2011, 10:15:21 »
No nevím, ale pokud si vydám vlastní certifikáty, pak mám možnost věřit jen jim a nikomu jinému.

492
Windows a jiné systémy / Re: Virtual OS cez proxy
« kdy: 29. 08. 2011, 09:37:27 »
Zvědamost ve mně hlodá, k čemu to?

493
Sítě / Re: Ochrana proti upraveným paketům
« kdy: 05. 08. 2011, 22:56:29 »
Jenže běžně jsou ve hrách nelegální i např. expovací stroje, a ty se mohou pohybovat v podstatě "normálně". Samozřejmě, nepřirozeně rychlý pohyb je také detekovatelný, ale ono často stačí se urychlit o kousek, což ostatní nemohou detekovat.

No expování je chyba špatného RPG systému. Dodnes jsem nepochopil, proč postupování na úroveň je řešeno tak hloupě. Když to bylo na CircleMUDu nebo EOB II (kde se dalo slušně expovat v Crimson Tower u bazilišků, protože jich bylo nekonečno), tak jsem to považoval za nedokonalost prvních RPG. Ale ono se v tom jede vesele dál.

494
Sítě / Re: Ochrana proti upraveným paketům
« kdy: 05. 08. 2011, 16:17:57 »
Server musí obsahovat clearingové centrum, kde se všechny akce kontrolují oproti informacím od ostatních hráčů. Není možné vyrobit předmět jen tak ze vzduchu, buď ho někdo měl, pak bude existovat nejen akce získání, ale i akce předání. Pokud ten předmět byl v NPC, musí existovat záznam o jeho získání, třeba tím, že NPC ví, že selhal v testu na okradění, nebo že umřel v souboji.

Prostě veškeré akce musí být dvojmo, jako v účetnictví, má dáti, dal. Pak není možné, aby jeden hráč dělal něco, co nemohou ověřit ostatní hráči.

Rychlý pohyb? Pokud klienti ostatních hráčů znají možnosti postavy, kterou trekují po obrazovce a vizualizují jeho pozici, nemohou slepě přejímat jeho souřadnice a v případě odchylky začít nastalou situaci nějak řešit. Třeba logovat na centrálu podezření.

495

Ale jedna věc mne na W7 oproti WXP dost vadí a  to je obnova systému z CD ... XP nakopírovali nové systémové soubory z CD a kolikrát se mohlo jet dál .... u W7 je toto nadlidský, až skoro nemožný úkon, takže reinstalace to jistý ... mne to nevadí, já si to nechám zaplatit, ale zbytečně to zdržuje! Toto považuji za špatný

Tohle jsem jeste nepotreboval. Naopak se mi libi, ze valna vetsina chyb lze opravit bez CD vetsinou s pouzitim bodu obnovy (geekove nemlatte me, ja vim ze si to vypinate, ale zkuste to nekdy proste nevypnout, spoustu problemu se tim poresi)

Stran: 1 ... 31 32 [33] 34 35 ... 38