Fri
7
Dec
9:35 am

Saindo um pouco do tema hoje, eu resolvi falar um pouco sobre maturidade no trabalho, que é um tema importantíssimo de ser tratado, e ao mesmo tempo, muito delicado.

Muito me preocupa no ambiente de trabalho, principalmente onde há muito trabalho em equipe, a forma como cada indíviduo reage as situações e acontecimentos durante o progresso de um projeto qualquer.

É de extrema importância saber que o sucesso de um projeto depende exclusivavmente das parte involvidas e do compromisso que cada um impõe sobre que está fazendo no momento. Todos os processos devem estar devidamente alinhados e cada pessoa deve também estar devidamente comprometida com suas tarefas dentro do projeto como todo.

É também, de extrema importância, que a pessoa que esteja liderando o projeto saiba das virtudes e restrições de cada membro da equipe, e saiba dividir as tarefas de tal forma que aproveite ao máximo o potêncial de cada um e eleve o nível de interação da equipe ao máximo possível.

Não tenho hoje a experiência necessária pra determinar o que é certo ou errado na coordenação de um projeto, mas dentro de várias experiências que ja tive posso dizer que tudo depende da capacidade de liderança e de persuasão ao comprometimento por parte dos membros da equipe.

Espero ter coseguido transmitir uma mensagem a todos os líderes, para que estejam sempre atentos se estão aproveitando o melhor de cada subordinado e para todos os profissionais que prezam seu trabalho, para que o façam com comprometimento.

Olá pessoal, hoje eu fiz a prova 70-528, de desenvolvimento WEB pra .net Framework 2.0, aí resolvi falar um pouco dela pra vocês aí que estão pensando em fazer certificação.

Primeiramente, eu gostaria de lembrar que, tudo que cai na prova, sim, está no livro dela, portanto se estudar pelo livro, sem problemas, mais eu gostaria de chamar atenção para os capítulos de autênticação e membership, que caiude mais na prova, não sei se é porque eu estudei, e domino menos, mas teve muita questão, e questão difícil sobre membership e authentication methods.

Caiu bastante também WebParts e MobileControls, o resto é mais tranquilo, não sei se é porque é o normal do dia-a-dia ou se é porque é mais fácil mesmo, mas acaba que a experiência mesmo da conta da prova, claro que a teoria ue o livro tras é importante também.

Resumindo, vou escrever algum artigo sobre AuthenticationMethods em breve, pra ficar registrado direitinho o conteúdo da prova.

Agora com o fim do período furioso de provas e fim de semestre terei mais tempo pr blog. Abraços a todos!

Uma das mais importantes questões quando se programa pra WEB é a compatibilidade de navegadores. Sempre foi uma grande dificuldade desenvolver sites e sistemas que rodem em qualquer navegador e as vezes o contexto atual é tão restrito que é necessáriod esenvolver duas versões da aplicação, uma para cada navegador.

Para tais casos existe no .net, dentro do objeto Request, um objeto chamdo Browser, desta forma você pode testar vários atributos do navegador-cliente e tomar decisões estratégicas para suportar determinadas limitações.

No objeto Broser existe propriedade que indicam, suporte a javascript, suporte a java, suporte a flash e outras informações tais como, tipo, versão, suporte a cookies, ActiveX e outros.

Outra dica importante, na formatação é seguir os padrões da W3C, o que nem sempre resolve pois o IE6 não segue completamente estes padrões. Mas vale dizer que é muito importante ter um site/sistema que seja acessível de qualquer tipo de navegador.

Segue abaixo os dados de estatísticas do blog StúdioMáscara como exemplo:

Internet Explorer 60,26%
Firefox 38,79%
Mozilla 0,36%
Safari 0,36%
Opera 0,24%

Vale lembrar que estes dados refletem muito o tipo de conteúdo do site, conteúdos mais populares tem tendências diferentes de estatística do que os contúdos mais técnicos

Fri
23
Nov
3:45 pm

Uma coisa muito legal de se fazer ao construir UserControls é conseguir prover a lógica de um controle e deixar a formatação para ser definida separadamente em cada página, para isto, existe os Template UserControls.

