Entrega do Projeto/Relatório cap 3 - dia 23/11/09

Olá pessoal, não se esqueçam que nesta segunda-feira dia 23 será o dia de envio do capítulo 3 por e-mail, logicamente o capítulo 1 e 2 já devem estar devidamente corrigidos (se não estiver, como diz o professor Faoro "senta e chora", pois tem muita coisa pra fazer de última hora).
Lembrando que já devem contar no capítulo imagens (prints screens) dos vídeos, e produção do manual de identidade misual de cada grupo.
Lembrem-se de como deve se apresentar o capítulo 2, na seguinte estrutura: texto pessoal sobre o assunto, uma ou mais citações de autores consagrados sobre o assunto, e novamente uma complementação pessoal sobre o assunto.
Outro item importante é a tabela comparativa, de softwares Windows e da solução em software livre, por exemplo:

Microsoft Word 2007 ------------------------BrOffice Writer 3.2
Windows Media Player-----------------------Amarok/Rhythmbox

Também já deve conter toda a parte de banco de dados, inclusive as imagens do mesmo, bem como o mesmo banco de dados desenvolvido em um software Linux, como o Druid ou o DBdesigner por exemplo.

Edição de Vídeos não é só Premiere....

Olá pessoal.
Esta semana estava fazendo os vídeos do semestre, aliás, pra quem não se lembra os vídeos pra apresentar na banca são estes:

Um vídeo de divulgação da empresa --- 30 ou 15 segundos
um vídeo divulgação do CTI SETREM --- tempo a escolha. OBS: deve conter vídeos, não apenas fotos
Metodologia do projeto --- tempo a escolha.
Um vídeo de um tema livre --- tempo a escolha OBS: deve conter vídeos não apenas fotos

Então, é facil ao começar de fazer os vídeos perceber que somente o Adobe Premiere não resolve todos os problemas, ou não disponibiliza todas as funcionalidades, mesmo sendo um software extremamente complexo e estável. Pois bem uma solução, aliás existem várias soluções, uma delas é um outro software da Adobe, tão complexo quanto o Premiere, direcionado quase que totalmente para efeitos, o Adobe After Effects, pra quem não conhece ai vai um tela do software.

Nele é possivel fazer uma série de efeitos, vinhetas, objetos 3D (na realidade não são três dimensões, apenas tem aspecto 3D), muito úteis para entrada e desfecho dos vídeos por exemplo.

32 bits x 64 bits... Qual a melhor opção?

Um assunto muito comentado na web atualmente, é o que dis respeito a estrutura do precessador e qual o sistema operacional adequado, bem como quais são os softwares adequados para tais sistemas. Pois bem, hoje resolvi fazer esta postagem para explanar um pouco sobre as tecnologias de processamento 32 bits e 64 bits, e tirar algumas dúvidas a respeito dessas estruturas de processadores.

Logo de cara é facil e óbvio perceber que 64 bits é melhor, pois é capaz de trabalhar com o dobro de informações, por isso consegue gerenciar mais memória RAM e ainda de uma forma mais adequada.

Relacionando o sistema operacional como o hardware entram no meio os programas, estes são um pequeno problema, pois a maioria ainda não foram programados e compilados para usufruirem dos 64 bits, e sim de 32 bits, em sistemas Windows 64 bits, como o Vista e o Windows 7 estes programas 32 bits funcionam sim, mas como comentei não usufruem de todo o poder do processador.

A maioria dos softwares estão "atrasados" quanto ao hardware, acredito que se o Windows 8 ou sei lá qual será o próximo puder gerenciar 128 bits, assim como já existem hoje distros de Linux que gerenciam ainda estaremos migrando para softwares 64 bits, assim como há um atraso dentro da indústria de hardware entre memórias RAM DDR e memórias de vídeo GDDR (as usadas e placas de vídeo), enquanto as memórias RAM estão em DDR3, as as memórias usadas em placas de vídeos já estão em GDDR 5! há velocidades de 320 GB/s.

Pois bem voltando ao assunto, se você tem um processador 64 bits, provavelmente deve ter 2GB ou mais de memória RAM, então vale apena migrar para um sistema 64 bits também, mesmo que os softwares sejam 32 bits, um cuidado que deve se ter é com os drivers, que devem sempre ser compátiveis, por exemplo, não se pode usar drivers 32 bits em plataforma 64 bits, mas os softwares podem muito bem serem "emulados" ou executados em 32 bits sem problemas.

Novidades Linux por ai...

Nos últimos dias não só o Windows Seven foi lançado, mas também duas das distros de Linux que mais gosto, a qual trabalhamos em aula, o novo Ubuntu 9.10 Karmic Koala, e o novo Mandriva Linux 2010, e sim trazem muitas novidades...

No Ubuntu além do aprimoramento do boot e performace sofreu a alteração do gerenciador de programas, o "Instalar/Remover" foi substituido pela "Central de Programas Ubuntu", em meu ver muito mais pratica e simples, continua com o mesmo esquema: achar o programa e instalar.
Foram implementadas algumas soluções de virtualização, e como sempre o sistema reconhece uma vasta porção de drivers e/ou todos, ainda para placas de vídeo é possível usar os drivers proprietários, quando disponibilizados pela fabricante.

O Mandriva 2010 agora usa Gnome 2.28, e KDE 4.3, uma beleza, leve seguro estável como sempre (e/ou como qualquer distro de Linux) um atrativo que considero faltoso no Ubuntu é um Control Center mais avançado, assim como existe no Mandriva, onde é possível fazer várias modificações por interface, já 0 Ubuntu "esconde" as mesmas, o que o torna simples, porém ao mesmo tempo as configurações mais avançadas só estão disponíveis por linha de comando, não que isto seja um problema.

Photoshop tirando fundo de imagens

Olá pessoal, hoje vou mostrar uma ferramenta muito útil do software Adobe Photoshop CS3, como tirar o fundo de imagens de uma forma mais avançada, ou seja, como diz o professor Luciomar sem parecer que foi "cortada no facão ".
Vamos ao tutorial:

Abra com o software Adobe Photoshop CS3 uma imagen qualquer, de preferência que tenha linhas bem definidas, como a imagem abaixo.

