Arquivo para Fevereiro, 2009

20
Fev
09

Google Earth mapeará emissões de dióxido de carbono nos EUA

Uma equipe de cientistas norte-americanos está usando o Google Earth para mostrar as emissões de dióxido de carbono pela queima de combustíveis fósseis nos Estados Unidos.

O mapa em alta resolução (disponível no endereço purdue.edu/eas/carbon/vulcan/GEarth) mostra as emissões de CO2 por tonelada em áreas residenciais e comerciais de cada Estado, com opções de avaliação por cidade ou per capita.

Denominado de Vulcano (em razão do deus romano do fogo), o projeto, que levará três anos para ficar completo, calcula as emissões por setores, como o aéreo, o comercial, de produções elétrica e industrial, o residencial e o de transporte. Os EUA são responsáveis por 25% das emissões de CO2do mundo.

“Isso levará informações de emissões para todos em suas casas. Uma experiência on-line acessível e facilitada”, disse Kevin Gurney, líder do projeto e professor-assistente de ciências terrestres e atmosféricas de Purdue.

Simon Ilyushchenko, engenheiro do Google que trabalhou no projeto, disse que “a integração dos dados com o Google Earth é um caminho para o avanço do entendimento público sobre o uso de combustível fóssil.”

“Os mapas dinâmicos de dados, cruzados por diferentes pesquisas de emissões, mostram facilmente onde pessoas queimam mais gasolina dirigindo”, afirmou.

O projeto Vulcano é integrante dos dados sobre emissões de dióxido de carbono da Agência de Proteção ao Ambiente dos EUA e do Departamento de Energia dos EUA (criado pela agência espacial Nasa). Os dados atuais são de medições de 2002, mas cientistas disseram que planejam incorporar dados mais recentes.

fonte:folhaonline

:: LUCIANA COSTA ::

18
Fev
09

Brasil tem mais telefones do que habitantes

No fim de janeiro, o Brasil atingiu a marca de 194 milhões de aparelhos telefônicos, superando a marca de 191 milhões de habitantes.

A informação foi divulgada pelo colunista da rádio CBN, Ethevaldo Siqueira, e diz que do montante 152 milhões são aparelhos celulares e 42 milhões fixos.

A média total é de 101 aparelhos para 100 habitantes. Apesar dos números, não se pode afirmar que todos os braslieiros têm um telefone, mas alerta para o estrondoso crescimento.
fonte: adnews

18
Fev
09

Google é processado por abuso em propaganda

Uma ação da empresa TradeComet.com acusa o Google de abuso e fraude nos preços de anúncios. A empresa concorrente alega que o Google manipula seus sistema para que os preços das publicidades sejam caros.

Segundo um documento de 38 páginas, a TradeComet.com afirma que a prática acontece principalmente com publicidade inserida no mecanismo chamado Source Tool. Para a companhia, o Google utiliza seu poder de mercado para criar um monopólio, prejudicando e eliminando sites rivais.

Em um comunicado, o gigante de buscas declarou que existem diversas opções de serviços de anúncios online e que ainda não teve acesso às reclamações. “Como já deixamos claro, o mercado de publicidade em que o Google opera é altamente competitivo e os anunciantes dipõem de muitas opções”, afirmou a companhia

Com informações da Associated Press

18
Fev
09

Microsoft aposta em Windows Mobile 6.5 para ganhar mercado de móveis

A Microsoft anunciou, nesta segunda-feira (16), o lançamento do seu novo sistema operacional para aparelhos celulares Windows Mobile 6.5, que inclui diversos aplicativos semelhantes aos da Apple, além da disposição do programa de conversação Windows Live Messenger (popularmente conhecido como “MSN”) para dispositivos móveis.

Tom Bailey, diretor de Mobile Communication Business da Microsoft, afirmou que o executivo-chefe da empresa de softwares, Steve Ballmer, apresentará o sistema operacional oficialmente na World Mobile Congress, principal feira mundial de telefonia celular que começa hoje, em Barcelona.

“Com o Windows Mobile 6.5, estamos em boa forma para estender nossa fração de mercado e nossa base de usuários”, disse Bailey.

Segundo o executivo, o Windows Mobile 6.5 incluirá um serviço chamado My Phone, que permitirá aos usuários armazenarem mais facilmente contatos, calendários e fotos, e transferi-los a outro celular se mudarem de aparelho. “O serviço será gratuito e estará disponível imediatamente para os usuários das versões anteriores do Windows Mobile”, informou.

Ele resumiu, entretanto, que a principal característica da nova versão do sistema operacional é sua capacidade de “melhor integração entre PC e telefone.”

Outro aplicativo desta versão, segundo o site da “PC World”, é o Recite, que permite a procura de notas armazenadas em voz.

América Latina

Tom Bailey adiantou que a Microsoft anunciará, durante a feira de Barcelona, acordos de colaboração com operadores de telefonia na América Latina. Um dos parceiros inclui a Telefônica, com a intenção de estender os serviços do Microsoft Live. Os acordos pretendem levar os serviços a 20 países da América Latina e a mais de 300 milhões de clientes.

“Mais de 500 milhões de pessoas usam algum tipo de serviço do Microsoft Live, como Hotmail, Messenger, mas nos demos conta de que não há muitos que os usam em seu telefone celular”, explicou o diretor, acrescentando que a Windows Mobile aumentou seus negócios em 160% na região durante o ano passado.

Na frente da Microsoft, nesta parcela de mercado, está a Symbian, que opera quase todos os smartphones da Nokia e RIM, fabricante do BlackBerry.

Os especialistas acham que a Microsoft se concentrou demais nos clientes corporativos, enquanto seus concorrentes lançaram cada vez mais aplicações para todo tipo de consumidores e o uso pessoal dos “smartphones” se popularizou.

fonte: folhaonline

;; LUCIANA COSTA ::

18
Fev
09

Empresas fecham acordo para criar carregador universal de celular

493534_tdqspFabricantes e operadoras fecharam um acordo nesta terça-feira (17), no Congresso Mundial da Telefonia Móvel em Barcelona, para trabalharem juntas na criação de um carregador universal para os celulares. A ideia é preservar o ambiente.

 

Importantes fabricantes de celular participam na iniciativa, como Nokia, Motorola, LG, Sony Ericsson e Samsung, assim como produtora de componentes para telefones Qualcomm.

Operadoras como Orange, 3 Group, AT&T, KTF, Mobilkom Austria, Telecom Italia, Telefônica, Telenor, Telstra, T-Mobile e Vodafone também se associaram ao projeto.

“O objetivo é que a maior parte dos celulares vendidos em 2012 seja compatível com o carregador universal”, afirma Michael O’Hara, diretor de marketing da associação de operadoras GSM, principal incentivador da iniciativa.

Este carregador deverá reduzir o consumo de energia em 50%.  A ideia de um carregador universal, defendida por ambientalistas, deve evitar o desperdício desses aparelhos, que são jogados no lixo quando o usuário troca de celular.

FONTE: folhaonline

:: LUCIANA COSTA ::

18
Fev
09

Skype reformula programa com ênfase em vídeos

 

09035217

O Skype anunciou nesta quarta-feira (4) a nova versão de sua plataforma de comunicação on-line. Segundo a companhia, agora é mais fácil iniciar uma chamada com vídeo, inclusive em tela cheia.

Um novo gerenciador de banda integrado permite que os usuários tenham a melhor experiência de chamada com vídeo mesmo com uma conexão de banda larga com relativa baixa velocidade. O novo programa também promete atingir boa qualidade de som usando 50% menos da banda necessária nas outras versões.

O programa está disponível para usuários de Windows em www.skype.com/go/download. Propriedade da empresa de leilões virtuais eBay, o Skype conta com 370 milhões de usuários no mundo todo.

Fonte: Folhaonline

:: LUCIANA COSTA::

18
Fev
09

Telefônica lança serviço de vídeo sob demanda por fibra óptica em SP

A Telefônica e a TVA lançaram nesta terça-feira (17), em São Paulo, o serviço TVA Xtreme, que vai oferecer TV fechada, serviços de vídeo sob demanda, conexão à internet e ligações locais por fibra óptica.

O sistema coloca à disposição do assinante uma locadora virtual com cerca de 600 títulos, entre filmes, shows e séries –o aluguel avulso, disponível nos formatos standard definition e high definition, custa R$ 3,90.

O serviço já está disponível em 26 bairros de São Paulo: Jardins, Campo Belo, Caxingui, Chácara Santo Antônio, Aeroporto, Bela Vista, Cidade Jardim, Consolação, Interlagos, Jardim Everest, Jardim Leonor, Jardim Morumbi, Jardim Panorama, Jabaquara, Jardim Bonfiglioli, Lauzane Paulista, Mirandópolis, Morumbi, Água Branca, Perdizes, Pinheiros, Santana, Santo Amaro, Tremembé, Vila Madalena e Vila Mariana.

A assinatura completa custa R$ 339,90 e dá direito a conexão à internet de 30 MB, modem Wi-Fi, decodificador em alta definição, gravador digital de 160 GB e ligações locais (sem limite de telefone fixo para outro fixo).

De acordo com a Telefônica, a rede de fibra óptica da empresa está disponível para 370 mil domicílios no Estado de São Paulo. Além dos bairros da capital, o sistema será implantado nas cidades de Barueri, Cotia, Santo André, São Bernardo, São Caetano, Campinas e Santos. Entretanto, nem todas essas regiões terão o sistema de aluguel de vídeos.

