Archive for the ‘Artigos’ Category

Numa altura em que a segurança das aplicações e sistemas informáticos é um dos temas mais debatidos, deparo-me com o seguinte artigo: How programmers can easily choose strong passwords . O artigo é muito interessante, referindo e reflectindo sobre a “facilidade” e um programador conseguir definir uma password mais segura que os utilizadores comuns.

Na minha humilde opinião acho que qualquer utilizador poderá ser capaz de criar  uma password bastante segura e robusta, mas o que realmente acontece é que os utilizadores não o fazem por simples comodismo. Por outro lado um programador tem alguns conhecimentos a nível informático que a generalidade dos utilizadores, sabendo “teoricamente” como funcionam as técnicas de brute force, phishing entre muitas outras o que lhes permite trabalhar em password’s um pouco mais robustas.

Penso que o verdadeiro facto para os programadores conseguirem criar password’s mais robustas está dito neste frase “ We have a very peculiar job, we type stuff on our keyboards that doesn’t have any sense for the common people, but for us it sure has.”. Esta é a simples verdade, a maioria das pessoas nunca viu código fonte, e nem faz a mínima ideia do que é uma expressão ou condição de programação…

Mas como poderiam ser os “criadores” do mundo do software criar password’s pouco robustas num mundo que é por eles programado? Melhor que ninguém um programador conhece os “cantos ao software” permitindo-lhe esta vantagem!!!

E você o que acha de isto tudo??

 

Share

Artigo – BOM: Byte Order Mark

Recentemente deparei-me com um problema na manipulação de ficheiros de texto usando a linguagem de programação C. Como programador iniciante que sou desconhecia totalmente o que era o Byte Order Mark, que naquela situação em específico me estava a dificultar a vida, sem que houvesse outro qualquer erro no código fonte.

O Byte Order Mark é uma carácter usado para sinalizar a ordenação de bytes de um ficheiro de texto. O Uso do BOM é opcional, e caso seja utilizado deve aparecer no inicio do fluxo de texto, apesar do objetivo principal ser representar um carácter específico na ordenação de bytes de um ficheiro, pode também ser utilizado como representação de um qualquer carácter Unicode.

Os caracteres Unicode pode sem codificados como inteiros de 16-bit ou 32-bit. Um computador ao receber as codificações de fontes arbitrárias necessidade de saber qual a ordem dos bytes codificados dentro do BOM, indicando posteriormente essa informação ao Editor de Texto.

Aconselho a todos os programadores menos experientes e aqueles que estão a iniciar-se agora que tenham bastante atenção a esta situação quando fizerem uso da manipulação de ficheiros de texto.

Share

Sou aluno das Universidade de Trás-os-Montes e Alto Douro desde 2011 e confesso que já estou um pouco farto das falhas do Sistema de Informação e Apoio ao Aluno (SIDE) falhar quando existe uma maior afluência ao sistema.

Este sistema é uma forma de facilitar toda a organização e contacto entre alunos e professores, além de ser a plataforma de disponibilização de material de estudo por parte dos professores, mas acaba sempre por falhar nas alturas em que os alunos mais necessitam dele. A UTAD é uma Universidade que tem cerca de 7500 alunos e 540 professores pelo que não me parece um número tão elevado para que o sistema tenha de falhar tantas vezes.

Eu estudo na UTAD apenas à alguns meses e já perdi a conta à falhas do sistema, pelo que pergunto se durante os últimos anos não teria sido possível aumentar gradualmente a capacidade dos servidores onde o sistema está alojado? Não conheço o tipo de sistema e plataforma que está a ser utilizado, mas com o exponencial aumento do desempenho do hardware actual, certamente não teria sido muito difícil alocar mais uma máquina ao sistema.