Após pressione o atalho de teclado Ctrl+Alt+x, em seguida se abrirá uma subjanela para recortar a parte desejada. Então começamos a fazer os traços das linhas da imagem. Na barra de ferramentas no lado direito devemos aumentar ou diminuir o tamanho do pincel de brush, na opção "brush sise", dependendo do traço, se for cabelos por exemplo podemos aumentar para 30, já em linha bem definidas 10 ou 15 é o suficiente , as linhas devem ficar da seguinte maneira:
metade selecionada (englobando a imagem) e outra metade não, assim o photoshop analisa e recorta corretamente.

Após acabar basta selecionar a ferramenta "Fill Tool" (o baldinho de tinta) e clicar na parte selecionada para recorte, após isso basta clicar em Ok e colocar qualque outro fundo que se ajuste.
Perceba que esta ferramenta é muito diferente da tradicional ferramenta de corte, pois mantém todos os detalhes, até mesmo dos fios de cabelos, é uma opção muito mais inteligente e profissional, mesmo que mais trabalhosa.

Google Analytics - Tudo sobre seu site/blog

Que a Google domina a web isso todos nos sabemos, tem o melhor serviço de buscas, tem o melhor serviço de e-mail, (na minha opinião), tem o orkut que se sobressai aqui no Brasil, ainda tem várias outras ferramentas focadas pra web, Hearth, Maps, Docs, Calendar...

Uma ferramenta muito útil para acompanhar como andam os acessos do seu site/blog, é o Google Analytics, que demonstra os dados com precisão, sobre quem está acessando, e o que estão acessando, da onde vem os acessos, quanto tempo quem etá acessando fica no blog/site, em fim, são estátisticas que só a Google poderia ter. Quer tudo isso no seu blog/site? Muito fácil basta criar uma conta no Google e acessar o acessar o link: http://www.google.com/analytics. Pronto! cadastre seu site e cole o código que lhe é fornecido no código fonte da sua página antes de fechar a tag body

Nada vai aparecer no blog/site, e após isso você já pode ficar observando o seu público, planejar posts etc... É uma ótima ferramenta da gigante Google.

Windows Seven

Nesta quinta-feira dia 22 a Microsoft oficialmente lançou no mercado seu mais novo Windows, sucessor do Vista o Seven (sétima versão do NT) trouxe muitas melhorias, tanto no quesito estético, quanto em desempenho.

Várias falhas no Windows Aero foram corrigidas, e barra de tarafas foi aprimorada, de modo a que vários programas sejam abertos ao mesmo tempo, mantendo a organização, agora apenas ícones dos softwares abertos aparecem, foi uma idéia muito boa, já que o texto era de certo modo inutil, ao passar o mouse sobre os programas uma previsão das janelas (muito, mais muito mais aprimorada do que a do Windows Vista) é demonstrada, sendo possível fechar o software pela mesma. Outro grande ganho na interface foi a "limpeza" na mesma, sem os recados irritantes e intrometidos do Windows Vista, os Gadgets continuam existindo. (mesmo que eu ache isso uma futilidade)

Além destas e várias outras melhorias no quisito visual, pode se perceber um aumento muito grande de desempenho em relação ao Vista, o prometido, de que o Windows Seven não ocuparia mais que 400 Mb na memória, não foi cumprido, já que mesmo após recém formatado e instalado, sem Aero, sem drivers e programa algum executando chega facil aos 650 Mb; também não faz tanta diferença, já que o mesmo não foi projetado para rodar em hardware velho, e atualmente não se compra mais um computador com menos de 2GB e com celeron ou sempron (salvo netbooks, e portáteis de gênero), aliás em 1GB ele executa bem, (por minha própria experiência que tinha um notebook de 1GB), mas se percebe a falta de memória, e assim se perde desempenho. Mas o sistema é rápido, usável, e executa praticamente todos os programas do Windows XP e do Vista normalmente, em alguns casos pode se usar o XP mode, que virtualiza o software, como se estivesse sendo executado no Windows XP realmente. Um pecado que achei foi a demora no boot cerca de 50 segundos a 1 minuto em alguns casos, (em um Acer 5536 3GB DDR2 667Mhz - Turion X2 2.10Ghz - 320GB), mas este é facilmente explicado, se resume em Kaspersky, que após instalado atrasa em 15 a 20 segundos o boot, apesar é o melhor antivírus, e não abro mão.

Em fim, mais um avanço da americana Microsoft, mesmo que alguns dizem que o Seven é o que o Vista deveria ter sido, foi um avanço. E é sempre bom contarmos com softwares cada vez melhores no dia-a-dia.

Exemplo 1: Shell Script

killer=`ps ax | grep $1 | head -1 | cut -d"?" -f1`
kill -9 $killer
O script acima faz o seguinte:

1 - Primeiro se cria a variável killer, e se atribui a esta a função de procurar dentro de todos os processos o id do processo que se especifica.

2 - Após "matamos"a variável killer.

Muito simples dessa forma, iniciamos o script e escrevemos o nome do processo que desejamos matar. Pronto, processo finalizado.

Entrega do Projeto!!!

Olá pessoal da turma, não se esqueçam que nesta segunda e terça devemos entregar o projeto, o capítulo 1 corrigido, e o capítulo 2 para que seja corrigido.

Sugiro que não deixem tudo pra última hora, tem muita coisa pra fazer, o manual de identidade visual tanto da empresa, quanto da marca criada para o CTI na matéria de Corel Draw e Photoshop com o professor Luciomar, tem as várias definições de termos de banco de dados, e o banco de dados que deve ser criado para a empresa de desenvolvimento de sistemas, tem a máquina virtual de uma distribuição Linux, bem como explanar sobre GNU, kernel, entre vários outros, também os vídeos da matéria do professor Michel, além do blog e o layout para o site na matéria com a professora Maria Cristina, esta matéria nós ainda nem temos, tem também as aulas de inclusão digital em plataforma Linux... Enfim se liguem!

Case Studio... é tão facil...

Nesta última aula de Banco de Dados com o professor Alexandre Knob aprendemos alguns comandos SQL no PostgreSQL Admin, o "select", o "drop" e o "alter", muito úteis, mas um recurso muito legal, à que antes penávamos escrevendo linhas e linhas de SQL, é o que está presente no Case Studio... Com alguns cliques você consegue o SQL inteiro, pelo "Generate Script". Basta criar as tabelas e as relacionar corretamente, (antes de tudo escolher o banco de dados), ir ao menu "Model" e clicar em "Generate Script" como mostram as telas a seguir:


