TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Livros digitais

Tese: Livros digitais. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  8/5/2013  •  Tese  •  2.785 Palavras (12 Páginas)  •  609 Visualizações

Página 1 de 12

1 – INTRODUÇÃO

O analista de sistemas deve garantir o alinhamento entre tecnologia e estratégias organizacionais, os projetos de software devem conhecer o cenário organizacional em um nível suficiente, a ponto de avaliar e sugerir melhorias, ou mesmo reengenharia nos processos de negócio, deve também ter plena consciência de ações a serem tomadas para que não abandone a ética em seu trabalho e diretamente ao seu cliente. Deve saber lidar e compreender as novas tecnologias, como os eBooks e todas as inovações provenientes das mesmas. Deverá saber utilizar todos os sistemas para criação de sistemas operacionais para aplicações em empresas, como a “Nossa Locadora de Livros”, claro de modo a respeitar sempre a ética, e as solicitações de seus clientes.

2 – OBJETIVOS

Este trabalho mostrará pesquisas relacionadas a livros digitais, conceitos sobre comunicabilidade, ou seja a aparência visual que será apresentada ao usuário, conceitos sobre programas multiprogramaveis, incluindo principais conceitos de segurança com códigos PHP.

3 – DESENVOLVIMENTO

Livros digitais .

Redes de Computadores – Autor; Gabriel torres

Em Redes de Computadores? Versão Revisada e Atualizada, os leitores conhecerão as classificações dos diversos tipos de redes, toda a teoria do funcionamento de redes, os protocolos TCP/IP (inclusive o IPv6) em detalhes, as principais arquiteturas de redes locais (com foco em Ethernet e o novo padrão de 10 Gbps) e à distância (X.25, Frame Relay e ATM), tudo sobre as redes Wi-Fi, tutoriais para montar redes caseiras ou comerciais usando o Windows, como montar servidores DNS, web, banco de dados e e-mail 7. Pagamento do salário de seus funcionários rigorosamente em dias, assim como pagamento das duplicatas e notas fiscais ou notas promissórias de seus fornecedores;

Redes de Computadores – Autor; Andrew S. Tanenbaum

'Redes de computadores' foi atualizado para refletir as tecnologias mais novas e mais importantes de redes, com ênfase especial em redes sem fio, incluindo 802.11, Bluetooth, comunicação sem fio de banda larga, redes ad hoc, i-mode e WAP. Porém, as redes fixas não foram ignoradas com cobertura de ADSL, Internet via cabo, Ethernet de gigabit, redes não-hierárquicas, NAT e MPLS.

Redes de Computadores E Internet 4 Ed – Autor; DOUGLAS E. COMER

Como operam as redes de computadores e as inter-redes? A resposta está neste livro. O texto faz um tour pelas ligações de rede, descrevendo detalhes dos níveis mais baixos até os mais complexos. Não requer conhecimento prévio sobre sistemas operacionais ou redes. O texto define conceitos, usa exemplos e ilustrações para mostrar como a tecnologia opera. O CD-ROM que acompanha o livro contém materiais que ajudam os estudantes a entender a matéria.

TCP/IP - A BIBLIA – Autor; ROB SCRIMGER, PAUL LASALLE, MRIDULA PARIHAR

'TCP/IP' aborda todos os tópicos relacionados ao TCP/IP, começando com um modelo e todos os passos para implementá-lo. O material do livro é genérico, de modo que as informações podem ser utilizadas com o Solaris, com o Linux ou mesmo com o Windows 2000. Este livro é um ponto inicial sobre o protocoloTCP/IP e também uma referência para quem já trabalha com esse conjunto de protocolos, pois ele fornece as ferramentas necessárias para explorar outros aspectos dos protocolos e serve como um ponto de partida para configurar um servidor da Web, implementar um IPSEC ou escolher um sistema de diretórios de uma empresa.

Teoria E Prob. de Rede de Computadores - Autor; ED TITTEL

O tema rede de computadores corresponde a uma área do conhecimento em constante evolução, abrangendo desde tipos básicos de sinalização e circuitos até as técnicas de comunicação sem-fio. A resolução dos problemas inerentes às redes de computadores depende do entendimento de como elas podem ser decompostas em um conjunto de camadas relacionadas. A partir daí, é possível esmiuçar os detalhes do processo. O leitor aprenderá sobre esquemas de identificação, endereçamento, roteamento e manuseio de mensagens, sobre protocolos e a motivação (troca de mensagens de e-mail, acesso remoto a arquivos ou sistema de dados, acesso às bases de dados distribuídas, administração do comportamento e das características das redes que permitem que ocorra tal comunicação) para a transmissão de dados por redes e sobre os vários modelos de redes.

