Mostrar mensagens com a etiqueta Noções básicas. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta Noções básicas. Mostrar todas as mensagens

06/09/2011

Ganhar dinheiro na net

Como Funciona os Métodos para Ganhar Dinheiro:
  • Método para ganhar dinheiro com venda de infoprodutos (apostilas, ebooks, cursos, video-aula).
  • Método para ganhar dinheiro com Blogs e Sites (Anunciantes e Links Patrocinados).
  • Método para ganhar dinheiro com programas de afiliados e marketing multinivel (indicação de produtos e serviços).
  • Método para ganhar dinheiro com comércio eletrônico ou franquias de lojas virtuais (necessita investimento).
  • Método para ganhar dinheiro com serviços de hospedagem de sites (necessita investimento).

 

O que é um programa de afiliado? Resumindo: é um sistema de indicação de produtos e serviços de um site de uma empresa ou loja através da internet. Quando você se afilia (fazendo um pequeno cadastro) você se torna um afiliado da empresa/loja e está apto a ganhar comissões toda vez que indicar um amigo ou pessoas na internet para comprar um determinado produto ou serviço.

 

http://www.6markets.com/

22/02/2011

Aprender SEO

Este artigo do site Six revisions explica como utilizar estratégias de SEO para optimizar sites e aumentar o tráfego de visitas a esse site.

http://sixrevisions.com/content-strategy/user-friendly-seo/

16/01/2011

Compilador

 

“Um compilador é um programa de computador (ou um grupo de programas) que, a partir de um código fonte escrito em uma linguagem compilada, cria um programa semanticamente equivalente, porém escrito em outra linguagem, código objeto.

O nome "compilador" é usado principalmente para os programas que traduzem o código de fonte de uma linguagem de programação de alto nível para uma linguagem de programação de baixo nível (por exemplo, linguagem de montagem assembly ou código de máquina). Um programa que traduz uma linguagem de programação de baixo nível para uma linguagem de programação de alto nível é um descompilador. Um programa que faz uma tradução entre linguagens de alto nível é normalmente chamado um tradutor, filtro[1] ou conversor de linguagem. Um programa que faz uma tradução entre uma linguagem de montagem e o código de máquina é denominado montador[1]. Um programa que faz uma tradução entre o código de máquina e uma linguagem de montagem é denominado desmontador.

Em português, Compilar significa por exemplo: Reunir obras literárias, documentos, escritos de vários autores, entre outros, compondo uma obra com esse material.

Um compilador é um dos dois tipos mais gerais de tradutores, sendo que o segundo tipo que a ele deve ser comparado é um interpretador.

Normalmente, o código fonte é escrito em uma linguagem de programação de alto nível, com grande capacidade de abstração, e o código objeto é escrito em uma linguagem de baixo nível, como uma sequência de instruções a ser executada pelo processador.

O processo de compilação é composto de análise e síntese. A análise tem como objetivo entender o código fonte e representá-lo em uma estrutura intermediária. A síntese constrói o código objecto a partir desta representação intermediária.

A análise pode ser subdividida ainda em análise léxica, análise sintática e análise semântica. A síntese é mais variada, podendo ser composta pelas etapas de geração de código intermediário, optimização de código e geração de código final (ou código de máquina), e somente esta última etapa é obrigatória.

Classicamente, um compilador traduz um programa de uma linguagem textual facilmente entendida por um ser humano para uma linguagem de máquina, específica para um processador e sistema operacional. Atualmente, porém, são comuns compiladores que geram código para uma máquina virtual que é, depois, interpretada por um interpretador.

Em linguagens híbridas, o compilador tem o papel de converter o código fonte em um código chamado de byte code, que é uma linguagem de baixo nível. Um exemplo deste comportamento é o do compilador da linguagem Java que, em vez de gerar código da máquina hospedeira (onde se está executando o compilador), gera código chamado Java Bytecode.

 

Fases da Compilação

Análise Léxica

Ver artigo principal: Análise Léxica

A análise léxica é a primeira fase do compilador. A função do analisador léxico, também denominado scanner, é ler o código fonte, caracter a caracter, buscando a separação e identificação dos elementos componentes do programa fonte, denominados símbolos léxicos ou tokens[2]. É também de responsabilidade desta fase a eliminação de elementos "decorativos" do programa, tais como espaços em branco, marcas de formatação de texto e comentários[3].

Análise Sintática

Ver artigo principal: Análise sintática (computação)

