segunda-feira, fevereiro 11, 2008

RG3.Net de cara nova

Neste último domingo, dia 10 de fevereiro, terminei a aplicação de redirecionamento da RG3.Net e fiz o upload pro servidor. Instalei tudo em uma máquina recém-formatada com FreeBSD 7.0 RC1.

O que mudou?

Absolutamente tudo!

A página principal agora tem também textos sobre o provedor de Internet a Rádio que temos aqui em Feira de Santana e uns links pra testadores de velocidade.

O site do provedor está com mais detalhes sobre o serviço e os planos de acesso e também um pequeno "how-to" explicando ao cliente como criar sua conexão com a Internet.

Mas a principal mudança foi no serviço de redirecionamento. O sistema antigo era feito em PHP e tinha algumas falhas de programação. Não vou falar muito sobre elas pra não ofender o programador antigo, que eu nem sei quem é (compramos a RG3 já pronta, não fomos nós que fundamos).

O sistema novo foi desenvolvido completamente do zero em Perl com Catalyst. Com bem menos linhas de código, escrevi uma nova aplicação com recursos a mais (mais de um domínio para escolha além de três formas de recuperação de senha) e interface gráfica melhorada.

No sistema antigo, quando o usuário fazia logon, os campos de login e senha que ficavam no menu esquerdo do site eram substituídos por três links que davam acesso às opções dos redirecionamentos. Isso era ruim, pois o usuário via a mesma página, com apenas um pequeno detalhe diferente e a maioria acreditava que não estava conseguindo fazer login, já que a página que aparecia após o "Enter" era praticamente a mesma. O que isto causava? Vários e-mails do tipo "Não consigo entrar na minha conta!!!".

O sistema novo roda também no Apache, como o antigo, porém, agora com FastCGI. Pra quem não conhece, o FastCGI permite que uma aplicação Web, no meu caso, uma aplicação em Catalyst, faça um melhor gerenciamento das requisições. Coisas comuns à aplicação, como acesso ao servidor de banco de dados, por exemplo, acontece apenas uma vez, melhorando o desempenho. No sistema em PHP, cada vez que um redirecionamento era solicitado, o programa abria uma conexão com o banco, pegava os dados e fechava a conexão. Com Catalyst no FastCGI, a conexão é aberta apenas uma vez, quando a aplicação inicia. Sempre que um redirecionamento é solicitado, a aplicação usa a conexão já aberta pra obter os dados. Diferentemente do CGI puro, onde cada requisição criava um novo processo no servidor, com FastCGI apenas um processo é criado. Em alguns momentos, quando ocorrem muitas requisições, alguns processos a mais são criados, mas ainda assim, cada processo existente gerencia várias requisições, poupando memória e recursos.

Leiam mais sobre a performance do FastCGI em http://www.fastcgi.com/devkit/doc/fcgi-perf.htm

Além dessas alterações internas no sistema e mudança de interface gráfica, quatro novos domínios foram adicionados, possibilitando outras alternativas de redirecionamentos:


  • irg3.net

  • minhapagina.info

  • minhahome.com

  • minhahomepage.com



A idéia é sempre adicionar novos domínios (essa tarefa ficou bem fácil na aplicação nova :D) dando mais opções pros usuários.

Já ia esquecendo, no sistema novo, apenas um login e o e-mail são solicitados na hora do cadastro. Nem o nome a gente pergunta mais. Pra que? Geralmente não colocam o nome verdadeiro mesmo :P E pensar que no sistema antigo pedia até CPF... putz!

7 comentários:

Anônimo disse...

Aew, blz?

Estou acompanhando por um tempo seu tutorial do wxWidGets, porém surgiu uma duvida que não estou conseguindo resolver. Estou tendo problemas em abre imagens .bmp a partir do hd, partindo como base do "notepad" que vc passou. Já cheguei a olhar o help da biblioteca, mesmo assim não conseguido abrir a imagem bmp. Se for possivel vc poderia me ajudar?

meu e-mail para contato: leo.menezes.07@hotmail.com

Unknown disse...

Oi leandro.

Cole aqui o trecho do código onde você tenta carregar a imagem.

Anônimo disse...

void IPFrame::OnOpen(wxCommandEvent &event)
{
static const wxChar *FILETYPES = _T("Bitmap files|*.bmp|" "All files|*.*");
wxFileDialog *openFileDialog = new wxFileDialog ( this, wxT("Open file"), wxEmptyString, wxEmptyString, FILETYPES);

if (openFileDialog->ShowModal() == wxID_OK)
{
wxString file = openFileDialog->GetPath();
SetStatusText(file);

// Load bitmap
bmp = wxBitmap(file, wxBITMAP_TYPE_BMP);
//wxImage img = wxImage(file, wxBITMAP_TYPE_BMP);
//wxImage img0 = bmp.ConvertToImage();
Refresh();
}
}

void IPFrame::OnPaint(wxPaintEvent& event)
{
wxPaintDC dc(this);
dc.DrawBitmap( bmp, 0, 0 );
}

Anônimo disse...

just consegui fazer agora o abrir, mudei o jeito q estava fazendo. Uma pergunta como posso fazer o salvar como?

Unknown disse...

É só usar wxFD_SAVE na hora de instanciar wxFileDialog:

wxFileDialog *saveFileDialog = new wxFileDialog ( this, wxT("Save file"), wxEmptyString, wxEmptyString, FILETYPES, wxFD_SAVE);

Anônimo disse...

Mto obrigado pela ajuda João Paulo, estive me batendo bastante neste assunto e agora é uma dificuldade a menos.

Cheguei a procurar material de como criar várias sub - janelas e não consegui. Por exemplo: abro o programa, clico em novo e abre uma imagem. Depois clico novamente em novo e abro mais uma janela, assim formando váris sub-janelas. Meu objetivo neste programa é abrir uma imagem aplicar um efeito e ver o resultado para isso terei q ter a imagem original em um sub janela e na outra a imagem modificada. Teria como vc me orientar em como fazer isso?

Anônimo disse...

mano pow,o serve para fusionare tambem tem pesoa q estar fasendo bug e eu troquei dando 3k de madal da preta e da branca e vc q tomar ou vc da meus k de medal ou vc ver o q fais pow e eu to na jaula .
agora eu no posso sai sem nada ne pow.ass VEUDK