Category: Software


2016-08-14-17.04.55.png.png

“Learn Playing. Play Learning” é o slogan da SoloLearn, empresa que disponibiliza gratuitamente um conjunto de jogos interactivos e didáticos para quem deseja aprender a codificar, preenchendo assim de forma diferente os seus momentos de descontração e entrando no ritmo desafiante que qualquer jogo proporciona.

Usando também o paradigma de Comunidades, os alunos/jogadores têm a oportunidade de interagirem com outros membros por meio de duelos e outras actividades interessantes.

Cursos disponíveis para Android, iOS e Windows. Clique aqui para teres acesso à lista completa.

Escolha o de teu interesse, desafia-te tal como estou a fazer com o Learn Pyton, e diga-me o que achas da experiência de aprendizado!

Oh Lord! The AVD interface can’t talk to me!!!

AVD

Antes que pareça simples histeria, o espanto no início desta publicação sintetiza a minha perplexidade ao aperceber-me que os nossos amigos foram capazes de conceber uma interface gráfica completamente cínica, sem qualquer tipo de alerta ou informação adicional sobre o facto de não serem permitidos espaços no nome do dispositivo virtual, mergulhando a tela de edição num eterno silêncio com um “Ok” desabilitado e um “Cancel” como única opção de saída. Dilema!

Muito drama descritivo? Talvez sim, indignado por ter que consultar o omnisciente tio Google por um impasse facilmente evitável! Doeu! 😀

Ai, ai, ai User Experience! 😉

Spring-Security-logo

… surge mais um “bug-manhoso“! – categoria de bugs em que incluo também os famigerados ponto e vírgulas e outros elementos “insignificantes” que dão-nos algumas dores de cabeça quando esquecidos algures no emaranhado de códigos.

Neste cenário, o nosso “bug-manhoso” é alimentado pelo Mau Mapeamento das Portas no ficheiro de configuração do applicationContext.xml, impossibilitando o correcto funcionamento da framework de segurança Spring Security 3.1.4 em uso numa aplicação web Java.

Este problema é impulsionado pelo facto de que com alguma frequência  nos  desleixamos e confiamos nas configurações default que acompanham muitos dos  recursos usados nos nossos ambientes.

Server Tree

A configuração em questão é a do servidor de aplicação Glassfish que corre por default nas portas 8080 e 8181 (http e https, respectivamente). Quando os condicionalismos obrigam, o funcionamento em simultâneo de vários servidores só é possível efectuando a alteração das portas default, usando por exemplo as portas 14798 e 14799.

Caso esta alteração não seja acompanhada das devidas alterações subsequentes, poderá provocar um mau funcionamento do Spring Security.

Em dias de sorte, esta falha é alertada pela exibição da mensagem no browser: “Está página Web tem um ciclo de redireccionamento“, com o código de erro: ERR_TOO_MANY_REDIRECTS.

1

Podendo também ser menos explícita tal como apresentado no screenshot abaixo, lançando a excepção com.sun.faces.context.FacesFileNotFoundException e duplicando o nome do sistema na URL.

main

Como Resolução, deve-se alterar as definições de mapeamento de portas no ficheiro applicationContext.xml actualizando para os novos valores dos atributos http e https da tag port-mapping.

applicationContext

portas

Imagem

(…) temos que parar e dar carinho! 🙂

Confesso que muitas vezes subestimo os pequenos alertas de sistema que, pela sua irrelevância, não me impedem de realizar o meu trabalho (Windows abuse side effects 😯 ). Mas normalmente isto acontece até ao dia em que me farto e decido pôr “ordem na casa”. 😀

Desta vez o protagonista foi o Netbeans 7.3 que, após eu ter efectuado uma actualização da versão do JDKresolveu exibir a mensagem de “Invalid jdkhome specified” sempre que eu tivesse que executá-lo, e onde somente a escolha pelo “Sim” era a opção válida para transpor o “pequeno”, porém recorrente, constrangimento.

Esgotada a paciência, recorri à uma resolução básica (já que não há uma opção explícita na IDE) que a descrevo aqui para quem esteja a passar por esta chatice, e também queira cortar o mal pela raiz ;-):

  1. Navegar à pasta C:\Program Files\NetBeans 7.3\etc
  2. Abrir o ficheiro netbeans.conf
  3. Editar a entrada  netbeans_jdkhome inserindo o caminho para a pasta do JDK
    netbeans_conf
  4. Salvar, e final de stress!

SOLID principles

Falando sobre SOLID (Single responsibility, Open-closed, Liskov substitution, Interface segregation and Dependency inversion)

Just another java blog