A análise sintática, ou análise gramatical é o processo de se determinar se uma cadeia de símbolos léxicos pode ser gerada por uma gramática[4]. No caso de analisadores sintáticos top-down, temos a opção de escrevê-los à mão ou gerá-los de forma automática, mas os analisadores bottom-up só podem ser gerados automaticamente [5]. A maioria dos métodos de análise sintática, cai em uma dessas duas classes denominadas top-down e bottom-up. Entre os métodos top-down os mais importantes são a análise sintática descendente recursiva e a análise sintática preditiva não-recursiva. Entre os métodos de análise sintática bottom-up os mais importantes são a análise sintática de precedência de operadores, análise sintática LR canônico, análise sintática LALR e análise sintática SLR[4].

Análise Semântica

Ver artigo principal: Análise semântica

As análises léxica e sintática não estão preocupadas com o significado ou semântica dos programas que elas processam. O papel do analisador semântico é prover métodos pelos quais as estruturas construídas pelo analisador sintático possam ser avaliadas ou executadas[6]. As gramáticas livres de contexto não são suficientemente poderosas para descrever uma série de construções das linguagens de programação, como por exemplo regras de escopo, regras de visibilidade e consistência de tipos[7]. É papel do analisador semântico assegurar que todas as regras sensíveis ao contexto da linguagem estejam analisadas e verificadas quanto à sua validade. Um exemplo de tarefa própria do analisador semântico é a checagem de tipos de variáveis em expressões[8]. Um dos mecanismos comumente utilizados por implementadores de compiladores é a Gramática de Atributos, que consiste em uma gramática livre de contexto acrescentada de um conjunto finito de atributos e um conjunto finito de predicados sobre estes atributos[9].

Geração de Código Intermediário

Ver artigo principal: Geração de código

Na fase de geração de código intermediário, ocorre a transformação da árvore sintática em uma representação intermediária do código fonte. Um tipo popular de linguagem intermediária é conhecido como código de três endereços. Neste tipo de código uma sentença típica tem a forma X := A op B, onde X,A e B são operandos e op uma operação qualquer. Uma forma prática de representar sentenças de três endereços é através do uso de quádruplas (operador, argumento-1, argumento-2 e resultado). Este esquema de representação de código intermediário é preferido por diversos compiladores, principalmente aqueles que executam extensivas otimizações de código, uma vez que o código intermediário pode ser rearranjado de uma maneira conveniente com facilidade[10].

Optimização de Código

Ver artigo principal: Optimização de Código

A Otimização de código é a estratégia de examinar o código intermediário, produzido durante a fase de geração de código com objetivo de produzir, através de algumas técnicas, um código que execute com bastante eficiência[8]. O nome optimizador deve sempre ser encarado com cuidado, pois não se pode criar um programa que leia um programa P e gere um programa equivalente sendo melhor possível segundo o critério adotado[3]. Várias técnicas e várias tarefas se reúnem sob o nome de Optimização. Estas técnicas consistem em detectar padrões dentro do código produzido e substituí-los por códigos mais eficientes[10]. Entre as técnicas usadas estão a substituição de expressões que podem ser avaliadas durante o tempo de compilação pelos seus valores calculados, eliminação de sub-expressões redundantes, desmembramento de laços, substituição de operações (multiplicação por shifts), entre outras[8]. Uma das técnicas de optimização mais eficazes e independente de máquina é a otimização de laços, pois laços internos são bons candidatos para melhorias. Por exemplo, em caso de computações fixas dentro de laços, é possível mover estas computações para fora dos mesmos reduzindo processamento[11].

Geração de Código Final

Ver artigo principal: Geração de código

A fase de geração de código final é a última fase da compilação. A geração de um bom código objeto é difícil devido aos detalhes particulares das máquinas para os quais o código é gerado. Contudo é uma fase importante, pois uma boa geração de código pode ser, por exemplo, duas vezes mais rápida que um algoritmo de geração de código ineficiente[10]. Nem todas as técnicas de optimização são independentes da arquitetura da máquina-alvo. Optimizações dependentes da máquina necessitam de informações tais como os limites e os recursos especiais da máquina-alvo a fim de produzir um código mais compacto e eficiente. O código produzido pelo compilador deve se aproveitar dos recursos especiais de cada máquina-alvo[8].”

In: Wikipédia

Bytecode

 

