Posts da categoria: 'Tecnologia'

Microsoft libera SP1 de Visual Studio 2008 e .Net 3.5


A Microsoft anuciou a liberação da versão final do Service Pack 1 das ferramentas .Net Framework 3.5 e Visual Studio 2008. Esses primeiros pacotes de atualizações são lançados nove meses após a chegada dos dois produtos ao mercado. Segundo a Microsoft, os pacotes incluem não apenas correções, mas também alterações que atendem a sugestões feitas por usuários.

    O SP1 do Visual Studio 2008, traz como novidades principais o suporte ao SQL Server 2008 – que está sendo lançado agora – e novos componentes, como o Ribbon, para incluir nos aplicativos faixas de opções no estilo das usadas no Office 2007. Esse último recurso está disponível para as linguagens Visual Basic e Visual C++.

    Ainda segundo a empresa, o SP1 do .Net Framework 3.5 oferece melhorias de desempenho de 20% a 45% para aplicações baseadas em WPF (Windows Presentation Foundation). Esse ganho, sustenta a Microsoft, é obtido sem nenhuma alteração no código existente. Os dois pacotes SP1 também incorporam mudanças que têm o objetivo de facilitar o desenvolvimento das aplicações Windows que utilizam ASP.Net.

    Os dois pacotes estão disponéveis nos seguintes endereços:

    Visual Studio Service Pack 1

    .Net Framework Service Pack 1

    Leia também:

    Blog: Live Mesh põe o Windows na internet

    MS corrige bugs no Windows e no SQL Server

    Blog: Windows XP SP3 em português vem em maio

    Análise de Sistemas - Modelo Transformacional (Tranformation Model)

    Este modelo é baseado na teoria da especificação formal, onde software é um sequência de passos especificados que gradativamente se transformam em implementação.

    Consistindo em 2 estágios principais este modelo prega:

    Analise e especificação de requisitos: como nos outros modelos, através da aplicação de várias técnicas onde se extrai a necessidade do negócio do cliente.

    Otimização: onde as especificações são trabalhadas e transformadas em artefatos de software, porém a cada novo ajuste nos requisitos deve-se atualizar as especificações antes das implementações de maneira religiosa, pois alterações na implementação pode gerar impactos custosos de serem resolvidos, uma vez estes impactos sendo descobertos na especificação a correção torna-se indolor.

    O processo  de transformação é controlado por 1 ou mais engenheiros (de software) para garantir a aplicação das técnicas empregadas.

    Além, este modelo prega o básico de reaproveitamento de código na forma de componentes, toda vez que um novo componente é desenvolvido pode/deve ser incorporado ao projeto (ou outros projetos) e pode ser armazenado em bibliotecas de componentes.

    Como não é novidade que requisitos inevitavelmente são alterados esta metodologia se mostra um tanto flexível nestes cenários.

    Yoomp

    Porque existem xiitas em tecnologia!

     

    Fanatismo infundado é ignorância, isso é fato, porém existem muitas discussões bem fundamentadas sobre qual tenologia é melhor, qual framework é mais produtivo, qual linguagem é mais "gostosa" de se programar, claro que às vezes os profissionais se empolgam em seus argumentos e está iniciada a batalha.

    Um profissional experiente em Java, certificado em diversos níveis, que trabalha no mínimo 8 horas por dia e não possui tempo nem motivação para se especializar em outras tecnologias dificilmente vai admitir que trabalha com uma tecnologia ruim ou defasada (nao que seja, é só um exemplo). Afinal é isso que paga suas contas e garante o leitinho das crianças.

    Um profissional Microsoft vislumbrado com as constantes novidades e facilidades (que as vezes dificultam e são um tiro no próprio pé), com centenas de coisas novas para estudar e dezenas de certificação a serem tiradas não consegue achar tempo e nem tem visão sobre outras tecnologias para poder ampliar seus horizontes.

    Uma analogia interessante seria relacionada a futebol, quem gosta jamais admite que seu time é ruim, por mais que caia para aterceira divisão a principal alegação é que é apenas uma fase e um dia volta a primeira divisão (programadores Cobol que o digam).

    Ser específico tem seus prós e contras, mas não é isso que esta em discussão, no entanto é necessário um mínimo de visão e estudo antes de opinar e formar opinião sobre outras tecnologias, proprietárias ou open, novas ou antigas.

    Apesar de muitos me considerarem "Microsoft fanboy" tento ser o mais flexivel possivel, apesar de .Net pagar minhas contas eu estudo Rails, Flex e também sou desenvolvedor PHP e posso afirmar que acho que Rails é melhor para web do que ASP.Net em vários quesitos.

    Tecnologia perfeita não existe, o que existe são excelentes profissionais e casos (cada caso é um caso) e para cada caso e recurso (humano) existe uma tecnologia melhor adequada e viável. fanatismo é ignorância e não leva a avanço algum.

    Análise de Sistemas - Modelo Evolutivo (Evolutionary Model)

    Neste modelo os estágios consistem em expandir ou incrementar o produto (software) gradativamente.

    Não se tem muito a falar sobre o mesmo, pois utiliza-se do modelo em cascata (Watrfall) para gerenciar seus processos porém com algumas resalvas. Antes de iniciar-se o desenvolvimento do produto propriamente dito este modelo prega que devemos esboçar nossa visão de solução em forma de um protótipo funcional para validação de requisitos junto ao cliente (após a análise e especificação).

    Protótipos basicamente são experimentos, modelos (rascunhos) de uma solução final que serve unicamente para se ter uma idéia de como prosseguir e logo em seguida ser descartado. Protótipos são feitos para não serem usados no produto final.

    De posse da validação dos requisitos e de um aceite do cliente (que provavelmente vai dizer que já quer usar o protótipo) pode-se iniciar o desenvolvimento seguindo as etapas após a análise e especificação. Prototipação traz alguns ganhos reais de visão de projeto, mas protótipos são um outro assunto que será abordado mais a frente.

    Windows Seven com tecnologia inovadora em 18 meses ou não né

    Seven

    É foi anunciado no evento All Things Digital que o sucessor do Vista o Windows Seven será lançado em 18 meses (ou não) com recursos inovadores, dentre eles a tecnologia Multi-Touchscreen presente no Microsoft Surface (video), o site Gizmodo revelou algumas fotos dos novos recursos em ação e no evento foi apresentado um video com as funcionalidades.

    Esperamos que desta vez a Microsoft se adiante e lançe algo descente e em dia.

    O futuro está chegando - Eu avisei

    A algum tempo em discussões sobre futuro da computação com colegas eu venho falando das minhas opiniões relacionadas ao assunto. Mobilidade é a palavra e as coisas tendem a ficar cada vez mais portáteis, notebooks ja são passado, a onda agora é Mobile, porém são extremamente limitados com relação a uso como os PCs que conhecemos hoje.

    No entanto já surgem os primeiros indícios de que minha teoria está correta, num futuro próximo os nossos Celulares, PDA’s , etc serão células de processamento e armazenamento centralizadas  bastante portáveis e independentes, para ter uma melhor interface você poderá conectar teclado, mouse, web cam, monitor, impressora ou qualquer outro periférico e utilizá-lo da mesma maneira como um computador convencional.

    Navegando pelo OhGizmo achei um artigo com a seguinte imagem:

    iodata_keyboard

    Trata-se de um teclado Bluetooth para seu aparelho (desde que tenha suporte).

    Não parece grande coisa mas já é um passo no caminho da mobilidade total. Eu avisei!

    Fonte: OhGizmo que "Kibou" do CrunchGear

    Modelos de desenvolvimento de software - Introdução

    Intende-se por modelo de desenvolvimento uma série de padrões e técnicas agrupadas que são aplicadas a um projeto, desde a idealização até a concepção do produto propriamente dito. É esse modelo que dita as regras de como o produto deve ser desenvolvido, passando por todas as etapas propostas e cumprindo-se as metas que o modelo determina.

    Modelos são importantes para organizar o processo de desenvolvimento de acordo com o proposto. Cada projeto pode necessitar de uma abordagem (e modelo) diferente, o que nos leva também a analisar qual a melhor tecnologia a se aplicar para cada situação específica.

    Existem diversas tecnologias no mercado, porém por mais que se esforçem pra isso não é possivel que uma tecnologia seja a melhor alternativa para todas as necessidades assim como os modelos não podem ser aplicados com eficácia em todo tipo de projeto.

    No decorrer desta série estaremos tratando das principais metodologias empregadas no modelo de desenvolvimento estruturado e quais os casos que as mesmas se aplicam melhor. aguardem.

    O que é Engenharia de Software

    A Engenharia segundo a Wikipedia "(<latim ingeniu = "faculdade inventiva, talento") é a arte, a ciência e a técnica de bem conjugar os conhecimentos especializados (científicos) de uma dada área do saber com a sua viabilidade técnico-econômica, para produzir novas utilidades e/ou transformar a natureza, em conformidade com idéias bem planejadas". Sendo assim Engenharia de Software é a aplicação dos conceitos de engenharia direcionados a desenvolvimento de software de qualidade, confiável e principalmente viável.

    Fritz Bauer disse em 1969: “O estabelecimento e uso de sólidos princípios de engenharia para que se possa obter economicamente um software que seja confiável e que funcione eficientemente em máquinas reais”, como podemos ver este não é um conceito novo, assim como a busca de qualidade e melhores maneiras de se obter artefatos de softwares.

    Programadores apenas codificam, analiastas analisam e assim subsequentemente, porém o papel do engenheiro de software é um tanto mais amplo. Um engenheiro de software deve ser capaz de identificar um problema, levantar requisitos, especificar processos, propor soluções e implementa-las, ou seja, a especialização de cada individuo em uma determinada área não é mais vista com bons olhos pois limita a visão do todo somente a sua área de conhecimento específica, é importante que  alem da especialidade se tenha uma visão ampla do todo.

    Existem 3 aspectos bastantes importantes sendo: métodos (como fazer), ferramentas (apoio) e procedimentos (união de métodos e ferramentas) que proporcionam aos gerentes de um projeto de software controle dos processos e aos engenheiros uma imensa base para desenvolvimento de softwares de alta qualidade com produtividade.

    Projetos de softwares podem ser coisas simples e bastante especificas até sistemas complexos e bastante grandes, o que envolve metodolias diferentes aplicadas a grandes ou varias equipes, logo o conhecimento e aplicação de metodologias, processos e técnicas tornam-se indispensaveis para se manter um ambiente saudável. Enfim engenharia de software é uma maneira concentrada e objetiva de se desenvolver software usando de alguns artifícios para se chegar a um produto (software) de boa qualidade em tempo e custos viáveis.

    Criatividade - Até na hora de configurar a rede

     

    Existem pessoas que deixam a criatividade fluir de maneiras estranhas e estão sendo criativas até na hora de escolher onde ser criativos.

    Mesmo na hora de configurar sua rede sem fio a criatividade rola solta (ou não né) e podemos conhecer mais sobre a personalidade das pessoas. Durante um certo tempo (4 meses aproximadamente) venho "colecionando" nomes de redes[bb] exóticos e neste post agrego as principais catalogando-as:

    Autruistas

    autruista1

    autruista2

    "Cinemáticas"

    cinema1

    Com Fome

    comfome1

    Corporativa Clássica

    corporativo1

    Duvidosa

    duvidosos

    Estilosa

    estilosa

    Folclóricas

    folclorico1

    folclorico2

    "Marketeiras"

    marketeiro1

    marketeiro2

    Parcerias

    parceiros

    Como vimos criatividade não tem hora nem local para aparecer e deixar sua marca registrada.

    Compare preços de Access Point e Placas Wireless.



    Segurança - Paranóia com Senhas!

    ilustracao_seguranca

    Recentemente na empresa que trabalho rolou uma discussão sobre o quanto uma senha no estilo a6HtI8&j*%FvCl$ é "mais forte" que outra no estilo aguinelo123, os argumentos utilizados eram que senhas com caracteres são muito mais difíceis de serem quebradas do que senhas numéricas ou alfanuméricas, no entanto esqueçeram de alguns poréns.

    Do ponto de vista de tentativa e erro sem dúvida senhas mais complexas são mais dificeis de advinhar, contudo advinhação não é mais um artifício muito utilizado nos dias de hoje. Quando alguém mal intensionado pretende descobrir uma senha pode utilizar outros métodos como uso de softwares, neste caso a complexidade da senha só interfere no tempo que tal software leva para fazer a analise e "montar" a senha descoberta.

    O fator que realmente devemos dar importância é o método de criptografia utilizado na encriptação da senha. O que realmente lhe da segurança é a capacidade de seu sistema de armazenamento de senha manter seus dados escondidos e protegidos de bisbilhoteiros.

    Um caso clássico que identifica muito bem o que citei acima são os Access Point que podem utilizar mais de um sistema de criptografia de dados, o mais fraco deles é o WEP, onde é necessario inserir uma senha de 26 caracteres (encriptação em 128bits), uma senha bem grande que teóricamente seria segura mas não leva mais que 5 segundos para ser quebrada, ao contrário do WPA que utiliza um nível se segurança muito mais complexo (mas não impossível) de ser quebrado.

    Recomenda-se sempre que ao criar uma senha não se utilize nenhuma informação relacionada diretamente a você como datas importantes, fragmentos de nome e sobrenome, mas o mais importante é estar ciente se o meio em que esses dados são armazenados é realmente seguro, cuide bem dos seus dados :=).

    Página Seguinte »