Após selecione todos os itens disponíveis clicando no "A" (All) e clique em "Generate".

Pronto! Só copiar o código!

É possivel também modificar o tipo de banco de dados, no menu "Model", clicando na opção "Database Conversion" como seguem as telas:

Após escolher o banco de dados e converte-lo, uma nova janela com o novo banco de dados surgirá. O Case Studio é bom mesmo!

Shell Script - Linha de comando no Linux

Esta semana, mais precisamente na última aula de Linux com o professor Leonardo, aprendemos um pouco de Shell Script no Linux Ubuntu. Ou seja, fazer com que uma série de comandos seja executada em série, um após ao outro.

Mas, mais do que uma simples série de comandos, o Shell Script é uma ferramenta muito útil principalmente para administradores de rede e servidores, o Shell pode ser usado para várias tarefas, das mais simples as mais complexas. Scripts em Shell são uma programação! Portanto toda lógica é bem vinda.

Baseia-se de modo básico, em escrever os comandos em um editor de texto qualquer, no caso do Linux Ubuntu com Gnome no software Gedit, já no KDE pode ser feito no Kwrite por exemplo, voltando... escrever os comandos e salvá-los com a extensão ".sh" após, executá-los em um terminal, indo até a pasta onde se encontra o arquivo e usando o comando "sh arquivo.sh", de preferencia sem estar logado como root para usuários iniciantes, pois em casos de acidentes...

Nos próximos dias vou postar alguns exemplos de Shell Script, programas básicos etc.
Enquanto isso recomendo que procurem material, livros, video tutorias de ajuda na internet, pois tem muito.

Batch Process - Redimensionando Imagens no Adobe Fireworks

Já que neste semestre temos edição de imagens, resolvi mostrar um recurso muito bom e útil que aprendi no Adobe Fireworks, o Batch Process, ou seja redimensionar várias imagens de uma só vez, para o tamanho desejado.
Segue o post:

Abra o Adobe Fireworks, e vá no menu "file" e clique em "Batch Process".

Após você poderá selecionar um ou mais arquivos de uma pasta, selecione o arquivo e clique em "Add", ou vá até a pasta onde estão todas as imagens e clique em "Add All".

Seguindo clique em "Next".

Já que o objetivo é modificar a escala, na próxima tela, clique em "Scale" e clique em "Add", após isso a "Scale" deve aparecer na parte "Include to batch".
Abaixo no menu de contexto escolha a opção "Scale to size", então você podera editar o tamanho em pixels das imagens. Para obter um melhor resultado na seguda opção de pixels (na vertical), selecione "Variable", assim o software ajustará o tamanho para o necessário, não distorcendo a imagem.

Feito isso clique em "Next"


Após basta selecionar o local onde as novas imagens (redimensionadas) serão salvas, ou salvar reescrevendo as imagens originais

Após clique em "Batch" e espere o processo acabar.

Note que o processo ocupara uma grande quantidade de espaço na memória e também elevará a carga do processador, dependendo da quantia de imagens a serem redimensionadas. Mas no final todas as imagens serão redimensionadas, poupando uma grande quantidade de tempo, ao invés de fazer uma a uma.

Adobe Premiere - Chroma Key

Seguindo com os posts sobre o Premiere, hoje será tratado o efeito Chroma Key do Adobe Premiere, Não faz idéia do que é? Então você já deve alguma vez ter visto a previsão do tempo (uma pessoa normal já viu), o efeito Chroma Key serve para fazer tal, por exemplo. Continue lendo...

Abra o Adobe Premiere e crie um novo projeto, não esqueça de criar uma pasta para tal projeto, e copiar todos os arquivos utilizados no vídeo para tal pasta.


Importe um vídeo semelhante a este no premiere, e arraste-o para linha de vídeo 1:



No canto inferior da tela, no lado esquerdo, vá na guia efeitos, e abra a pasta efeitos de vídeo, vá na pasta Keying e arraste o Chroma Key para cima do seu vídeo.

Sosinho o efeito não fará nada, por isso é necessário configura-lo.
Configurá-lo neste caso significa, retirar o fundo verde, e trocá-lo pelo mapa, funciona parecido, porém muito mais avançado do que aquela ferramenta do Office Word para retirar o fundo das imagens. A cor verde será retirada, e também todas as tonalidades até um certo nível de semelhança, a olho nu não se percebe, mas no vídeo acima existe várias tonalidades de verde. sabendo que tal cor será retirada, deve-se tomar alguns cuidados no momento da gravação do vídeo, como por exemplo, não vestir nenhuma peça de roupa de tal cor, caso contrário a mesma será retirada.

Com o efeito aplicado no vídeo, agora selecione o vídeo e no meio superior da tela vá na guia efeitos
Nesta abra o efeito Chroma Key e selecione a cor que deseja remover, para não tirar a cor errada use a ferramenta conta gota e selecione a cor do fundo do vídeo.
Após use a opção "similarity" para retirar as tonalidades de verde até uma certa porcentagem, não deixe chegar a 90%, se seu objetivo é retirar a cor que fica envolta da forma (neste caso uma pessoa), use a ferramenta "Blend" neste vídeo de exemplo a Similarity ficou em 65% e o nível de Blend em 70%, mesmo que se note um minimo de verde em volta da pessoa, ao colocar o mapa de fundo não se notará, em razão da coloração do mesmo.

Após devemos colocar o mapa de fundo, para isto é muito simples, basta arrastar o vídeo para a segunda linha, importar um mapa qualquer e carrega-lo para a primeira linha de vídeo, ficaria da seguinte forma: (a linha de audio que aparece, se refere ao audio do vídeo, por isso não a exclua)
Se você achou que ainda há presença de verde, você pode aumentar ou diminuir o nível de Blend ou Similarity, até se ajustar de acordo como o fundo.

Após feito isso basta exportar o vídeo.

Case Studio - Banco de Dados

