Postagens

Mostrando postagens de 2013

NHibernate + Fluent - Referência nula ou com chave estrangeira inválida

Recentemente esbarrei com uma situação de mapeamento de um banco de dados que possui uma tabela com um campo que é chave estrangeira com referência em outra tabela, só que esse valor pode não existir ou ser nulo. Contextualizando a situação: Tabela1 Campo1PK Campo2 Campo3FK (ref. Tabela2) Tabela2 Campo1PK (referência para o campo Tabela1. Campo3FK  ou qualquer outra tabela) Campo2 Até aí nada demais, mas então por um motivo ou outro o campo Tabela1.Campo3FK é do tipo "solto", ou seja, você pode colocar o valor que quiser que não há Integridade Referencial, ou seja, você coloca o código 4, quando não existe o registro em Tabela2.Campo1PK  com mesmo código, mas não há nada que critique essa falta. E aí, como mapear? O NHibernate numa situação dessa gerará/levantará uma exceção. Simples, digamos que a classe/tipo de domínio da Tabela2 se chame Tabela2Type, então na sua classe de domínio Tabela1 existirá algo como: public   virtual   Tabela2Type Ta...

What, Why and How About SignalR

Imagem
By  Abhishek Goswami ,  www.c-sharpcorner.com December 1st, 2013 What is SignalR We know very well how a client sends data to a server so now it's time to understand how a server pushes data to a client in a HTTP connection. SignalR is an open source library to add real-time web functionality in your ASP.Net web application. So what does real-time functionality mean? Just use as an example when more than 1 user is working on the same document in Google Documents When a user is making changes and at the same time another user can see the changes without reloading the page. So real-time web functionality is the ability to have server code to push content to connected clients. In the HTTP request response model we know each time we need to send a new request to communicate with the server but SignalR provides a persistent connection between the client and server. It can be easily scaled out via SQL Server, Redis or a service bus (scale out means adding more serv...

Google Drive com erro de violação de chave primária

Imagem
Apenas para registro, achei o fato interessante quando o Google Drive deu esse erro estranho de violação de chave primária há algum tempo atrás.

Análise de cartões micro SD de 8GB Multilaser, Sandisk e Kingston

Há algum tempo precisei comprar cartões de memória do tipo micro SD para uso no meu tablet, no celular e para uma câmera digital. Encontrei em uma loja aqui perto 3 marcas de cartões, Multilaser, Sandisk e o Kingston. Não vou entrar em detalhes técnicos, mas realmente fico devendo informações da especificação e modelo de cada um, só que não creio que interfira na avaliação pois são modelos equiparáveis pelo preço. A comparação não é do tipo um modelo "top" de um com um modelo "bottom" de outro, sendo que os testes demonstraram que as diferenças são da qualidade da marca. Os cartões foram formatados em FAT32 e foi usado o programa Crystal DiskMark versão 3.0.2 para avaliar o desempenho, o mesmo foi configurado para teste com 100 MB em 3 passagens, apenas o teste de leitura e gravação sequencial. Sistema operacional usado Windows 8 64 bits. Multilaser: Sequential Read :    17.421 MB/s Sequential Write :     4.036 MB/s Kingston: Sequential Read :   ...

NHibernate + Fluent :: Mapeamento de campo varchar com valor separado por caracter com conversão em propriedade de coleção no domínio automaticamente

Trabalhando em um projeto recente esbarrei na seguinte necessidade, um campo "varchar" na tabela XPTO possuirá conteúdo no seguinte formato: 65;78;21;6;98 É um caso bem conhecido, algo que em um banco de dados normalizado se transformaria em uma agregação, mas que nesse específico o conteúdo são as chaves estrangeiras para uma tabela separadas por ; (ou qualquer outro separador de valor) gravado em um campo na tabela. A solução mais comum para esse tipo de caso seria tratar em um DTO , Model ou semelhante o retorno de uma propriedade com a coleção, um array por exemplo, após a leitura do campo que contém a lista concatenada.  Usando Fluent e NHibernate (não testei sem Fluent) temos uma maneira mais direta e elegante de fazer o mesmo. Na classe de mapeamento definimos a seguinte regra: Map(x => x. PropriedadeDaColecao ,  " CampoComAListaConcatenada " ).CustomType( typeof ( string )).Access.CamelCaseField( Prefix .Underscore); Na classe de domí...

