Postagem em destaque

Como iniciar a sua carreira de Segurança da Informação?

Planejamento para se tornar um Analista de Segurança da Informação. Monte o Seu. Após um pouco de pesquisa sobre o tema e conversad...

1º dia da Semana Acadêmica de Informática no IESB-OESTE

Segue resumo da I SEMANA ACADÊMICA DE INFORMÁTICA (IESB-OESTE)



1º DIA

Palestrante: RONALD EMERSON SCHEROLT DA COSTA

O Palestrante e também Professor da Faculdade IESB RONALD COSTA abordou o tema: Software Livre e Competência Informacional no Ensino Superior. Segue alguns trechos e complementos da apresentação.

O que é Software Livre? 

Software Livre, ou Free Software, conforme a definição de software livre criada pela Free Software Foundation, é o software que pode ser usado, copiado, estudado, modificado e redistribuído sem restrição. A forma usual de um software ser distribuído livremente é sendo acompanhado por uma licença de software livre (como a GPL ou a BSD), e com a disponibilização do seu código-fonte.
Software Livre é diferente de software em domínio público. O primeiro, quando utilizado em combinação com licenças típicas (como as licenças GPL e BSD), garante os direitos autorais do programador/organização. O segundo caso acontece quando o autor do software renuncia à propriedade do programa (e todos os direitos associados) e este se torna bem comum.
O Software Livre como movimento organizado teve início em 1983, quando Richard Stallman deu início ao Projeto GNU e, posteriormente, à Free Software Foundation.
Software Livre se refere à existência simultânea de quatro tipos de liberdade para os usuários do software, definidas pela Free Software Foundation. Veja abaixo uma explicação sobre as 4 liberdades, baseada no texto em português da Definição de Software Livre publicada pela FSF:

As 4 liberdades básicas associadas ao software livre são:

A liberdade de executar o programa, para qualquer propósito (liberdade nº 0)
A liberdade de estudar como o programa funciona, e adaptá-lo para as suas necessidades (liberdade nº 1). Acesso ao código-fonte é um pré-requisito para esta liberdade.
A liberdade de redistribuir cópias de modo que você possa ajudar ao seu próximo (liberdade nº 2).
A liberdade de aperfeiçoar o programa, e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie (liberdade nº 3). Acesso ao código-fonte é um pré-requisito para esta liberdade.

Um programa é software livre se os usuários tem todas essas liberdades. Portanto, você deve ser livre para redistribuir cópias, seja com ou sem modificações, seja de graça ou cobrando uma taxa pela distribuição, para qualquer um em qualquer lugar. Ser livre para fazer essas coisas significa (entre outras coisas) que você não tem que pedir ou pagar pela permissão, uma vez que esteja de posse do programa.
Você deve também ter a liberdade de fazer modifcações e usá-las privativamente no seu trabalho ou lazer, sem nem mesmo mencionar que elas existem. Se você publicar as modificações, você não deve ser obrigado a avisar a ninguém em particular, ou de nenhum modo em especial.
A liberdade de utilizar um programa significa a liberdade para qualquer tipo de pessoa física ou jurídica utilizar o software em qualquer tipo de sistema computacional, para qualquer tipo de trabalho ou atividade, sem que seja necessário comunicar ao desenvolvedor ou a qualquer outra entidade em especial.
A liberdade de redistribuir cópias deve incluir formas binárias ou executáveis do programa, assim como o código-fonte, tanto para as versões originais quanto para as modificadas. De modo que a liberdade de fazer modificações, e de publicar versões aperfeiçoadas, tenha algum significado, deve-se ter acesso ao código-fonte do programa. Portanto, acesso ao código-fonte é uma condição necessária ao software livre.
Para que essas liberdades sejam reais, elas tem que ser irrevogáveis desde que você não faça nada errado; caso o desenvolvedor do software tenha o poder de revogar a licença, mesmo que você não tenha dado motivo, o software não é livre.

Competência Informacional no Ensino Superior