Na última aula de Banco de Dados conhecemos o software Case Studio, uma ferramenta para construção de ERs, anteriormente estavamos fazendo as tabelas no papel mesmo, meio incômodo, mas necessário pra pegar a lógica.
Este software apresenta várias ferramentas que facilitam e agilizam a criação dos modelos, dos mais simples até os mais complexos, estamos criando modelos básicos por enquanto em MySQL 5, um SGDB (sistema de gerenciamento de banco de dados), o MySQL é uns dos mais populares do mundo.
Entre as facilidades que o software proporciona ele é capaz de criar automaticamente a terceira tabela de chavez compostas, quando há ligações de "vários pra vários".
Quanto as informações das tabelas, é possível e necessário classifica-las, quanto ao tipo de dados que ela conterá.

Tirei as tabelas de: Criar Web. Lá só tem coisa de fundamento acessem.

"Os tipos de dados SQL se classificam em 13 tipos de dados primários e de vários sinônimos válidos reconhecidos por tais tipos de dados. Os tipos de dados primários são:"

Tipo de DadosLongitudeDescrição
BINARY1 bytePara consultas sobre tabela anexa de produtos de banco de dados que definem um tipo de dados Binário.
BIT1 byteValores Sim/Não ou True/False
BYTE1 byteUm valor inteiro entre 0 e 255.
COUNTER4 bytesUm número incrementado automaticamente (de tipo Long)
CURRENCY8 bytesUm inteiro escalável entre 922.337.203.685.477,5808 e 922.337.203.685.477,5807.
DATETIME8 bytesUm valor de data ou hora entre os anos 100 e 9999.
SINGLE4 bytesUm valor em ponto flutuante de precisão simples com uma classificação de - 3.402823*1038 a -1.401298*10-45 para valores negativos, 1.401298*10- 45 a 3.402823*1038 para valores positivos, e 0.
DOUBLE8 bytesUm valor em ponto flutuante de dupla precisão com uma classificação de - 1.79769313486232*10308 a -4.94065645841247*10-324 para valores negativos, 4.94065645841247*10-324 a 1.79769313486232*10308 para valores positivos, e 0.
SHORT2 bytesUm inteiro curto entre -32,768 e 32,767.
LONG4 bytesUm inteiro longo entre -2,147,483,648 e 2,147,483,647.
LONGTEXT1 byte por caractereDe zero a um máximo de 1.2 gigabytes.
LONGBINARYSegundo se necessiteDe zero 1 gigabyte. Utilizado para objetos OLE.
TEXT1 byte por caractereDe zero a 255 caracteres.

A seguinte tabela recolhe os sinônimos dos tipos de dados definidos:

Tipo de DadoSinônimos
BINARYVARBINARY
BITBOOLEAN
LOGICAL
LOGICAL1
YESNO
BYTEINTEGER1
COUNTERAUTOINCREMENT
CURRENCYMONEY
DATETIMEDATE
TIME
TIMESTAMP
SINGLEFLOAT4
IEEESINGLE
REAL
DOUBLEFLOAT
FLOAT8
IEEEDOUBLE
NUMBER
NUMERIC
SHORTINTEGER2
SMALLINT
LONGINT
INTEGER
INTEGER4
LONGBINARYGENERAL
OLEOBJECT
LONGTEXTLONGCHAR
MEMO
NOTE
TEXT ALPHANUMERIC
CHAR - CHARACTER
STRING - VARCHAR
VARIANT (Não Admitido)VALUE

Nossa turminha...

Adobe Premiere - Edição de Vídeos

O Adobe Premiere é um software de edição de vídeo avançado, talvez o mais usado no meio profissional do mundo, devido a qualidade do software e suas diversas opções.
Neste semestre a matéria de edição de videos, realizada no Premiere está show! talvez a matéria que a turma mais gostou, pois convenhamos, trabalhar com multimidia é legal mesmo.
A matéria é passada pelo professor Michel de Souza, por enquanto estamos no básico, conhecendo o software, aliás, nunca tinha visto um programa com tantos botões pra clicar na vida, de primeira parace ser complexo, mas quando se entende as funcionalidades de cada, fica mais amigável.
Um vídeo é formado por vários frames, cada frame representa uma imagem minimamente diferente da outra, uma taxa razoável de frames é de pelo menos 30FPS, significa que a cada segundo, 30 imagens diferentes se passam, dando assim impressão de movimento, formando o vídeo. as taxas indicadas variam para cada tipo de serviço, se o vídeo for para TV obviamente a taxa deve ser maior do vídeos que estão não web. O sucesso de um vídeo como propaganda principalmente, também depende do audio de fundo, os frames devem acompanhar a batida da música, e se adequar ao assunto.

Alguns comandos básicos de Linux

NAVEGAÇÃO:
cd > entra no diretório padrão do usuário /home/usuário
cd #none do diretório# > entra no diretório (pasta).
ls > exibe o conteúdo do diretório.
pwd > mostra em qual diretório você se encontra.
locate #nome arquivo#. #extensão# > localiza arquivos dentro de um diretório
history > lista ultimos 500 comandos digitados
vi > ferramenta para visualização e edição de arquivos.
cat #nome arquivo# > visualiza arquivos.

ARQUIVOS:
mkdir #nome diretório# > cria uma pasta
cp -rf #nome arquivo# #diretório destino# > copia pastas e todos os arquivos contidos nela
mv -rf #nome arquivo# #diretório destino# > move pastes e todos os arquivos contidos nela
rm #nome arquivo# > apaga um ou mai arquivos.
rmdir #nome da pasta# > apaga pastas vazias
rmdir -rf #nome pasta# > apaga pastas e todos os arquivos dentro dela.

USUÁRIOS:
su > fazer login como usuário root. (utilizando senha do root).
sudo -s > fazer login como usuário root (utilizando sua senha).
useradd #nome# ou adduser #nome#> cria usuário
passwd #nome de usuário# > cria ou muda a senha de um usuário.

CONFIGURAÇÃO:
ifconfig > visualizar ip e informações de rede.

OUTROS:
date > exibe hora e data.
cal > exibe calendário

Estilos do Relatório

Normal: Utilizando para textos de todo o documento:
• Fonte: Arial;
• Tamanho: 12;
• Espaçamento entre linhas: 1,5;
• Recuo de parágrafo: 2cm;
• Alinhamento do Texto: Justificado;
• Recuo antes: 0cm
• Recuo depois: 0cm

Título: Utilizando para os títulos principais e centralizados do trabalho
• Fonte: Arial;
• Tamanho: 12;
• Negrito;
• Espaçamento entre linhas: 1,5;
• Recuo de parágrafo: 0cm;
• Alinhamento do Texto: Centralizado;
• Recuo antes: 5cm (deve estar a 8cm da borda, 3 já são da própria borda);
• Recuo depois: 0cm;