“É o resultado de um processo semelhante ao dos compiladores de código-fonte que não é imediatamente executável. Em oposição, o bytecode irá ser interpretado numa máquina virtual, que fará a execução. Assim, o bytecode é um estágio intermédio entre o código-fonte (escrito numa linguagem de programação específica) e a aplicação final, sendo a sua vantagem principal a dualidade entre a portabilidade — o bytecode irá produzir o mesmo resultado em qualquer arquitectura — e a ausência da necessidade do pré-processamento típico dos compiladores — o bytecode é encarado como um produto final, cuja validação da sintaxe e tipos de dados (entre outras funções dos compiladores) não será necessária.

Como exemplo de plataformas que geram bytecode, temos Java (que corre sobre a máquina virtual Java), .NET (que corre sobre a Common Language Runtime) e Lua.”

In: Wikipidédia

“Linguagens de programação "tradicionais", como o C e o C++ utilizam um compilador diferente para cada plataforma ou sistema operacional em que o programa irá rodar. O código fonte em sí pode ser escrito de forma a ser facilmente portável, ou seja, rodar em diferentes versões do Unix ou em várias famílias de processadores diferentes sem muitas alterações, mas ainda assim será necessário recompilar o código fonte, gerando um binário diferente para cada caso.

Embora o trabalho inicial seja maior, a vantagem desta abordagem é que o desempenho é o melhor possível, já que sempre teremos um binário otimizado para a plataforma.

Mas, várias linguagens mais recentes como o Java utilizam um conceito diferente. Ao invés de gerar um binário diferente para cada plataforma, é gerado um binário que pode ser executado em qualquer plataforma, dentro de uma máquina virtual. Este binário "universal" é chamado de bytecode.

A idéia é criar aplicativos que possam ser escritos uma vez e executados em qualquer plataforma, reduzindo os custos de desenvolvimento. Apenas o software da máquina virtual é que precisa ser reescrita para cada plataforma, mas isso é problema dos desenvolvedores da linguagem, não do programador.

Existe ainda a opção de abrir mão da flexibilidade do bytecode em troca de um maior desempenho, passando a compilar os programas com otimizações para uma determinada plataforma. Isso é muito útil quando o programa será executado apenas dentro de computadores de uma certa plataforma, como PCs rodando Linux.

No caso do Java a máquina virtual que executa os programas é chamada de Java Virtual Machine. Muitas páginas Web utilizam applets Java, por isso a maioria das pessoas acaba instalando o suporte a Java. Hoje em dia, além do Java da Sun temos versões alternativas, como o Blackdown e o Kofee, que possuem conjuntos de recursos variados, mas são a princípio compatíveis com o código gerado para o Java da Sun.

Embora tenha ganhado relevância com o Java, este conceito não é exatamente novo. Linguagens mais antigas como o LISP e o Prolog já utilizam bytecode e máquinas virtuais.”

In: Guia do Hardware

15/01/2011

Multimédia

 

Multimédia (Portugal) ou multimídia (Brasil) é a combinação, controlada por computador, de pelo menos um tipo de media estática (texto, fotografia, gráfico), com pelo menos um tipo de media dinâmica (vídeo, áudio, animação) (Chapman & Chapman 2000 e Fluckiger 1995).Quando se afirma que a apresentação ou recuperação da informação se faz de maneira multissensorial, quer-se dizer que mais de um sentido humano está envolvido no processo, fato que pode exigir a utilização de meios de comunicação que, até há pouco tempo, raramente eram empregados de maneira coordenada, a saber [3]:

O termo multimédia refere-se portanto a tecnologias com suporte digital para criar, manipular, armazenar e pesquisar conteúdos. Os conteúdos multimédia estão associados normalmente a um computador pessoal que inclui suportes para grandes volumes de dados, os discos ópticos como os CDs(CD-ROM,MINI-CD,CD-CARD) e DVDs, abrange também nas ferramentas de informática a utilização de arquivos digitais para a criação de apresentações empresarias, catálogos de produtos,exposição de eventos e para catálogos eletrônicos com mais facilidade e economia. Privilegiando o uso dos diversos sentidos visão, audição e tacto este tipo de tecnologia abrange diversas áreas de informatica.

Em latim "media" é o plural de "medium", pelo que o termo "multi-media" pode ser considerado um pleonasmo.

 

 

Tipos de media

Natureza espácio-temporal
  • Estáticos - Agrupam elementos de informação independentes do tempo, alterando apenas a sua dimensão no espaço, tais como, textos e gráficos;
  • Dinâmicos - Agrupam elementos de informação dependentes do tempo, tais como, por exemplo, o áudio e a animação. Nestes casos, uma alteração, no tempo, da ordem de apresentação dos conteúdos conduz a alterações na informação associada ao respectivo tipo de media dinâmico.
  • Imersivo - Agrupam elementos de informação interativa em ambientes 3D.