Fonte: da Folha Online

;; LUCIANA COSTA ::

18
Fev
09

ASP.Net

Olá pessoal,

Tudo bem?

Só novidades!  :)

O site está ficando quase pronto (na realidade já deveria estar) mas sabe como é nossa agenda?! São  aulas, empresa, consultoria … um corre-corre danado.

Haja tempo! Melhor… FALTA TEMPO!!!

:(

Para o site já tenho várias matérias (inéditas) prontas, apenas aguardando… mas por aqui continuamos com o nosso rol de informações com base em TI.

O assunto hoje (tema deste post) é ASP.NET.

Ha 3 semanas encerrei a primeira temporada com 3 turmas em treinamento de ASP.NET e uma pergunta  de praxe é se ASP é igual ao ASP.Net.

Pela experiência que tenho nesta linguagem (asp clássico) e  .Net, que houveram mudanças sim… mas nada tão radical. Talvez consideremos como uma EVOLUÇÃO.

Porém (particularmente) parto do princípio que toda evolução é um processo de melhoria.

No livro de Mathew ele explana muito bem o conceito, vejamos:

O que é então a ASP .NET ?

Podemos dizer que ASP .NET é a próxima geração da ASP e tem o objetivo de poder ser usada para criar sites de grande escala comercial como pequenas aplicações para intranet de uma maneira simples e fácil.

Algums benefícios da ASP.NET :

  • Páginas ASP.NET são compiladas – Quando uma página ASP.NET é requisitada ela é compilada e vai para o cache do servidor ; são assim carregadas mais rápidas
  • Páginas ASP.NET são construidas com controles de interface do lado do servidor : Controles de interface básicos (TextBox , Label , etc…) ; Controles de validação , Controles de Dados (DataGrid, etc..) , Controles mais complexos ( Calendários , ad rotator , etc..)
  • ASP.NET é parte do .NET Framework – O .NET Framework torna disponível mais de 3000 classes que podem ser usadas para as aplicações ASP.NET . Classes para gerar imagens, enviar email, etc… Como a ASP.NET faz parte do .NET Framework todas essas classes podem ser usadas dentro de uma página ASP.NET
  • ASP.NET é totalmente orientado a objeto
  • Com o Visual Studio .NET o ambiente integrado permite criar uma página apenas arrastando e soltando os controles no formulário Web.

A ASP.NET traz então o desenvolvimento das ferramentas RAD – Rapid Application Development- orientado a componentes para a WEB pois fornece : Web Forms , Web Controls e XML Web Services.

Se você já trabalha (ou trabalhou) com ASP Clássico perceberá  que existe uma leve (leve mesmo!) semelhança entre os códigos eles são similares.  SÃO CÓDIGOS BEM PREVISÍVEIS! (de fácil leitura e interpretação).

Exemplo de código ASP :

 
<HTML>
<BODY>
<%
If Hour(Date) > 12 Then
     Response.Write("Boa Tarde")
Else
    Response.Write("Bom Dia")
End If
%>
<BR>São <%=Time%>
</BODY>
</HTML>

Exemplo de código ASP :
 <%@ Page Language="VB"  %>

<script language="VB" runat="server">
Sub Page_Load(Sender AS Object, E as EventArgs)
   If Hour(Now) >= 12 Then
        resposta.text= "Boa Tarde"
    Else
        resposta.text= "Boa Dia"
    End If
     resposta.text = resposta.text & "<br> São " & Now()
End Sub
</script>

<HTML>
<BODY>
   <asp:label id="resposta" runat="server"/>
</BODY>
</HTML>
 
Pode parecer igual , mas não é. É mais estruturado e ... complexo ( a primeira vista).
Embora o código ASP seja muito simples ( rídiculo até ) podemos identificar nele as mazelas da ASP:
  1. O código é executado linha por linha
  2. Temos misturado o código da página (HTML) e o da lógica da página.
  3. E dífícil reaproveitar o código ( embora , devido a simplicidade do mesmo isto não esteja tão evidente)
  4. Ele depende da plataforma . ( Funciona perfeitamente no IE , e no Netscape ? Opera ? ., etc..)
  5. O VBScript , a principal linguagem de script ASP, não diferencia os tipos de variáveis.
O mesmo código em ASP.NET já evidencia o que vem por ai:
  1. O código da lógica da página esta separado da interface
  2. O código esta estruturado e legível
  3. Logo na primeira linha temos novidades: A indicação de qual linguagem estamos usando. No caso VB , mas podemos usar : C# , VB , C++ , etc..
  4. Com ASP.NET temos a programação orientada a eventos .
Fonte parcial(código): macoratti

::LUCIANA COSTA ::

16
Fev
09

Comunicado

Olá pessoal,

Tudo bem?

Apenas para comunicá-los que estarei ausente (ou menos frequente por aqui) pois estarei realizando dois módulos de um curso de TI.

A atualização deve ser uma constante! Voltarei com uma bagagem maior de conhecimento e compartilharei com vcs por aqui.

Estarei retornando a partir de  02/03/2009.

Até Lá!!!

:: LUCIANA COSTA ::

16
Fev
09

VB.Net-> Express Edition (limitações – Parte2)

Olá,
Dando sequencia as limitações das Versões Express Edition, podemos destacar que a distribuição de aplicação fica imposibilitada. Ou seja não é permitido gerar pacotes de instalação.

Infelizmente não existe suporte a projeto de instalação no Visual Studio Express (seja qual for a version).
NOssa dica e sugestão neste caso é migrar para uma versão Professional ou Team System.
(Nada de pirataria galera!)

Abraços,
:: LUCIANA COSTA ::

10
Fev
09

VB.Net-> Express Edition (limitações)

Olá Pessoal, 

Tudo bem?

Bom… estamos com mais um post sobre a plataforma Net. Em específico as versões disponíveis pela Microsoft:  EXPRESS EDITON

A Microsoft disponibiliza em seu site as versões Express (que  são versões gratuitas). Sendo ela gratuita você perceberá que a ferramanta terá alguns recursos limitados (por exemplo no Visual Studio 2005/2008).

Pois bem… sempre comunico em sala de aula que SOU 110% CONTRA A PIRATARIA e não recomendo a compra de alternativos (por milhares e ilhares de motivos), no entanto, a Microsoft nos libera  as versões Express que atendem totalmente às necessidades dos programadores  deixando muito pouco a desejar em relação a versão completa do Visual Studio( se comprdo com o que está disponível).

:)

Concordo que alguns dos recursos naõ estão disponíveis na versão Express, tais como:  ferramenta para criação de relatório como o Crystal Reports, solution folders, projetos de teste unitários…  

Outra diferença é que para cada linguagem existe uma ferramenta separada, assim como para web. Dessa forma, temos as seguintes ferramentas:

No site é possível fazer o download de uma imagem ISO com todas as ferramentas em um mesmo pacote (prepare tempo e banda- pois são quanse 3Gb se baixar tuuuuudo), para instalações offline.

-> Para seguir o link para Instalação Offline do Visual Studio Express Edition.

Também é necessário efetuar o registro de cada uma das ferramentas. A boa notícia é que o registro é gratuito.

;)

Agora cá entre nós tudo é negócio + lucro, imagine se uma empresa (seja ela qual for) ela produz softwares e lhe oferece um pacote full e gratuito… lhe pergunto: Qual motivo seria de sua existência? Qual a real razão de uma empresa existir? Se produz algo e espera-se naturalmente um retorno. 

:)

:: LUCIANA COSTA ::

09
Fev
09

Hotmail agora com espaço ilimitado

O pessoal do Hotmail anunciou uma série de melhorias que estão chegando ao webmail, mas uma em especial chamou a atenção: espaço ilimitado para armazenamento!

Sim, a partir de agora o espaço para armazenamento é ilimitado. Ao ser criada, a conta começa com 5GB e vai aumentando conforme o usuário precisar de mais espaço (pode demorar algumas semanas para aparecer para todos).

Mas existe uma ressalva:

“Nós concebemos o armazenamento do Hotmail para crescer com você, mas a um ritmo razoável. Isso significa que você deve ter muito espaço para armazenamento, a menos que você queira armazenar o planeta Júpiter no Hotmail e, neste caso, enviaremos um simpático e-mail pedindo-lhe o favor de não tentar armazenar planetas no Hotmail (embora o armazenamento gradual de planetas, luas e asteróides esteja ok)”, informou a equipe no blog oficial.


Windows Live Hotmail

ONDE: MSNTECNOLOGIA

09
Fev
09

A verdade sobre a Microsoft e suas demissões

33981-ms0

Embora no último trimestre a Microsoft tenha faturado 2% a mais do que o mesmo período do ano passado, o lucro e os resultados fiscais foram abaixo do esperado, e empresa anunciou cortes de gastos e demissões. Os resultados ruins e as demissões da Microsoft alimentaram a mídia nos últimos dias, e como era de se esperar, muitos sites publicaram muita bobagem sobre o assunto.

Abaixo estão algumas informações mais reais e menos fantasiosas sobre o que acontece com a Microsoft:

1. Por causa da recessão econômica, a venda de PCs com Windows pré-instalado despencou nos últimos meses. Como boa parte do faturamento e lucro da Microsoft vem daí, as consequências disso são óbvias: menos computadores vendidos significa menos licenças OEM vendidas, gerando menos faturamento e lucro nesta área.