Título 1: Utilizando para os títulos principais de capítulos do trabalho conforme a formatação da SEÇÃO PRIMÁRIA
• Fonte: Arial;
• Tamanho: 12;
• Negrito;
• Espaçamento entre linhas: 1,5;
• Recuo de parágrafo: 0cm;
• Texto: Justificado;
• Recuo antes: 5cm (deve estar a 8cm da borda, 3 já são da própria borda);
• Recuo depois: 0cm;

Título 2: Utilizando para os títulos da SEÇÃO SECUNDÁRIA
• Fonte: Arial;
• Tamanho: 12;
• Espaçamento entre linhas: 1,5;
• Recuo de parágrafo: 0cm;
• Alinhamento do Texto: Justificado;
• Recuo antes: 0cm;
• Recuo depois: 0cm;

Título 3: Utilizando para os títulos da Seção Terciária
• Fonte: Arial;
• Tamanho: 12;
• Negrito;
• Espaçamento entre linhas: 1,5;
• Recuo de parágrafo: 0cm;
• Alinhamento do Texto: Justificado;
• Recuo antes: 0cm;
• Recuo depois: 0cm;

Título 4: Utilizando para os títulos da Seção Quaternária
• Fonte: Arial;
• Tamanho: 12;
• Versal;
• Espaçamento entre linhas: 1,5;
• Recuo de parágrafo: 0cm;
• Alinhamento do Texto: Justificado;
• Recuo antes: 0cm;
• Recuo depois: 0cm;

Título 5: Utilizando para os títulos da Seção Quintenária
• Fonte: Arial;
• Tamanho: 12;
• Espaçamento entre linhas: 1,5;
• Recuo de parágrafo: 0cm;
• Alinhamento do Texto: Justificado;
• Recuo antes: 0cm;
• Recuo depois: 0cm;

Sumário: Utilizando somente para o título de sumário do trabalho, não devendo ser apresentado juntamente com demais títulos no sumário.
• Fonte: Arial;
• Tamanho: 12;
• Negrito;
• Espaçamento entre linhas: 1,5;
• Recuo de parágrafo: 0cm;
• Alinhamento do Texto: Justificado;
• Recuo antes: 0cm;
• Recuo depois: 0cm;

Figuras Utilizando para o titulo de figuras
• Fonte: Arial;
• Tamanho: 12;
• Espaçamento entre linhas: 1,5;
• Recuo de parágrafo: 0cm;
• Alinhamento do texto: Justificado;
• Recuo antes: 0cm;
• Recuo depois: 0cm;

Tabelas: Utilizando para o titulo de tabelas
• Fonte: Arial;
• Tamanho: 12;
• Espaçamento entre linhas: 1,5;
• Recuo de parágrafo: 0cm;
• Alinhamento do Texto: Justificado;
• Recuo antes: 0cm;
• Recuo depois: 0cm;

Citações: Utilizando para formatar as citações que ultrapassam as três linhas
• Fonte: Arial;
• Tamanho: 10;
• Espaçamento entre linhas: simples;
• Recuo de parágrafo: 0cm;
• Alinhamento do Texto: Justificado;
• Recuo esquerdo: 4cm;

Metodologia 1º Semestre

Olá galera, chegando na hora de fazer o relátorio do semestre, e ninguém lembra mais de metodologia?

• Folha de rosto
• Sumário
• Introdução
• Caminho metodológico
o Tema
o Delimitação do tema
o Problema
o Hipóteses
o Objetivo
 Objetivo geral
 Objetivos específicos
o Justificativa
o Metodologia
o Definição de Termos
o Cronograma
o Recursos
 Recursos Humanos
 Recursos Institucionais
 Recursos materiais
o Referências
o Apêndices
o Anexos

Dicas da professora Patrícia.

• Usar impessoalidade
• Verbos no futuro para o projeto

Tutorias de photoshop

Este semestre uma das matérias que temos é Photoshop, um software de editoração de imagens bitmap avançado, estava navegando pela net e achei este site com vários tutoriais de Photoshop.
Achei bem legal e resolvi postar aqui o link, se alguém estiver interressado em aprender alguns efeitos e ferrmantas novas recomendo acessar.

Como instalar KDE no Ubuntu - (Kubuntu)

Na linha de comando (terminal):

- logar como root (sudo -s).
- apt-get update.
- apt-get install kubuntu-desktop.
- após escolher o gerenciador de inicialização, kdm(KDE) ou gdm(Gnome).

OBS: Pode demorar um pouco, dependendo da velocidade da sua internet, pois todos os pacotes ( de update e do kubunto desktop) serão baixados.
Pode também estar em inglês.

E a galera gostou do Compiz!!!

Hoje (17/09/09), na aula de Linux, o professor Leonardo mostrou os efeitos do Compiz no Linux Ubuntu 9.04, desde a parte de instalação até configuração. Parece que toda galera gostou...

Relações entre distribuições de Linux

Linguagens de Programação

Retirado do livro "Linux Entendendo o Sistema" por Carlos E. Morimoto.