Android :: Quickoffice e os Caçadores dos 10GB Gratuitos

Imagem
Por volta do dia 23 de setembro li um artigo interessante via feed, que a Google, que já havia comprado a suíte para escritórios para Android chamada Quickoffice a tornaria gratuita, mas o melhor, que até o dia 26 quem baixasse e ativasse com sua conta Google ganharia 10 GB de graça por 2 anos nos serviços que compartilham o armazenamento (Gmail, Drive, Picasa e etc). Bem, como costumo baixar softwares da loja Google para avaliação, apesar de já ter uma suíte office comprada, e muito boa diga-se de passagem, resolvi fazer o teste, obviamente um dos objetivos era ter os 10 GB a mais, como tal fato não ocorreu até a semana seguinte deixei pra lá e imaginei que não ocorreria, que foi apenas um golpe publicitário. Até que hoje, dia 7 de outubro, ao entrar no Gmail vejo o tamanho estendido, e acessando a opção para verificação os planos de armazenamento vejo o seguinte: Então, ora, vejam, não foi golpe publicitário, simplesmente a Google apenas colocou num "pool" de serviç...

Você sabia disso? www. cade . com . br é link bloqueado pelo Facebook.

Você sabia disso? www. cade . com . br é link bloqueado pelo Facebook.

O Google não sabe matemática e ainda rouba espaço físico de onde não há

O Google consegue roubar espaço de armazenamento mesmo quando oferta mais. No Gmail até ontem eu vinha limpado porque estava com mais de 95% usado, cerca 9,5 de 10GB (o máximo). Então hoje, eu leio que agora tenho 12,7 ocupados de um total de 15GB, mas espere aí, eu não ocupei 3GB de um dia para o outro. E ainda a mensagem mal escrita: 12,7 GB (84%) de 15 GB usados..."de 15 usados?".

Wijmo e sua documentação desatualizada

E mais uma vez temos que recorrer à analise do código fonte do Wijmo para poder descobrir como fazer determinada "coisa" (ou trem, para os que são mineiros).

Sobrecarga de projetos: O inimigo das organizações eficientes

Pelo fato de o Google ter matado o serviço do Buzz, ao revisar o que eu tinha publicado achei este artigo do dia 15 de fevereiro de 2010. "Fazer duas coisas de uma vez é não fazer nenhuma delas." - Publilius "O cérebro é muito parecido com um computador. Você pode ter várias telas abertas em seu desktop, mas só pode pensar nelas uma por vez." - William Stixrud, Phd em Neuropsiquiatria Continuando a série sobre gestão de portfólio de projetos, neste artigo tratarei de um dos principais impedimentos a uma maior geração de valor por parte de projetos de TI: escassez de profissionais e sobrecarga de pessoas e recursos financeiros. Um dos problemas sérios em muitas empresas é a multi-tarefa. Quando um indivíduo trabalha em duas tarefas simultaneamente o ciclo de ambas é impactado diretamente. Ainda que não houvesse perda de produtividade, quando um trabalhador divide seu tempo para trabalhar em duas atividades ambas vão levar o dobro do tempo para f...

Android root...nunca desinstale o teclado original de fábrica

Por experiência própria...nunca desinstale o teclado original por mais que queira limpar a memória após ter "rooteado". Motivo: se você precisar executar um "hard reset" após concluí-lo não conseguirá digitar as informações necessárias para continuar o processo de reinstalação, pois o teclado de terceiros que instalou não estará mais instalado. Ressalva: se o seu aparelho for um Android 4.x então poderá conectar um teclado via mini-USB e assim dar prosseguimento ao resto da reinstalação pós-hard reset.

Google injetando resultados irrelevantes em pesquisas

