logo
  • Home
  • Acerca
  • Autores
  • Faq
  • Rede
  Twitter   Feed-me! RSS!
Nov 29

Segurança não e paranóia

Escrito por Kelps Sousa em .NET, 1, 4, 6, Android, AR, arte, auto, back, BI, blog, carregar, case, código, dados, Dicas, Download, e-book, entrevista, exemplo, Exemplos, for, futuro, Google, html, IE, int, Livro, Mac, map, Mate, mg, Microsoft, mobile, NaN, News, O, on, opensource, problema, Projetos, prova, pt, Revistas, RIA, Ria’s Geral, Segurança, SEO, server, serviço, Sugestões, tag, TAT, tv, Twitter, UI, uint, Ved, Vídeo, Vídeos, window, windows, windows 7, Windows Mobile, XAML @ 11 29th, 2010 | via http://kelps-sousa.blogspot.com/ | 2 comentários
Kelps Sousa
? X
  • Bookmarks

Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

More »

Quem me segue no Twitter já deve estar sabendo que na última quarta-feira (24/11/2010) eu fui vítma de um sequestro relâmpago. Fui abordado à 3 quadras da esquina da Av. Jorge João Saad com a Av. Francisco Morato (muito cuidado se você mora ou trabalha na região). Fiquei como refém dos bandidos por quase 3h enquanto tentavam sacar e fazer compras com meus cartões de crédito e débito. Fora os gastos que fizeram nos meus cartões, levaram também o som do meu carro, meu celular e minha mochila que além do laptop tinha todos os meus carregadores, e-book reader, cabos de dados, headset, pen-drives e HDs externos. É sobre essa última perda que quero falar.

Graças a Deus não me machucaram. Os cartões têm seguro, vou recuperar o dinheiro perdido. O carro foi encontrado inteiro pela polícia na manhã seguinte (só levaram o som). Deixaram no carro todos meus documentos que estavam na carteira. Mas meu computador e, mais importante, os dados que estavam “espalhados” pela mochila (HDs, laptop e pen-drives e celular) eu não vou recuperar.

Os equipamentos em si serão repostos com o tempo (começei pelo celular). Mas os dados não. Como muitos de vocês, eu também não tinha o hábito de realizar backups com frequência e também não deixava meus dados criptografados pois achava que isso era exagero. Pois querem saber de uma coisa? Não é exagero!