Os computadores são funcionários quase perfeitos. Fazem tudo o que mandamos, não reclamam, não se importam de trabalhar até tarde da noite, não cobram hora extra nem tiram férias. Mas, em compensação, também não pensam. Para que façam qualquer coisa é preciso explicar tudo com os mínimos detalhes e na língua deles.
Considerando que tudo o que os computadores conseguem entender são seqüências intermináveis de números binários, fornecer estas "instruções" pode ser muito penoso para um ser humano. Você consegue se imaginar lendo um manual de 5.000 páginas e decorando um a um centenas de códigos binários que representam as instruções do processador?
Se os programadores precisassem programar diretamente em binários, decorando seqüências como 10111011101101101110110011001010 para cada instrução do processador e para cada endereço de memória a ser acessado, provavelmente não teríamos mais programadores; já estariam todos loucos.
Para facilitar as coisas, começaram a ser desenvolvidas as linguagens de programação, que diferem na sintaxe e recursos, mas têm um ponto em comum, que é a existência de um compilador. Seja programando em C, ou seja em Kylix, você usará um editor para escrever seu programa, respeitando as regras da linguagem escolhida e em seguida rodará o compilador, que interpretará os comandos que formam o seu programa e os transformará em um arquivo binário, que contém as instruções binárias que são entendidas pelo processador.
No Windows não temos muito contato com código fonte, pois os programas são quase sempre distribuídos apenas em formato binário, que você não tem como alterar. Mas, no caso do Linux, temos a possibilidade de baixar o código fonte de praticamente todos os programas que usamos no dia-a-dia. Muita gente aprende a programar fuçando no código fonte de algum programa que conhece bem, começando com pequenas traduções e mudanças, e acaba entendendo bem a sintaxe da linguagem e vários dos truques usados. Depois de cada rodada de alterações, é possível compilar todo o código, abrir o programa e verificar de que forma elas alteraram o programa final.
A vantagem de usar linguagens de programação é que o desenvolvedor passa a trabalhar com instruções como "if", "else", etc. além de todas as facilidades oferecidas pela linguagem ao invés de gigantescos endereços binários. Sem dúvida muito mais simples.
Existem diversas linguagens de programação. Meu objetivo aqui é dar algumas noções básicas sobre as peculiaridades e utilidade de algumas delas
Para começar, existe uma linguagem "básica" para quem quer aprender a programar, ensinada nos cursos de lógica da programação, o pseudocódigo. Ele não é uma linguagem "de verdade", mas sim uma maneira mais simples para aprender os fundamentos usados em todas as linguagens de programação.
Podemos começar com um exemplo simples. Vamos fazer um programa capaz de tomar uma decisão fácil. Ele pergunta a nota do aluno e diz se ele passou ou não. Para um ser humano isso seria um problema muito elementar, mas para o computador as coisas não são assim tão simples. Lembre-se de que ele é burro e precisa ser orientado passo a passo. Nosso programinha em pseudocódigo poderia ficar assim:

escreva: "Qual é a nota do aluno?"
leia nota
se nota maior ou igual a sete
então:
escreva "Ele passou"
senão:
escreva: "Ele foi reprovado"
fim do se
fim do programa


Este programinha perguntaria a nota e, com base no número que for digitado, avisaria se o aluno passou ou não.
Ele poderia ser escrito em qualquer linguagem, mas a lógica seria a mesma. De acordo com os recursos oferecidos pela linguagem escolhida, ele poderia ter uma interface simples em modo texto, uma interface gráfica mais trabalhada, aparecer no meio de uma pagina web e assim por diante. O mesmo programinha escrito em shell script, a linguagem mais elementar que temos no Linux, onde utilizamos comandos de terminal, poderia ficar assim:

echo "Qual é a nota do aluno"
read nota
if [ "$nota" -ge "7" ]
then
echo "Ele passou"
else
echo "Ele foi reprovado"
fi

As linguagens de programação são conjuntos de padrões e comandos que você pode usar para dar ordens para nossos amigos burros.
Assim como nas línguas faladas, existem diferenças de sintaxe, gramática e existem linguagens mais simples ou mais complicadas de aprender e linguagens mais adequadas para cada tipo de tarefa a realizar. Veja alguns exemplos de linguagens de programação:

- Assembly: O Assembly foi provavelmente a primeira linguagem de programação da história, surgida na década de 50, época em que os computadores ainda usavam válvulas. A idéia do Assembly é usar um comando em substituição a cada instrução de máquina.

Em se tratando de programação, o fato de uma linguagem ser "de baixo nível", não significa que ela é ruim, mas apenas que ela manipula diretamente as instruções e endereços de memória e, por isso, é mais trabalhosa e voltada para o desenvolvimento de aplicativos otimizados.

- Fortran: O Fortran foi uma das primeiras linguagens de alto nível da história. Enquanto o Assembly é chamado de linguagem de baixo nível, por nele utilizarmos diretamente as instruções e endereços do processador e memória, numa linguagem de alto nível temos várias funções prontas, o que facilita muito a programação, mas em compensação torna em muitos casos o programa maior e mais pesado, já que o compilador jamais conseguirá gerar um código tão otimizado quanto um programador experiente conseguiria.
Fortran é a contração de "Formula Translator". A primeira versão do Fortran foi criada no final da década de 50, mas a linguagem começou a ser usada em larga escala a partir da metade da década de 60, quando surgiram várias versões diferentes. Atualmente o Fortran é ainda usado em diversos aplicativos relacionados a engenharia. Ele é também ensinado em várias universidades, como uma forma mais prática de ensinar lógica da programação.

- Pascal: O Pascal é outra linguagem de alto nível, criada durante a década de 60. O Pascal é uma linguagem bastante estruturada, com regras bastante rígidas, o que a torna difícil de usar. Hoje em dia o Pascal original é pouco usado, mas seus descendentes diretos como o Free Pascal evoluíram muito. O próprio Kylix (junto com o Delphi) é uma evolução do Pascal.

- Cobol: Cobol significa "Common Business Oriented Language". Esta linguagem foi desenvolvida no final da década de 50, com o objetivo de ser uma plataforma de desenvolvimento para aplicações bancárias e financeiras em geral. Comparado com o Pascal e o Assembly, comuns na época, o Cobol é uma linguagem relativamente amigável, o que garantiu uma grande aceitação. Até hoje esta linguagem é usada em muitos sistemas bancários, o que explica a grande procura por programadores experientes nesta linguagem na época do bug do ano 2000.

- C: O C foi desenvolvido durante a década de 70, mas ainda é largamente utilizado. A grande vantagem do C é permitir escrever tanto programas extremamente otimizados para a máquina, como seria possível apenas em Assembly, e ao mesmo tempo vir com várias funções prontas, como uma linguagem de alto nível, que podem ser utilizadas quando não for necessário gerar um código tão otimizado.
A maior parte dos programas Linux e quase todo o Kernel foram escritos em C, o que explica o porquê do sistema ser tão rápido em algumas tarefas.

- C++: O C++ mantém os recursos do C original, mas traz muitos recursos novos, como recursos orientados a objetos, sendo também bem mais fácil de utilizar. O C++ é bastante usado atualmente para desenvolver muitos programas para várias plataformas. Ele é, por exemplo, a linguagem oficial do KDE e da maioria dos programas para ele.