Precisei fazer a seguinte pesquisa no Google:  javascript format time pt-br Sem as aspas mesmo, para surpresa como sétimo resultado:  Samsung Format Utility | Seagate www.seagate.com/ br / pt /support/.../samsung- format -utility-master-dl/ ‎ O Samsung Format Utility é um programa desenvolvido especificamente para discos ... O uso do Samsung Format Utility fará com que todos os dados no disco ... Tudo a ver... :) pelo menos o "Format". Fiz questão de abrir o código fonte da página para ver se de repente havia algo relacionado nele e nada... Foi o único resultado "nada a ver" dentre muitos que vi. Só dá a entender que o resultado foi "comprado" e injetado forçadamente por ser Samsung. Podem afirmar o seguinte: "mas tinha que botar aspas", mas então porque só da Samsung que foi o único resultado "sujo"?

Wijmo, muito bom, fácil de implantar e leve, mas peca em documentação

O Wijmo , muito bom, fácil de implantar e leve, mas peca em documentação. Você rala para descobrir funções, pesquisa artigos e então descobrei que o problema é que as soluções em artigos estão obsoletas e que a documentação não explica o que deveria. Exemplo recente, precisa recuperar os eventos (appointments) do Event Calendar, segundo a documentação bastaria acessar à propriedade "appointments", mas esta sempre retorna vazio. appointments: /// <summary> /// The event objects array. This option is deprecated: /// please, use eventsData option, instead. Somente abrindo o código que agora a propriedade é "eventsData" na versão atual (desde quando?) que é a 2013.1. Então a linha de código correta é: var eventos = $("#eventscalendar").wijevcal("option", "eventsData"); É o velho problema dos manuais que não acompanham a evolução dos softwares produzidos.

Windows Blue: Volta do “Botão Iniciar” pode não ser o que você imagina

Quem REALMENTE precisa do Botão Iniciar? A Microsoft criou os viciados em botão Iniciar e agora não consegue limpar os dependentes. :) Independente de tentar mesclar interface tablet com desktop no final a usabilidade é a mesma, atalhos fáceis de serem encontrados. Duvido que o povo bitolado em botão Iniciar realmente usava a desorganização gerada pela instalação de programas, não, simplesmente lotavam a área de trabalho com um trilhão de ícones que nem mesmo eles encontravam, clicar no Botão Iniciar para achar um programa instalado era ficar meia hora procurando, e às vezes nem encontrar o que procurava. Aí vem a interface (ex)Metro com um novo conceito de organização de atalhos e etc, mas o povo prefere se perder no mar de ícones da área de trabalho, que aliás, continua lá pondendo ser entupida de ícones novamente. ...

Reinventando o formato de posts...Quase Tweeter

Apresentando o Quase Twitter. Todo profissional de TI passa por problemas no dia-a-dia que, após batalhar procurando uma solução, gostaria de compartilha-la ao invés de simplesmente jogar no limbo do esquecimento como foi feito. Não necessáriamente gostaríamos de gerar uma base de conhecimento detalhada, mas um pequeno resumo (às vezes bem pequeno), links e tudo relacionado à solução. Pensando nessa idéia estou criando uma tag/marcador chamada Quase Twitter , não que o post será tão mini quanto um Twitt, mas também não terá detalhes muito abrangentes, raramente telas, mas o suficiente para pelo menos direcionar uma possível solução para quem ainda não conseguiu resolver um problema parecido.

Tablet Lenoxx TB-50 - unboxing e mini review

Imagem
  Há muito tempo eu estava cogitando comprar um tablet, nada top, nada caro. Não queria arriscar comprar um xing ling qualquer com garantia de 3 meses por melhor que fosse a especificação, mesmo porque os problemas mais comuns que vejo são duração da bateria e responsividade da tela não aceitável (lags e/ou qualidade da touch screen, mesmo quando capacitiva) e não teria a quem recorrer sobre esses problemas (loja). Então há alguns dias uma surpresa, não estava nem pensando em comprar no momento, mas encontro sem querer em um Shoping (aglomerado de lojas) no bairro onde moro, exposto na vitrine, um iPobre, classificação minha para um "iPad" não-Xing Ling, algo como Coby e outras marcas, um que não seja Samsung Galaxy Tab ou outros. Sobre o tal iPobre, um tablet Lenoxx TB-50 de 7". Considerando que a especificação me atendia, o valor idem (300 reais), parcelamento em 10 vezes e 1 ano de garantia, comprei-o-o. Especificações Sistema Operacional Android 4.0.4 - na ...

Criando um Windows XP bootável via Pen Drive (Hirens CD)