Alguns jornalistas alegam que o Windows Vista é o culpado pela queda do faturamento, mas isso não faz sentido algum: se ele fosse culpado pela queda do faturamento, isso teria acontecido depois do seu lançamento em 2007 – e não somente agora, em 2009. A queda de vendas de desktops e notebooks teve motivo puramente econômico, e não por causa da versão do Windows utilizada neles. Outra prova disso é que a venda comercial (nas lojas) do Windows Vista aumentou 19% em relação ao trimestre anterior.

2. Os resultados fiscais da Microsoft foram abaixo do esperado, pois no último trimestre ela faturou US$ 900 milhões a menos do que o previsto. Embora isso pareça muito, não é, pois no último ano fiscal ela faturou mais de US$ 60 bilhões. Os US$ 900 milhões representam apenas 1,5% do total, e numericamente equivaler à paralisação do faturamento por 5 dias durante todos os 365 dias do ano.

O que preocupou o mercado não foi o valor em si, mas sim a Microsoft apresentar uma queda de faturamento, algo inédito nos seus 34 anos de existência. Evidentemente em uma época de recessão, as empresas venderão menos, e a Microsoft não está imune a isso. A queda nas vendas, faturamento e lucro acontecerá em praticamente todas as empresa durante este ano. Quem ainda não foi afetada, será nos próximos meses.

3. Como qualquer empresa que quer cortar custos, a Microsoft diminuiu a sua verba de marketing, congelou os salários dos funcionários, e implantou medidas para economizar 20% nos custos de viagens dos seus funcionários e vendedores. As medidas visam economizar US$ 1,5 bilhão neste ano, mas os clientes e profissionais que trabalham com produtos Microsoft não sentirão nenhuma diferença (muito menos aqui no Brasil).

Outros cortes de gastos para este ano estão longe da vista do público, como o adiamento da construção de um super-datacenter de US$ 500 milhões em uma área de 170 mil metros quadrados na cidade de Des Moines nos EUA (embora a construção do datacenter em Chicago e em Dublin, na Irlanda, continuará normalmente). Aliás, não foi só a Microsoft que adiou a construção de datacenter: no final do ano passado, o Google também adiou a construção de um imenso datacenter em Oklahoma.

4. A Microsoft tem 91 mil funcionários e somente 1.400 foram dispensados. Nenhum deles na área de Windows. As duas áreas mais afetadas foram a do Flight Simulator (com o fechamento da Aces Game Studio, parte do Microsoft Game Studio (MGS) responsável por esse game) e a área de Entretenimento e Periféricos (Windows Mobile, XBOX e Zune), que teve o seu time reduzido.

Nenhum produto ou serviço será afetado, pois as demissões visaram “enxugar” as equipes. No caso do Flight Simulator, ele continuará a ser desenvolvido por outras equipes da MGS.

5. A Microsoft planeja dispensar mais 3.600 funcionários em 18 meses (cerca de 200 funcionários/mês), sendo que a maioria são funcionários terceirizados. Isso não é nada para uma empresa com mais de 90 mil funcionários, e neste mesmo período serão contratados alguns milhares de novos funcionários para novas áreas, como a área de busca.

É importante lembrar que há anos a Microsoft contrata em média 7 mil novos funcionários por ano, e a partir desse ano a empresa continuará contratando, mas em menor número.

6. Este ano será lançado o Windows 7, no ano que vem será lançado o Office 14, e no lançamento de novas versões destes produtos há um aumento considerável de receita e lucro. E o Windows 7 será especialmente lucrativo para a Microsoft, por três motivos:

1)  Muitas empresas migrarão do XP para o Windows 7, ao invés de migrarem do XP para o Vista. Os principais fatores são os requerimentos, drivers e performance.

Requerimentos: como o Windows 7 tem os mesmos requerimentos de hardware do Windows Vista, não há mais a necessidade de upgrade de hardware. Isso era necessário em 2006, quando o Vista foi lançado, e foi uma das principais reclamações do mercado.

Drivers: todos os drivers de periféricos do Vista funcionarão no Windows 7. Com isso, evita-se problemas de incompatibilidade de periféricos com o sistema operacional, e praticamente todos os periféricos lançados nos últimos anos funcionarão no Windows 7.

Performance: a Microsoft ouviu as reclamações do mercado e está criando o Windows 7 de maneira que ele seja muito mais rápido do que o Vista, e mais rápido do que o XP. E ela está no caminho certo: recentemente o site ZDNET realizou 46 testes de desempenho, comparando XP x Vista x Windows 7, e o Windows 7 venceu 42 deles. Leia mais aqui.

2) Os netbooks estão vendendo milhões de unidades no mundo todo, mas a Microsoft lucra pouco com eles.

Como muitos estão comprando netbooks (pequenos notebooks que vêm com Windows XP pré-instalado) ao invés de notebooks (modelos tradicionais que vêm com Windows Vista pré-instalado), o lucro da Microsoft é muito menor, pois a licença do XP é mais barata do que a licença do Vista.

Quando o Windows 7 for lançado, isso acabará, pois a partir desse dia todos os netbooks usarão este sistema operacional (pois haverá uma versão dele destinada especificamente a netbooks), gerando mais lucro para a Microsoft e mais benefícios para os usuários.

3) Usuários comuns que usam Windows XP migrarão para o Windows 7, pois atualmente muitos usuários do XP não vêem vantagem em migrar para o Vista, e também reclamam que o Vista é lento. Com o Windows 7 será diferente, pois estes usuários ficarão satisfeitos em ter um sistema operacional tão ou mais rápido do que o XP, e com todos os benefícios do Vista (mais segurança, aplicações e compatibilidade).

Lembre-se que o Windows XP foi lançado em 2001, e daqui dois anos ele completará uma década no mercado (!!), sofrendo problemas de suporte, compatibilidade com aplicações recentes e drivers de periféricos, algo natural para um sistema operacional tão antigo.

Obs: muitos adoram o Vista e jamais voltariam para o XP, mas críticos do Windows (qualquer versão) não adoram nada. E mesmo para eles, os reviews do Windows 7 têm sido excelentes. Até mesmo o fundador o Ubuntu e muitos usuários de Mac elogiaram o Windows 7, enquanto o The Wall Street Journal publicou que o “Windows 7 faz o Vista ‘comer poeira’e o New York Times publicou que usuários que odeiam o Vista devem gostar do Windows 7. Nada mal para um sistema operacional que está na fase inicial de testes e sequer foi otimizado..

5. A área de servidores da Microsoft vai muito bem, tendo crescido 15% nos últimos três meses: as empresas continuam comprando e implantando Windows Server 2008, Hyper-V, System Center e SharePoint. Um detalhe importante é que o crescimento da área de servidores da Microsoft têm sido superior a 10% há anos, e isso não mudou com a recessão.

6. O X-BOX também vai muito bem: houve um crescimento de 3%, e foram vendidos 6 milhões de consoles (mais do dobro de vendas do Playstation 3) no último trimestre. Além disso, em algumas semanas o número total de consoles de XBOX 360 ultrapassará 30 milhões, há 17 milhões de usuários pagantes do XBOX Live e neste ano serão lançados duas novas versões do Halo 3.

O Halo 3 é um dos jogos mais lucrativos da Microsoft: no dia do seu lançamento ele gerou US$ 170 milhões, 12 dias depois já haviam sido vendidos 3,3 milhões de cópias, e a venda mensal de consoles XBOX 360 dobrou nos meses seguintes ao seu lançamento.

Há mais de um bilhão de usuários de Windows no mundo todo, e esse número continua crescendo. Neste momento, aonde quer que você esteja lendo este artigo (em casa ou no trabalho), certamente há outro computador com Windows em um raio de 50 metros daí. E isso não mudará. 

Mesmo que em 2009 a Microsoft tenha um crescimento menor do que o previsto no ano passado (como é de se esperar em qualquer empresa em um mercado em recessão) e fature menos de US$ 60 bilhões, isso está muito longe do exagero e pessimismo da “mídia especializada”, que prevê uma catástrofe na Microsoft, o fim dela, “a queda do império”, o fim do Windows, e um monte de baboseiras similares…

ONDE: MSNTECNOLOGIA

:: LUCIANA COSTA ::

09
Fev
09

Dia da Internet Segura no Brasil

banner2-sid-270x100Safer Internet Day

O Dia da Internet Segura (“Safer Internet Day”) é uma iniciativa anual da INSAFE, rede de organizações patrocinada pelo programa Safer Internet Plus, da Comissão Européia. O objetivo geral da rede e da data é promover o uso ético e seguro da Internet e outras tecnologias, por meio da difusão de informações, recursos e guias de boas práticas.

Em 2008, 56 países participaram do evento. Neste ano, no dia 10 de fevereiro, ocorrerão atividades educativas e de prevenção em 65 países.

No Brasil, a organização do evento está sob a responsabilidade da SaferNet Brasil e do Ministério Público Federal, os quais vêm buscando outras instituições interessadas em participar da rede, por meio do desenvolvimento de atividades de prevenção e da divulgação de informações.

A proposta do evento é a responsabilidade compartilhada entre governos, educadores, pais, ONGs, veículos de mídia, indústria e outros atores relevantes na proteção dos direitos dos cidadãos no que se refere ao uso das novas tecnologias. Os organizadores acreditam que a parceria entre esses atores é fundamental para garantir o uso positivo dessas novas tecnologias, bem como reduzir os riscos decorrentes de comportamentos perigosos ou abusivos.