Treinamento avançado em redes Wireless - Autor; Fernando de Moraes Jardim

'Treinamento avançado em redes wireless', traz para você Desvendando as redes wireless O objetivo deste livro é proporcionar conhecimentos gerais que farão saber utilizar e configurar uma rede de computadores wireless. Além de conhecer os recursos oferecidos por ela. Um exemplo desses recursos é o uso da tecnologia VoIP sobre uma infra-estrutura de rede de computador wireless, substituindo, assim, os atuais telefone celulares e, conseqüentemente, reduzindo despesas.

Comunicabilidade;

O computador não é, como muitos ainda imaginam, uma máquina inteligente. Ele não faz nada sozinho; é fundamental que nós digamos ao computador o que fazer, e quando fazer. Para isso, é necessário que nós estabeleçamos um diálogo com a máquina, a fim de “dar ordens” para ela. Em outras palavras, temos que estabelecer comunicação com o computador.

Por outro lado, para que um aplicativo possa executar as suas tarefas adequadamente, ele deve receber comandos claros e inequívocos, e dar ao usuário a correta idéia de suas funções, bem como das respostas às suas requisições. Deve ser estabelecido, em outras palavras, um diálogo entre esse aplicativo e o usuário, e esse diálogo é chamado de interface.

Estranho, não é? Não, meus amigos: é através da interface (mais precisamente, de seus elementos, como ícones e itens de menu) que são fornecidos os comandos de entrada para o aplicativo. Também é pela interface que o aplicativo apresenta o resultado das tarefas a ele confiadas, isto é, o resultado do seu processamento. E para que não haja erros, essa interface deve fornecer um diálogo sem ambigüidades, sem termos obscuros e funções quase inacessíveis.

Desta forma, quando existe um erro, um gap na interface, pode-se dizer que ali existe uma grande possibilidade de ocorrerem falhas de comunicabilidade na mesma. Uma falha de comunicabilidade, segundo ocorre quando o usuário precisa se desviar da interação rumo ao objetivo a ser alcançado para buscar o entendimento da própria interação.

Dentro deste quadro, podemos dizer que, dentro de um ambiente de testes de usabilidade, se o usuário se perder dentro da interface e não souber que rumo tomar adiante, ou mesmo se ele não conseguir interpretar os itens de interface do aplicativo, estamos diante de uma quebra de comunicabilidade. E, se há uma quebra de comunicabilidade, certamente existe algo a ser corrigido.

Para se captar as quebras (ou falhas) de comunicabilidade em um aplicativo, é fundamental que saibamos cada passo que o usuário executou no aplicativo. E isso, meus amigos, não dispensa uma boa gravação de interação. É fundamental que sejam gravadas as telas do aplicativo com a seqüência de ações do usuário, para posterior análise. Também é interessante (embora não fundamental) que sejam gravadas as informações de vídeo e áudio do usuário. A câmera de vídeo deve estar posicionada para captar as suas expressões faciais, e o áudio deve captar a sua conversação com o avaliador, bem como ocasionais manifestações “solo” do usuário.

Durante a execução das tarefas, um teste de comunicabilidade é absolutamente igual a um teste empírico tradicional. Os mesmos passos são seguidos: explicar o teste, mostrar os direitos do usuário e assinar o termo de compromisso, executar as tarefas, etc. A grande diferença está na análise dos dados, onde é feito um passo adicional – a etiquetagem das quebras de comunicabilidade, que é feita conforme as chamadas expressões de comunicabilidade.

As expressões de comunicabilidade são as seguintes:

– Quando acontece? Quando o usuário quer achar alguma funcionalidade, e não a consegue encontrar na interface em um primeiro momento.

– Quais os sintomas? Ficar “passeando” com o cursor do mouse sobre menus e botões da interface.

É importante, caso esteja-se usando diferentes aplicativos para obter áudio, vídeo e telas de interação, a sincronização dos dados, para que estes possam complementar-se e dar um quadro completo das razões da ocorrência de uma quebra de comunicabilidade. Também sincroniza-se o vídeo com as anotações derivadas da observação do usuário.

Com essas informações sincronizadas, pode-se localizar onde estão as quebras de comunicabilidade e passar para uma das duas alternativas:

Aplicar-se diretamente uma solução, se esta for simples e/ou óbvia, ou;

Proceder a algum outro método de teste, para avaliar se aquele item da interface realmente apresenta algum problema.

Sistemas Multiprogramáveis / Multitarefa

Os sistemas multiprogramáveis ou multitarefa são uma evolução dos sistemasmonoprogramáveis.