Origem
  • Capturados - São aqueles que resultam de uma recolha do exterior para o computador;
  • Sintetizados - São aqueles que são produzidos pelo próprio computador através da utilização de hardware e software específicos.
Interacção

Existe quem diferencie as categorias de multimédia linear e não-linear.

  • Na multimédia linear o utilizador não tem qualquer tipo de controlo no desenrolar do processo, enquanto que
  • A multimédia não-linear oferece interactividade com o utilizador.

Multimedia (multi-imagem) para o anúncio do novo carro Ford 1988 em agosto de 1987.

Divulgação

Quanto ao modo de divulgação podemos encontrar dois tipos:

  • Online - Divulgação online significa a disponibilidade de uso imediato dos conteúdos multimédia. Pode ser efectuada, por exemplo, através da utilização de uma rede informática local ou da WWW.
  • Offline - A divulgação offline de conteúdos multimédia é efectuada através da utilização de suportes de armazenamento, na maioria das vezes do tipo digital. Neste caso, os suportes de armazenamento mais utilizados são do tipo óptico, CD e DVD.
Tecnologia em Produção Multimídia

Blog voltado ao curso de Tecnologia em Produção Multimídia.

Tipos de produtos multimédia

  • Baseados em páginas
São desenvolvidos segundo uma estrutura organizacional do tipo espacial. Esta é uma organização semelhante à utilizada nos media tradicionais em suporte de papel como revistas, livros e jornais.
Em alguns produtos multimédia, os utilizadores podem consultar as suas páginas utilizando as hiperligações existentes entre elas. Neste tipo de produto, as componentes interactiva e temporal podem estar presentes através da utilização de botões, ícones e scripts. Os scripts vão permitir a criação de pequenos programas para a execução de acções em determinadas situações como, por exemplo, a visualização de um vídeo ao fim de um determinado intervalo de tempo ou após um botão ter sido pressionado
  • Baseados no tempo
    • São desenvolvidos segundo uma estrutura organizacional assente no tempo. Esta é uma organização com uma lógica semelhante à utilizada na criação de um filme ou animação.
    • Durante o desenvolvimento deste tipo de produtos multimédia os conteúdos podem ser sincronizados permitindo assim definir o momento em que dois ou mais deles estão visíveis.
    • A interactividade neste tipo de produtos é adicionada através da utilização de scripts.
    • A componente da organização espacial é também, neste caso, utilizada durante a fase de desenvolvimento deste tipo de produtos.

Em ambos os tipos de produtos multimédia (baseados em páginas ou no tempo) as componentes espaço e tempo coexistem, distinguindo-se na estrutura organizacional utilizada como ponto de partida para a disposição dos conteúdos.

Multimídia e percepção
aspectos de uma interação humano-máquina

A multimídia é hoje um dos mais eficazes recursos para garantir a percepção e o acúmulo de conhecimento. Isso porque os recursos multimídia estimulam mais sentidos que as simples mídias. A partir do momento em que o usuário é estimulado em mais de um sentido, a capacidade de processamento e armazenamento das informações aumentam consideravelmente. Segundo Márcio Matias, o percentual de eficácia das principais mídias na percepção humana é de:

Uma representação usando Powerpoint.

  • Visual = 55%
  • Vocal = 38%
  • Textual = 7%

Quando combinadas, as mídias tendem a aumentar ainda mais essa percentagem. Isso ocorre pelo fato dos recursos multimídia serem mais parecidos com as experiências do cotidiano das pessoas. Torna cada vez mais interativo, cada vez mais real.

Essa interação humano-máquina proporcionada cada vez mais intensamente pelos recursos multimídia é o que o professor Marcelo Bolshaw chama de cibernética, ou seja, é por causa dessas interações que ele afirma que somos Cyborgs. Segundo ele, quando fazemos uso de um talher ou um automóvel, interagimos de maneira simbiótica com a máquina. A utilização dos recursos multimídia é justamente uma das formas mais eficazes de garantir um maior proveito dessa relação simbiótica entre humanos e máquinas.

In: wikipédia

12/01/2011

Noções básicas de desenho

 

Desenho Técnico - Documento em pdf com informação referente a materiais, técnicas, conceitos, construções geométricas, desenho projectivo, representações complementares, cortes e representações convencionais, cotas, perspectiva isométrica, AutoCAD

Desenho Arquitectónico - Documento em pdf sobre noções básicas de desenho técnico e desenho arquitectónico.

Leitura e interpretação de Desenho Técnico

Desenho de moda

Desenho geométrico

Web design