- Python: O Python é uma linguagem de programação com uma sintaxe muito simples e intuitiva e ao mesmo tempo bastante poderosa, que pode ser usada por toda classe de usuários. É uma boa opção de linguagem para quem está começando a programar. No Kurumin, você pode abrir o interpretador do Python em Iniciar > Sistema > Desenvolvimento.

- Java: O Java é uma linguagem de programação multiplataforma, com uma sintaxe até certo ponto parecida com o C++, porém com bibliotecas diferentes. Os programas em Java podem ser executados em qualquer sistema operacional, desde que o interpretador esteja instalado.

Banco de Dados - Básico

Bancos de dados (ou bases de dados), são conjuntos de registros dispostos em estrutura regular que possibilita a reorganização dos mesmos e produção de informação. Um banco de dados normalmente agrupa registros utilizáveis para um mesmo fim.
O termo “Aplicativo de Banco de dados” se refere a softwares que oferecem uma interface para o gerenciamento do banco de dados. O software que gerencia os dados é geralmente chamado de sistema gerenciador de banco de dados (SGBD) ou (se for embarcado) de “database engine”.
O modelo de dados mais adotado hoje em dia é o modelo relacional, onde as estruturas têm a forma de tabelas, compostas por tuplas (linhas) e colunas.
Um Aplicativo de Banco de dados é um tipo de software exclusivo para gerenciar um banco de dados. Aplicativos de banco de dados abrangem uma vasta variedade de necessidades e objetivos.
Em 1985, Edgar Frank Codd, criador do modelo relacional, publicou um artigo onde definia 12 regras para que um Sistema Gerenciador de Banco de Dados (SGBD) fosse considerado relacional:

Regra Fundamental:
Um SGBD relacional deve gerenciar seus dados usando apenas suas capacidades relacionais
Regra da informação:
Toda informação deve ser representada de uma única forma, como dados em uma tabela
Regra da garantia de acesso:
Todo dado (valor atômico) pode ser acessado logicamente (e unicamente) usando o nome da tabela, o valor da chave primária da linha e o nome da coluna.
Tratamento sistemático de valores nulos:
Os valores nulos (diferente do zero, da string vazia, da string de caracteres em brancos e outros valores não nulos) existem para representar dados não existentes de forma sistemática e independente do tipo de dado.
Catálogo dinâmico on-line baseado no modelo relacional:
A descrição do banco de dados é representada no nível lógico como dados ordinários (isso é, em tabelas), permitindo que usuários autorizados apliquem as mesmas formas de manipular dados aplicada aos dados comuns ao consultá-las.
Regra da sub-linguagem compreensiva:
Um sistema relacional pode suportar várias linguagens e formas de uso, porém deve possuir ao menos uma linguagem com sintaxe bem definida e expressa por cadeia de caracteres e com habilidade de apoiar a definição de dados, a definição de visões, a manipulação de dados, as restrições de integridade, a autorização e a fronteira de transações.
Regra da atualização de visões:
Toda visão que for teoricamente atualizável será também atualizável pelo sistema.
Inserção, atualização e eliminação de alto nível:
A capacidade de manipular a relação base ou relações derivadas como um operador único não se aplica apenas a recuperação de dados, mas também a inserção, alteração e eliminação de dados.
Independência dos dados físicos:
Programas de aplicação ou atividades de terminal permanecem logicamente inalteradas quaisquer que sejam as modificações na representação de armazenagem ou métodos de acesso internos.
Independência lógica de dados:
Programas de aplicação ou atividades de terminal permanecem logicamente inalteradas quaisquer que sejam as mudanças de informação que permitam teoricamente a não alteração das tabelas base.
Independência de integridade:
As relações de integridade específicas de um banco de dados relacional devem ser definidas em uma sub-linguagem de dados e armazenadas no catálogo (e não em programas).
Independência de distribuição:
A linguagem de manipulação de dados deve possibilitar que as aplicações permaneçam inalteradas estejam os dados centralizados ou distribuídos fisicamente.
Regra da Não-subversão:
Se o sistema relacional possui uma linguagem de baixo nível (um registro por vez), não deve ser possível subverter ou ignorar as regras de integridade e restrições definidas no alto nível (muitos registros por vez).

Tipos de Chaves: (as mais usadas).

* Candidata – Identifica as possíveis chaves primárias.

* Primária – Identifica o registro uma única vez.

* Estrangeira – Chave da segunda ou demais tabelas que referencia a chave primária da primeira tabela.

* Composta – Quando mais de um campo compõe a chave primária de uma tabela.

Formas Normais:

1ª Forma Normal: Consiste em retirar da estrutura os elementos repetitivos. Uma estrutura está normalizada na 1FN (1ª Forma Normal) senão possuir elementos repetitivos.

2ª Forma Normal: Consiste em retirar das estruturas que possuem chaves compostas os elementos que são funcionalmente dependentes de parte da chave.

3ª Forma Normal: Consiste em retirar da estrutura os campos que são funcionalmente dependentes de outros campos e não são chave.

Tirado de: wwww.gilvanritter.blogspot.com

Exercício de Banco de Dados - Entrega dia 14/09/09

Sabe o que tem que fazer né?!

_____VEÍCULOS______

codigo_veiculo
placa_veiculo
modelo_veiculo
cod_veiculo
marca_veiculo
nome_veiculo
cod_lancamento
odometro_lancamento
qtde_lancamento
doc_lancamento
valor_lancamento
cod_despesa
nome_despesa
cod_grupo_despesa
nome_grupo_despesa
cod_fornecedor
nome_fornecedor
end_fornecedor
cep_fornecedor
cidade_fornecedor
estado_fornecedor
cnpj_fornecedor
cod_viagem
data_saida_viagem
data_chegada_viagem
cod_motorista
nome_motorista
cep_destino_viagem
cidade_destino_viagem
estado_destino_viagem
finalidade_viagem
observacao_viagem

Não se esqueçam de resolve-lo atravéz das regras/formas normais.
Dúvidas??? usem os comentários.

A resposta estará aqui após o dia 14/e ou depois da entrega.

Horário das Aulas - CTI 2009 vc1 - Segundo Semestre de 2009

Onde estou?? - Entendendo os Diretórios no Linux

Retirado do livro "Linux Entendendo o Sistema" por Carlos E. Morimoto.