Objetivo
Envolver os diferentes atores institucionais, públicos e privados, na promoção de atividades de conscientização em torno do uso seguro e responsável das novas tecnologias de informação, especialmente por crianças e adolescentes. O dia 10 de fevereiro concentrará o maior números de atividades e será também uma oportunidade para a formação e consolidação de parcerias em torno do tema.

Atividades propostas para o Dia da Internet Segura:

- Campanhas de conscientização na mídia (inserção do tema na programação regular, produção e veiculação de campanhas informativas, anúncios, websites, comunidades, blogs).‏
- Concursos e games envolvendo crianças
- Seminários com pesquisadores, provedores, pais e jovens
- Coletivas de imprens
- Gincanas em escolas
- Chats com especialistas

Confira as atividades marcadas para o Brasil. PARTICIPE!

onde: msntecnologia

:: LUCIANA COSTA::

 

08
Fev
09

Programando em equipe – Parte2

Continunação

 

Programador procedural no mundo orientado a objetos:

* Reduza a visibilidade da classe - Nunca deixe público e exposto pela classe algo que somente está sendo usado por ela internamente (atributos e métodos). Quanto mais coisas públicas as classes possuírem, menos flexibilidade de manutenção ela terá.

* Use sobrecarga de métodos - Dê preferência à sobrecarga de métodos em vez de ficar implementando controle de lógica baseado na passagem de parâmetros.

* Longas listas de argumentos - Métodos com muitos parâmetros refletem em geral a falta de percepção de que está faltando a criação de um objeto que contivesse estes dados devidamente encapsulados, utilizado posteriormente como agregação.

* Classes sem métodos ou sem atributos - A classe é a expressão de um componente portador de características e comportamentos. Salvo em raros casos, na utilização consciente de design patterns.

* Reutilização de código - Na POO podemos reutilizar código de duas formas: por herança ou agregação. Sempre faça uma análise crítica no caso de qual utilizar, mantendo em mente de que a agregação é a forma mais flexível. Entretanto, existirão casos de herança (considere casos de classes abstratas). De forma alguma faça CTRL+C e CTRL+V nas classes por menor que seja a circunstância!

* Polimorfismo sempre - Use indiscutivelmente quando puder argumentos, variáveis, tipos de retornos polimórficos. Não existe nenhuma outra coisa na POO que ofereça mais flexibilidade e manutibilidade como a codificação polimórfica.

* Classes Enormes - Isso é uma das picaretagens mais feias que podem ser feitas contra o patrimônio OO!!! Nunca faça classes longas, cheias de métodos, resolvendo tudo……é o famoso canivete suíço. Passe um pente fino nas classes usando a SRP – Single Responsability Principle – na qual afirma que cada classe deve ser implementada para resolver apenas uma situação, uma responsabilidade! Busque a granularidade certa entres as classes do seu projeto, considerando, é claro, o escopo em questão.

* Métodos Enormes - Métodos grandes, cheios de controle de fluxo normalmente devem ser analisados e fracionados em métodos menores com visibilidades mais restritas.

* Abuso em Recursos Estáticos - Outra ofensa contra o patrimônio OO! Na POO não existem funções e variáveis globais perdidas no espaço mágico do mundo encantado! Tudo é objeto se relacionando com outro objeto através de seus estados e ações. Classes que apresentam abusos deste recurso expressam que o programador (autor) não conseguiu visualizar as abstrações e seus relacionamentos dentro do contexto da implementação. Recursos estáticos representam um escopo especial que é compartilhado por todos os objetos de uma classe e devem ser usados para satisfazer somente este caso.

* Nunca Reinvente a Roda - O Java tem 14 anos (desde 1995) de existência e apresenta uma série de recursos agrupados pelas plataformas. Fora isso, existem muitos produtos proprietários, open-source ou pagos e, por esse motivo, nunca tente elaborar ou inventar algo do zero antes de pesquisar a fundo! Porque na maioria dos casos você vai achar alguma coisa pronta (classe, componentes, framework, especificação, produto open-source ou proprietário pago com preço acessível) para resolver aquilo que você está necessitando!

* Encapsulamento - Sempre esconda as estruturas internas de uma classe e controle o acesso ao estado dos objetos através do encapsulamento usando a padronização JavaBean.

* Implemente as Regras Arquiteturais - Se uma classe é a última da hierarquia, declare como final!! Se um método não pode ser anulado, declare com final! Se um argumento ou variável não deve ser mudado, declare como final etc… Ou seja, impeça ou force polimorfismo, libere ou restrinja visibilidades em herança ou agregações. Entenda seu domain model e expresse-as no modelo de classes!

* Ciclo de vida dos objetos - Sempre programe pensando em cooperar com o coletor de lixo!! Ou seja, analise bem os escopos de criação dos objetos (estático, instância ou local) e os libere (atribuindo null para as referências) logo após verificar que não irá mais utilizá-los. Perceba que esta prática deixa o código claro e legível.

* Modere a Criação de Objetos - Sempre seja moderado na criação de objetos, nunca criando mais do que você precisa, sendo que o coletor de lixo é muito eficiente, mas não faz milagres. Quando possível, tente reusar os mesmos objetos reiniciando-os ao seu estado inicial. Analise cada new que você declarar!! Em aplicações de médio/grande porte isso pode resultar em uma grande economia e conseqüentemente performance.

Controlando condições excepcionais:

* Controle de Erros - Nunca use como controle de erros com retorno de booleano ou códigos de erros! Em Java existe uma mecânica padronizada chamada de tratamento de exceções. Lance exceções indicando as condições excepcionais, usando classes existentes no core do JSE ou não tenha receio de criar as suas próprias quando necessário.

* Propagação de Exceções - Nunca propague uma exceção ocorrida de dentro de uma camada lógica para fora da mesma, sendo que a outra camada cliente não deve conhecer detalhes internos de execução. Neste caso propague outras exceções mais significativas referentes ao contexto da camada/componente/classe ou serviço.

* Exceções Polimórficas - Nunca use o tratamento de exceções de forma polimórfica! Sempre encadeie os catch de todas as exceções, deixando o código claro e legível para o próximo programador amigão do peito!

* Comendo Exceções - Nunca faça um try sem colocar nada no catch! No mínimo, tem que existir uma impressão da lista do trace ou substitua, se possível, o try por um if identificando a condição.

* Fluxo de Controle em Exceções - Nunca use um try/catch como fluxo de controle!! Ou seja, não baseie nenhuma lógica condicional no controle de exceções. O próximo programador agradece a legibilidade do seu código.

Bom, pessoal, estas foram as “pérolas” que eu já peguei espalhadas por ai! A área de comentários fica livre para quem quiser complementar ou dar sua opinião. Para quem deseja realmente ter uma boa base sobre o assunto, sugiro a leitura e a prática do Java Code Convention e o livro Head First OOA&D – (em português Análise e Projeto Orientado a Objetos). 

fonte: fernando franzini – imasters

:: LUCIANA COSTA ::

08
Fev
09

Programando em equipe – Parte1

O desenvolvimento de um software consiste em um grupo de pessoas manuseando os mesmos arquivos fontes e componentes. Se um indivíduo deste grupo não conseguir escrever a sua parte de forma clara, de fácil compreensão e manutenção, o projeto estará comprometido a uma série de conseqüências problemáticas. Entendo que isso é uma situação de peso, uma vez que a manutenção representa em média 80% do tempo de vida de um sistema.

Ao longo das consultorias em projetos de que venho participando, diagnostiquei que os programadores em geral não sabem o significado de se “Programar em Equipe”. Percebo que é um problema de nível cultural e acredito que isso possa ser revertido se cada um pensasse da seguinte forma:

Eu estou trabalhando em uma equipe, por isso eu tenho que me esforçar ao máximo para implementar este requisito da forma mais simples, clara e de fácil manutenção possível…porque haverá algum momento no ciclo de vida do desenvolvimento que um companheiro de equipe precisará alterar ou complementar o que eu fiz e inevitavelmente eu também precisarei manusear algum código que foi construído por outra pessoa.

Acredito que o fato acontece por 3 motivos:

  • Pessoas remanescentes de outras tecnologias/ferramentas nas quais não existiam esta filosofia.
  • O desconhecimento de que na tecnologia Java existe um padrão de codificação.
  • A falta de uma sólida base de princípios de projeto orientado a objeto.

1. Pessoas remanescentes de outras tecnologias/ferramentas nas quais não existiam esta filosofia:

Eu percebo que atualmente existe uma galera muito inteligente e esforçada que vem migrando de outras tecnologias para o Java e que realmente tem conseguido produzir softwares funcionais, entretanto 100% deles deixam muito a desejar neste ponto. Percebo que o pessoal traz seus costumes e hábitos de programação para dentro do Java.

2. O desconhecimento de que na tecnologia Java existe um padrão de codificação:

Em Java existe uma forma padrão de como se deve ser escrito um código fonte. Ou seja, o autor não tem a liberdade de ficar usando/inventando uma série firulas, gafs, comentários, regras de espaçamentos sem coerências, delegação de nomes para identificadores completamente malucos etc….. Existe um documento chamado “Java Code Conventions” que possui todas as regras e diretrizes previamente estudadas e estabelecidas para que qualquer pessoa em qualquer lugar no mundo possa escrever o mesmo código fonte. Isto quer dizer o que? Quer dizer que uma pessoa de um lado do mundo pode abrir o código fonte de uma outra pessoa, do outro lado e ter a sensação de que ela mesma que escreveu! Sendo que ambos devem seguir a convenção de codificação.

