21 de março de 2011

Sistemas Operacionais

Ao falarmos de Sistemas Operacionais muitas pessoas pouco entendem a importância de um bom sistema operacional no desempenho de seus dispositivos. Cito dispositivos pois agora Sistema Operacional deixou de ser, há muito tempo, coisa exclusiva de computador. A tecnologia da informação vive hoje uma fase de convergência: os recursos tecnológicos deixaram de ser apenas restritos a um conjunto limitado de aparelhos padronizados (os computadores) e passaram a estar embutidos recursos de processamento de forma parcial ou total em aparelhos de uso  comum, como TV’s, celulares, geladeiras, aparelhos de som, vídeo, imagem, tocadores portáteis e outros gadgets, surgindo assim, a Internet das coisas.

Mesmo com esse mundo de coisas manipulando dados, o esquema “entrada + processamento = saída” ainda é elementar e se faz presente em todos os processos que envolvam bits e bytes. E o papel que o Sistema Operacional exerce neste processo é fundamental. Se imaginarmos o processamento de um dado como sendo uma fábrica, o dado seria a matéria-prima, o programa seria a máquina, o usuário seria o operador, a informação seria o produto final, o computador seria o prédio e o sistema operacional toda a instalação predial de cabos, dutos e tudo o que interliga todas as partes da fábrica para que esta funcione. O Sistema Operacional é todo o aparato lógico que torna possível o funcionamento do computador. Gerencia tarefas, organiza arquivos, controla o computador e permite que o usuário o controle e que o computador realize múltiplas tarefas. É a ponte lógica entre os elementos físicos, lógicos e humanos em qualquer sistema computacional.

Vemos Sistemas Operacionais em todos os dispositivos eletrônicos e muitas vezes são chamados firmwares. As firmwares são tipos de sistemas operacionais robustos e especializados gravados nas memórias ROM de dispositivos. Diferentemente do computador, em que o sistema operacional é instalado na mesma mídia em que são armazenados os arquivos, as firmwares são gravadas em um armazenamento próprio. Assim, as atualizações são totais em que todo o software da firmware é substituído, ao passo que nos sistemas operacionais convencionais, somente uma parte específica do sistema é modificada durante uma instalação.

Os sistemas operacionais para dispositivos móveis são agora um novo e importante recurso para a área de software. Isto pois os aplicativos estão convergindo para a nuvem, ou seja, estão sendo construídos para funcionar na internet. Entretanto, nos celulares e smartphones, ocorre o inverso: as funcionalidades online estão se tornando aplicativos. Isto ocorre por conta do fluxo de dados que precisa ser otimizado nestes dispositivos, diferente dos computadores em que o excesso de aplicativos prejudica o seu funcionamento. Além disso, a padronizações de sistemas operacionais móveis favorece a indústria de smartphones e tablets, pois simplifica o trabalho do desenvolvedor e permite a distribuição de conteúdo com maior escala e de forma mais padronizada e simples.

A importância que os sistemas operacionais hoje exercem é enorme, e vemos hoje grandes possibilidades futuras de novos sistemas operacionais surgindo e integrando computadores e dispositivos em uma única plataforma.

20 de março de 2011

Comandos Básicos de FTP