Segue abaixo um passo-a-passo para criar um UserControl com template:

  1. Adicione o UserControl para seu projeto.
  2. No UserControl, adicione um PlaceHolder no local onde será colocado o template.
  3. No code behind, implemente uma propriedade do tipo ITemplate.
  4. Adicione uma nova classe ao AppCode do seu projeto, esta classe será o NamingContainer do seu template, esta classe, deve herdar de Control e implementar a interface INamingContainer.
  5. Aplique o atributo TemplateContainer na sua propriedade ITemplate e sete-a para o typeof da sua classe INamingContainer.
  6. Aplique também o atributo PersistenceMode com o valor PersistenceMode.InnerProperty na sua propriedade ITemplate.
  7. No code-file do UserControl adicione propriedades publicas que reflitam com as propriedades do seu NamingContainer, estas propriedades é que serão lidas pelo NamingContainer e irão preencher os dados no template.
  8. No método Page_Init do seu UserControl, verifique se a sua propriedade ITemplate foi setada, se sim, cria uma instancia da sua classe NamingContainer, chame o método InstantiateIn do seu ITemplate, passando por parâmetro o seu NamingContainer, e adicione seu NamingContainer a coleção de controle do PlaceHolder.

Pareceu confuso? Só impressão, é bem simples, mas pra facilitar mais, veja abaixo um exemplo: Download.

Fiquem atentos ao meu próximo artigos que estará falando sobre WebControls, que são controle parecidos com UserControls, só que estes podem ser encapsulados em dll e usados em qualquer projeto, pode inclusive serem adicionados a Toolbar do Visual Studio.

Bem pessoal, o que poderia ser melhor que ter uma navegação mais personalizada em seus web-sites preferidos? Então, pensando nisso resolvi dar esta dica para todos os web-developers:

Cada site, dependendo do navegador é claro, pode grava em média 20 cookies, e cada cookie pode ter no máximo 4Kb, pensando nisso, que tal aproveitar essa funcionalidade para deixar o usuário mais a vontade no seu site?

Você pode permitr a personalização de ítens simples no site, como quantidade de ítens por páginas, cores e etc… e então gravar as opções em cookie, é simples, rápido, não utiliza recurso nenhum do servidor.

Para fazer isso utilize os seguintes trechos de código:

Para gravar o cookie:
HttpCookie ck = new HttpCookie("nomeDoCookie");
ck.Expires = DateTime.Now.AddDays(10);
ck["chave1"] = "valor1";
ck["chave2"] = "valor2";
ck["chave3"] = "valor3";
ck["chave4"] = "valor4";
Response.Cookies.Add(ck);

Você pode restringir o cookie para que ele seja específico de uma página/pasta:

ck.Path = "Administracao/Login.aspx";

Para ler o cookie:

string vl1 = Request.Cookies["nomeDoCookie"]["chave1"];
string vl2 = Request.Cookies["nomeDoCookie"]["chave2"];
string vl3 = Request.Cookies["nomeDoCookie"]["chave3"];
string vl4 = Request.Cookies["nomeDoCookie"]["chave4"];

Lembrando que, para ler é Request, e para gravar é Response, tomem cuidado pra não confundir. Aproveitem bem essa funcionalidade.

Thu
22
Nov
10:14 pm

Olá pessoal, conforme prometido estou postando os links que eu mencionei na minha apresentação no workshop da faculdade FABRAI:

Pessoal prometo que esse fim de semana trarei muitas novidades pra vocês, e muitos artigos legais, fiquem ligados!

Mon
19
Nov
11:21 pm

showmypcHoje estava na casa de um amigo e ele estava dando uma geral no computador da mãe dele.
Foi aí que conheci ShowMyPC, achei bem útil e com certeza vou utiliza-lo com meus clientes de suporte (irmão, tio, amigos, cachorro, papagaio, etc).
O programa é um cliente VNC e possui autenticação segura, mas a sua grande vantagem é a simplicidade na operação, tanto no cliente ou servidor.

Antes eu utilizava o LogMeIn, mas ele precisava estar instalado na máquina da pessoa… e mesmo que meus “clientes” conseguissem instalar, as vezes precisava liberar o firewall do XP (aí pode-se adicionar mais 1 hora no suporte).

Com o ShowMyPC, basta entrar na url, http://showmypc.com , o cliente clica em Show May PC to Remote User, ele vai executar e abrir uma janela e gerar uma senha, você vai até View remote PC e digite a senha gerada.
Pronto! Simples e rápido…. agora já estão remotamente ligados.
E o melhor de tudo, ele é seguro, gratuito, não é preciso fazer nenhum tipo de cadastro e ainda é possível fazer compartilhamento com diversas pessoas ao mesmo tempo.

Em páginas de formulários na maioria das vezes, os detalehs fazem toda diferença. A grande questão da experiência do usuários, da usabilidade, sempre está em segundo plano na cabeça dos programadores, e pro usuário é sempre o maior diferencial na decisão de qual produto comprar.

A dica de hoje é sobre foco nos controles e ação padrão. Em .Net todos os controle tem o método Focus(), que dá ao ultimo controle que chamou a função, o foco ao carregar a página.