O termo "Competência Informacional"  ou "Alfabetização Informacional" propõe a expansão do conceito de educação de usuários e ressaltava a necessidade dos universitários se prepararem para oferecer novas possibilidades de desenvolver habilidades informacionais necessárias para interagir no ambiente digital.
Para alguns autores este termo pode ser abordado em Cidadania, segundo eles,cidadãos competentes no uso da informação teriam melhores condições de tomar decisões relativas à sua responsabilidade social. A competência informacional, embora ainda não claramente definida, era vista como solução para questões de  extrema complexidade.

A   perspectiva da competência informacional

O novo  Information Power apresentou um conjunto de recomendações para desenvolver  competências informacionais desde a fase de educação infantil até o ensino   médio. Nessa versão, as habilidades  de inf ormação foram  claramente  definida s , não só em termos teóricos, mas também na perspectiva de aplicação. Foram  incluídas nove habilidades  informacionais, divididas em três grupos que abrangem:

1) Competência para lidar com informação;
2) Informação para aprendizagem  independente;  
3) Informação para responsabilidade social, conforme apresentado no quadro a seguir:

O  poder   da  informação:   construindo parcerias para aprendizagem
N o v e   n o r m a s   p a r a   a   c o m p e t ê n c i a 
 i n f o r m a c i o n a l
C o m p e t ê n c i a   i n f o r m a c i o n a l
1. O  aluno que tem competência informacional acessa a
informação de forma eficiente e efetiva.
2. O  aluno que tem competência informacional avalia a informação de forma crítica e competente.
3. O aluno que tem competência informacional usa a informação com precisão e com criatividade.
A p r e n d i z a g e m   i n d e p e n d e n t e

4. O aluno que tem capacidade de aprender com independência possui competência  informacional e busca   informação relacionada com os seus interesses pessoais com persistência.
5. O aluno que tem capacidade de aprender com independência possui competência informacional e aprecia literatura e outras formas criativas de expressão da informação.
6. O aluno que tem capacidade de aprender com independência possui competência informacional e se esforça para obter excelência  na busca de informação e   de geração de conhecimento.

R e s p o n s a b i l i d a d e   s o c i a l

7. O aluno que contribui positivamente para a comunidade de aprendizagem e para a sociedade tem competência informacional e reconhece a importância da informação para a sociedade democrática.
8. O aluno que contribui positivamente para a comunidade de aprendizagem e para a sociedade tem competência informacional e pratica o comportamento ético em relação  à informação e à tecnologia da informação.
9. O aluno que contribui positivamente para a comunidade de aprendizagem e para a sociedade informacional tem competência informacional e participa efetivamente de grupos, a fim de buscar e gerar informação.

AMERICAN ASSOCIATION OF SCHOOL LIBR ARIANS/
ASSOCIATION FOR EDUCATIONAL COMMUNICATIONS
AND TECHNOLOGY. Information power: building partneships for learning. Chicago: ALA, 1998. p. 8-9 (tradução nossa).
O tom de urgência, de exortação à mudança e de desafio que perpassa.




Palestrante: RAIMUNDO ALVES PORTELA FILHO

No Segundo período de apresentação o Palestrante Raimundo Portela abordou princípios de Programação em Shell Script com YAD o tema escolhido foi: Programação em Lego (SHELL+YAD) - Exemplo de uso na CAIXA e outros. Segue alguns trechos e complementos da apresentação:

O que é Shell Script?

Shell Script é uma poderosa ferramenta de automação de instruções. Com um arquivo de texto executável o usuário ou sistema é capaz de executar uma seqüência de operações, instruções e testes. 
Usos mais convencionais e comuns são em executáveis de instalação/configuração e para geração de relatórios e análise destes. 
Qualquer outra seqüência de instruções, utilizada com regularidade e que possa ser automatizada pode ser implementada em Shell Script. Um ótimo exemplo pode ser "montar e desmontar o CD-ROM" ou "montar e desmontar o Floppy". 

O que é um Script? O que é Shell?