Seguem a seguir uma pequena lista de comando FTP a ser utilizados no prompt de comandos do Windows ou ainda em qualquer ferramenta de FTP baseada em texto:

  • ftp <endereço do servidor>: É o comando que evoca o FTP. Quando sem argumentos vai para o console diretamente sem se conectar. Quando acrescido de um endereço como argumento do comando, o mesmo tenta se conectar ao servidor indicado.
  • ftp> !: Sair para o shell
  • ftp> ? ou help: Imprimir informações locais de ajuda
  • ftp> append: Acrescentar a um arquivo
  • ftp> ascii: Definir tipo de transferência ASCII
  • ftp> bell: Emitir aviso sonoro ao término do comando
  • ftp> binary: Definir tipo de transferência binária
  • ftp> bye ou quit: Terminar a sessão FTP e sair
  • ftp> cd <nome da pasta>: Alterar o diretório de trabalho remoto
  • ftp> close ou disconnect: Terminar a sessão FTP
  • ftp> delete <arquivo a excluir>: Excluir arquivo remoto
  • ftp> debug: Ligar/desligar o modo de depuração
  • ftp> dir ou ls: Exibir o conteúdo da pasta remota
  • ftp> get ou recv <arquivo remoto>: Receber arquivo
  • ftp> glob: Ativar/desativar a expansão de meta-caracteres em nomes de arquivos locais
  • ftp> hash: Ativar/desativar a impressão de `#' para cada buffer transferido
  • ftp> lcd <nome da pasta local>: Alterar o diretório de trabalho local
  • ftp> literal ou quote <comando a enviar ao servidor>: Enviar um comando FTP arbitrário
  • ftp> mdelete <arquivos a excluir remotamente>: Excluir vários arquivos
  • ftp> mdir ou mls: Exibir o conteúdo de várias pastas remotas
  • ftp> mget <arquivos remotos>: Obter vários arquivos
  • ftp> mkdir <nome da nova pasta a criar>: Criar pasta na máquina remota
  • ftp> mput <nome dos arquivos locais>: Enviar vários arquivos
  • ftp> prompt: Forçar prompt interativo em múltiplos comandos
  • ftp> put ou send <arquivo local>: Enviar um arquivo
  • ftp> pwd: Imprimir a pasta de trabalho na máquina remota
  • ftp> remotehelp: Obter ajuda do servidor remoto
  • ftp> rename <nome do arquivo> <novo nome do arquivo>: Renomear arquivo
  • ftp> rmdir <pasta a excluir>: Remover pasta na máquina remota
  • ftp> status: Mostrar o status atual
  • ftp> trace: Ativar/desativar o rastreamento de pacotes
  • ftp> type: Definir o tipo de transferência de arquivos
  • ftp> user: Enviar informações de novo usuário
  • ftp> verbose: Ativar/desativar o modo detalhado

22 de outubro de 2010

Projeto de Web Design (Parte 1)

Conceito

Um projeto é um esforço temporário empreendido para criar um produto, serviço ou resultado exclusivo. Um projeto web, por sua vez visa desenvolver um conteúdo para a internet no formato de um website.

Termos utilizados

  • Website: é um conjunto de páginas navegáveis, dispostas em um mesmo local para apresentar um conteúdo na internet.
  • Página: um documento escrito em linguagem HTML (ou apresentada nesta linguagem) apresentando uma informação, contendo textos, links, imagens, som e vídeo.
  • Navegação: conjunto de recursos de HTML que visam a ligação entre páginas relacionadas em um website.
  • Servidor Web: um computador ou um software instalado em um computador que permite a disponibilização de um website para a internet através do protocolo HTTP (HyperText Transfer Protocol).
  • Hospedagem: serviço fornecido por um computador-servidor, localizado em um setor ou empresa externa para disponibilizar um website na internet.
  • Serviço de hospedagem: Uma empresa que, a um determinado custo, utiliza seus recursos de servidores e conectividade para disponibilizar para internet uma página criada por um usuário deste serviço.
  • FTP (File Transfer Protocol): É um protocolo de transferência de arquivos utilizado para enviar e receber arquivos através da internet. É bastante utilizado por serviços de hospedagem para carregar os arquivos criados pelos usuários para seus servidores.
  • Webmaster (administrador de website): é o administrador dos serviços de hospedagem web. Sua função e garantir que todos os recursos do servidor web estejam disponíveis e que o site esteja no ar.
  • Web-designer (projetista web): é a pessoa responsável pela criação do projeto visual de um site, seus recursos de interatividade e sua navegação.
  • Web-developer (desenvolvedor web): é a pessoa responsável pelo projeto funcional do site, desenvolvendo recursos de dados e de código (principalmente se o site é desenvolvido utilizando linguagens de execução no servidor, como PHP e ASP) para um web-site. Uma pessoa pode acumular as funções de web-designer e web-developer.
  • Server-side includes: são códigos que são lidos e interpretados pelo servidor web que, através de um interpretador, retorna as informações no formato de uma página da web, ou outro formato, para um site da web.
  • Interpretador: em web é o sistema formado por uma linguagem e um mecanismo atrelado a um servidor web que permite o processamento das informações por parte do servidor web.
  • Domínio: um endereço DNS que é utilizado por uma organização para a utilização de serviços na internet, como e-mail, servidor web e outros.

Noções de web design

A criação de conteúdo para a internet é uma tarefa o qual requer muitos cuidados, visto que há uma gama de recursos disponíveis, mas que não podem ser empregados de uma só vez em um mesmo projeto. Isto ocorre, pois, com o advento de novas tecnologias para a internet, vemos uma grande quantidade de dispositivos que acessam o seu conteúdo e estes se diferem bastante em recursos disponíveis, acessibilidade, sistemas operacionais, inclusive diferenciando entre versões de um mesmo software ou softwares diferentes que realizam uma mesma função.

Assim sendo, a primeira iniciativa a tomar quando se planeja desenvolver um website é definir seu público-alvo. Diferente dos projetos de marketing convencionais, nos quais é definido através de características socioeconômicas e mercadológicas, o público-alvo tem uma relação maior com os recursos tecnológicos disponíveis mínimos para a maioria dos computadores os quais o website deseja ser acessado. Os recursos tecnológicos a ser abordados, são os seguintes:

  • Sistema Operacional: este estabelece os parâmetros do sistema como um todo, sobretudo à instalação de complementos e acelerações de hardware.
  • Hardware: estabelece os parâmetros de resolução de tela e de memória, permitindo uma página com mais conteúdo ou com mais recursos de processamento.
  • Largura de banda: refere-se à velocidade da conexão da internet. Há sites que são impraticáveis em conexão discada. Assim como haver sites em que a quantidade de recursos faz com que haja uma demora maior que a prevista ao carregar. Se isto ocorrer será necessária uma rotina de carregamento para avisar o visitante de que a página está sendo carregada.
  • Navegador da web: há recursos que um navegador possui e outro não. Por essa razão, é preciso verificar quais recursos serão utilizados e quais estarão disponíveis de acordo com o navegador da web.
    • Versões do navegador: Quando uma nova versão de um navegador é lançada, costuma agregar novos recursos que podem ser explorados pelas páginas, assim como versões antigas podem por em risco a segurança do usuário, inclusive alertando o usuário de uma possível incompatibilidade de seu conteúdo em relação à versão do navegador em uso.
  • Uso de extensões e plug-ins: deve-se observar atentamente para a utilização de recursos fornecidos por plug-ins, como applets Java ou animações em Flash. Pois nem todas as plataformas, navegadores e sistemas o suportam. Há ainda organizações que não permitem a utilização destes recursos instalados em seus computadores.

Recomenda-se atentar-se a estes parâmetros, pois a quantidade de recursos de um site pode ser inversamente proporcional à quantidade de usuários aptos a usufruir destes recursos. O ideal é verificar quais os recursos suportados pela maioria dos usuários do público-alvo selecionado, além de, se possível, criar versões diferentes de uma mesma página para públicos segmentados, como por exemplo, uma versão para computadores e outra para dispositivos móveis como smartphones e telefones celulares.

Além das opções para públicos-alvo distintos, a navegação do site, além de noções básicas de conceitos de atração sensorial (no caso da internet, com a sinestesia de sons e imagem) e conceitos de diagramação e interface visual, são ferramentas utilizadas pelos web-designers para o desenvolvimento de páginas da web atraentes ao público.

14 de setembro de 2010

Usando o Dreamweaver para desenvolver sites em PHP com Banco de Dados MySQL (Parte 2)

Agora, com o site pronto, podemos criar sua estrutura e definir a base de dados que será implantada nele. Antes, porém, é preciso que um painel útil neste processo esteja visível. O painel Bancos de Dados. Para exibi-lo, vá até o menu Janela e em seguida clique em Bancos de Dados ou utilize a tecla de atalho Crtl + Shift + F10, conforme a figura a seguir.

clip_image002

Em seguida crie um arquivo no site. Para isso você pode pressionar a tecla de atalho Ctrl + N, ou clicar no menu Arquivo e em seguida Novo, ou ainda utilizando o painel arquivos do Dreamweaver (F8) clicando com o botão direito do mouse sobre uma área vazia do painel de arquivos e selecionando a opção Novo Arquivo, e depois de criado, basta abri-lo com um duplo clique sobre ele. Esta última maneira é a melhor, pois permite o salvamento do arquivo já com o nome definido, além de garantir a criação do arquivo dentro do site, na pasta correta. Com o arquivo criado e aberto no Dreamweaver, será possível a criação da conexão do banco de dados, pois se não há nenhum arquivo do site aberto, não é possível criar uma conexão de Banco de Dados.

clip_image004

Observe que sem um Banco de Dados criado, o painel de Bancos de dados possui um checklist em que todas as condições precisam estar satisfeitas para que o banco seja criado, a saber: A criação de um site, a escolha de um tipo de documento (no caso a escolha do site em PHP ou qualquer outra tecnologia de servidor) e a configuração de um servidor de teste (onde os arquivos criados serão validados).

clip_image005

Estando todos os requisitos satisfeitos, basta criar a conexão, clicando no botão com o sinal de adição (+) e selecionando o item Conexão MySQL.

clip_image007

Será exibida a janela abaixo. Nesta janela, defina o nome da conexão, que é o nome de uma variável onde os dados da conexão serão armazenados, o endereço do servidor MySQL, as credenciais de acesso (nome de usuário e senha) e o nome do banco de dados onde os dados estarão armazenados.

clip_image008

Se não tiver a certeza de qual banco utilizar, pode fazer uso do botão Selecionar... o qual permite escolher o banco de dados o qual as credenciais fornecidas possuem acesso.

clip_image009

Selecione o banco de dados desejado e clique ok. Com todos os dados preenchidos basta clicar em Testar, para verificar se a conexão foi bem-sucedida e em seguida OK para salvar as configurações de banco de dados.

clip_image010

Ao clicar em ok, o painel de Bancos de Dados muda para exibir a conexão de banco de dados na forma de um cilindro. Mesmo precisando de um arquivo estar aberto para criar a conexão, esta está disponível a todas as páginas que o site vier a possuir. Isso facilita nosso trabalho pois permite que através de uma única conexão possa criar páginas que manipulem dados do banco de dados no site inteiro. Além disso, é possível criar diversas conexões de bancos de dados MySQL para um mesmo site.

clip_image011

12 de setembro de 2010

Usando o Dreamweaver para desenvolver sites em PHP com Banco de Dados MySQL (Parte 1)

Criar sites dinâmicos com banco de dados utilizando a tecnologia PHP, geralmente é trabalhoso. Isto porque há a necessidade de se estabelecer um algoritmo para que esta funcionalidade funcione. De forma resumida, a utilização de bancos de dados através do PHP obedece às seguintes etapas:

1. Conexão ao servidor

2. Utilização de um Banco de Dados no servidor conectado

3. Estabelecimento de um cursor de comandos. Cursor é uma variável que recebe as informações que serão enviadas ao banco de dados.

4. Envio das informações

5. Recebimento das respostas e tratamento delas através do PHP.

Por ser um processo complexo e interdependente, estabelecer um código que permita o mínimo possível de falhas é fundamental. Para isso, a cada etapa, geralmente é feito um tratamento de exceção para que o código exiba, de forma amigável o erro ocorrido, e ao mesmo tempo, aborte a execução do código. O programa Dreamweaver, da Adobe, permite a criação de uma conexão de dados MySQL para sites desenvolvidos em PHP de uma forma amigável, simples e rápida. O tutorial a seguir permitirá ao leitor a criação de uma conexão, a criação de um formulário de inserção e também um simples relatório de banco de dados.

Os pré-requisitos para o acompanhamento deste tutorial são os seguintes:

· Um local para hospedar experimentalmente os arquivos PHP e o Banco de Dados (Servidor de Teste)

· Um banco de dados já criado no servidor MySQL, com as tabelas e relacionamentos já definidos.

· Conhecimentos básicos de Windows, Dreamweaver, HTML, e PHP.

Partindo do pressuposto que os pré-requisitos foram satisfeitos, vamos dar início a este tutorial.

Criando um site

O primeiro passo é definir um site no Dreamweaver. Ao criarmos um site, estamos preparando um projeto completo para web e é nele que definimos os parâmetros de linguagem de servidor que este site irá utilizar. Faremos a criação de um site passo a passo:

Abra o Dreamweaver. Vá até o menu Site e clique em Novo Site, conforme figura.

clip_image002[1]

Existem duas formas de criar e configurar o site. Na aba Básico, há as configurações básicas de criação do site, como o local onde está hospedado e o modelo do servidor. Na aba Avançado, temos um processo de criação mais detalhado com recursos do Contribute (sistema de gerenciamento de conteúdo da Adobe), check-in e check-out, e configuração de servidor de teste independente do servidor local. Faremos usando o assistente no modo básico.

clip_image004[1]

A primeira tela pede apenas o nome que será dado ao projeto do site e ao endereço do site quando publicado.

clip_image006[1]

A tela seguinte do assistente pergunta se o seu site possui tecnologia de servidor, selecione a opção sim que será exibido um menu o qual você deverá escolher qual tecnologia a ser adotada em seu site, neste caso, PHP MySQL.

clip_image008[1]

Na tela seguinte, pergunta-se como trabalhar com os arquivos, no caso, a pergunta mais adequada seria: onde está o servidor de teste? A primeira opção, que é a que vamos escolher, é que o servidor de teste é a própria máquina em que estamos editando os arquivos. É um recurso muito prático, pois nos auxilia a realizar o projeto a qualquer hora, em qualquer lugar. A segunda opção é a edição local do site, mas com o carregamento dos arquivos em um servidor de teste externo, o que garante uma melhoria de desempenho tanto do programa quanto do servidor, o que nos permite inclusive uma simulação real do site em si. Por fim, a terceira opção é a edição dos arquivos remotamente através de uma rede local. A vantagem desta opção é a portabilidade e a possibilidade de desenvolvimento em equipe, o que permite que possa utilizar qualquer computador com Dreamweaver instalado para continuar seu trabalho ou até mesmo várias pessoas trabalhando em um mesmo site simultaneamente.

clip_image010[1]

Em seguida, temos que informar qual o endereço do servidor de teste onde iremos testar os arquivos. É importante salientar que como o PHP é uma tecnologia de servidor, não é possível apenas abrindo o arquivo, verificar se a codificação está correta. Quem pode validar isso é o servidor de teste, através do interpretador PHP. Por isso é muito diferente criar um site em PHP ou ASP, do que criar um site em Flash ou HTML. Atente-se ao endereço do servidor de teste, pois se este estiver errado, não será possível verificar se o código está correto, mesmo utilizando as ferramentas de edição fornecidas pelo Dreamweaver.

clip_image012[1]

Por fim podemos aqui definir o local onde os arquivos serão publicados para a web, chamado aqui de servidor remoto. Podemos inclusive adotar o servidor de teste como o próprio servidor remoto, pois o Dreamweaver possui a funcionalidade de realizar o teste do arquivo através de arquivos temporários. No nosso caso não iremos alterar por enquanto.

clip_image014

Por fim, é exibido um resumo das configurações feitas. Para salvar o site, basta clicar em Concluído. O site agora está disponível para edição e pode criar arquivos nele.

clip_image016

4 de dezembro de 2009

Mensagem aos alunos

Caros alunos, amanhã não estarei na escola, por motivos de saúde. Agradeço a compreensão, e espero estarmos juntos novamente dia 12.

Um abraço!

18 de novembro de 2009

A escola precisa de nós

Caros alunos,

Eu não estou aqui em nome da escola, mas pelo dever de ser transparente com vocês. Mais do que nunca, preciso que vocês acreditem na escola e em seu corpo docente. Eu, assim como meus colegas, fazemos sacrifícios em nome do nosso ofício, nos dedicamos de forma incansável em nome do dever (e do prazer) em compartilhar o que aprendemos, muitas vezes por conta própria, oferecendo a oportunidade que muitos de nós mesmos não tivemos em ter alguém para nos ensinar algo novo.

Apareceu uma oportunidade única que não pude deixar passar. Um porto seguro chamado Banco do Brasil se aproximou de meu pequeno barco, e ancorei lá. Até quando estarei neste porto, é impossível saber, mas continuo exercendo, aos sábados, o meu ofício de ensinar, por amor e gratidão a todos aqueles que mostraram a mim essa minha nova aptidão, pois sinto-me na obrigação e dever de cumprir o meu papel de educador, e por conseguinte, não posso abandonar meu posto, que hoje é parte importante de minha vida.

E este empenho não pode somente partir de minha parte. Mesmo se alguns prometeram a vocês algo que a instituição jamais poderia cumprir, vamos acreditar no projeto que temos em sala de aula que é prover conhecimento para capacitar pessoas profissionalmente e cidadãos de bem em caráter cultural social e familiar, provendo o bem comum e garantindo assim o futuro de todos nós.

Por isso clamo a todos os alunos um pacto: compareçam as aulas e sejam fidedignos com as obrigações financeiras. Somente com todos cumprindo sua parte é que podemos prover melhorias para a nossa instituição escolar. Se não for possível continuar em nossa jornada, comunique à coordenação assim que possível, não será uma atitude ingrata deixar a escola, e sim, não ser transparente em suas intenções. Não se pode apenas exigir melhorias se há uma falha de compromisso. Temos, também, nossos compromissos e até eu peço por mim desculpas por falhar em diversas oportunidades, mas todas elas no intuito de querer acertar.

Precisamos nos unir. A viagem é longa e pode haver turbulências, mas com empenho, dedicação, amor e união, poderemos vencer os desafios e crescemos como seres humanos que desejam vencer, atingindo a cada dia, patamares mais elevados.

Caros colegas,

Estou publicando essa mensagem certamente à revelia de vocês, me desculpando antecipadamente, mas é minha opinião pessoal e me responsabilizo por ela. Mas sinto-me no dever de romper o silêncio, pois não posso ser negligente à nossa realidade.

30 de outubro de 2009

Formulários em html

Segue um resumo sobre formulários em HTML:

<form method="post" name="formulário" action="arquivo.php"></form>

  • FORM: Tag que representa o formulário propriamente dito. Todas as tags e comandos relacionados devem estar entre <form> e </form>
    • NAME: O nome do Formulário
    • METHOD: Forma de envio do formulário. Pode ser GET (Dados enviados pela URL) ou POST (dados enviados via cabeçalhos HTTP).
    • ACTION: URL que receberá as informações do formulário.

<input name=”texto” />

  • INPUT: Indica um objeto de entrada.
    • TYPE: Determina o Tipo do objeto de entrada, cujos tipos estão a seguir:
      • text (padrão caso omitido o atributo) – Campo de texto
      • password – Campo de senha
      • checkbox – Caixa de seleção múltipla
      • radio – Caixa de seleção única
      • submit – Botão de Enviar o formulário
      • reset – Botão de redefinir um formulário
      • file – Campo de seleção de arquivo
      • hidden – Campo oculto
      • image – Campo de Imagem
      • button – Botão usado para uma função definida por javascript
    • NAME: indica o nome do objeto. Para os objetos checkbox e radio, em um grupo de opções, todas elas devem ter o mesmo valor para name. O objeto name é o nome da variável que será interpretada pela URL que receberá as informações.
    • VALUE: Indica um valor padrão para o objeto. Para os objetos button, reset e submit, o atributo value define o texto a ser exibido no botão.
    • CHECKED (apenas para os objetos radio e checkbox): Indica que o objeto de seleção está marcado.
    • DISABLED: Desabilita o objeto, ou seja, não é possível manipular o objeto.
    • READONLY: Impede a edição do objeto, ou seja, não é possível alterar o valor do objeto.
    • SIZE (para objetos de texto: text, password): Indica a o tamanho do campo em número de caracteres.
    • MAXLENGTH (para objetos de texto: text, password): Indica a quantidade máxima de caracteres a ser inserida no campo.
    • SRC (para objeto image): Indica a fonte da imagem

<TEXTAREA NAME=”texto” ROWS=5 COLS=30>Texto padrão</TEXTAREA>

  • TEXTAREA: Indica uma caixa de texto definida, cujo valor padrão está entre as tags <TEXTAREA> e </TEXTAREA> 
    • NAME: o nome do objeto
    • ROWS: Número de linhas da caixa de texto
    • COLS: Número de coluna

<SELECT NAME=”menu” size = 1>
<option value=10 selected>10</option>
<option value=5>5</option>
</SELECT>

  • SELECT: Indica a existência de um menu suspenso. O atributo SIZE permite alterar a quantidade de linhas que o menu possui.
    • O objeto OPTION é o item do menu e sempre fica entre as tags <SELECT> e </SELECT>. O texto a ser exibido no item deve estar entre as tags <OPTION> e </OPTION>.
      • O atributo VALUE será o valor a ser transmitido ao formulário. A opção SELECTED indica que este item do menu é o selecionado.

 

Por fim é isto. Em breve teremos mais dicas. Até breve!