3. A falta de uma sólida base de princípios de projeto orientado a objeto:

Fácil manutenção está intimamente ligada à utilização de princípios e diretrizes da filosofia orientada a objetos e é aqui onde o galera mais deixa a peteca cair! Como é incrível ver o pessoal mesmo usando uma tecnologia OO conseguir programar usando conceitos procedurais/globais e fazer uma coisa simples OO virar um monte de macarrão trançado. Sempre lembrando que a POO é uma filosofia e pode ser furada fácil, fácil, em qualquer parte do projeto.

Segue abaixo a lista resumida dos erros mais comuns:

* Estado do objeto - Não use variáveis de instâncias para controle de fluxos locais! Variável de instância é usada para definir estado do objeto durante seu ciclo de vida. Caso precise controlar algo localmente, use variáveis locais.

* Declaração de variáveis - Somente declare e inicialize as variáveis locais antes (o mais próximo o possível) de serem usadas! Único momento onde é aceitável declarar uma variável muito longe de sua utilização é em caso de utilização fora de escopos de controle de fluxo ou loop. Mesmo assim, mantenha em mente que você deve declarar sempre o mais perto possível.

* Escopo de variáveis - Sempre reduza os escopos das variáveis o máximo possível! Nunca declare uma variável fora de um escopo lógico (while, if, do/while, for) se você só vai precisar da variável dentro dele.

* Nomeação de variáveis - Independente do seu escopo (instância ou local), os nomes das variáveis devem ser auto-explicativos! Não coloque nomes sem sentido ou com apenas um caractere! Único lugar aceitável para se colocar uma variável com um único caractere é no contador de um for, o resto tem que possuir um nome significativo dentro do contexto de implementação. Outra coisa, não faça nomes grandes demais, resuma ou procure um sinônimo menor.

* Nomeação de classes e métodos - Nome de classe geralmente é um substantivo que reflete a abstração da automação de alguma coisa do mundo real, e os nomes dos métodos devem ser verbos que refletem ações que um objeto da classe faz. Qualquer coisa que passar disso fará com que o projeto fique completamente ilegível e confuso! Única possibilidade de exceção a este caso seria a possível utilização de design patterns dentro da arquitetura.

fonte: fernando franzini-imasters

:: LUCIANA COSTA ::

08
Fev
09

Internet Explorer 8 RC1 – já disponível em português!

Olá Pessoal,

Bom enfim a notícia que esperávamos quando o assunto é navegador (em específico o da Microsoft)…

Anunciando o Microsoft Internet Explorer 8 Release Candidate em Português

É com entusiasmo que a Microsoft anuncia que o novo Internet Explorer 8 saiu da versão beta e agora entra na versãoRelease Candidate. Este é o último estágio antes do lançamento final que se aproxima. Mais rápido, mais fácil e mais seguro: você pode instalar gratuitamente a nova versão do Internet Explorer 8 e conhecer seus novos recursos no site:http://www.microsoft.com/brasil/windows/products/winfamily/ie

Não perca a oportunidade deste lançamento para:

O novo Internet Explorer 8 será distribuído gratuitamente e sem restrições, para que todos tenham acesso à melhor experiência de navegação criada até hoje. Para assegurar a melhor experiência de seus clientes com seus sites e seus produtos, não deixem de aproveitar o Release Candidate para garantir a compatibilidade com o novo Internet Explorer.

Não deixe de acessar também os seguintes recursos adicionais:

:: LUCIANA COSTA ::

08
Fev
09

Parceria SERT e SENAI

Olá Pessoal,

 

Sempre digo que quem tem informação… tem poder. Quem tem conhecimento… consegue enxergar novas portas e gerar novas oportunidades.

A SERT em parceria com a rede SENAI e SENAC está oferencendo opotunidades e novos horizontes a quem busca uma recolocação no mercado de trabalho.

E desde outubro (com imenso prazer) faço parte deste mega projeto.

:)

Mega em todos os sentidos! ;)

Um projeto que não é apenas papel. É estratégia! É ação!

(digo com certeza, pois estou envolvida diretamente nele – E RELATO AOS PROJETOS QUE ESTOU ENVOLVIDA!)

Foi primeiramente planejado todo um escopo didático (planejamento, profissionais, material didático e material de apoio, …) cujo objetivo é preparar as pessoas para as novas exigências do mercado e reflexos da globalização.

Os alunos possuem aulas de Habilidades Gerais e Habilidades Específicas. Onde uma habilidade complementa a outra habilidade.

E imagine! Esta soma já está colhendo resultados produtivos e já podemos sentir alguns resultados iniciais com a formação das primeiras turmas (INF 1 a 7) -> Trabalhamos não apenas para treiná-los e sim capacitá-los, no quesito pessoa, profissional, perfil, entre outros pontos que nós trabalhamos em sala.

Eu (Profª Luciana) trabalho junto aos alunos desenvolvendo as Habilidades Específicas (área de tecnologia- Informática)- > que envolve a capacitação e desenvolvimento de perfil técnico para habilitá-los ao mercado de trabalho.

Porém, em Habilidades Gerais, contamos com o apoio e experiência de nossas amigas profissionais (Rosa e Cris) que dão todo o embasamento para desenvolvimento do auto-conhecimento, do  senso-crítico, auto-imagem de nossos alunos/profissionais.

E sabe o que é mais interessante nisto?

É perceptível que os profissionais envolvidos no front-job (Eu, Vania, Rosa, Cris) não estamos apenas em prol a um projeto e sim estamos envolvidas de corpo-alma e coração. 

O quanto isto é bom? Nem precisa responder, né?!

O sorriso responde, os shows em sala de aula respondem, o desempenho dos treinandos respondem! E os resultados… são visíveis! Mas sempre digo a cada treinando… que eles devem estar abertos a receber um leque (imenso) de informações que vão ajudá-los na vida profissional e pessoal.

É uma soma! E toda soma deve ser uma VITÓRIA! É esta sementinha que planto a cada dia. Assim espero que todos os treinandos (alunos) entendam cada palavra nossa, cada atividade, cada observação, pois como digo: “O currículo deles é o nosso currículo, portanto, plantamos neste período sucesso” -> O sucesso deles é o nosso sucesso!

Pois é, vamos plantando as sementes para que elas tornem grandes árvores, fincadas com raízes extensas e firmes e cheia de frutos.

