[FUG-BR] Persistencia de Dados no FreeBSD

Eder ederbsd em gmail.com
Domingo Fevereiro 25 03:30:52 BRT 2007


Cristiano,

Sim, não tem muita coisa mesmo, mais a consepção é algo simples, C++
pode parecer a primeira vista que possue limitação em relação algumas,
essa é uma opinião própria, que talvés Java supriria de forma mais
elegante, digamos assim, mais C++ faz o seu trabalho.

Aqui está um exemplo simples, transfirir os dados na network fica como
um exercicio
para a programação.

//////////////////////////////////////////////////////////////////////////////////////

#include <iostream>
#include <fstream>
#include <string>

using namespace std;

class SimpleSerialization
{
	private:
		int value;

	public:
		SimpleSerialization( register int val ) : value( val ) {}

		SimpleSerialization() { value = 0; }

		int getValue() { return value; }

		~SimpleSerialization() { value = 0; }

		SimpleSerialization operator = ( register int val )
		{
			if( value == val )
			{
				return *this;
				value = val;
				return *this;
			}
		}

		SimpleSerialization operator = ( SimpleSerialization val )
		{
			if( value == val.value )
			{
				return *this;
				value = val.value;
				return *this;
			}
		}
};

int main( int argc, char *argv[] )
{
	register int num = 123456789;

	cout << "Instancia Objeto Write" << endl;
	SimpleSerialization *write = new SimpleSerialization( num );

	cout << "Valor do Objeto = " << write->getValue() << "\n" << endl;

	ofstream out( "serialize.bin", ios::binary );
	out.write(( char* ) &write, sizeof( write ));
	out.close();

	delete write;

	cout << "Instancia Objeto Read" << endl;
	SimpleSerialization *read = new SimpleSerialization( 13569 );

	ifstream in( "serialize.bin", ios::binary );
	in.read(( char* ) &read, sizeof( read ));

	cout << "Valor do Objeto = " << read->getValue() << endl;

	delete read;

	return(0);
}

//////////////////////////////////////////////////////////////////////////////////////

IMHO, Livros não, no singular você precisará somente de um, o que todo
programador
C++ deve ler.

http://www.research.att.com/~bs/3rd.html

Bjarne Stroustrup o criador da linguagem C++, sobre a "serialização",
"persistencia", "prevalencia" você precisa saber o conceito, que tem
em vários sites de Java inclusive
no da própria Sun.

Boa sorte.

Att Eder.



On 2/25/07, Cristiano Panvel <cristiano.panvel at gmail.com> wrote:
> Eder, eu conheço C++ mais estou longe de ser um expert na linguagem ,
> andei procurando alguma coisa mais nao achei quase sobre serialização
> com C++, tem algums exemplo ou livros vou estuudar a possibilidade de
> usar.
>
> Cristiano.
>
>
> On 2/25/07, Eder <ederbsd at gmail.com> wrote:
> > Cristiano,
> >
> > Bom, certo do seus conhecimento em C++, fique ciente que serialização
> > não é tão simples como parece, você deve pensar em caso de queda de
> > energia por exemplo, pois todos os dados seram persistidos em memória,
> > através dos objetos.
> >
> > Provalvelmente irá transferir os dados via rede, então recomendo o uso
> > de sockets, ou
> > Corba.
> >
> > Outra sugestão que a comunidade desconhece um pouco, mais já usei
> > inclusive com FreeBSD é SmallTalk, caso opte pelo Java use o
> > Prevayler.
> >
> > Att Eder.
> >
> >
> > On 2/24/07, Cristiano Panvel <cristiano.panvel at gmail.com> wrote:
> > > Opá Eder, a aplicacao é critica eu precisso de agilidade e velocidade
> > > nao terie delete apenas inserções é uma aplicação de Call Center.
> > > Sim pensava em usar Java sim, recomenda outra coisa.
> > >
> > > Cristiano.
> > >
> > > On 2/24/07, Eder <ederbsd at gmail.com> wrote:
> > > > Oi Cristiano,
> > > >
> > > > 1) Depende, qual é o tipo de sua aplicação, para você querer usar persistência.
> > > > 2) Que linguagem vai utilizar, provalvamente vai querer usar Java. No FreeBSD
> > > > não acho boa idea FreeBSD+Java+Persistência, terá que ter muita memória, e o
> > > > Java querendo ou não ainda tem seus problemas com FreeBSD.
> > > >
> > > > Sempre que posso fugir de banco de dados uso persitência,
> > > > serialialização, mais existem muitos pontos a considerar.
> > > >
> > > > Att Eder.
> > > >
> > > >
> > > > On 2/24/07, Cristiano Panvel <cristiano.panvel at gmail.com> wrote:
> > > > > Senhores, alguem aqui já usou o persistencia de dados em alguma
> > > > > aplicacoes, de preferencia rodando em FreeBSD, nao quero usar banco de
> > > > > dados.
> > > > >
> > > > > Estou pensando em utulizar.
> > > > >
> > > > > Cristiano
> > > > > -------------------------
> > > > > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > > > > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> > > > >
> > > >
> > > >
> > > > --
> > > > "Do not worry about your difficulties in mathematics;
> > > > I can assure you that mine are still greater."
> > > > Albert Einstein
> > > > -------------------------
> > > > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > > > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> > > >
> > > -------------------------
> > > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> > >
> >
> >
> > --
> > "Do not worry about your difficulties in mathematics;
> > I can assure you that mine are still greater."
> > Albert Einstein
> > -------------------------
> > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> >
> -------------------------
> Histórico: http://www.fug.com.br/historico/html/freebsd/
> Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
>


-- 
"Do not worry about your difficulties in mathematics;
I can assure you that mine are still greater."
Albert Einstein


Mais detalhes sobre a lista de discussão freebsd