Curiosidade

3 respostas
thiagosaad

Pessoal, somente uma curiosidade mesmo relacionado a PROGRAMAÇÃO + BANCO DE DADOS…

Supondo que eu deva fazer um software para uma auto-escola, onde lá conterá o cadastro dos usuários e deverá ser cadastrado também sua digital e foto: Segue a pergunta relacionada há isso… Lembrando que eu faria isso em C# e eu sou “novato” ainda…

1- Como é feito uma programação para “gravar” e “reconhecer” a digital do usuário?

2- No banco de dados a Digital seria salva como imagem?

3- Caso eu queira colocar imagens somente em formato .JPEG e no tamanho por exemplo de 300KB, porém a pessoa insere uma foto .PNG em um tamanho de 1GB como eu faço para fazer essa conversão automática?

4- Caso eu crie um software para uma empresa, e lá ela me contrata também para fazer mudanças no sistema, como eu faria isso diretamente da minha casa?

5- Caso o mesmo software tenha que rodar com as mesmas informações(dados do banco de dados) para diversos computadores ao mesmo tempo, como é feito essa programação de um “sistema ao vivo” ?

3 Respostas

TerraSkilll

1 - os leitores de digital possuem kits de desenvolvimento (SDKs) que contém as bibliotecas, dlls e afins para a comunicação e uso do dispositivo. Com isso você consegue fazer a leitura e comparação de digitais, podendo configurar por exemplo a precisão da leitura. Veja por exemplo a página da Griaule ( http://www.griaulebiometrics.com/page/pt-br/fingerprint_sdk ) ;

2 - geralmente a leitura é feita na forma de bytes, que você pode, por exemplo, gravar em um campo binário (BLOB, CLOB). Procure exemplos para o SDK que estiver usando;

3 - use alguma biblioteca para a conversão da imagem. Não costuma ser algo difícil. E considere limitar o tamanho máximo da imagem de entrada (pra 50MB, por exemplo), para simplificar a sua vida;

4 - não entendi bem. Está falando de acesso remoto, da entrega das alterações ou do que você precisa ter em casa para fazer o desenvolvimento?

  • acesso remoto: há softwares que podem ser instalados para tal (VNC, Teamviewer, LogMeIn);
  • entrega das alterações: você pode fazer a instalação manual (uma visita ao cliente) e/ou uma atualização online automática (disponibiliza a atualização num servidor, e um serviço atualiza o seu software);
  • ferramentas de desenvolvimento em casa: você precisa de um computador para rodar os programas de desenvolvimento (Visual Studio, sistema de banco de dados…). Geralmente os leitores de digital são USB, então ao menos 1 porta dessa precisa estar disponível;

5 - não se chamaria de sistema “ao vivo”, mas é necessário apenas que o banco de dados esteja disponível para os computadores que tenham o sistema. Isso pode ser feito através de um servidor local (no estabelecimento do cliente) ou remoto (você pode instalá-lo em outro lugar, ou mesmo contratar o serviço de hospedagem só para o banco). Vai depender do que você negociar com o cliente e ele estiver disposto a fazer/pagar.

Abraço.

thiagosaad

Obrigado @TerraSkill,

na (4) eu quis dizer que caso eu faça um software tendo em vista que eu só sei fazer um software com interface no C# e ainda não aprendi a banco de dados+ software, somente banco de dados(sql) separado da programação conjunta de software e o rapaz tendo em vista quele pode ter como ele não pode ter um servidor ou apenas um simples computador que fique ligado o dia todo todo dia, como eu configuro essa atualização? È através da programação no software ou algum tipo de servidor ftp?

Na (5) a minha pergunta foi no sentido por exemplo: Eu sei que se eu criar um software simples que apenas cadastre alguma coisa em C# e instalar no meu computador ,ele vai rodar e cadastrar de boa, agora como ficaria para esse unico software rodar em diversas máquinas e que o banco de dados onde a pessoa cadastre,altere ou algo do tipo no software seja o mesmo para todos? Pois por exemplo se eu instalar o software no meu computador I e instalar meu software no computador II lembrando que eles não estão em rede, os dados seriam diferentes pois é como se fosse dois bancos de dados diferentes.

roben

O banco deve ficar em uma máquina separada, somente para ele, configurada com IP fixo, se o software for em Windows Forms, você terá que decidir se coloca as telas em um servidor de arquivos e compartilha em rede, disponibilizando o atalho para a tela em cada máquina cliente, que terá que ter o Net Framework instalado, ou se instala o software em cada cliente. Na aplicação você deve criar uma tela que possibilite configurar o IP (endereço para acesso ao banco de dados) que estará em outra máquina.

O banco ficaria centralizado em um só local.

Se for um projeto Web (ASP.NET MVC), você precisará ter uma máquina para o Servidor Web (IIS). Fica a seu critério instalar o SGBD (banco de dados) e o Servidor Web juntos, porém o mais recomendado é deixar separado (uma máquina para cada).

Resumindo:

Projeto web.

  1. Banco de Dados (1 máquina com IP fixo)
  2. Servidor Web (1 máquina com IP fixo)

Projeto desktop:

  1. Banco de Dados (1 máquina com IP fixo)
  2. Servidor de arquivos com pasta compartilhada (1 máquina com IP fixo) - OPCIONAL: ficará com a aplicação. Ou você pode instalar a aplicação em cada uma das máquinas cliente.
Criado 22 de junho de 2016
Ultima resposta 24 de jun. de 2016
Respostas 3
Participantes 3