Podemos também, agrupar controle dentro de um panel e setar a propriedade DefaultButton do panel para o ID de algum botão, assim, os controle dentro deste panel assumirão o botão selecionado como ação padrão (quando o usuário pressionar enter).

Lembrando que, para quem utiliza MS Ajax, o Focus() não está mais disponível, devendo ser substitui pela função SetFocus(Controle) do ScriptManager. Se o ScriptManager estiver na MasterPage, para acessá-lo, utilize o método estático GetCurrent(Page) da classe ScriptManager.

Exemplo:

ScriptManager.GetCurrent(Page).SetFocus(tbNome);

Chegou a hora de desenvolver um website, então qual o tipo de layout usar? Fixo, líquido ou elástico?
Esta questão sempre gerou um bom assunto entre desenvolvedores, mas na verdade não existe um melhor layout a ser usado, cada uma das soluções tem seus pontos positivos e negativos.

Muitos desenvolvedores consideram que a resolução de 800×600 já é passado e costumam utilizar em seus sites uma largura de 1024.
No exterior o padrão instituído já é 1024 de largura, mas aqui no Brasil ainda estamos longe desta realidade, por isso não podemos ignorar resoluções menores. O bom desenvolvedor deve sempre procurar desenvolver um projeto compatível com o maior número de computadores possíveis.
Segundo as estatísticas da W3 Counter, apenas 7,91% utilizam a resolução 800×600. Aqui no blog este percentual é bastante diferente:

1280×1024: 37,31%
1024×768: 33,27%
1152×864: 12,50%
1280×800: 8,08%
800X600: 2,12%
Outros: 6,72%

Como este blog é focado para desenvolvedores, não preciso me preocupar com uma resolução menor que 1024px, pois acredito que não exista design e programadores que ainda usam 800×600.
Mas em um site comercial estes números são bastante diferente. Precisamos sempre levar em consideração muitos fatores.
Então qual o melhor layout usar? Vamos a uma pequena descrição deles:

Layout Fixo:

O desenvolvedor tem melhor controle de como irá disponibilizar o conteúdo, a largura menor também facilita a leitura na tela e seus pontos negativos são que o layout não pode ser adaptado as necessidades do usuário além de ser posicionado no centro ou em um dos lados deixando muito espaço à sua volta.

Layout Líquido:

Este tipo de layout tem uma melhor acessibilidade, o conteúdo se adapta à resolução do usuário ocupando toda área da tela permitindo transmitir mais informação pois acaba com os espaços vazios em volta do website. Seus pontos negativos são a maior dificuldade de leitura, pois as linhas de textos se tornam muito longa e uma maior dificuldade para o desenvolvedor posicionar de forma correta os elementos do site.

Layout Elástico:

É uma mistura entre o layout fixo e líquido. Ou seja, a largura da página é extensível até certo ponto tornando se fixa depois, também podemos definir uma largura mínima para página.
A maior vantagem deste tipo de layout é a facilidade que o desenvolvedor tem para posicionar os elementos na página e o controle por parte do usuário sobre a largura da janela. Mas nem tudo são flores, nosso querido "azulzinho" não suporta alguns atributos deste tipo de layout, então somos obrigados a pensar em outras alternativas.

Então a melhor forma para escolher um layout é mesmo fazer uma boa pesquisa quanto ao público alvo do site e tentar desenvolver um sistema que atinja o maior número de pessoas possíveis.

Fri
16
Nov
8:55 am

PartialRenderingViewer

Olá pessoal, hoje irei falar pra vocês sobre uma ferramente interessante pra ajudar no desenvolvimento WEB, trata-se da WebDevelopmentHelper, esta é uma toolbar para internet explroer que faz o rastramento do pacotes http indo e vindo de um site, é excelente para detectar erros de trasnferências, chamadas assíncronas e otimização do Ajax.

Ela é integrada também ao MS Ajax e quando ativada, ela rastreia todas as chamadas assínconas e te mostra os resultados, desta forma você consegue otimizar muito mais facilmente o Ajax

Este é o vizualizador em modo partial rendering. Neste modo você vizualiza separadamente a resposta do MS Ajax, pode notar que os UpdatePanels que foram atualiados são vizualidos separadamente.

Para fazer download da toolbar, visite o blog do desenvolvedor (Nikhil Kotary) na url: http://projects.nikhilk.net/default.aspx.

O download direto pode ser feito em: http://projects.nikhilk.net/Binaries/WebDevHelper.zip

 
feed
  feed Assine o Studio Máscara
 

Assinar o blog por email :