Este é apenas um comentário de um aluno que apesar do pouco tempo que estuda na UTAD já está um pouco saturado das falhas que o sistema informático possui, e apenas me pergunto se numa instituição que tem uma vertente de investigação e treino de profissionais não será possível resolver ou minimizar as falhas do sistema, pois penso que o número de alunos e professores não é assim tão significativo para tornar o melhoramento do sistema demasiado complexo e exequível.

Share

Software de controlo de versões é um software muito utilizado por programadores com o objectivo de gerir e organizar diferentes versões no desenvolvimento de software.

Este tipo de solução está normalmente implementada em grandes projectos de software, mas cada vez mais é usado em quase todos os projectos que envolvam programação de modo a facilitar a organização e controlo do desenvolvimento por parte de uma equipa.

Alguns dos problemas que podemos encontrar num projecto de desenvolvimento de software são muitas vezes causados pela falta de controlo e gestão das versões. Ao usar um software de controlo de versões é possível fazer rapidamente uma avaliação da situação em que se encontra o desenvolvimento e responder facilmente às seguintes questões:

1 – Quem é que efectuou a ultima alteração ao código e em qual das partes.
2 – A última versão está ou não funcional
3 – Qual o progresso do desenvolvimento

Todas as equipas devem usar um software de controlo de versões, mas podemos rapidamente saber se precisamos ou não de o usar respondendo as seguintes questões:

1 – Alguém já escreveu o código sobre o código criado por outra pessoa por acidente e acabou por perder as alterações?
2 – Tem dificuldades em saber quais as alterações efectuadas em um programa, quando foram feitas e quem as fez?
3 – Tem dificuldade em recuperar o código de uma versão anterior que está em produção?

Se alguma destas situações já tiver acontecido então é porque a equipa necessita de utilizar um software de controlo de versões para se organizar e sobretudo poder recuperar versões anteriores caso existam falhas na nova versão.

As principais vantagens do uso de um software de controlo de versões são:

- Controlo do Histórico: Permitindo com facilidade recuperar o trabalho efectuado anteriormente
- Trabalho em equipa: Torna possível o trabalho num único projecto por vários elementos ao mesmo tempo aumentando a produtividade.

- Marcação e uso de versões estáveis: Torna possível a marcação de versões estáveis.
- Ramificação do projecto: Possibilita a divisão do projecto em várias linhas de desenvolvimento que podem ser desenvolvidas paralelamente.

Existem diversos softwares de controlo de versões actualmente, tais como:

- Source Control do Visual Studio
- Tortoise
- Mercurial
- SVN e AnkhSVN
- Team Foundation Server
- Git
- TFS
- Sourcesafe / CVS

Conclusão:

Em projectos complexos torna-se essencial o uso de um software de controlo de versões, pois não só mantém todo o trabalho organizado como é uma segurança ampliando a possibilidade do trabalho em equipa e em diversos componentes paralelamente.

Share

DTD ou XML Schema

Um documento XML poderá conter vários tipos de informação, ou seja, um documento XML poderá ser adaptado mediante as necessidades.

Para entender-mos melhor este conceito podemos definir o XML como a linguagem mãe e todas as suas adaptações como sub – linguagens ou meta – linguagens. Existem duas meta – linguagens com as quais podemos definir as sub – linguagens que poderemos obter a partir do XML, e são elas o DTD e o XML Schema.

O DTD (Defenition Type Document) utiliza uma sintaxe especial que é diferente da sintaxe do XML. Continua a ser uma linguagem simples embora seja um pouco rara. De modo a evitar a sintaxe especial do DTD tentou-se encontrar uma outra forma de escrever em XML a definição de outra linguagem, foi então que apareceu o XML Schema.

É importante referir que tanto o DTD como o XML Schema permitem comprovar a integridade dos dados de qualquer documento.

É estimado que cerca de 70% das linhas de código escritas pelo programador são orientadas a comprovar a integridade dos dados.
É extremamente importante verificar a integridade dos dados, eliminando assim a probabilidade de processar dados com erros que poderiam tornar-se desastrosos no futuro.

Related Posts Plugin for WordPress, Blogger...Share