Neste tipo de sistema, por exemplo, enquanto um programa espera por uma operação de leitura ou gravação em disco, outros programas podem estar sendo processados neste mesmo intervalo de tempo. Nesse caso, podemos observar o compartilhamento da memória e do processador. O sistema operacional se preocupa em gerenciar o acesso concorrente aos seus diversos recursos, como memória, processador e periféricos, de forma ordenad e protegida, entre os diversos programas.

A principal vantagem dos sistemas multiprogramáveis é a redução de custos em função da possibilidade de compartilhamento dos diversos recursos entre as diferentes aplicações. Além disso, sistemas multiprogramáveis possibilitam na média a redução total do tempo de execução das aplicações. Apesar de mais eficientes que os monoprogramáveis, são de implementação muito mais complexa.

A partir do número de usuários que interagem com o sistema operacional, podemos classificar os sistemas multiprogramáveis como monousuário oumultiusuário.

Sistemas multiprogramáveis monousuário são encontrados em computadores pessoais e estações de trabalho, onde há apenas um único usuário interagindo com o sistema. Neste caso, existe a possibilidade de execução de diversas tarefas ao mesmo tempo, como a edição de um texto, uma impressão e o acesso à Internet.

Sistemas multiprogramáveis multiusuário são ambientes interativos que possibilitam a diversos usuários conectarem-se ao sistema simultaneamente.

Os sistemas multiprogramáveis ou multitarefa podem ser classificados pela forma com que suas aplicações são gerenciadas, podendo ser divididos em sistemas batch, de tempo compartilhado ou de tempo real. Um sistema operacional pode suportar um ou mais desses tipos de processamento, dependendo de sua implementação.

Sistemas Batch

Os sistemas batch foram os primeiros tipos de sistemas operacionais multiprogramáveis a serem implementados na década de 1960. Os programas, também chamados de jobs, eram submetidos para execução através de cartões perfurados e armazenados em disco ou fita, onde aguardavam para ser processados. Posteriormente, em função da disponibilidade de espaço na memória principal, os jobs eram executados, produzindo uma saída em disco ou fita.

O processamento batch tem a característica de não exigir a interação do usuário com a aplicação. Todas as entradas e saídas de dados da aplicação são implementadas por algum tipo de memória secundária, geralmente arquivos em disco. Alguns exemplos de aplicações originalmente processadas em batch são programas envolvendo cálculos numéricos, compilações, ordenações, backups e todos aqueles onde não é necessária a interação com o usuário.

Esses sistemas, quando bem projetados, podem ser bastante eficientes, devido à melhor utilização do processador, entretanto, podem oferecer tempos de resposta longos. Atualmente, os sistemas operacionais implementam ou simulam o processamento batch, não existindo sistemas exclusivamente dedicados a este tipo de processamento.

Sistemas de Tempo Compartilhado

Os sistemas de tempo compartilhado (time-sharing) permitem que diversos programas sejam executados a partir da divisão do tempo do processador em pequenos intervalos, denominados fatia de tempo (time-slice). Caso a fatia de tempo não seja suficiente para a conclusão do programa, ele é interrompido pelo sistema operacional e substituído por um outro, enquanto fica aguardando por uma nova fatia de tempo. O sistema cria para cada usuário um ambiente de trabalho próprio, dando a impressão de que todo o sistema está dedicado exclusivamente a ele.

Geralmente, sistemas de tempo compartilhado permitem a interação dos usuários com o sistema, através de terminais que incluem vídeo, teclado e mouse. Esses sistemas possuem uma linguagem de controle que permite ao usuário comunicar-se diretamente com o sistema operacional, através de comandos. Desta forma, é possível verificar arquivos armazenados em disco ou cancelar a execução de um programa. O sistema, normalmente, responde em poucos segundos à maioria desses comandos. Devido a esse tipo de interação, os sistemas de tempo compartilhado também ficaram conhecidos como sistemas on-line.

A maioria das aplicações comerciais atualmente é processada em sistemas de tempo compartilhado, pois elas oferecem tempos de respostas razoáveis a seus usuários e custos mais baixos, em função da utilização compartilhada dos diversos recursos do sistema.

Sistemas de Tempo Real

Os sistemas de tempo real (real-time) são implementados de forma semelhante aos sistemas de tempo compartilhado. O que caracteriza a diferença entre os dois tipos de sistemas é o tempo exigido no processamento das aplicações. Enquanto em sistemas de tempo compartilhado o tempo de processamento pode variar sem comprometer as aplicações em execução, nos sistemas de tempo real os tempos de processamento devem estar dentro de limites rígidos, que devem ser obedecidos, caso contrário, poderão ocorrer problemas irreparáveis.