( http://lucianacosta.wordpress.com/2009/01/27/turma-inf2-parabens/)

Prosperidade a todos!

:: LUCIANA COSTA ::

 

 

 

 

08
Fev
09

Chegou a nova versão do Windows Live Messenger

img-windowslive

Chegou a nova versão do Messenger

Acabei de instalar a nova versão. Interface renovada! Estou realizando alguns testes. Até o momento nada contra.

A versão 9.0 do Messenger está muito mais completa. Com novo layout, várias novidades incriveis para você se divertir muito conversando com os amigos.

Nesta versão você pode personalizar muito mais o seu Messenger, e ainda mostrar para os amigos. Surpreenda seus amigos, se tiver uma webcam, crie uma imagem dinâmica (vídeos feitos por vocêde você mesmo como imagem de exibição).

Instale agora mesmo!
http://download.live.com/

04
Fev
09

Parte3: Como usar pipes nomeados para comunicação entre processos no Visual Basic .NET ou no Visual Basic 2005

Criar um cliente de pipe nomeado

Para criar um cliente de pipe nomeado que se comunica com o servidor, execute as seguintes etapas:

  1. Chame a função CreateFile para criar um identificador para o pipe nomeado.
  2. Chame a função ReadFile ou WriteFile para se comunicar através do pipe.
  3. Chame a função CloseHandle no identificador criado na função CreateFile.

Também é possível usar uma transação de pipe nomeado para a comunicação cliente/servidor. A transação de pipe nomeado combina uma operação de escrita e uma operação de leitura em uma única operação de rede. Uma transação pode ser usada apenas em um pipe duplex do tipo mensagem. Os processos podem usar a função TransactNamedPipe ou a função CallNamedPipe para executar transações de pipe nomeado.

Neste exemplo de código, você usa a função CallNamedPipe para conectar ao servidor de pipe nomeado, escrever os dados no pipe e ler os dados no pipe.

Projetar um aplicativo do Windows que se comunica com o servidor de pipe nomeado

Para projetar um aplicativo do Visual Basic .NET ou do Visual Basic 2005 Windows usado para conectar ao servidor de pipe nomeado, execute as seguintes etapas:

  1. Inicie o Microsoft Visual Studio .NET ou o Microsoft Visual Studio 2005.
  2. No menu File, aponte para New e clique em Project.
  3. Em Project Types, clique em Visual Basic Projects e clique em Windows Application em Templates.

    Observação No Visual Studio 2005, clique em Visual Basic em Project Types.

  4. Na caixa Name clique em MyClientApp e clique em OK. Por padrão, um formulário chamado Form1 é criado.
  5. Adicione um controle Button ao formulário Form1.
  6. Clique com o botão direito do mouse em Button1 e clique em Properties.
  7. Defina a propriedade Text como Connect to the server.
  8. Adicione um controle Label ao formulário Form1. O controle Label Label1 é adicionado ao formulário Form1.
  9. Defina a propriedade Visible do controle Label Label1 como False.
  10. Adicione dois controles TextBox ao formulário Form1.
  11. Escrever código para conectar ao servidor de pipe nomeado

    Conecte ao servidor de pipe nomeado usando a função CallNamedPipe. Depois de conectar ao servidor, a função CallNamedPipe escreve para o pipe, lê no pipe e fecha o pipe. Para conectar ao servidor, ler e escrever os dados, execute as seguintes etapas:

    1. Na exibição Design, clique duas vezes em Connect to the server e adicione o seguinte código ao procedimento Button1_Click:

      Dim i, res, cbRead,numBytes As Integer
      Dim bArray() As Byte
      Dim temp As String
      
      numBytes = CInt(TextBox1.Text)
      If numBytes < 0 Then
          MessageBox.Show("Value must be at least 0.", MsgBoxStyle.OKOnly)
          Exit Sub
      End If
      If numBytes = 0 Then
          Label1.Visible = True
          Label1.Text = "The connection to the server is disconnected."
          Button1.Visible = False
          TextBox1.Visible = False
          TextBox2.Visible = False
      End If
      If numBytes > BUFFSIZE Then
          numBytes = BUFFSIZE
      End If
      
      ReDim bArray(numBytes) 'Create the return buffer
      'Call the CallNamedPipe function to do the transactions
       res = CallNamedPipe(pipeName, numBytes, Len(numBytes), bArray(0), numBytes, cbRead, 30000)
      'Wait up to 30 seconds for a response
      'Format the data received, and then display the data in the text box
      If res > 0 Then
          temp = Format(bArray(0), " 000")
          For i = 1 To cbRead - 1
             If (i Mod 16) = 0 Then temp = temp & vbCrLf
                temp = temp & " " & Format(bArray(i), "000")
          Next i
          TextBox2.Text = temp
      Else
      MessageBox.Show("Error number " & Err.LastDllError & _
      "while trying to call the CallNamedPipe function.", MsgBoxStyle.OKOnly)
      End If

    2. Adicione o seguinte código antes do procedimento Button1_Click:

      Private Const pipeName As String = "\\.\pipe\MyPipe" Private Const BUFFSIZE As Integer = 10000 Private hpipe As Integer      Public Const INVALID_HANDLE_VALUE As Short = -1 Public Declare Function CallNamedPipe Lib "kernel32" Alias "CallNamedPipeA" _ (ByVal lpNamedPipeName As String, _ ByRef lpInBuffer As Integer, _ ByVal nInBufferSize As Integer, _ ByRef lpOutBuffer As Byte, _ ByVal nOutBufferSize As Integer, _ ByRef lpBytesRead As Integer, ByVal nTimeOut As Integer) As Integer

    3. No menu Build, clique em Build Solution.
    4. Verificar se o código funciona

      Para verificar se o código funciona, execute as seguintes etapas:

      1. Para iniciar o aplicativo do servidor, clique em Start no menu Debug do projeto MyServerApp.
      2. No formulário Form1, clique em Create a named pipe e em Wait for the client connections. Agora, o aplicativo está bloqueado e aguardando o cliente conectar.
      3. Para iniciar o aplicativo cliente, clique em Start no menu Debug do projeto MyClientApp.
      4. No formulário Form1, digite 10 na caixa TextBox1 e clique em Connect to the server. É possível ver a matriz de byte recebida na caixa TextBox2.
      5. Para desconectar o aplicativo cliente do servidor, digite 0 na caixa TextBox1 no aplicativo cliente e clique em Connect to the server.
      6. Feche o aplicativo cliente.
      7. Para desconectar a extremidade do servidor do pipe nomeado e fechar o aplicativo do servidor, clique em Disconnect the server no formulário Form1 do aplicativo do servidor.

fonte: microsoft

:: LUCIANA COSTA::

04
Fev
09

Parte2: Como usar pipes nomeados para comunicação entre processos no Visual Basic .NET ou no Visual Basic 2005

Criar um servidor de pipe nomeado

Para criar um servidor de pipe nomeado e se comunicar com o cliente através do pipe, execute as seguintes etapas:

  1. Crie um pipe nomeado.
  2. Chame a função ConnectNamedPipe para bloquear o servidor até que um cliente se conecte.
  3. Chame a função ReadFile ou WriteFile para se comunicar através do pipe.
  4. Chame a função DisconnectNamedPipe quando o processo terminar de usar o pipe.
  5. Chame a função CloseHandle no pipe nomeado.

 

Projetar um aplicativo do Windows que cria um servidor de pipe nomeado

Para projetar um aplicativo do Windows que cria um servidor de pipe nomeado usando o Visual Basic .NET ou Visual Basic 2005, execute as seguintes etapas:

  1. Inicie o Microsoft Visual Studio .NET ou o Microsoft Visual Studio 2005.
  2. No menu File, aponte para New e clique em Project.
  3. Em Project Types, clique em Visual Basic Projects e clique em Windows Application em Templates.

    Observação No Visual Studio 2005, clique em Visual Basic em Project Types.

  4. Na caixa Name, digite MyServerApp e clique em OK. Por padrão, um formulário chamado Form1 é criado.
  5. Adicione três controles Button ao formulário Form1.
  6. No menu View, clique em Properties Window.
  7. Defina a propriedade Text dos controles Button aos seguintes valores:
    Recolher esta tabelaExpandir esta tabela
    Name Text
    Button1 Crie um pipe nomeado
    Button2 Aguarde as conexões do cliente
    Button3 Desconecte o servidor
  8. Adicione um controle Label ao formulário Form1. O controle Label Label1 é adicionado ao formulário Form1.

Adicionar todas as declarações a um módulo no aplicativo do Windows

Para adicionar as declarações da função necessárias para implementar a comunicação entre processos usando o pipe nomeado, execute as seguintes etapas:

  1. No Solution Explorer, clique com o botão direito do mouse em MyServerApp, aponte para Add e clique em Add Module.
  2. Na caixa de diálogo Add New Item – MyServerApp, clique em Open.
  3. Adicione o seguinte código ao módulo Module1.vb:

    Public Const FILE_ATTRIBUTE_NORMAL As Short = &H80S
    Public Const FILE_FLAG_NO_BUFFERING As Integer = &H20000000
    Public Const FILE_FLAG_WRITE_THROUGH As Integer = &H80000000
    
    Public Const PIPE_ACCESS_DUPLEX As Short = &H3S
    Public Const PIPE_READMODE_MESSAGE As Short = &H2S
    Public Const PIPE_TYPE_MESSAGE As Short = &H4S
    Public Const PIPE_WAIT As Short = &H0S
    
    Public Const INVALID_HANDLE_VALUE As Short = -1
    
    Declare Function CreateNamedPipe Lib "kernel32" Alias "CreateNamedPipeA" _
    (ByVal lpName As String, ByVal dwOpenMode As Integer, _
    ByVal dwPipeMode As Integer, ByVal nMaxInstances As Integer, _
    ByVal nOutBufferSize As Integer, ByVal nInBufferSize As Integer, _
    ByVal nDefaultTimeOut As Integer, ByVal lpSecurityAttributes As IntPtr _
    ) As Integer
    
    Declare Function ConnectNamedPipe Lib "kernel32" _
        (ByVal hNamedPipe As Integer, ByVal lpOverlapped As Integer) As Integer
    
    Declare Function DisconnectNamedPipe Lib "kernel32" _
        (ByVal hNamedPipe As Integer) As Integer
    
    Declare Function WriteFile Lib "kernel32" _
    (ByVal hFile As Integer, ByRef lpBuffer() As Byte, _
    ByVal nNumberOfBytesToWrite As Integer, ByRef lpNumberOfBytesWritten As Integer, _
    ByVal lpOverlapped As Integer _
    ) As Integer
    
    Declare Function ReadFile Lib "kernel32" _
    (ByVal hFile As Integer, ByRef lpBuffer As Integer, _
    ByVal nNumberOfBytesToRead As Integer, ByRef lpNumberOfBytesRead As Integer, _
    ByVal lpOverlapped As Integer _
    ) As Integer
    
    Declare Function FlushFileBuffers Lib "kernel32" _
        (ByVal hFile As Integer) As Integer
    
    Declare Function CloseHandle Lib "kernel32" _
        (ByVal hObject As Integer) As Integer

Escrever código para criar um servidor de pipe nomeado

Após a criação de um pipe nomeado, aguarde as conexões do cliente. Quando o cliente conecta ao servidor, leia ou escreva as dados através do pipe. Para fazer isto, execute as seguintes etapas:
  1. No Solution Explorer, clique com o botão direito do mouse em Form1 e clique em Open.
  2. Na exibição Design do formulário Form1, clique duas vezes em Create a named pipe e adicione o seguinte código ao procedimento Button1_Click:
    Dim openMode, pipeMode As Integer
    'Create the named pipe
    openMode = PIPE_ACCESS_DUPLEX Or FILE_FLAG_WRITE_THROUGH
    pipeMode = PIPE_WAIT Or PIPE_TYPE_MESSAGE Or PIPE_READMODE_MESSAGE
    hPipe = CreateNamedPipe(pipeName, openMode, pipeMode, 10, 10000, 2000, 10000, IntPtr.Zero)
    Label1.Text = "Created the named pipe and waiting for the clients."
    Button1.Visible = False
    Button2.Visible = True
    Button3.Visible = True

  3. Adicione o seguinte código antes do procedimento Button1_Click:

    Private Const pipeName As String = "\\.\pipe\MyPipe"
    Private Const BUFFSIZE As Short = 10000
    Private Buffer(BUFFSIZE) As Byte
    Private hPipe As Integer

  4. No Solution Explorer, clique duas vezes em Form1.vb.
  5. Na exibição Design do formulário Form1, clique duas vezes em Wait for the client connections e adicione o seguinte código ao procedimento Button2_Click:

    Dim byteCount, i, res, cbnCount As Integer
    For i = 0 To BUFFSIZE - 1 'Fill an array of numbers
       Buffer(i) = i Mod 256
    Next i
    'Wait for a connection, block until a client connects
    Label1.Text = "Waiting for client connections"
    Me.Refresh()
    Do
       res = ConnectNamedPipe(hPipe, 0)
       'Read the data sent by the client over the pipe
       cbnCount = 4
       res = ReadFile(hPipe, byteCount, Len(byteCount), cbnCount, 0)
       If byteCount > BUFFSIZE Then 'Client requested for byteCount bytes
           byteCount = BUFFSIZE 'but only send up to 20000 bytes
       End If
       'Write the number of bytes requested by the client
       res = WriteFile(hPipe, Buffer, byteCount, cbnCount, 0)
       res = FlushFileBuffers(hPipe)
       'Disconnect the named pipe.
       res = DisconnectNamedPipe(hPipe)
       'Loop until the client makes no more requests for data.
    Loop Until byteCount = 0
    Label1.Text = "Read or Write completed"
    Button2.Visible = False

  6. Na exibição Design, clique duas vezes em Form1 e adicione o seguinte código ao procedimento Form1_Load:

    Button2.Visible = False
    Button3.Visible = False

  7. No Solution Explorer, clique duas vezes em Form1.vb.
  8. Na exibição Design do formulário Form1, clique duas vezes em Disconnect the server e adicione o seguinte código ao procedimento Button3_Click:
    Dim res As Integer 'Close the pipe handle when the client makes no requests CloseHandle(hPipe) Label1.Text = "Disconnected the named pipe"
  9. No menu Build, clique em Build Solution.

Acompanhe a continuação da matéria no próximo post.

::LUCIANA COSTA ::

04
Fev
09

Parte1: Como usar pipes nomeados para comunicação entre processos no Visual Basic .NET ou no Visual Basic 2005

Esse artigo discute detalhadamente como usar pipes nomeados no Microsoft Visual Basic .NET ou no Microsoft Visual Basic 2005 para comunicação entre processos. Esse artigo inclui um exemplo de código que demonstra a comunicação cliente/servidor usando um pipe nomeado no Visual Basic .NET ou no Visual Basic 2005. O artigo descreve a comunicação entre processos criando um servidor de pipe nomeado e um cliente de pipe nomeado. A comunicação através do pipe é executada da seguinte maneira:
  • Crie um pipe nomeado.
  • Bloqueie o aplicativo do servidor usando a função ConnectNamedPipe até que um cliente se conecte.
  • Conecte ao servidor usando a função CallNamedPipe.
  • Chame a função ReadFile ou WriteFile para se comunicar através do pipe.
  • Chame a função DisconnectNamedPipe quando o processo terminar de usar o pipe.
  • Chame a função CloseHandle no pipe nomeado após o término da comunicação através do pipe.

Um pipe nomeado é um pipe unidirecional ou duplex para comunicação entre um servidor de pipe e um ou mais clientes de pipe. É possível usar pipes nomeados para fornecer comunicação entre processos no mesmo computador ou entre processos em diferentes computadores através de uma rede. O termo “servidor de pipe nomeado” refere-se a um processo que cria um pipe nomeado e o termo “cliente de pipe nomeado” refere-se a um processo que se conecta a uma instância de um pipe nomeado.

É possível usar o Microsoft Visual Basic .NET ou Microsoft Visual Basic 2005 para criar aplicativos que se comunicam com outros processos usando pipes nomeados. Esse artigo contém um exemplo de código que usa um pipe nomeado para se comunicar entre dois aplicativos do Visual Basic .NET ou Visual Basic 2005 Windows.

Requisitos

Este artigo presume que você esteja familiarizado com os seguintes tópicos:

  • Aplicativos do Windows
  • Programação do Visual Basic .NET
  • Utilização de pipes

A seguinte lista descreve a infra-estrutura de rede, software, hardware e os service packs recomendados:

  • Microsoft Visual Studio .NET ou Microsoft Visual Studio 2005
  • Microsoft .NET Framework
fonte: microsoft

Veja mais no próximo post (parte 2).

:: LUCIANA COSTA ::

03
Fev
09

Windows XP ainda em 71% dos PCs corporativos

10309-windowsxpMais de dois anos depois do lançamento do Windows Vista, o Windows XP ainda domina os PCs em empresas na América do Norte e Europa. O Windows Vista parece que finalmente “começou a destronar o Windows XP” como sistema operacional escolhido para PCs corporativos, de acordo com um novo relatório da Forrester Research publicado em 30 de Janeiro.Mas o relatório, baseado em uma pesquisa com 962 tomadores de decisão em departamentos de TI, não faz muito para melhorar a imagem do Windows Vista no mercado. O trecho abaixo foi retirado do relatório:“Os tomadores de decisão nos departamentos de TI não estão completamente convencidos a migrarem para o Windows Vista. Nós descobrimos que 15% deles planejam ignorar o Windows Vista e migrar para o Windows 7 pouco depois de seu lançamento. 22% ainda não tem planos definitivos para implementação do Windows Vista e 6% nem sabem quais são seus planos”.

 

 

33764-1O Windows XP chegou ao
mercado originalmente em 2001

“Quando perguntados especificamente sobre seus planos para implementação do Windows Vista, quase 1/3 respondeu que já iniciaram o processo, com 26% citando planos para iniciar ainda este ano”, de acordo com o relatório.Se formos comparar, o Mac OS X está em 3% dos PCs corporativos, o Windows 2000 (com suporte padrão e estendido já encerrados) em outros 10% e o Linux está em 2%. O Windows XP ainda está em 71% dos PCs corporativos na América do Norte e Europa.

 

msn TECNOLOGIA

:: LUCIANA COSTA ::

03
Fev
09

Impressora de café

7179Todo mundo que tem uma impressora em casa sabe muito bem o preço de um novo cartucho. Tanto é que, muitas vezes, deixamos de usar a impressora para não gastar com a tinta.

Agora, imagine ter uma impressora que pode ser recarregada com borra de café?! Pois a RITI Coffee Printer, uma das finalistas do concurso de design de gadgets ecologicamente corretos do site Inhabitat, promete exatamente isso.

De acordo com os designers, basta colocar a folha de papel no local indicado, com o lado a ser impresso para cima. Então, despeje os restos de café ou chá (sim, ela funciona também com chá) no “cartucho” e o movimente de um lado para o outro, enquanto a impressora faz o trabalho.

É isso aí! O papel sairá impresso e basta lavar o recipiente/cartucho.

Não sei quanto a vocês, mas eu, que jogo uma xícara de pó de café no lixo todas as manhãs, compraria uma dessas com toda certeza!

TechGuru

;; LUCIANA COSTA ::

03
Fev
09

Quem acredita?!

“MélDéus”!!!

Como ainda as pessoas caem no e-mail premiado! Infelizmente tem criaturas que ainda acreditam e vão clicar (contaminando assim sua máquina).

Veja  o assunto que é mais velho que andar para frente ;)