Imagem
Usar o Hiren's Boot pelo pen drive ao invés de CD é ideal para quem tem netbook ou esteja com problemas no leitor de CD/DVD e precisa, por exemplo, tentar restaurar um HD com problema, o sistema que estava instalado e outras necessidades. Se você não conhece o Hiren's Boot CD clique aqui e faça o download da última versão dessa maravilhosa ferramenta de manutenção de micros. São diversas aplicações que resolvem praticamente todos os problemas que possam aparecer no nosso dia a dia. Acompanhe os passos a seguir para criar uma mídia usb bootável: 1º - Conecte o Pen Drive USB. (1GB ou mais) 2º - Faça o download do programa USB Disk Storage Format (34KB) e depois o execute. Em Device: Escolha o pen drive que será formatado. Escolha o formato de arquivo como FAT32. Clique em Start para iniciar a formatação e aguarde. Veja figura abaixo: 3º - Faça o download do programa Grub4Dos , descompacte e execute o arquivo grubinst_gui . Marque a opção DISK e escol...

Saiba como se preparar para a Busca Social do Facebook

Imagem
O Facebook tem uma nova ferramenta que permite procurar pessoas com base em suas atividades na rede social. É a chamada Busca Social (Social Graph), que está gradualmente se tornando disponível para os usuários do FB no mundo. Depois de ter acesso a novidade - há uma lista de espera para isso - você será capaz de usá-la para encontrar informações como restaurantes que seus amigos curtiram, fotos antigas contendo membros específicos da família e ex-alunos da sua universidade que vivem perto do local de suas próximas férias. Promete ser uma ferramenta poderosa para analisar os dados pessoais que muitas pessoas publicam no Facebook - e isso significa que você precisa saber como ela funciona e como impedi-la de acessar dados que você prefere manter privados. Reveja suas configurações de privacidade do Facebook A ferramenta de Busca Social é um trabalho em progresso e o serviço não está disponível para todos os usuários ainda, mas representa uma boa oportunidad...

Como fazer o deploy de WebParts desenvolvidas no Visual Studio 2010 no Sharepoint 2010

Há alguns anos eu precisei desenvolver WebParts para Sharepoint 2010 e nas pesquisas sobre como implantar em produção resumi para os seguintes comandos: Adicionar a solution da feature utilizando o stsadm: stsadm -o addsolution -filename MinhaSolution.wsp   Depois de adicionar a solution, você deve executar o deploy no seu site. Para isto você pode utilizar o stsadm: stsadm -o deploysolution -name MinhaSolution.wsp -immediate -allcontenturls -allowgacdeployment -allcontenturls : instalar em todos os sites, se você quiser especificar qual site instalar troque pelo parametro "-url http:\nomedoserver:porta" -allowgacdeployment : instalar dependências configuradas na GAC.          Atualizar uma solution: stsadm -o upgradesolution -name MinhaSolution.wsp -filename MinhaSolution.wsp -immediate -allowgacdeployment Eu tinha feito um pequeno manual usando os comandos dentro do shell do Sharepoint ao invés do STSADM, mas não encontrei, caso o encontr...

Erro no Google Docs

Que coisa feia Google Docs.  Pena eu não poder usar o Office Web App. Erro no Google Docs Esse erro foi informado ao Google e será investigado assim que possível. Experimente uma dessas soluções ínterim Recarregar esta página. Faça download do documento clicando nele com o botão direito a partir da lista de documentos principal e selecionando "Exportar". Para discutir este e outros problemas, visite o fórum de ajuda do Google Docs . Para ver a lista de problemas conhecidos, visite a página de problemas conhecidos do Google Docs .

Mono 3.0.4 is out! Features include Improved garbage collection, Async bug fix, and Xamarin studio support.

Mono 3.0.4 released Greetings to all of you open source patrons out there! I've just received news of the latest release of Mono (3.0.4). The new release includes several major improvements and bug fixes. In this article, I'd like to provide a brief overview highlighting the major changes in the latest release of Mono. So without further ado, here is a quick overview of what's offered in this version of the Mono project. Improved garbage collection The GC implementation has been given a makeover. These changes include: A new approach called "cementing" has been added to the SGen concurrent garbage collector. Mono allocates all new small objects in a defined memory space referred to as the nursery. When a collection occurs, the surviving objects become root objects and are copied to the major heap. Typically, few references that are allocated to the nursery survive to become roots, so...