O primeiro choque para quem está chegando agora é a estrutura de diretórios do Linux, que não lembra em nada o que temos no Windows. No Windows temos os arquivos do sistema concentrados nas pastas Windows e Arquivos de programas, e você pode criar e organizar suas pastas da forma que quiser.
No Linux é basicamente o contrário. O diretório raiz está tomado pelas pastas do sistema e espera-se que você armazene seus arquivos pessoais dentro da sua pasta no diretório /home.
Mas, as diferenças não param por aí. Para onde vão os programas que são instalados se não existe uma pasta central como a "Arquivos de programas"? E para onde vão os arquivos de configuração se o Linux não possui nada semelhante ao registro do Windows?
A primeira coisa com que você precisa se habituar é que no Linux os discos e partições não aparecem necessariamente como unidades diferentes, como o C:, D:, E: do Windows. Tudo faz parte de um único diretório, chamado diretório raiz ou simplesmente "/".
Dentro deste diretório temos não apenas todos arquivos e as partições de disco, mas também o CD-ROM, drive de disquete e outros dispositivos, formando a estrutura que você vê no gerenciador de arquivos.

O diretório "/bin" armazena os executáveis de alguns comandos básicos do sistema, como o su, tar, cat, rm, pwd, etc. Geralmente isto soma de 5 a 7 MB, pouca coisa.
O grosso dos programas ficam instalados dentro do diretório /usr (de "Unix System Resources", ou recursos de sistema Unix). Este é de longe o diretório com mais arquivos em qualquer distribuição Linux, pois é aqui que ficam os executáveis e bibliotecas de todos os principais programas. A pasta "/usr/bin" (bin de binário), por exemplo, armazena cerca de 2.000 programas e atalhos para programas numa instalação típica. Se você tiver que chutar em que pasta está o executável de um programa qualquer, o melhor chute seria justamente a pasta /usr/bin :-).
Outro diretório "populado" é o "/usr/lib", onde ficam armazenadas bibliotecas usadas pelos programas. A função destas bibliotecas lembra um pouco a dos arquivos .dll no Windows. As bibliotecas com extensão ".a" são bibliotecas estáticas, que fazem parte de um programa específico, enquanto as terminadas em ".so.versão" (xxx.so.1, yyy.so.3, etc.) são bibliotecas compartilhadas, usadas por vários programas.
Subindo de novo, a pasta "/boot" armazena (como era de se esperar) o Kernel e alguns arquivos usados pelo Lilo (o gerenciador de boot do sistema), que são carregados na fase inicial do boot. Estes arquivos são pequenos, geralmente ocupam menos de 5 MB. Versões antigas do Red Hat e de outras distribuições criam por default uma partição separada para o diretório "/boot" de cerca de 30 MB, posicionada no início do disco para evitar o limite de 1024 cilindros dos BIOS de micros antigos. Isto não é necessário hoje em dia, pois nas versões atuais do Lilo este limite não existe mais. Apesar disso, alguns usuários preferem manter o "/boot" numa partição separada por questão de hábito.
Se tiver curiosidade, o arquivo "config-2.6.11-kanotix-7" (o número de versão muda de acordo com a distribuição) é justamente o arquivo compactado com o Kernel do sistema, que é carregado durante o boot.

Quando se fala em particionamento, as possibilidades são muitas, existem até listas de discussão dedicadas exclusivamente ao assunto. Afinal, talvez usar o sistema de arquivos xxx na partição yyy possa melhorar em 0,03% o desempenho do sistema... Tem gente que realmente se prende aos detalhes. :-).
Logo abaixo temos o diretório "/dev", que é de longe o exemplo mais exótico de estrutura de diretório no Linux. Todos os arquivos contidos aqui, como, por exemplo, "/dev/hda", "/dev/dsp", "/dev/modem", etc., não são arquivos armazenados no HD, mas sim ponteiros para dispositivos de hardware. Por exemplo, todos os arquivos gravados no "arquivo" "/dev/dsp" serão reproduzidos pela placa de som, enquanto o "arquivo" "/dev/mouse" contém as informações enviadas pelo mouse.
Esta organização visa facilitar a vida dos programadores, que podem acessar o hardware do micro simplesmente fazendo seus programas lerem e gravarem em arquivos. Não é preciso nenhum comando esdrúxulo para tocar um arquivo em .wav, basta "copiá-lo" para o arquivo "/dev/dsp", o resto do trabalho é feito pelo próprio sistema. O mesmo se aplica ao enviar um arquivo pela rede, ler as teclas do teclado ou os clicks do mouse e assim por diante. O Kernel se encarrega da parte complicada.
O diretório "/etc" concentra os arquivos de configuração do sistema, substituindo de certa forma o registro do Windows. A vantagem é que enquanto o registro é uma espécie de caixa preta, os scripts do diretório "/etc" são desenvolvidos justamente para facilitar a edição manual. É verdade que na maioria dos casos isto não é necessário, graças aos vários utilitários de configuração disponíveis, mas a possibilidade continua aí.
Os arquivos recebem o nome dos programas seguidos geralmente da extensão .conf. Por exemplo, o arquivo de configuração do servidor DHCP (que pode ser configurado para atribuir endereços IP aos outros micros da rede) é o "/etc/dhcpd.conf", enquanto o do servidor FTP é o "/etc/proftpd.conf". Claro, ao contrário do registro, os arquivos do "/etc" não se corrompem sozinhos e é fácil fazer cópias de segurança caso necessário.
O diretório "/mnt" (de "mount") recebe este nome justamente por servir de ponto de montagem para o CD-ROM (/mnt/cdrom), drive de disquetes (/mnt/floppy), drives Zip e outros dispositivos de armazenamento. O uso do diretório /mnt é apenas uma convenção. Você pode alterar o ponto de montagem do CD-ROM para /CD, ou qualquer outro lugar se quiser. Isso é configurável através do arquivo "/etc/fstab", onde vai a lista de todos os dispositivos usados pelo sistema e as pastas em que cada um é montado.

Nada impede que você crie mais pastas no diretório raiz para armazenar seus arquivos. Apesar de ser recomendável em termos de organização e segurança, você não é obrigado a concentrar seus arquivos dentro do seu diretório de usuário. Nada impede que você abra o gerenciador de arquivos como root (kdesu konqueror), crie uma pasta /MP3, abra o menu de permissões para que seu login de usuário tenha permissão para acessá-la e a utilize para guardar suas músicas, por exemplo.