como é feito um servidor?
como e feito um servidor de armazenamento em nuvem? um servidor de internet, etc…
existem diversas soluções que podem ser utilizadas para criar um servidor de armazenamento, de forma geral, criar um serviço assim não é trivial. para situações de pequenos escritório e residências acredito que este vídeo pode ajudar.

[[crie seu próprio "dropbox" com o nextcloud - ubuntu ser…](https://www.youtube.com/watch?v=sqvel8pvjmg)
estamos falando dos buffers. na ciência da computação , um buffer de dados (ou apenas buffer ) é uma região de um armazenamento de memória física usado para armazenar temporariamente dados enquanto estão sendo movidos de um local para outro. normalmente, os dados são armazenados em um buffer quando são recuperados de um dispositivo de entrada (como um microfone) ou imediatamente antes de serem enviados para um dispositivo de saída (como alto-falantes). no entanto, um buffer pode ser usado ao mover dados entre processosdentro de um computador. isso é comparável aos buffers em telecomunicações. os buffers podem ser implementados em um local fixo de memória no hardware - ou usando um buffer de dados virtual no software, apontando para um local na memória física.a maioria dos buffers é implementada em software , que normalmente usa a ram mais rápida para armazenar dados temporários, devido ao tempo de acesso muito mais rápido comparado às unidades de disco rígido <p>o que você está procurando é chamado donut caching. aqui está um ótimo artigo explicando o que é e como fazê-lo funcionar <a href="http://www.devtrends.co.uk/blog/donut-output-caching-in-asp.net-mvc-3">http://www.devtrends.co.uk/blog/donut-output-caching-in-asp.net-mvc-3</a> </p> colocando de uma forma mais simples.é uma especie de layout pré definido para seu site ou aplicação webele possui configurações de css, jquery entre outrosonde você pode criar menus/formularios/bot... o hardware do computador inclui as partes ou componentes físicos e tangíveis de um computador, como gabinete , unidade central de processamento , monitor , teclado , armazenamento de dados do computador , placa gráfica , placa de som , alto - falantes e placa - mãe. por outro lado, o software é uma instrução que pode ser armazenada e executada por hardware. uma unidade de fonte de alimentação (psu) converte energia elétrica de corrente alternada (ca) em energia cc de baixa tensão para os componentes internos do computador. laptops são capazes de funcionar a partir de uma bateria embutida, normalmente por um período de horas.a placa-mãe é o principal componente de um computador. é uma placa com circuitos integrados que conecta as outras partes do computador, incluindo a cpu, a ram , as unidades de disco ( cd , dvd , disco rígido ou qualquer outro), bem como quaisquer periféricos conectados via portas ou slots de expansão.a memória é um dispositivo de acesso aleatório (ram), que armazena o código e os dados que estão sendo ativamente acessados ​​pela cpu. por exemplo, quando um navegador da web é aberto no computador, ele consome memória; isso é armazenado na ram até que o navegador da web seja fechado. ram geralmente vem em dimms nos tamanhos 2gb, 4gb e 8gb, mas pode ser muito maior.um dispositivo de armazenamento é qualquer hardware de computação e mídia digital usado para armazenar, transferir e extrair arquivos e objetos de dados. ele pode armazenar e armazenar informações tanto temporária quanto permanentemente, e pode ser interno ou externo a um computador, servidor ou qualquer dispositivo de computação similar. o armazenamento de dados é uma função essencial e componente fundamental dos computadores. <p>um sistema unix consiste em várias partes ou camadas, como eu gostaria de chamá-las.</p><p>para iniciar um sistema, um programa chamado carregador de inicialização fica no primeiro setor de uma partição do disco rígido. ele é iniciado pelo sistema e, por sua vez, localiza o kernel do sistema operacional e carrega-o.</p><p><strong> camadas </strong></p><ol> <li> <p>o kernel. este é o programa central iniciado pelo gerenciador de inicialização. ele faz a interação básica de hardware do sistema (disco, memória, vídeo, som) e oferece um ambiente virtual no qual ele pode iniciar programas. o kernel também envia todos os drivers que lidam com todas as pequenas diferenças entre os dispositivos de hardware. para o mundo exterior (as camadas mais altas), cada classe de dispositivos parece se comportar exatamente da mesma maneira consistente - a qual, por sua vez, os programas podem desenvolver.</p> </li> <li> <p>subsistemas em segundo plano. existem apenas programas regulares, que ficam fora do seu caminho. eles lidam com coisas como login remoto, fornecem um barramento central de mensagens e executam ações com base em eventos de hardware/rede. por exemplo, descoberta bluetooth, gerenciamento wifi, etc. quaisquer serviços de rede (servidor de arquivos, servidor de impressão, servidor web) também vivem nesse nível. nos sistemas unix, esses são apenas programas normais.</p> </li> <li> <p>as ferramentas de linha de comando. todos esses são pequenos programas que podem ser iniciados para edição de texto, download de arquivos ou administração do sistema. neste ponto, um sistema unix é totalmente utilizável para administradores de sistema. no windows, essa camada realmente não existe mais.</p> </li> <li> <p>a interface gráfica do usuário. estes também são apenas programas, a única diferença é que eles desenham janelas na tela em vez de escrever texto. isso facilita o uso do sistema para usuários regulares.</p> </li> </ol><p>qualquer serviço ou evento passará de baixo para cima.</p><p><strong> bibliotecas - a plataforma comum </strong></p><p>os programas fazem muitas coisas comuns, como exibir uma janela, desenhar coisas na tela ou baixar um arquivo. essas coisas são as mesmas para vários programas, portanto, esse código é colocado em arquivos "biblioteca" separados (arquivos <code>.so</code> - significando objeto compartilhado). a biblioteca pode ser compartilhada entre todos os programas.</p><p>para cada coisa imaginável, há uma biblioteca. existe um para ler/gravar arquivos png. há um para arquivos jpeg, para leitura de xml, criptografia, reprodução de vídeo e assim por diante.</p><p>no linux, as bibliotecas comuns para desenvolvedores de aplicativos são qt e gtk. essas bibliotecas usam bibliotecas de nível inferior internamente para suas necessidades específicas, enquanto expõem sua funcionalidade de uma maneira agradável e consistente e concisa para que os desenvolvedores de aplicativos criem aplicativos ainda mais rapidamente.</p><p>as bibliotecas fornecem a plataforma de aplicativos, na qual os programadores podem criar aplicativos de usuário final para um sistema operacional. quanto mais bibliotecas de alta qualidade um sistema fornece, menos código um programador precisa escrever para criar um programa bonito.</p><p>algumas bibliotecas podem ser usadas em diferentes sistemas operacionais (por exemplo, qt é), outras são realmente especificamente vinculadas a um sistema operacional. isso restringirá seu programa para poder executar apenas nessa plataforma.</p><p><strong> comunicação entre processos </strong></p><p>um terceiro componente de um sistema operacional é a maneira como os programas podem se comunicar. estes são os mecanismos de comunicação entre processos (ipc). estes existem em vários sabores, p. um pedaço de memória compartilhada ou um pequeno canal é configurado entre dois programas para trocar dados. há também um barramento de mensagens central no qual cada programa pode postar uma mensagem e receber uma resposta. isso é usado para comunicação global, onde não se sabe qual programa pode responder.</p><p><strong> das bibliotecas aos sistemas operacionais </strong></p><p>com bibliotecas, ipc e o kernel instalado, os programadores podem criar todos os tipos de aplicativos para serviços do sistema, administração de usuários, configuração, administração, trabalho de escritório, entretenimento, etc.) isso forma o conjunto completo que usuários iniciantes reconhecem como o "sistema operacional".</p><p>nos sistemas unix/linux, todos os serviços são apenas programas. todas as ferramentas de administração do sistema são apenas programas. todos eles fazem o seu trabalho e podem ser encadeados. resumi muitos dos principais programas em <a href="http://codingdomain.com/linux/sysadmin/">http://codingdomain.com/linux/sysadmin/</a> </p><hr><p><strong> peças distinguíveis com o windows </strong></p><p>o unix é principalmente um sistema de programas, arquivos e permissões restritas. muitas complexidades são evitadas, tornando-o um sistema poderoso, embora pareça fácil.</p><p>em detalhes, estes são os princípios que podem ser encontrados nos sistemas unix/linux:</p><ul> <li> <p>existem maneiras uniformes de acessar informações. ("tudo é apenas um arquivo"). você pode abrir um arquivo, soquete de rede, ipc, parâmetros do kernel e bloquear um dispositivo como um arquivo. daí a aparência dos sistemas de arquivos virtuais em/dev,/sys e/proc. a única api você precisa sempre de <code>open</code>, <code>read</code> e <code>close</code>.</p> </li> <li> <p>o sistema subjacente é transparente. todo programa opera sob as mesmas regras. ao contrário do windows, não há diferença artificial entre um "programa de console", "programa gui" ou "serviço em segundo plano". são todos apenas programas, que fazem coisas diferentes. todos eles também podem ser observados, analisados ​​e depurados da mesma maneira.</p> </li> <li> <p>as configurações são legíveis, editáveis ​​e podem ser anotadas com comentários. eles geralmente têm um formato no estilo ini, mas podem usar um formato personalizado para as necessidades desse aplicativo. por serem apenas arquivos, eles podem ser copiados para outros sistemas, arquivados ou armazenados em backup com ferramentas padrão.</p> </li> <li> <p>não existem aplicativos grandes "faça tudo de uma vez". o mantra é "faça uma coisa, faça bem". as ferramentas de linha de comando podem ser encadeadas e, juntas, poderosas. serviços separados (por exemplo, smtp, imap e pop e login) são subprogramas separados, evitando problemas complexos de código e segurança entrelaçados. ambientes de desktop complexos delegam trabalho duro a programas individuais.</p> </li> <li> <p><code>fork()</code>. novos programas são iniciados por um programa existente que é clonado. o clone configura tudo (por exemplo, identificadores de arquivo) e, opcionalmente, se substitui pelo novo código do programa. isso torna muito fácil aplicar as mesmas configurações e restrições de segurança a novos programas, compartilhar memória ou configurar um mecanismo ipc. o custo de iniciar um processo também é muito baixo.</p> </li> <li> <p>o sistema de arquivos é uma árvore, na qual outras partições de disco e compartilhamentos de rede podem ser montados. novamente, existe uma maneira universal de acessar dados. locais comuns do sistema (por exemplo, <code>/usr</code> podem ser facilmente montados como compartilhamento de rede.</p> </li> <li> <p>o sistema é construído para privilégios baixos do usuário. após o login, todos os usuários (exceto root) ficam confinados em seus próprios recursos, executando apenas aplicativos e arquivos. os serviços de rede reduzem seus privilégios o mais rápido possível. existe uma maneira clara e clara de obter mais privilégios ou pedir a alguém para executar um trabalho privilegiado em seu nome. todas as outras chamadas são limitadas pelas restrições e limitações do programa.</p> </li> <li> <p>todo programa armazena configurações em um arquivo/pasta oculto do diretório inicial do usuário. nenhum programa tenta gravar um arquivo de configuração global.</p> </li> <li> <p>um favor em relação aos mecanismos de comunicação descritos abertamente sobre mecanismos secretos ou mecanismos 1-para-1 específicos. outros fornecedores e desenvolvedores de software são incentivados a seguir a mesma especificação, para que as coisas possam ser facilmente conectadas, trocadas e, no entanto, permanecerem fracamente acopladas.</p> </li> </ul> <p>uma que funciona bem é usar cores de fundo diferentes no seu shell para servidores de produção/teste/teste.</p> Você deseja implementar uma solução de banco de dados orientado. Para acompanhar tudo o que tem a ver com o dinheiro no lado do cliente é um desastre completo.


No nível mais básico, tudo se resume a estes passos:


1. Criar um banco de dados contendo as propostas atuais, o dia em que expira etc.
2. Fazer um script Java que consulta o banco de dados para recuperar os lances. O lado do servidor também é responsável por verificar se os lances tenham expirado e removê-los etc.
3. A parte javascript só é responsável por exibir o tempo restante para o usuário.


Se você tem pouco ou nenhum conhecimento de como as ferramentas que você escolheu trabalho, começar com compreendê-los primeiro. Há livros escritos sobre o tema. é o navegador, o software que interpreta a linguagem html, permitindo assim explorar textos, fotos, gráficos, sons e vídeos na internet e pular de uma página para outra com um simples clique nos links (palavras ou expressões grifadas ou qualquer objeto sobre o qual surgir uma mãozinha quando passa-se a seta do mouse sobre ela). foi desenvolvido na universidade de illinois (eua) e o primeiro se chamava mosaic. isto aconteceu recentemente, no começo dos anos 90. atualmente existem 2 browsers líderes de mercado o netscape navigator e o microsoft internet explorer. endereço físico - quando o processador está no modo de sistema, o endereço usado pelo processador é o endereço físico.endereço virtual- quando o processador está no modo de usuário, o endereço usado é o endereço lógico. de qualquer maneira, eles são mapeados para algum endereço físico, adicionando um registro base com o valor de deslocamento. de certa forma, fornece uma espécie de proteção de memória.o endereço virtual é bom, um endereço virtual, o sistema operacional e um circuito de hardware chamado mmu (unidade de gerenciamento de memória) iludem seu programa que ele está sendo executado sozinho no sistema, ele tem todo o espaço de endereço (ter um sistema de 32 bits significa programa achará que possui 4 gb de ram;obviamente, se você tiver mais de um programa em execução ao mesmo tempo (gui, processo init, shell, aplicativo de relógio, calendário, o que for), isso não funcionará.o que acontecerá é que o sistema operacional colocará a maior parte da memória do seu programa no disco rígido, as partes que ele mais usa estarão presentes na ram, mas, ei, isso não significa que eles terão o endereço que você e seu programa conhecer. <p>john,</p>
<p>é bem como o paulo explicou mesmo. aquela resposta está bem boa.</p>
<blockquote>
<p>é correto dizer que tomcat é a servlet e o apache é o servidor? ou eles seriam uma coisa só?</p>
</blockquote>
<p>tomcat é o servidor de aplicação que roda suas servlets. servlets são suas classes que implementam a servlet do java e rodam dentro do tomcat.</p>
<p>(apache pode ser várias coisas, como o paulo disse. ao pé da letra, apache é só o nome da organização que possui varios projetos. entre eles o &#34;apache tomcat&#34;)</p>
<blockquote>
<p>ou temos uma aplicação no apache tomcat, ou temos no wildfly, já que são coisas distintas e um não depende do outro?</p>
</blockquote>
<p>perfeito. um em um ou em outro. são duas implementacoes possiveis de um servidor de aplicacoes.</p>
<blockquote>
<p>se apache http server é um servidor web, e o tomcat é um servidor de aplicação e ambos podem ser conectados, como fazer isso?</p>
</blockquote>
<p>sim! pesquise sobre o mod\_jk</p>