Os e-readers estão perto do fim? Analistas acreditam que sim

Imagem
Declínio de 36% no mercado desses dispositivos em 2012 significa que ele nunca irá se recuperar, dizem especialistas   Analistas estão assinando uma sentença de morte para os e-readers, que caíram 36% em 2012 com os compradores preferindo os tablets multiuso. Ambos IHS Suppli e IDC recentemente emitiram alertas terríveis – se não obituários – para os e-readers. A consultoria IHS disse que esses dispositivos terão uma queda de 36% nas vendas para varejistas em 2012 em comparação ao ano passado, e prevê outra contração de 27% em 2013. Na semana passada, a IDC disse que as vendas em 2012 irão diminuir 28% em relação a 2011. O impacto dos tablets multiuso com uma experiência de leitura "boa o suficiente" significa que a IDC espera que os e-readers cheguem a apenas 19,9 milhões de unidades vendidas em 2012, ante 27,7 milhões em 2011. A IHS caracteriza a queda mais dramaticamente. "O mercado leitor de ebooks está em um declínio alarmante por conta dos tablet...

How To: Create a Kanban Board in SharePoint 2010 with Zero Code

Imagem
How To: Create a Kanban Board in SharePoint 2010 with Zero Code For those unfamiliar with it, Kanban is a project management technique developed by Toyota and popularized in IT circles by its application in Agile software development methodologies.  In software development, it’s simplest form is a whiteboard with columns for each status, in which post-it notes are affixed for each task.  As tasks migrate through development, the post-it note is moved from column to column.   Several web-based services and downloadable project management applications exist for implementing something similar sans the whiteboard (one of the best being AgileZen ).  However, in some cases a lightweight version based on SharePoint might be handy.  SharePoint provides out-of-the-box functionality for creating project task lists, and, with a little pointing-and-clicking, it’s possible to display these out-of-the-box project task lists Kanban-style.  Here’s ho...

Gizmodo Brasil, moderadores frescos que não aceitam brincar

Quem é do mundo da tecnologia conhece o Gizmodo Brasil . Leio constantemente o feed deles, do IDG Now e outros, no final das contas todos replicam as mesmas notícias, mas eu dava ênfase ao Gizmodo, não mais. Apesar de ser só mais um site que traduz conteúdo da versão americana, com alguns artigos Made in Brazil, agora deu para os moderadores ao invés de trabalharem sobre comentários ílicitos como pornografia, flames e abusos contra outros, rifarem comentários associando a Gizmodo como defensora simpática à Apple. Há muito tempo que as pessoas comentam que a Gizmodo favorece artigos relacionados à Apple e desmerece às outras, grande coisa me preocupar com isso. É engraçado ver a guerra que ocorre nos comentários, e agora a novidade, não consigo mais comentar porque falei que ele são simpáticos à Apple, e não é um artigo, qualquer artigo automaticamente o comentário é cancelado, excluído. Ahhh, por favor moderadores infantis, isso é o óbvio, todo mundo sabe que é verdade que a G...

Root em um Motorola Atrix TV (XT682)

Antes de mais nada, este artigo é sobre a minha experiência em "rootear" meu aparelho e foi testado na versão de 1 chip (sim card), que é o XT682, o Atrix TV de 2 chips é o XT687. Não me responsabilizo por perda da garantia ou pelo seu aparelho "brickar" no processo. Basicamente todos os tutoriais na internet estão certos e errados, isso porque quando não funcionam também não explicam o motivo do problema, apesar de algumas vezes nos comentários de cada artigo alguém dizer que fez algo que funcionou, mas quando tentei as diversas soluções para os diversos problemas estes não resolveram Alguns dos problemas que esbarrei: mount failed: Operation not permitted. failed to copy ABC to XYZ: Permission denied. waiting for device...step #7 (esse é clássico!). outros que não me lembro agora. Como comentários de soluções cheguei a ler até absurdos do tipo "sobrecarregue a memória que vai conseguir fazer funcionar", ou, "vai forçando a barra tenta...