Depois de todos os transtornos (BO, cancelamento de cartões, trocas de senhas…) o que mais me afetou nesse caso todo foi que:

  • Não recuperarei MUITOS dos dados que estavam naquela mochila, pois não tinham backup. Perdi fotos, músicas, vídeos, entrevistas gravadas para o xamlcast, projetos, documentos, exemplos de código, capítulos do livro que estou escrevendo…
  • Me sinto vulnerável pois os bandidos estão com acesso fácil à esses dados. Sei que provavelmente nada disso tem valor para eles e é pouco provável que façam algo, mas a sensação de vulnerabilidade não diminue por causa disso.
  • Aprendi a lição da forma mais cruel (e mais eficaz) possível. Estou escrevendo esse post para que vocês não precisem passar por isso para tomar providências e se previnir.

    O que aprendi com tudo isso?

    Backup

    Normalmente não fazemos backups ou não fazemos com frequencia pois “dá trabalho”. Pois bem, chega de ser preguiçoso. Estou sem dados agora por causa dessa preguiça e chegou a hora de levar isso a sério e resolver esse problema. Há muitas soluções de backup parcial ou totalmente automatizadas que invalidam essa desculpa então, mãos à obra.

    Após estudar algumas opções de backup, eu decidi que vou usar um Windows Home Server para a tarefa. Escolhi essa opção pois não terei que me preocupar com nada além de espaço de armazenamento depois que estiver configurado. Todos os computadores que eu comprar de agora em diante terão um plano de backup no Home Server e a vantagem é que para que o backup ocorra, basta que as 2 máquinas estejam na mesma rede. Além disso, tenho uma vantagem extra já que o Home Server também pode ser utilizado como central de mídia da casa, permitindo que eu assista a vídeos, ouça música ou veja minhas fotos de qualquer computador da rede ou até mesmo na minha TV, por meio do Xbox.

    Scott Hanselman fez alguns posts sobre o Windows Home Server que podem servir como um bom ponto de partida:

    • The Case of the Failing Disk Drive or Windows Home Server Saved My Marriage
    • Windows Home Server Unsupported Feature – Backup Duplication
    • Posts de Scott Hanselman marcados com a tag Home Server

    Criptografia

    Sim, a partir de agora vou criptografar todos os meus computadores, pen-drives e HDs externos. Se acontecer algo no futuro (espero nunca mais passar por algo assim novamente, mas nunca se sabe), ficarei tranquilo pois ninguém além de mim será capaz de acessar meus dados e eu poderei recuperar tudo dos meus backups (feitos no Home Server). Esse tipo de tranquilidade não tem preço.

    Após pesquisar um pouco, vi que há 2 opções interessantes de criptografia: o Bitlocker do Windows e o aplicativo opensource TrueCrypt. Decidi que vou usar o True Crypt pois tem uma criptografia mais alta, é extremamente seguro, open source, além do fato de o Bitlocker estar disponível apenas com a versão ultimate do Windows 7.

    O TrueCrypt é tão seguro que mesmo após 18 meses de tentativas, nem o FBI nem a CIA conseguiram burlar sua segurança para ajudar nossa Polícia Federal a ter acesso aos dados do banqueiro Daniel Dantas, acusado de crimes financeiros.

    Outra coisa interessante do TrueCrypt é que ele suporta emcriptação em hardware, se a sua CPU tiver suporte (processadores i5 e i7 têm), o que ajuda a diminuir qualquer possível perda de performance que possa ocorrer.

    Ande leve

    Perdi tudo pois estava tudo na minha mochila. É aquela velha mania de “talvez eu precise”. Pois acontece que quase nunca precisava de tudo aquilo. Minha mochila devia estar pesando uns 4Kg e eu posso dizer com segurança que 90% das vezes que precisei de algo dela no trabalho ou em qualquer outro lugar, foi para fazer algo que poderia esperar até eu chegar em casa ou que poderia ser feito de outra forma.

    Não vou mais carregar meu laptop para todo lugar (depois que comprar comprar um novo). Não vou mais deixar meus backups e originais juntos. Não vou mais carregar todos os meus gadgets se não for precisar deles.

    Próximos passos

    Agora quero ver esquemas de segurança para o celular. Eu tinha um MotoQ 11 com Windows Mobile 6.1. Estava com o serviço MyPhone da Microsoft que faz backups diários dos dados e memória do telefone, mas não fazia backup dos dados do cartão de memória (onde estavam alguns ítens que eu realmente não queria ter perdido). Como não levaram o meu chip, o esquema de localização, bloqueio e formatação remota do MyPhone não me foram úteis, mas o serviço me ajudou bastante mesmo assim.

    Como substituto provisório, estou com um LG Optimus One rodando Android 2.2. Ficarei utilizando esse aparelho até o meu Windows Phone 7 chegar, pouco antes do Natal (se tudo correr bem). Estou pesquisando quais são minhas opções tanto de criptografia quanto de backup para ambos os aparelhos. Aceitos sugestões.

    Outra coisa que me interessa é algum tipo de serviço que faça backup de dados remotamente ou na nuvem, de forma segura. Quero ter a maior cobertura possível do ponto de vista de segurança, daqui pra frente.

    Resumo

    Não brinquem com segurança. Não deixem pra depois. Façam seus backups hoje e, se possível, criptografem os dados, pelo menos os mais sensíveis também. Tomem cuidado. Fico triste e as vezes até desconsolado quando lembro de algumas coisas que perdi (principalmente dados) que não recuperarei. Não passem pelo que estou passando.

    Quero também aproveitar para agradecer a todos que me apoiaram e me enviaram palavras de consolo nesses últimos dias. Vocês não fazem idéia de como isso ajuda.



    Out 29

    XAMLCast – Interview with Paul Betts about ReactiveXaml

    Escrito por XAML Cast em .NET, 1, 4, 6, Access, app, AR, back, BI, blog, class, Design, development, Dicas, Download, DRE, engine, entrevista, expression, flash, for, FullScreen, git, Google, ide, IE, if, int, iTunes, labs, Links, mg, Microsoft, MSDN, O, on, player, pt, Ria’s Geral, rss, screen, silverlight, Software, tag, team, Twitter, Vídeo, wave, Widget, window, windows, WPF, XAML, XP @ 10 29th, 2010 | via http://www.xamlcast.net | Sem comentários
    XAML Cast
    ? X
    • Bookmarks

    Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

    Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

    Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

    More »

    Hey everyone!

    [Para os ouvintes brasileiros/portugueses: a entrevista foi feita em inglês mas o vídeo também foi legendado em português! Aproveite!]

    Following on our special series of interviews, Roberto interviewed Paul Betts, a Software Development Engineer in the Windows team and creator of ReactiveXaml. In a video special, he talked about Reactive programming and how to apply it to WPF and Silverlight through RxXaml. An awesome introduction to a new paradigm on WPF/SL development!

    If you want to download the video, leave a comment in this post. If there’s enough demand, I’ll upload the video (1.6GB!) to a file share.

    Here are the links we talked about in the interview:

    Reactive Extensions for .net
    http://msdn.microsoft.com/en-us/devlabs/ee794896.aspx

    ReactiveXaml
    http://github.com/xpaulbettsx/ReactiveXaml

    ReactiveXaml Google Group
    http://groups.google.com/group/reactivexaml

    Paul’s Twitter
    http://twitter.com/xpaulbettsx

    Paul’s Blog
    http://blog.paulbetts.org

    Also, don’t miss our previous interview with Arturo Toledo about design and Expression!

    Subscribe to receive XAMLCast directly on your MP3 player, phone or RSS reader:

    • RSS feed: http://www.xamlcast.net
    • iTunes/iPod: pcast://www.xamlcast.net
    • Zune/Windows Phone 7: zune://subscribe/?XAMLCast=http://www.xamlcast.net

    You can follow XAMLCast on Twitter: @xamlcast

    • Hashtag #xamlcast
    • Follow the XAMLCasters:
      • @kelps
      • @robertos_br
      • @rodrigokono

    Stay tuned for more!

    Kelps, Roberto Sonnino and Rodrigo Kono

    Out 23

    XAMLCast – interview with Arturo Toledo

    Escrito por XAML Cast em .NET, 1, 2009, 4, 6, action, AR, AUG, back, BI, blog, case, class, Design, Download, DRE, entrevista, expression, finally, for, ide, IE, int, iTunes, Links, mg, Microsoft, MSDN, O, on, platform, player, Ria’s Geral, rss, silverlight, Smashing Magazine, surface, tag, team, tool, tv, Twitter, UI, user experience, UX, web, Widget, window, windows, WPF, XAML, XP @ 10 23rd, 2010 | via http://www.xamlcast.net | Sem comentários
    XAML Cast
    ? X
    • Bookmarks

    Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

    Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

    Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

    More »

    Hey everyone!

    [Para os ouvintes brasileiros e portugueses: Este post é em Inglês pois a entrevista foi realizada em Inglês. Os episódios em Português voltam em breve!]

    Earlier this year we did some special interviews for XAMLCast with influential people in the WPF/SL community. Well finally we’ve got time to release them!

    To start, Roberto interviewed Arturo Toledo, now Sr. Program Manager for the Microsoft Web Platform. He talked about design, Metro, trends and Expression. Don’t miss it!

    Here are the links we talked about in the interview:

    Smashing Magazine Webdesign Trends
    http://www.smashingmagazine.com/2010/01/04/showcase-of-modern-navigation-design-trends/
    http://www.smashingmagazine.com/2009/01/14/web-design-trends-for-2009/
    http://www.smashingmagazine.com/2009/01/21/current-web-design-trends-for-2009/

    Windows UX
    http://www.microsoft.com/downloads/details.aspx?familyid=E49820CB-954D-45AE-9CB3-1B9E8EA7FE8C&displaylang=en

    Metro UX
    http://download.microsoft.com/download/D/8/6/D869941E-455D-4882-A6B8-0DBCAA6AF2D4/UI%20Design%20and%20Interaction%20Guide%20for%20Windows%20Phone%207%20Series.pdf

    August de los Reyes (Surface team) talks about Natural User Experiences (NUI)
    http://www.microsoft.com/belux/msdn/nl/chopsticks/default.aspx?id=1406
    http://www.webdirections.org/resources/august-de-los-reyes-predicting-the-past/

    Gesturecons
    http://www.gesturecons.com

    Expression Studio
    http://www.microsoft.com/expression/

    .Toolbox Design School
    http://microsoft.com/design/toolbox

    Arturo’s Twitter
    http://twitter.com/arturot

    Arturo’s Blog
    http://ux.artu.tv

    Subscribe to receive XAMLCast directly on your MP3 player, phone or RSS reader:

    • RSS feed: http://www.xamlcast.net
    • iTunes/iPod: pcast://www.xamlcast.net
    • Zune/Windows Phone 7: zune://subscribe/?XAMLCast=http://www.xamlcast.net

    You can follow XAMLCast on Twitter: @xamlcast

    • Hashtag #xamlcast
    • Follow the XAMLCasters:
      • @kelps
      • @robertos_br
      • @rodrigokono

    Stay tuned for more!

    Kelps, Roberto Sonnino and Rodrigo Kono

    http://feedproxy.google.com/~r/xamlcast/~5/M7oDASLMztI/XAMLCast – Interview with Arturo Toledo – 96kbps.mp3

    Set 9

    XAMLCast – Episódio 20 – Visual Studio LightSwitch e 10 coisas que um dev WPF/SL deve saber por Pete Brown

    Escrito por XAML Cast em .NET, 1, 3d, 4, 6, AR, audio, back, BI, blog, class, Desenvolvedor, developer, Dicas, DRE, err, expression, Ferramenta, Gravação, iTunes, Links, mg, Microsoft, Novidades, O, on, Opinião, player, podcast, Ria’s Geral, rss, silverlight, tag, Twitter, Ved, Visual Studio, Widget, WPF, XAML, XP @ 09 9th, 2010 | via http://www.xamlcast.net | Sem comentários
    XAML Cast
    ? X
    • Bookmarks

    Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

    Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

    Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

    More »

    Chegamos ao episódio número 20!

    Este episódio comentamos especialmente o Top 10 que o Pete Brown publicou na semana passada. A gravação está bacana e esperamos que gostem!

    Links de referência deste podcast:

    • Visual Studio LightSwitch
      • Participe enviando sua opinião sobre esta nova ferramenta através do twitter ou comentando no posta deste audio.
    • Contratação no Time de Expression (Christian Shormman)
    • 10 coisas que um desenvolvedor WPF e Silverlight deve saber by Pete Brown

    Cadastre e receba o podcast diretamente no seu Ipod, Zune, Mp3 player, etc:

    • Feed RSS: http://www.xamlcast.net
    • iTunes/iPod: pcast://www.xamlcast.net
    • Zune: zune://subscribe/?XAMLCast=http://www.xamlcast.net

    O XAMLCast no Twitter: @xamlcast

    • Hashtag #xamlcast
    • Siga os XAMLCasters:
      • @kelps
      • @robertos_br
      • @rodrigokono

    Até o próximo!

    Abraços,

    Kelps, Roberto Sonnino e Rodrigo Kono

    http://feedproxy.google.com/~r/xamlcast/~5/IRWuIHFQtl8/xamlcast – 20.mp3

    Set 8

    Criando uma aplicação WPF – Parte Final

    Escrito por Alexandre Tadashi em 1, 4, 6, aplicacao, AR, arte, BI, blog, Blogs, botão, Botões, class, classe, classes, código, control, dados, Desenvolvimento, DRE, for, git, Google, html, IE, if, image, int, Introdução, Links, lista, mg, O, on, padrão, processo, RIA, Ria’s Geral, silverlight, TAT, Tutoriais, Tutorial, Twitter, UI, update, validação, WPF, XAML, XP @ 09 8th, 2010 | via http://alexandretadashi.net/ | Sem comentários
    Alexandre Tadashi
    ? X
    • Bookmarks

    Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

    Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

    Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

    More »

    Nesta última parte da série “Criando uma aplicação WPF”, vamos inserir as funcionalidades de cada botão, ou seja, a execução dos processos de inclusão, alteração e exclusão de registros, no inicio da classe ContatoViewModel, adicione as variaveis do tipo RelayCommand , conforme abaixo:

            //Suporte ao ICommand        private RelayCommand _updateCommand;        private RelayCommand _deleteCommand;        private RelayCommand _insertCommand;        private RelayCommand _saveCommand;
    

    A classe RelayCommand é uma das classes de apoio escritas por Josh Smith, em seguida vamos implementar o suporte a ICommand e criar os métodos que executarão as chamadas de cada processo.

            #region Comandos
    
            public ICommand UpdateCommand        {            get            {                if (_updateCommand == null)                {                    _updateCommand = new RelayCommand(param => Update());                }
    
                    return _updateCommand;            }        }
    
            public ICommand DeleteCommand        {            get            {                if (_deleteCommand == null)                {                    _updateCommand = new RelayCommand(param => Delete());                }
    
                    return _updateCommand;            }        }
    
            public ICommand InsertCommand        {            get            {                if (_insertCommand == null)                {                    _insertCommand = new RelayCommand(param => Insert());                }
    
                    return _insertCommand;            }        }
    
            public ICommand SaveCommand        {            get            {                if (_saveCommand == null)                {                    _saveCommand = new RelayCommand(param => Save());                }
    
                    return _saveCommand;            }        }        #endregion
    
            #region Métodos
    
            public void Update()        {
    
                _base.Update(contatoSelecionado);
    
                _base.Save(contatoSelecionado);
    
            }
    
            public void Delete()        {            _base.Delete(contatoSelecionado);
    
                _base.Save(contatoSelecionado);
    
                listaContatos.Remove(contatoSelecionado);
    
            }
    
            public void Insert()        {
    
                contatoSelecionado = new Contato();            contatoSelecionado.Id = 0;
    
                _base.Add(contatoSelecionado);
    
                OnPropertyChanged("ContatoSelecionado");
    
            }
    
            public void Save()        {
    
                listaContatos.Add(_base.Save(contatoSelecionado));
    
                OnPropertyChanged("ContatoSelecionado");
    
            }
    
            #endregion
    

    E para finalizar vamos inserir o código XAML que liga os botões ao comando através de Binding:

    O Botão insert cria uma nova instância da entidade Contato, limpando a tela, após digitar as informações na tela e clicar no botão Commit, as informações são registradas na base de dados, os botões Delete e Update apagam e atualizam o registro,com isso finalizamos esta pequena série, existe muita coisa ainda para aperfeiçoar no projeto, o controle de acesso aos botões, a validação dos dados, etc… mas o objetivo foi apresentar uma introdução ao desenvolvimento de aplicações com WPF + EF4 com o padrão MVVM, esse padrão pode parecer um pouco complexo e trabalhoso, cada projeto deve ser analisado quanto os beneficios que ele ganhará adotando o padrão, espero ter introduzido o leitor do blog no mundo do WPF.

    As outras partes do tutorial podem ser acessadas nos links:
    Criando uma aplicacao WPF >> Parte 1
    Criando uma aplicacao WPF >> Parte 2
    Criando uma aplicacao WPF >> Parte 3
    Criando uma aplicacao WPF >> Parte 4
    Criando uma aplicacao WPF >> Parte 5

    O meu muito obrigado à todos que postaram cometários no blog ou enviaram mensagens por e-mail sobre este tutorial, são esses comentários que motivam um profissional a continuar a escrever.

    Thanks

    Twitter: @atsh2

    Set 8

    Criando uma aplicação WPF – Parte 5

    Escrito por Alexandre Tadashi em 1, 4, 6, app, AR, arte, BI, blog, Blogs, Botões, carregar, class, classe, classes, código, collection, control, dados, Design, designer, Download, DRE, for, framework, Frameworks, Google, IE, if, image, int, interface, Introdução, layout, lista, mg, monitor, mudanças, O, on, padrão, Projetos, RIA, Ria’s Geral, silverlight, TAT, Tema, Tutoriais, Tutorial, Twitter, UI, UX, vs, window, Wordpress, WPF, XAML, XP @ 09 8th, 2010 | via http://alexandretadashi.net/ | Sem comentários
    Alexandre Tadashi
    ? X
    • Bookmarks

    Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

    Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

    Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

    More »

    A camada View da aplicação é onde vamos aplicar o padrão MVVM (Model-View-ViewModel) , adicione um projeto do tipo WPF Application em sua Solution, coloque o nome de Contatos.View.

    Crie duas pastas neste projeto, uma com o nome de Apoio, onde vamos inserir duas classes de apoio ao projeto, a outra pasta coloque o nome de ViewModel, onde vamos criar a classe que servirá de ponte entre a View e o Modelo.

    Adicione uma classe ao projeto com o nome de ContatoViewModel:

    No arquivo MainWindow.xaml vamos criar o layout da aplicação, não vou me preocupar com o designer pois não é o foco deste tutorial, adicione quatro objetos do tipo Button, três TextBlock, três TextBox e uma ListBox, deixe conforme a Figura abaixo:

    Na pasta Apoio vamos adicionar duas classes escritas por Josh Smith, um dos gurus do WPF, seu blog é http://joshsmithonwpf.wordpress.com/ , como o foco do tutorial e apresentar uma introdução ao conceito, não vou utilizar de frameworks, o que pode ser interessante em um projeto real, mas para este tutorial, quanto mais simples, melhor para entender, essas duas classes são simples, a primeira servirá de base para a classe ContatoViewModel e a segunda de apoio ao suporte de ICommand.

    Faça o download das classes aqui.

    Na pasta ViewModel crie um arquivo do tipo Class com o nome de ContatoViewModel e adicione as duas referências aos dois projetos que criamos anterioramente:

    Agora vamos herdar algumas funcionalidades da classe de apoio chamada BaseViewModel que implementa a interface INotifyPropertyChanged, que permite monitorar as mudanças que ocorrem em algumas propriedades na classe ContatoViewModel.

    public class ContatoViewModel : BaseViewModel

    Crie uma instância do acesso ao modelo a dados no inicio da classe ContatoViewModel, uma ObservableCollection chamada listaContatos, que auxiliará na ligação através de databinding com o ListBox e uma entidade Contato chamada contatoSelecionado, que também estará auxiliando na ligação através de databinding ao ListBox e ao DataContext de um Stackpanel, este Stackpanel é o layout control que contém os TextBox com o databinding das propriedades.

            ContatoDAO _base = new ContatoDAO();
    
            //Lista de Contatos        ObservableCollection listaContatos;
    
            //Contato Selecionado        public Contato contatoSelecionado = null;
    
    No construtor da classe ContatoViewModel vamos carregar os dados do modelo para uma ObservableColletion alimentando a variável listaContatos.

                # region Dados
    
                //Carrega todos os contatos cadastrados            ObservableCollection lista =            new ObservableCollection();
    
                IQueryable rev = _base.GetAll();
    
                foreach (var item in rev.ToList())            {                lista.Add(item);            }
    
                listaContatos = lista;
    
                # endregion
    

    Agora chegou o momento de criar os métodos que serão utilizados como databinding na View :

            # region Propriedades
    
            //Método que retorna uma lista de contatos        //que será utilizado        //na View via databinding                public ObservableCollection ListaContatos        {            get            {                return listaContatos;            }        }
    
            //Método que retorna um contato        //Selecionado que será utilizado        //na View via databinding        public Contato ContatoSelecionado        {            get { return contatoSelecionado; }            set            {                //seta o contato selecionado                contatoSelecionado = value;
    
                    //Avisa a View que a                 //propriedade foi alterada                OnPropertyChanged("ContatoSelecionado");
    
                }
    
            }
    
            # endregion
    

    No code-behind do arquivo MainPage.xaml, dentro do método MainWindow(), crie uma instância do ContatoViewModel e ligue ao DataContext do Layout Control Grid.

            public MainWindow()        {
    
                InitializeComponent();
    
                ContatoViewModel vm = new ContatoViewModel();
    
                LayoutRoot.DataContext = vm;
    
             }

    No código XAML que cria a ListBox vamos ligar duas propriedades através de databinding , a primeira é a propriedade ItemsSource, criando um Binding com ListaContatos, a segunda propriedade é o SelectedItem, criando um Binding com ContatoSelecionado.

    Os TextBox estão posicionados dentro de um Layout StackPanel, a proprieadade DataContext está ligada através de Binding com o ContatoSelecionado, cada TextBox tem sua propriedade Text ligado com as propriedades da entidade Contato.

    Copie o App.config do projeto Contatos.Data para a projeto Contatos.View, marque a camada View como Set as StartUp Project, adicione algumas informações na base de dados e em seguida execute a aplicação, o ListBox será carregado e ao clicar em um item, os TextBox serão alimentados com as informações do item selecionado.

    Na próxima parte do tutorial estaremos finalizando a série, inserindo as funcionalidades dos botões.

    Twitter: @atsh2

    Set 4

    O que é o Silverlight

    Escrito por Ebercom em .NET, 1, 4, 6, Animações, app, AR, BI, blog, Blogs, browser, C#, cliente, Componente, Componentes, control, Controles, dados, demo, Desenvolvimento, Desktop, Diversos, exemplo, Exemplos, for, framework, html, IE, image, int, interface, internet, Language Runtime, mg, Microsoft, networking, O, on, Plugin, pt, RIA, Ria’s Geral, Rich Internet Application, runtime, servidor, silverlight, smooth streaming, streaming, UI, web, Wordpress, WPF, XAML, XML, XP @ 09 4th, 2010 | via http://www.flexdev.com.br/home | Sem comentários
    Ebercom
    ? X
    • Bookmarks

    Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

    Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

    Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

    More »

    Silverlight é um plugin multibrowser e multiplataforma para o desenvolvimento de aplicações RIA e para facilitar a integração com media. Ele reuniu as capacidades de aplicações desktop, aplicações web, funcionalidades do servidor e do cliente, desenvolvimento com linguagens scripts ou orientada a objetos.

    O que devemos ter em mente é que o Silverlight é mais do que simplesmente um container para executar aplicações ricas e interativas na web. O silverlight é uma plataforma para desenvolvimento de aplicações, cross-plataforma e cross-browser.

    No silverlight o conteúdo é declarado utilizando o XAML. O XAML é um arquivo XML onde é possível declarar elementos visuais da interface, incluindo animações.

    O Silverlight contém um subset do .Net Framework que inclui bibliotecas e componentes para integração de dados, networking, controles WPF e CLR (Common Language Runtime). Isso permite que desenvolvamos as nossas aplicações utilizando as linguagens mais comuns em .Net, VB.Net e C#, compiladas.

    Não é necessário ter o .Net Framework instalado no cliente ou no servidor. Apenas o plug-in do silverlight é necessário.

    Para mais informações sobre Rich Internet Application, veja: http://en.wikipedia.org/wiki/Rich_Internet_application

    Exemplos de aplicações em silverlight:

    HARD ROCK – MEMORABILIA

    image

     Calculadora interessante…

    image

     Microsoft Health

    image

     

    Experience IIS Smooth Streaming

    image

     Out of Browser

    image

    Mais exemplos em http://www.silverlight.net/community/samples/silverlight-samples/.

    Ago 23

    Criando uma aplicação WPF – Parte 4

    Escrito por Alexandre Tadashi em 1, 4, 6, AR, Arquitetura, arte, BI, Blend, blog, Blogs, botão, C#, class, Class Library, classe, codeplex, código, dados, demo, Desenvolvimento, Design, designer, Documentação, err, event, Evento, Eventos, exemplo, expression, Expression Blend, Ferramenta, Flex, for, framework, Google, IE, if, image, int, interface, kit, layout, library, LOB, Melhores Práticas, mg, MSDN, mudanças, O, on, padrão, problema, problemas, pt, referencia, RIA, Ria’s Geral, runtime, silverlight, site, TAT, template, Teste, tool, toolkit, Tutoriais, Tutorial, Twitter, UI, uint, WPF, XAML, XP @ 08 23rd, 2010 | via http://alexandretadashi.net/ | Sem comentários
    Alexandre Tadashi
    ? X
    • Bookmarks

    Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

    Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

    Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

    More »

    Nesta etapa do tutorial podemos separar as entidades geradas pelo T4 em um projeto separado, que posteriormente vamos utilizar na camada visual da aplicação, para realizar essa tarefa, adicione um novo projeto do tipo Class Library em sua Solution, com o nome de Contatos.Entities, em seguida delete o arquivo Class1.cs, pois não vamos utilizá-lo.

    Na camada Contatos.Data, localize o arquivo ModeloContato.tt, que contém a classe Contato.cs, e mova o arquivo para a camada Contatos.Entities, para mover, arraste o arquivo com a tecla Shift pressionada e solte na camada Contatos.Entities.

    O Resultado será :
    Modifique os namespaces da nova camada, de Contatos.Data para Contato.Entities, e em seguida, na camada Contato.Entities adicione uma referencia a System.Runtime.Serialization.
    Na camada Contatos.Data adicione uma referência ao projeto Contatos.Entities.

    Se tiver dificuldades em separar as camadas, dê uma olhada neste tutorial:
    http://blogs.msdn.com/b/adonet/archive/2010/01/25/walkthrough-poco-template-for-the-entity-framework.aspx

    View e MVVM

    O padrão de design MVVM (Model-View-ViewModel) é muito utilizado em aplicações Silverlight e WPF, principalmente em aplicações LOB, apesar de ser um padrão avançado, ele não resolve todos os problemas do desenvolvimento de um projeto, porém proporciona uma forma interessante de separar a camada View da camada Model de sua aplicação.

    Resumidamente este padrão proporciona separar o modelo (Model) da interface visual do projeto (View), tanto o WPF como o Silverlight, tem um forte suporte a databinding, com esse modelo o desenvolver poderá trabalhar separado do designer na aplicação, ou seja, o designer terá uma maior flexibilidade, podendo utilizar por exemplo o Expression Blend e se concentrar no layout.

    Existem diversas ferramentas disponíveis para você aplicar o padrão MVVM com as melhores práticas para uma aplicação em produção, como por exemplo, o framework MVVM Light Toolkit e o Prism, este último tem uma documentação interessante no link  http://compositewpf.codeplex.com/, porém neste tutorial não vou utilizar nenhum framework, para simplificar, vou criar um exemplo básico,  com o objetivo de explicar o conceito do padrão.

    Para separar a View do Model, uma terceira classe será criada, essa classe será a ViewModel, ou seja, será a ponte entre essas duas camadas, o ViewModel pode implementar a interface INotifyPropertyChanged, ICommand, fazer validações, escutar eventos, possibilitar testes direto no ViewModel e fazer a adaptação entre a View e o Model.

    Dessa forma a View, mais precisamente o arquivo XAML, fica com o mínimo de code-behind em C#, através de binding, ligamos a View com o ViewModel, dessa forma, por exemplo, o código que estaria dentro do evento click de um botão no code-behind do XAML, estará no ViewModel, sendo ligado através de ICommand, na teoria, ao abrir o code-behind de um arquivo XAML não teríamos códigos em C# para a manipulação dos dados e eventos, dessa forma o layout da aplicação fica mais flexível para sofrer mudanças.

    O Padrão tem a seguinte arquitetura:

    No próximo tutorial o fechamento desta série.
    Twitter: @atsh2

    Ago 20

    XAMLCast – Episódio 19 – Novidades, Visual Studio LightSwitch e Behaviors

    Escrito por XAML Cast em .NET, 1, 2.0, 2009, 3d, 4, 6, AR, Asp.Net, back, Behavior, Behaviors, BI, blog, Blogs, class, codeplex, control, cool, Download, DRE, expression, Expression Gallery, for, Formação, framework, ide, if, int, iTunes, Links, live, mg, Microsoft, Microsoft Expression, MSDN, novidade, Novidades, O, on, Pessoal, RIA, Ria’s Geral, rss, RTW, silverlight, site, tag, tool, Twitter, update, Vídeo, Visual Studio, vs, web, Widget, Wordpress, WPF, XAML, XP @ 08 20th, 2010 | via http://www.xamlcast.net | Sem comentários
    XAML Cast
    ? X
    • Bookmarks

    Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

    Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

    Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

    More »

    Olá pessoal!

    Estamos na edição 19!
    São 42′ de boa informação. Ouça, comente e aproveite os links abaixo.

    • Silverlight Media Framework 2.0 (07/07)
    • XAML Power Toys for VS2010
    • Power Tools no ScottGu’s Blog
    • RTW do WPF Ribbon Control
    • Visual Studio LightSwitch
      • Vídeo no CH9: Anúncio no VSLive!
      • Post no blog do Somasegar
      • Lançamento previsto para o dia 23 de agosto de 2010
    • Behaviors
      • Top 5 Silverlight Behaviors
      • Microsoft Expression Gallery (Silverlight Behaviors)

    Para assinar:

    • Feed RSS: http://www.xamlcast.net
    • iTunes/iPod: pcast://www.xamlcast.net
    • Zune: zune://subscribe/?XAMLCast=http://www.xamlcast.net

    O XAMLCast também está no Twitter!

    • Twitter oficial: @xamlcast (e hashtag #xamlcast)
    • Siga os XAMLCasters:
      • @kelps
      • @robertos_br
      • @rodrigokono
    • Adicione o Twibbon do XAMLCast ao seu avatar!
      • http://twibbon.com/join/XAMLCast

    Até o próximo!

    Abraços,

    Kelps, Roberto Sonnino e Rodrigo Kono

    http://feedproxy.google.com/~r/xamlcast/~5/s2VYgWqhLpo/xamlcast – 19.mp3

    Ago 16

    Gráficos 3D – Silverlight, WPF e WP7

    Escrito por Alexandre Tadashi em .NET, 1, 3d, 4, 6, Animações, app, Apresentação, AR, arte, Artigo, BI, blog, Blogs, C#, class, codeplex, código, código fonte, Componente, Componentes, dados, Desenvolvedor, Design, designer, Diversos, Download, err, Excel, exemplo, Ferramenta, fonte, fonts, for, free, Geral, Google, Gráfico, IE, if, image, int, kit, label, layout, mg, Microsoft, O, on, online, Outros, PHP, RIA, Ria’s Geral, silverlight, Silverlight 4, site, tool, toolkit, Tutoriais, tv, Twitter, UI, uint, Ved, Visual Studio, Visual Studio 2010, window, windows, WPF, XAML, XP @ 08 16th, 2010 | via http://alexandretadashi.net/ | Sem comentários
    Alexandre Tadashi
    ? X
    • Bookmarks

    Blinkbits BlinkLists BlogLines Blogmarks Buddymarks CiteULike Co.mments Del.icio.us Digg Diigo

    Fark Feed Me Links Furl Google Linkagogo ma.gnolia Mister Wong Newsvine Propeller Rawsugar

    Reddit Rojo Simpy Sphinn Spurl Squidoo StumbleUpon Tailrank Technorati Yahoo

    More »

    Existem diversas ferramentas que facilitam a vida do desenvolvedor quando a tarefa é a criação de gráficos para apresentação de dados, essas ferramentas são bem completas e visualmente ricas, geralmente possibilitam criar gráficos de diversos formatos, por exemplo, gráficos de pizza, linhas e colunas, que são os mais comuns e até gráficos combinados na mesma visualização.

    Uma das ferramentas mais conhecidas é o Silverlight Toolkit , que além de criar gráficos, tem uma série de outros componentes interessantes, sua licença é a Microsoft Public License (Ms-PL).

    O amCharts também é um excelente projeto, tem uma licença comercial e outra free, contém belos gráficos com animações e interações com o usuário, vale a pena dar uma conferida.

    Neste artigo vou mostrar como criar um gráfico simples usando a ferramenta Visifire, essa ferramenta tem uma licença comercial e outra GPL, os gráficos são visualmente ricos, animados e interativos, permite de forma simples a criação de gráficos de atualização online, no site do fabricante tem uma página onde você poderá testar como o gráfico vai ficar.
    Faça o download do visifire no site do fabricante, não é necessário instalar nada, o download contém os binários para o WPF, Silverlight e Windows Phone 7.

    Crie uma aplicação Silverlight 4 no Visual Studio 2010, adicione uma referência ao binários do visifire para o Silverlight (SL.Visifire.Charts ), no código XAML, dentro do Layout Grid, adicione um elemento do tipo gráfico com o nome de Pizza:

    Agora na sua MainPage_Loaded, adicione o código abaixo:

    Title titulo = new Title();
    titulo.Text = “Gráfico de Pizza”;
    titulo.FontSize = 40;

    Pizza.Titles.Add(titulo);

    DataSeries dataSeries = new DataSeries();
    dataSeries.RenderAs = RenderAs.Pie;
    DataPoint dataPoint;

    for (int i = 0; i < 5; i++)
    {
            dataPoint = new DataPoint();
            dataPoint.YValue = 1000 + i;
            dataPoint.LabelText = “Item:” + i;
            dataSeries.DataPoints.Add(dataPoint);
    }

    Pizza.Series.Add(dataSeries);

    Pizza.View3D = true;

    O Código acima adiciona o título “Gráfico de Pizza” ao gráfico, depois acrescenta 5 itens que vão compor o gráfico de Pizza, em RenderAs definimos o tipo do gráfico como Pie e por fim habilitamos a visualização em 3D do gráfico.

    Sem modificar nada no código fonte em C#, você também poderá criar o mesmo gráfico para WPF e Windows Phone 7, para Windows Phone por exemplo, basta você criar um projeto do tipo Windows Phone Application, se esse tipo de projeto não estiver disponível no seu Visual Studio 2010, instale o seguinte pacote, depois é só fazer uma referência aos binários do visifire para Windows Phone, e adicionar o gráfico da mesma forma que fizemos para o Silverlight.

    Twitter: @atsh2

    « Entradas anteriores | Entradas recentes »

    ACERCA

    O que é o RedeRIA ?

    O redeRIA não é nada mais que um agregador de feed's que disponibiliza o conteudo de varios blogs e autores ao redor do mundo RIA, actualmente agregamos mais de 2791 entradas vindas de 53 blogs especializados em ria’s, pelo que só fica a ganhar em assinar o feed ou seguir a comunidade no twitter.

    Se acha que o seu blog ou um blog de um amigo é interessante e util para os leitores o redeRIA, faça a sua submissão aqui.

    Feed: assine já
    Twitter: siga-nos

    GOOGLE

    Votação


    Deveria o RedeRia agregar conteúdo em inglês?
    Ver Resultados

    AUTORES


    Eduardo KrausAlexandre TadashiBindableCognitiva SoluçõesDaniel LopesDaniel SchmitzDanielPedrinhaDClick TeamEbercomEdgard DavidsonElvis FernandesErko BrideeFabiel PrestesFábio Batista da SilvaFabio da SilvaFabriccio BernardesFelipe BorellaFlavia MoreiraGabriel VersalliniGabriela T. PerryIgor MusardoJanderson CardosoJoão AugustoJose Carlos FielKelps SousaLeonardo FrançaLucas MarçalLuis MessiasLuiz TarabalMario JuniorMário SantosMauro MartinsPablo SouzaPedro ClaudioreneRia BrazilriaPTRicardo CerqueiraRobson FernandesRodrigo Pereira FragaSaintBrSamuelFacchinelloSergio SouzaSilva DeveloperStefan HorochovecTech CaffeTecinforThiago BuenoVedVinícius SandimWillian ManoXAML Cast

    PUBLICIDADE








    Powered by Wordpress & msdevstudio.com