COMUNICADO ESPECIAL ZT-0811
Emitido por: DIRETORIA EXECUTIVA
Assunto: ATRIBUIÇÃO DE SEU N.I.P.

***IMPORTANTE***LEIA COM ATENÇÃO***RESPOSTA URGENTE REQUERIDA***

Luciana, peço um minuto de sua atenção.

Meu nome é Marcelo Oliveira. Sou o diretor do Departamento de Entrega de Prêmios do Grupo Virtual e entre minhas atribuições está a entrega a 4 ganhadores, no mês de novembro, de prêmios valiosos. Um deles é o Jonata C. de Vasconcelos, que está recebendo R$ 50.000,00.

Detectei que há muita coisa em comum entre você, o Jonata e outros 20 ganhadores de nossos Grandes Concursos: todos vocês provêm de uma mesma lista – uma lista da qual tiramos seu nome e que me permitiu enviar esta mensagem para você.

Para ter as mesmas chances que eles tiveram, Luciana, solicitei que fosse emitido para você um NIP único e intransferível, que poderá lhe tornar ganhador de R$ 60 mil, além de muitos outros prêmios.

N.I.P. Número de Identificação Pessoal de Luciana: NAL-7317 (era um link para página de conteúdo malicioso)

Agora depende de você, Luciana. Para iniciar o processo de habilitação do seu NIP como instrumento único de participação no 5º Grande Concurso, CLIQUE (era um link) no botão abaixo e responda o quanto antes.

 

Quem merece??????? Meu filho… ACORRRRRRRDA.

:: LUCIANA COSTA ::

03
Fev
09

Banco de Dados: Banco de Dados Relacionais e o MER

Oi pessoas,

Dando continuidade sobre um pouco de bando de Dados. Considero super importante comentar sobre o maior valor que uma empresa pode ter: INFORMAÇÃO.