Object oriented has some principles that when you follow them the non-functional attributes of your codes will be enhanced. SOLID is an acronym for 5 principles what introduced by Robert C Martin and acronym was create by Michael Feathers.

  • Single Responsibility Principle : Every class should have just One responsibility and encapsulate its responsibility entirely. The Most important reason of this principle is that there must be just one reason for changing a class. For example when you want to read a config file for database connection information and connect to database you must have two separate class, First for config file reading and the other for connection to database.
  • Open Close Principle: Every class should be open for extending and closed modification. When you write a class and you are sure then new features and enhancements must be added with extending class not with modification source code. So your…

View original post mais 226 palavras

Enquanto “passeava” pelo DZone, um dos locais favoritos para muitos desenvolvedores e arquitectos de software, a minha curiosidade foi atiçada pelo seguinte anúncio:

Imagem

Apesar do “FREE” ser muito pequeno para deixar aliviado o meu bolso, e de também eu ser um utilizador treinado a não clicar em anúncios “dóceis”, :-), resolvi dar uma espreitadela para matar a curiosidade.

E, como felizmente não sou o gato da história pois a curiosidade não me matou, 🙂 , acabei achando mais um excelente bebedouro de conhecimento denominado Refcardz, onde encontra-se uma série de tutoriais escritos por especialistas líderes da indústria com o objectivo de ajudarem a manter os profissionais da área de engenharia de software actualizados sobre os mais recentes tópicos tecnológicos.

Considero um local de visita obrigatória, não só pela rica qualidade do material à nossa disposição, que até são graficamente apelativos, bem como o pelo vasto universo de tópicos abrangidos. Enjoy It!

Caminhando até ao sucesso! 😉

Dedicated to the developer homies everywhere who code hard day and night!

Windows

Se estiver a usar o windows XP ou versão superior, clique em Start -> Control Panel -> System and Maintenance -> System. O System type indica o tipo de sistema operativo.

Mac OS

Seleccione About this Mac no menu Apple. Na janela que surgir, Mac OS X dará a versão do sistema operacional, e na linha Processor está informação sobre o tipo de processador.


Linux

O utilizador deverá invocar o comando uname. Dependendo da plataforma, os resultados poderão ser:

[cph@gaylord ~]$ uname -a
Linux gaylord.stata.com 2.6.11-1.27_FC3 #1 Tue May 17 20:24:57 EDT 2005 x86_64 x86_64 x86_64 GNU/Linux

[cph@caddo ~]$ uname -a
Linux caddo.stata.com 2.6.9-5.0.5.EL #1 SMP Fri Apr 8 14:20:58 EDT 2005 ia64 ia64 ia64 GNU/Linux

[cph@tango ~]$ uname -a
Linux tango.stata.com 2.6.10-1.771_FC2smp #1 SMP Mon Mar 28 01:10:51 EST 2005 i686 i686 i386 GNU/Linux

Na listagem acima, Gaylord (x86_64 GNU / Linux) e Caddo (ia64 GNU / Linux) são de 64 bits. ‘Tango (i386 GNU / Linux) é uma plataforma de 32 bits.

Começo este post com um singelo pedido de desculpas pela demora em apresentar as minhas ilações resultantes da participação do 1.º Tech Meeting. Os culpados até que não são tantos, mas deixarei para outra ocasião a crucificação dos mesmos. lol

Retomando ao foco principal deste post, eis aqui uma pequena operação matemática que é motivo certo de orgulho para todos que tornaram possível o primeiro “passo” do Tech Meeting:

Responsabilidade + Competência = Sucesso

Dissecando, a responsabilidade esteve patente em todo o processo organizativo do evento: antes, no decorrer e no culminar do mesmo. Recepção calorosa, e com distribuição individual das “ferramentas” necessárias para o acompanhamento e reprodução dos exemplos apresentados pelos distintos oradores; cumprimento do horário e total coerência com a agenda de actividades.

A competência reflectiu-se nos oradores ao, da melhor forma, transmitirem os conhecimentos e ao deliciarem-nos com o que de mais actual há em termos de metodologias de desenvolvimento de software em ambiente profissional.

Tal como anunciado, o foco principal do evento foi o desenvolvimento de aplicações web usando a tecnologia Java e, nesta ordem de ideias, decorreram os trabalhos, à excepção das apresentações sobre CSS vs CSS Sprite, tratando-se esta de uma linguagem de estilo, e sobre Importância de Testes em Software.

Em destaque estiveram as apresentações que se debruçaram essencialmente nas tecnologias JavaServer Pages (JSP), JavaServer Faces (JSF) e Java Persistence API (JPA),  inclusas na plataforma Java EE 6 e apresentadas nas suas mais recentes versões: JSP 2.2, JSF 2.0 e JPA 2.0.

E assim, de forma bem resumida, decorreu a primeira edição do tech meeting, superando expectativas e alcançando o sucesso merecido. Caso esteja interessado em obter mais informações referente a esta edição (apresentações, trabalhos produzidos e fotos), bem como das edições subsequentes, visite o site oficial:

www.tmangola.net