Nos sistemas de tempo real não existe a idéia de fatia de tempo, implementada nos sistemas de tempo compartilhado. Um programa utiliza o processador o tempo que for necessário ou até que apareça outro mais prioritário. A importância ou prioridade de execução de um programa é definida pela própria aplicação e não pelo sistema operacional.

Esses sistemas, normalmente, estão presentes em aplicações de controle de processos, como no monitoramento de refinarias de petróleo, controle de tráfego aéreo, de usinas termoelétricas e nucleares, ou em qualquer aplicação onde o tempo de processamento é fator fundamental.

Sistemas com Múltiplos Processadores

Os sistemas com múltiplos processadores caracterizam-se por possuir duas ou mais UCPs interligadas e trabalhando em conjunto. A vantagem deste tipo de sistema é permitir que vários programas sejam executados ao mesmo tempo ou que um mesmo programa seja subdividido em partes, para serem executadas simultaneamente em mais de um processador.

Com múltiplos processadores, foi possível a criação de sistemas computacionais voltados, principalmente, para processamento científico, aplicado, por exemplo, no desenvolvimento aeroespacial, prospecção de petróleo, simulações, processamento de imagens e CAD. A princípio, qualquer aplicação que faça uso intensivo da UCP será beneficiada pelo acréscimo de processadores ao sistema. A evolução desses sistemas deve-se, em grande parte, ao elevado custo de desenvolvimento de processadores de alto desempenho.

Os conceitos aplicados ao projeto de sistemas com múltiplos processadores incorporam os mesmos princípios básicos e benefícios apresentados na multiprogramação, além de outras características e vantagens específicas como escalabilidade, disponibilidade e balanceamento de carga.

Escalabilidade é a capacidade de ampliar o poder computacional do sistema, apenas adicionando novos processadores. Em ambientes com um único processador, caso haja problemas de desempenho, seria necessário substituir todo o sistema por uma outra configuração com maior poder de processamento. Com a possibilidade de múltiplos processadores, basta acrescentar novos processadores à configuração.

Disponibilidade é a capacidade de manter o sistema em operação, mesmo em casos de falhas. Neste caso, se um dos processadores falhar, os demais podem assumir suas funções de maneira transparente aos usuários e suas aplicações, embora com menor capacidade de computação.

Balanceamento de carga é a possibilidade de distribuir o processamento entre os diversos processadores da configuração, a partir da carga de trabalho de cada processador, melhorando, assim, o desempenho do sistema como um todo.

Um fator-chave no desenvolvimento de sistemas operacionais com múltiplos processadores é a forma de comunicação entre as UCPs e o grau de compartilhamento da memória e dos dispositivos de entrada e saída. Em função desses fatores, podemos classificar os sistemas com múltiplos processadores em fortemente acoplados ou fracamente acoplados.

Segurança em códigos PHP

Usuários e Senhas

Outro ponto muito importante é não exibir, em momento algum, o nome de login (usuário) de algum usuário cadastrado no sistema. Lembre-se que para um usuário conseguir invadir a conta do outro ele precisa de duas coisas: usuário (ou e-mail) e a senha.. Se ele souber o usuário já tem 50% de sucesso.

Vale lembrar também que você não precisa deixar a senha do usuário na forma real quando salva-la no banco. É muito mais seguro salvar um md5() ou sha1() da senha no banco e quando for necessário fazer a validação do usuário você também gera o md5() ou sha1() da senha que ele digitou e compara com o que há no banco. Assim, se por ventura alguém conseguir invadir e pegar todos os registros do banco de usuários, o máximo que ele irá conseguir são o usuário/e-mail e uma senha criptografada.

Arquivos “.inc”

Muitos programadores preferem usar arquivos “.inc” para identificar arquivos que são chamados através das funções include() e require() (e as respectivas “_once”).

Se você não configurar o servidor Apache corretamente, os arquivos “.inc” podem ser baixados e lidos, ao invés de interpretados pelo servidor. O resultado é seu código-fonte exposto. Em casos mais graves, arquivos de configuração, que incluem a senha do banco de dados, podem ser lidos por qualquer um.

Detalhe, isto é mais comum do que se pensa. Digite no Google: filetype:inc mysql_connect e você verá que muitos sites, além de não configurarem o arquivo .inc corretamente, mantém a listagem de arquivos e pastas disponível. Essa busca retornará arquivos que terminam com “.inc” e possuem a palavra “mysql_connect”, que é uma função para conectar ao banco de dados, que tem como argumentos o endereço, usuário e senha. Logo, é possível obter todos os dados necessários para conectar-se ao banco de dados.

Código para o Apache interpretar arquivos .inc como .php:

...

Baixar como  txt (19.3 Kb)  
Continuar por mais 11 páginas »