Esta é uma das principais matérias para estudantes de bsi. No mundo em que vivemos, armazenar as informações e conhecimentos para ganhar dinheiro e vantagem competitiva  no mercado requer muito esforço no gerenciamento do uso da TI.

Armazenando os dados corretos faz com que sua empresa saia na frente na hora de tomar decisões importantes. Os bancos de dados são o coração das grandes organizações e do funcionamento da sociedade moderna, pois é impossível guardar todas as informações geradas por estas em papel como antigamente.

Um banco de dados é um conjunto de registros dentro de uma estrutura que possibilita a reorganização dos registros para produção de informação. Vamos tratar de banco de dados relacionais que tratam os registros para produzir resultados em tabelas. Os banco de dados relacionais são compostos por tabelas que se relacionam entre si.

1º Passo

Abstrair um problema real que necessite do uso de banco de dados e através deste fazer o mapeamento do banco construindo um MER (modelo-entidade-relacionamento).

Leia tudo sobre o MER clicando aqui.

Real Case:

Uma pessoa precisa organizar suas finanças afim de descobrir para onde vai todo seu dinheiro. A pessoa anota os gastos no papel que contém o valor, data, descrição do gasto, tipo do gasto e em qual categoria se enquadra. Esta transação anotada envolve uma conta de banco que possui um nome, balanço e usuário.

Para os usuários temos e-mail e password e para as categorias deseja-se saber seu nome, tipo e usuário. No final do mês esta pessoa consegue observar onde foram feitos os gastos analisando os gastos por categorias que mostra o quanto foi gasto em cada categoria. 

2º Passo

O MER desse cenário ficaria assim:

 

mer2 

 

Por hora é só, em outro post (anterior) já postei  como construir seu banco de dados e suas tabelas.

BSideas

:: LUCIANA COSTA ::

03
Fev
09

Banco Dados: Create Database e Create Table

123Com base no MER deste post aqui vamos criar nosso banco de dados e nossas tabelas usando o modelo de linguagem ANSI-92 SQL que funciona em qualquer banco de dados relacional.

 

1º Passo

Escolher seu banco de dados, lembrando que os melhores são (em ordem e na minha opinião e experiência):

  1. Oracle;
  2. SQL SERVER;
  3. My SQL

Faça o download da versão express de algum banco de dados acima, clicando em seu respectivo nome para prosseguir.

2º Passo

Criar o banco de dados e suas tabelas usando a linguagem ANSI-92 SQL, que ficaria assim:

1.   Criar o banco de dados:

Sintaxe do comando CREATE DATABASE:

Criando o banco de dados:

CREATE DATABASE NOME_DO_BANCO 

CREATE DATABASE CONTROLE_FINANCEIRO;

 

2.   Criar as tabelas:

Sintaxe do comando CREATE TABLE:

CREATE TABLE NOME_DA_TABELA
(
NOME_DA_VARIAVEL TIPO,
NOME_DA_VARIAVEL TIPO,
 
CHAVE_PRIMARIA(NOME_DO_CAMPO),
CHAVE_ESTRANGEIRA(NOME_DO_CAMPO) REFERENCIA NOME_TABELA_DE_REFERENCIA NOME_DA_VARIAVEL)
);

Criando as tabelas:

*Obs.: Para o banco de dados MySQL é necessário retirar as aspas de todos os nomes de tabelas, o código SQL abaixo está apropriado para o banco de dados SQL Server.

CREATE TABLE “USER”
(
USER_ID INT NOT NULL,
EMAIL VARCHAR(45),
PASSWORD VARCHAR(45),

PRIMARY KEY(USER_ID)
);

CREATE TABLE “ACCOUNT”
(
ACCOUNT_ID INT NOT NULL,
NAME VARCHAR(45) NOT NULL,
CURRENT_BALANCE BIGINT,
USER_ID INT NOT NULL,

PRIMARY KEY(ACCOUNT_ID),
FOREIGN KEY(USER_ID) REFERENCES “USER”(USER_ID)
);

CREATE TABLE “CATEGORY”
(
CATEGORY_ID INT NOT NULL,
NAME VARCHAR(250) NOT NULL,
TYPE VARCHAR(10) NOT NULL,
USER_ID INT NOT NULL,

PRIMARY KEY(CATEGORY_ID),
FOREIGN KEY(USER_ID) REFERENCES “USER”(USER_ID)
);

CREATE TABLE “TRANSACTION”
(
TRANSACTION_ID INT NOT NULL,
AMOUNT BIGINT NOT NULL,
DATE DATETIME NOT NULL,
DESCRIPTION VARCHAR(4000),
ACCOUNT_ID INT NOT NULL,
TYPE VARCHAR(10) NOT NULL,
CATEGORY_ID INT,
USER_ID INT NOT NULL,
 
PRIMARY KEY(TRANSACTION_ID),
FOREIGN KEY(ACCOUNT_ID) REFERENCES “ACCOUNT”(ACCOUNT_ID),
FOREIGN KEY(CATEGORY_ID) REFERENCES “CATEGORY”(CATEGORY_ID)
); 

Por hora é só, em outro post explicarei como se insere registros nas tabelas e como fazemos para consultá-los.

 UltraG 

:: LUCIANA COSTA ::

03
Fev
09

VB.Net Básico: Estruturas (FOR/NEXT)

Olá dando presseguimento as estruturas falaremos um pouco sobre a estrutura FOR:

Sintaxe:

FOR Variável_de_controle = Valor_Inicial to falor_Final
 Instruções
Next

 

As Estruturas de Repetição, são conhecidas normalmente por Loop (em portugues – laços) .

As ER´s permitem  que um mesmo  trecho do código seja  executado  várias vezes.

No caso da estrutura FOR (considerado o mais simples de todos)  apenas o utilizamos quando de antemão sabemos  o número de vezes  que o trecho do código  precisa ser executado.

Exemplo :

For i = 0 to 520

 

:: LUCIANA COSTA ::

03
Fev
09

VB.Net Básico: Estruturas (IF/THEN)

Olá,

Tudo bem? Aproveitando o horário (meio tarde) de almoço e como as coisas andam punk aqui na empresa… sabe como é fechamento de mês… um corre-corre danado! Parametrizações,  reuniões, fechamentos, relatórios (inúmeros!), gráficos e etc etc etc.

O mundo BUSINESS! Mas confesso que este ritmo é bacana !!!

:)

Dentro desta brecha de tempo optei por colocar um assunto de VB.NET na qual faz parte do cotidiano de qualquier profissional da área de desenvolvimento de apps: a Estrutura IF/Then.

Inclusive coincide com duas turmas que estou ministrando no período. Portanto, turmas de programação… segue o reforço por aqui. Antena ligada!!!!!!!!!

:)

Dentro do VB.NET BÁSICO falamos normalmente sobre as estruturas (laços). Vamos conhecer um pouco de cada uma delas:

IF/THEN

É utilizada para avaliar uma expressão lógica e com base no resultado obtido (verdadeiro ou falso) o programa deve executar ou não uma determinada ação.

 If <expressão> Then 
   <instrução> 
End If 
EXEMPLO 1 :
 If dblSaldoContaCC < 0 Then
MsgBox (“Não há saldo disponível na conta corrente”)
End If
EXEMPLO 2:
If dblSaldoContaCC < 0 Then    MsgBox (“Não há saldo disponível na conta corrente”) Else    dblSaldoContaCC = dblSaldoContaCC - dblValorDebitoCC End If
Por enquanto ficamos por aqui... espero tê-los apoiado de alguma forma.
:: LUCIANA COSTA::
03
Fev
09

Comunicado Telefônica

Olá já havia comentado em momento oportuno por aqui sobre a decisão da Telefônica.

Segue comunicado por ela redirecionado:

Tendo em vista decisão judicial e administrativa, a Telefônica migrou todos os seus usuários que aderiram ao Plano de conexão à banda larga sem provedor de acesso entre 22 de agosto de 2007 e 14 de julho de 2008 para um provedor de acesso, o A. Telecom, que não apresenta quaisquer das comodidades e serviços usualmente ofertados por provedores de acesso como E-mail, firewall, antivírus, conteúdo, dentre outros.

Apesar de não ser obrigatória a contratação de um outro provedor, acreditamos que um acesso mais direto aos ofertantes das comodidades aludidas pode melhorar sua experiência de navegação na internet. Isto requererá a adoção de procedimentos que a Telefônica manterá em um manual de procedimentos para atualização de seus modems homologados no site www.speedy.com.br.

Para facilitar esta contratação e garantir a liberdade de escolha por parte do consumidor em relação ao seu provedor de acesso, a Telefônica disponibiliza aos clientes uma relação de empresas em www.speedy.com.br que prestam este serviço.

De qualquer forma, caso o(a) Sr(a). não deseje usufruir dos serviços e comodidades presentes em um provedor de acesso completo, poderá continuar utilizando o A. Telecom, o que não requer qualquer providência de sua parte.

Para mais informações, entre em contato com a nossa central de relacionamento 103 15.

Para escolher uma das ofertas de nossos provedores parceiros, insira abaixo o seu DDD e telefone e clique em ‘OK’.

Agora é pra valer.

::LUCIANA COSTA::




{{ Siga-me os bons!!! TWITTER }}

Twitter Button from twitbuttons.com

Blog Stats

  • 36,333 hits

Meu Twitter