Scripts:
Scripts, podem ser definidos como arquivos executáveis, com instruções definidas, conhecidas e claras, que são executadas por um interpretador. PHP e arquivos de lote do Windows (bach) são outros exemplos de Script. 
Scripts possuem seqüências de instruções e funções que são executadas em série pelo interpretador, de forma muito similar a qualquer programa. 

Shell:
Shell pode ser definido como o interpretador de instruções e comandos, no nosso caso, do Linux. Quando o usuário ou sistema executa qualquer comando, o Shell é responsável pela correta 'interpretação' deste. Não é para menos que ele é conhecido como 'interpretador de comandos'. 

Por que Shell Script é tão utilizado?

Shell Script facilita consideravelmente a vida e trabalho do administrador do sistema e de qualquer outro usuário. Automatização de tarefas é refletida em aumento de velocidade e facilidade. Ao invés de copiar e colar 30 vezes o e-mail para todos os destinatários, ou utilizar um programa gráfico de mala-direta, pode ser executado um Shell Script:
- Cria um arquivo texto com a mensagem padrão e assinatura;
- Cria um arquivo texto com nome dos destinatários;
- Cria um script que "lê" os nomes um a um do arquivo texto e para cada um anexa a mensagem do outro arquivo texto, após utiliza uma função tipo "send-mail".

Apresentando o Yad

Nesse artigo o autor demostrou uma maravilhosa ferramenta para GUI (Interface Gráfica com o Usuário), que acabou de sair do forno, o Yad, um fork do Zenity que vem com diversas melhorias, dentre elas a possibilidade de fazer formulários, melhorando a interação do usuário com nossos scripts em shell.

O bichinho é tão recente que nem o manual cobre todas as opções disponíveis, o mesmo cita um exemplo mais adiante no uso de diálogo para selecionar fontes.

O autor do Yad é o ucraniano Victor Ananjevsky, e a página do projeto pode ser encontrada no:

Mesmo nessa página ainda há pouca informação sobre o uso do Yad, o melhor lugar que achei no momento é o manual dele (man yad) :-).

Caso forem buscar informações, pouca coisa ainda está disponível, o manual está datado em “Marth 24, 2011”, e ainda tem o fato de Yad ser o nome de uma ferramenta “...usada em para apontar o texto durante a leitura do Torá...” (Fonte: http://en.wikipedia.org/wiki/Yad). Então ao buscar informações, busque por 'yad fork zenity' vai ser mais fácil.

Ok, vamos em frente pois no artigo o autor pretende demostrar vários recursos do Yad, com um pequeno exemplo de cada um.

Instalação

Baixe a versão mais recente do Yad no link abaixo:

Descompacte:

$ tar –Jxf arquivo.tar.xz

Instale:

$ ./configure
$ sudo make
$ sudo make install


Pode acontecer dele reclamar de alguma dependência, aqui no meu Debian, reclamou do libgtk2, basta instalar com:

$ sudo apt-get install libgtk2.0-dev

Após instalar, podemos testar com:

$ yad
Linux: Apresentando o Yad - 'zenity melhorado'
Prontinho, vamos à parte divertida e viciante, programar :-)

Possibilidades e Exemplos de Uso

A sintaxe básica é :

yad [--tipo-dialogo] [--options]

Abaixo existe alguns exemplos com os tipos de diálogo:

--calendar (calendário)
--color (paleta de cores)
--entry (entrada de dados)
--icons (mostra uma caixa com ícones de atalho para aplicações)
--file (diálogo para selecionar arquivos)
--font (diálogo para seleção de fontes)
--form (aeeeeeee formulários)
--list (diálogo com ítens em lista)
--notification (mostra um ícone da barra de notificação do sistema)
--progress (diálogo de progresso)
--text-info (mostra o conteúdo de um arquivo texto)
--scale (diálogo para seleção de valor, usando uma escala)

Vamos lá, para cada um dos exemplos coloco o script e depois algumas imagens da sua execução.

Mais informações acesse o tutorial do próprio Autor: Clique aqui

Assim encerrou-se o primeiro dia de apresentação. Aguarde por mais novidades dos outros dias de palestras em nosso blog.

Até a Próxima!