Mostrando postagens com marcador bla bla bla. Mostrar todas as postagens
Mostrando postagens com marcador bla bla bla. Mostrar todas as postagens

domingo, 1 de maio de 2011

Nova fase

0

Bah, falei que não ia usar mais o blogger, mas é muito melhor que minha própria ferramenta :P.

Desculpem ficar tanto tempo sem escrever, porém estava numa correria nos últimos tempos. Após 2 anos e 4 meses trabalhando na SeRHmática, saí para encaram um desafio novo, sempre gostei de trabalhar lá, mas senti que era hora de tentar algo novo diferente.

Sempre trabalhei como CLT, mas agora vou trabalhar como PJ e em Home Office, meu medo é de não me acostumar :P, amanhã (02/05/2011) é meu primeiro dia full time na Crafters, estou trabalhando já a um mês com eles em um projeto Ruby on Rails.

Me desejem sorte :)

Read more

segunda-feira, 20 de setembro de 2010

Software é como uma obra de arte

0

Para quem vê, pode ser estranho, bonito, sem sentido, mas para quem é da área tem que ser maravilhoso.

O Software em si, deve ter as funcionalidades certas, ser bem definido, para o usuário também acha-lo bonito e prático. Mas meu foco aqui não é o cliente e sim os desenvolvedores. Seu software deve ser referencia, considerado uma obra de arte para outros desenvolvedores, deve ser prazeroso olha-lo e não um martirio, a manutenção deve ser facil, e os retoques simples.

Muitas vezes uma decisão errada no começo pode levar a um design de código feio, ou a alguma dificildade em adicionar novas funcionalidades, ao ver isso, não devemos usar o algoritmo do avestruz, e sim, gastarmos algum tempo para corrigir isso, melhor esse treco de codigo que pode ser uma futura pedra no seu caminho. Costumo em alguns dias revisar códigos antigos, feitos no inicio de um projeto afim de aperfeiçoá-lo e torná-lo melhor, mais bonito e mais prático, e algo que as vezes leva algum tempo, mas normalmente são alterações de minutos, e que podem resultar em um ganho grande de leitura de codigo em revisões futuras.

Afinal, somos criadores, e todo o criador precisa fazer alguns ajustes na sua cria, afim de torna-la melhor sempre.

Read more

segunda-feira, 30 de agosto de 2010

Deu Certo? Deixa! Funcionou? Não Mexa!

0

Essa piadinha aí, muito engraçada as vezes, pode não caber na empresa onde trabalha.

Algumas vezes em alguns projetos os prazos apertados nos forçam a escrever certos franksteins, que não são bonitos mas funcionam, "tampam o buraco", na maioria das vezes, o que acontece é que esse frankstein se torna uma mumia de tantos remendos e concertos. Quando seu código chegou ao ponto do titulo, onde cada alteração é muito perigosa, ligue o sinal vermelho, chegou a hora de parar o que está fazendo e rever essa bagaça.

O tempo de análise do código não deve ser maior que a implementação da alteração. Se você leva mais tempo para entender o que seus metodos fazem, é sinal que seu código está pouco legivel, e precisa ser revisto, muitas vezes é melhor perder certo tempo, algumas vezes diversas horas para refazer esse código, a melhoria para o cliente não é visivel, ele sequer vai saber que você mecheu nisso, deve funcionar igual, porém mais facil de ser avaliado e analisado, consequentemente mais facil de altera-lo.

Acreditar que o sistema será imutavel e dar um tiro no proprio pé, ou no pé dos companheiros, tenha em mente que a flexibilidade e legibilidade devem ser a base do sistema, e deve ser facil para todos alterar cada parte, esteja ciente que nem sempre será você quem vai alterar esse trecho.

Read more

JavaME, Android e JavaFX

0

A dois anos atrás, JavaME era uninimidade no desenvolvimento para celular, além de rodar na maioria dos dispositivos era simples e facil de desenvolver usando ele. Android apenas engatinhava, e a cada nova versão, devia se reaprender a desenvolver, pois muita coisa mudava. Os fãs de JavaME diziam que Android não seria ameaça ao JavaME, pois ainda faltava anos de estrada para se aprimorar, além de ser um sistema operacional, seria necessário reinstalar o novo sistema no celular.
Nesses dois anos, JavaME não mudou NADA, continuou a mesma coisa, ficou estagnado no tempo, sem melhorias, ou algo que acompanhasse a evolução do Java, normalmente era aquela mensagem: "Muitas fabricantes usam, como vamos pedir pra eles reimplementarem Java para seus dispositivos?", a resposta, seria algo como um, use a versão que quiser. Enfim, enquanto o JavaME ficava la assistindo TV, o Android cresceu, sai dos dispositivos moveis, chegou aos netbooks, e hoje, tem muito mais desenvolvimento e melhorias frequentes que o JavaME, a diferença, é que surgiram celulares diferentes da epoca da criação do JavaME, como o iPhone, que possui seu proprio SDK para desenvolvimento.
Aí vem a pergunta dos mais fanaticos por Java (Aqueles que acham que tudo em Java é melhor que o resto =D), e o JavaFX? Pra mim JavaFX é um tiro no proprio pé, foi no da Sun, e será no da Oracle. Existem tecnologias melhores, e não estão estagnadas como o JavaME do caso assim, como o Flex e o Silverligth, o JavaFX tem que evoluir muito para competir com essas tecnologias. Ainda há quem diga, que o Swing, JavaME e JSF vão ser substituidos pelo JavaFX, mas eu não creio que o JavaFX viverá para tanto. JavaFX apenas engatinha enquanto seus concorrentes voam...


PS: Prometo tentar escrever mais seguido (ou não) =)

Read more

segunda-feira, 12 de julho de 2010

Testes Unitários e Metodologias Agéis

2

Bah, desculpem por não postar nada, sabe como é brasileiro em Copa do Mundo né :). Não pude deixar o fanatismo de lado.

Ultimamente estive pesquisando e lendo muito sobre testes unitários e metodologias agéis de desenvolvimento e uma parte que eu gosto muito são os testes. Gosto muito de criar testes fazer refactoring dos meus codigos sempre visando melhora-los, pois estamos sempre aprendendo e algumas coisas antigas ficam com brechas ou códigos horriveis. Porém, se existe algo chato, é criar testes, apesar de gostar existem coisas que chegam a ser ridiculas de serem testadas. e em linguagens como Java, o esquema do Antes crie o teste, depois crie o codigo não funciona, pois se o metodo não existir na classe vc nem consegue compilar.

Mas a minha decepção não é nem com os testes, que sim, são chatos de serem feitos, mas eu acho algo interessante. O que me deixou meio abismado, foi uma certa metodologia agil, o eXtreming Programming (XP). Lendo sobre o XP, parecia tudo muito bonito, muito bacana, mas aí veio um tal de Pair Programming. Puts eu queria saber quem foi o FDP que acha isso legal? Não existe nada mais chato que passar 8 horas do dia assistindo alguem programando, sim concordo nos louros dessa metodologia, é visível que alguem de fora encherga os seus erros de uma maneira mais facil, mas ninguem pensa no coitado que fica sentado ali do lado? Mesmo que haja revezamento no PC, quem não está programando, vai estar bocejando.

Dai veio o motivo de usar tal metodo...
A pressão do par! Não basta você estar o dia todo na empresa, e não podem nem olhar seus e-mails? Não vai poder se distrair 5 minutos? isso é coisa de Gerente Capataz. Numa profissão maçante como a nossa, acredito que um pouco de descontração (sem esquecer do trabalho é lógico), é fundamental. Acredito que na resolução de um problema, duas cabeças pensam melhor que uma. Mas agora para coisas básicas, acredito que cada um pode se virar, penso no Pair Programming diferente. Acredito que cada uma na sua máquina, em busca do mesmo problema, ou usando papel discutindo o problema, normalmente é mais vantajoso que passar o dia todo assistindo o outro trabalhar.

Não sou contra o Pair Programming, mas vejo mas como uma solução de problemas, por exemplo: Temos um problema vamos discutir e resolve-lo juntos. Após o problema resolvido cada uma volta as suas tarefas normais. Pelo que entendi, o par deve ficar o tempo todo do lado lendo o que o outro escreve e corrigindo os erros.

Só um desabafo.
Tem muito gente que não percebe como funciona para empresas como Google, Microsoft. Ainda acham que funcionários são recursos...

Read more

segunda-feira, 31 de maio de 2010

Especialistas dizem que faltam vagas na área de TI

8

Quem nunca ouviu falar disso? Jornais, noticiários, todo mundos gosta de enaltecer o excesso de vagas no mercado de TI, até comentam de empresas que ficam anos com vagas abertas e não conseguem preenche-las.
Existem vários tópicos no GUJ, comentando sobre essas afirmações feitas por profissionais jornalistas, não profissionais da área de TI. Partindo do suposto que estatisticamente a quantidade de vagas em aberto x o número de candidatos e o tempo que elas permanecem em aberto significam que sobram vagas, correto? Bom, não é bem esse o caminho.
Nem sempre quantidade quer dizer qualidade, o pessoal não está ciente de como é difícil achar boas vagas, e ninguém sai em busca de empresas no estilo Google de ser. Muitos só querem trabalhar ter seu dinheiro e aprender coisas novas.
Sua empresa não acha profissionais para contratar? Bom, existem algumas opções que sua empresa deve analisar:
  • Sua empresa sabe o que precisa, qual cargo pretende contratar?
  • Sabe a média salarial de profissionais desse cargo e com os conhecimentos pedidos?

Somente essas duas perguntas podem responder por que você não acha um profissional nem que seja medíocre para contratar. Por quê? Por que na maioria dos casos o que vemos são vagas em busca de mão de obra qualificada, com baixo salário e que de preferência possa ser ninja e fazer tudo o que for pedido. Já cheguei a ver vagas onde os requisitos no mínimo eram pra sênior , mas a vaga era pra um ESTÁGIARIO, leu bem? Seria a mesma coisa que pedir para um estagiário do escritório de contabilidade saber fazer metade da movimentação contábil das empresas sem ajuda, isso é completamente ridículo, e o salário é claro incompatível com os conhecimentos.
Ai vale a ressalva de que muitas dessas vagas em aberto são exclusivas, e garanto que removendo essa massa de vagas, teríamos ai um mercado equilibrado, sem esse excesso de vagas, que vemos serem veiculados por ai.
É muito simples avaliar que a anos sobram inúmeras vagas em TI, mais ai que os cegos não enxergam, sobram vagas, ou as empresas não sabem contratar profissionais?

Pensei bem se publicava ou não essa bagaça, mas que sabe, ta ai :)

Read more

terça-feira, 26 de janeiro de 2010

Especialista – Sim ou Não?

0

Um especialista é alguém com anos de pratica no seu serviço. Antigamente era algo muito comum, vide o filme Tempos Modernos de Charles Chaplin, ele era um especialista, em apertar parafusos, no final das contas, um especialista nada mais é do que alguém que passou a vida inteira fazendo a mesma coisa e no final não sabe fazer nada alem do que ele é especializado.

É comum eu ouvir muitas criticas, do tipo, você conhece um pouco de varias linguagens mais não conhece nenhuma muito bem. Na verdade o que eu não quero é ser dependente de uma única linguagem, digamos que sou especialista em Java (o que não é verdade), se um dia o Java morresse? Se um dia não existisse mais? O que eu faria?

Provavelmente não iria trocar de área, porém ia ter que me sujeitar a um cargo inferior ao meu para trabalhar com uma linguagem mais nova que eu ainda teria que aprender. Quando se tem uma base, é muito mais simples de evoluir na nova linguagem, você tem um conhecimento básico, e na área de T.I. onde existem mudanças frequentemente, você tem que estar apto a elas, e preparado. A especialização pelo menos na nossa área é passado, você não pode se ater a uma tecnologia, pois ele pode morrer amanha.

Por esses motivos prefiro sempre estar aprendendo, sempre atrás de coisas novas que me tornem um profissional melhor e mais apto.

Desculpem a demora por um novo post =).

Read more

terça-feira, 17 de novembro de 2009

Objetopolis

0

Bem Vindo a Objetopolis.

Assim começa o segundo capitulo do livro Java! Use a Cabeça (Se não for também não interessa :P), copiei esse termo do livro, simplemente para ressaltar o que quero dizer.

Existem alguns que dizem que controlar o fluxo da informaçã com IFs é uma quebra ao paradigma orientado a objeto, porém nem todos os casos existe a necessidade de criar uma Interface e/ou ENUM para contornar IFs, salvo em alguns casos. Muitas vezes o excesso de abstrações para forçar/evitar o uso de algumas estruturas de controle ditas não-oo podem tornar o código menos legivel. Eu acredito que a beleza do codigo é grande parte da beleza de um sistema, concerteza um sistema bem escrito será um sistema que conterá a integração continua, e nenhum desenvolvedor que chegar até o sistema vai abandona-lo.

O que eu defendo quando se escreve um software é, pense em como vc vai ler isso aqui daqui a alguns meses, normalmente 1 mês basta para termos vontade de excluir todos os nossos codigos e reafaze-los aplicando novas tecnicas e funções, isso não é regra, mas como qualquer desenvolvedor que se preze está sempre em constante evolução seu novo conhecimento pode melhorar ou ajudar a escrever o codigo de forma mais elegante.

Apesar de tudo que eu disse sobre os IFs, eu não gosto de usa-los, acredito que deixa o código "tosco", existem situações em que ele é necessário. Muitos ifs podem ser evitados como por exemplo:


if( c == 0){
return true;
}else{
return false;
}


esse código é facimelmente convertido em uma linha:

return c == 0;


Em alguns casos o operador ternário tbm pode ser muito bem empregado, aumentado a legibilidade do código, lembre-se um sistema não é mais definido por linhas de código :D

Algo que eu gosto muito de fazer e usar um pouco de reflection, atrelado a um HasMap, com simples linhas de código temos um código mais legivel, como por exemplo, no item abaixo, abre-se uma determinada tela de um sistema utilizando esse recuro.


class Controller implements ActionListener{
private Map> botoes = new HashMap>();

public void actionPerformed(ActionEvent e){
Class tela = botoes.get((JButton) e.getSource());
if(tela != null){
criaTela(tela);//Cria a tela para ser mostrada
}else{
raiseErro("Tela não encontrada!"); //monstra erro na tela
}
}
public void registraBotao(JButton botao, Class tela){
botoes.put(botao, tela);
}
}


voila, temos um código limpo e facil de ser explicado, não existe problema em ler esse codigo, ele é completamente intuitivo, um único if, e um pouco de dinamismo, e lhes apresento um Controller desvinculado a uma tela. e se adiconar um botão não existe necessidade de criar um novo actionListener para abrir uma tela.

PS: esses exemplos foram criados a mão, aqui no blog, as chances disso não compilar são grandes, é meramente ilustrativo

Por isso que ressalto, muitas vezes para usarmos objetos, sempre que existe uma necessidade, cada objeto deve ter suas funções bem definidas, como li um dia o Sergio Taborda disse, se um objeto é somente para ser um apunhado de atributos com getters e setters que seja, desde que ele tenha sua funcionalidade bem definida.

Viajei nesse post, começei criticando algo que eu faço pra defenter o uso de objetos sempre hehhe.

Só mais um detalhe
Esqueçam os tipos primitivos, utilizem os wrappers A perca de performance é minima, e vc trabalha em um nivel superior aos tipos primitivos.

isso aí povo até mais.

Read more

segunda-feira, 10 de agosto de 2009

.COM

0

Agora o Blog é .COM :)

Continua sendo hospedado no blogger, mas para acessar ficou mais facil

RollingWithCode.com

Esse post é só pra falar isso outra hora posto algo util :)

[]'s

Read more

sexta-feira, 26 de dezembro de 2008

Rails e Merb

0

Essa guerra começou a pouco tempo e já terminou, e pra mim isso não é um bom sinal. Como alguns que participam da comunidade de Ruby, sabem que o Merb é outro framework para desenvolvimento web, eu ainda não tive tempo de brincar com ele, e gostaria de tirar um tempo logo para ver seu funcionamento. Porém ao chegar hoje de manhã, me deparo com a principal noticia da comunidade, o fim da guerra de Rails X Merb, a união das duas equipes para criar um só framework.

Porém ao meu ver isso não é uma boa coisa, a Guerra fria entre esses dois frameworks poderia trazer muito mais recursos e evolução para a comunidade Ruby, com essa união, finda-se a guerra, e o Rails continua absoluto. Não a concorrentes ou alguem com quem disputar espaço, então pra que correr? Pra que melhorar de forma desenfreada? Acredito que se essa fusão esperasse mais teríamos frameworks bem melhores,e quem sabe uma opção diferente ao Rails. Muita gente pode me criticar por essa opnião, não estou dizendo que a fusão é ruim, mas poderia levar mais algum tempo. A guerra fria entre EUA X URSS, trouxe toda a evolução que temos hoje, foi um grande passo para a humanidade, e acredito que se a guerra do Ruby para Web continuasse quem sabe os frameworks não melhorariam bem mais.

Detalhes

Read more

sexta-feira, 19 de dezembro de 2008

[Tradução] Se Lingagues de Programação Fossem Religiões

2

Achei esse texto muito interessante e resolvi traduzir e posta-lo aqui.
Podem confirir o Original clicando Aqui

"Se linguagens de programação fossem religiões"
(Inspirado por "Se linguagens de programação fossem carros")

C seria o Judaismo - é antiga e restritiva, mas o mundo está familiarizado com suas leis e respeita-os. Você não pode ser converter a ele - ou você começa do inicio, ou você irá achar que é tudo insano. Além disso, quando as coisas dão errado, muitas pessoas estão dispostas a culpar os problemas do mundo por isso.

Java seria o Cristianismo Fundametalista - É teoricamente baseado no C, mas ele foge de muitas das velhas leis que ele não sente de todo originais. Em vez disso, adiciona suas proprias regras rigidas, assim seus seguidores se sentirão superiores ao original. Não somente estão certos de que essa é a melhor linguagem do mundo, como estão prontos para queimar quem os desagradar.

PHP seria como o Cristianismo não praticante - Luta com Java pelo mercado da web. Tem vários conceitos de C e Java, mas apenas aqueles que realmente gosta. Não é coerente como as outras linguagens, mas pelo menos leh deixa muita mais livre e ostensivamente mantém a essencia da idéia. Além disso, todo o conceito do "goto hell" (vai para o inferno) foi abandonado.

C++ seria como o Islamismo - Pegou C e não só manteve todas as suas leis como adicionou um novo conjunto de leis no topo dessas. É tão versatil que pode ser usado na criação de qualquer coisa, de grandes atrocidades a lindos trabalhos de arte. Seus seguidores estão convictos que essa é a ultima linguagem universal, e ficam irritados com quem discordar deles. Além disso, se você insultar eles ou seu criador, você provavelmente será ameaçado de morte pelos seguidores mais radicais.

C# é como os Mormons - A primeira vista, é como o Java, mas ao olhar mais de perto, você verá que é controlada por somente uma corporação ( que muitos seguidores do Java dizem ser malvada), e alguns conceitos teologicos são levemente diferentes. Você suspeitaria que ela provavelmente é legal, se você não fosse discriminado por todos os seguidores de Java por seguir ele.

Lisp é como o Budismo - Ele não tem sintaxe, não tem centralização de dogmas, e não possuem santos. O universo inteiro está ai ao seu alcançe - só se você estiver esclarecido o suficiente para pega-lo. Alguns dizem que não é uma linguagem, outros dizem que é a unica linguagem que faz sentido.

Haskell é como o Taoismo - Ele é tão diferente das outras linguagens que muitas pessoas não entendem como alguem produz algo util com isso. Seus seguidores acreditam que esse é o caminho correto para a sabedoria, mas essa sabedoria está além do alcançe da maioria dos mortais.

Erlang
seria como o Hinduismo - Essa é outra estranha linguagem que quem olha não consegue ve-la ser util, mas diferente da maioria das linguagens modernas, foi construida no conceito de multiplos e simultaneos santos.

Perl é como o Voodoo - Uma incompreensivel seria de encatamentos de arcanos que envolve sangue de cabras e corrompe sua alma permanentemente. Frequentemente usada quando seu chefe quer uma tarefa urgente para as 21hrs de sexta.

Lua seria como Wicca - Uma linguagem panteísta que pode facilmente ser adaptada para diferentes culturas ou locais. Seu código é muito liberal, e permite o uso de técnicas que podem ser descritas como mágicas pelas mais tradicionais linguagens. Tem uma estranha ligação com a lua.

Ruby seria como o Novo paganismo - Uma mistura de diferentes linguagens e ideias que foi socado dentro de algo conhecido como linguagem. Seus adeptos estão crescendo rapidamente, com isso muitas pessoas olham para ele com suspeitas, são normalmente pessoas bem intencionadas sem intenção de prejudicar ninguém.

Python seria como o Humanismo - Simples, sem restrições, e tudo que você precisa para segui-lo é o senso comum. Muitos dos seguidores afirmam-se livres dos encargos impostos por outras linguagens, e que redescobriram o prazer de programar. Há quem diga que é somente uma forma de pseudo-código.

COBOL é como o Antigo Paganismo - Teve um tempo que comandou uma vasta região e foi muito importante, mas nos dias de hoje está praticamente morto, para o bem de todos nós. Emboram muitos ainda estejam marcados por seus rituais, há muitos que insistem em mante-lo vivo.

APL seria como Cientologia - Existem muitas pessoas que clamam para segui-lo, mas você sempre suspeitará que é uma grande e elaborada pirraça que irá fugir do seu controle.

LOLCODE seria como Pastafarianism(WTF!?!?) - Uma exoterica, nascida na internet e que ninguem leva a serio, ignorando todos os esforços para desenvolve-la e dissemina-la.

Visual Basic
seria como o Satanismo - Exceto que você realmente não precisa vender sua alma para ser um satanista.

Desculpem-me pelos erros, se alguma coisa ficou traduzida errada me corrigam.

[]'s

Read more

quarta-feira, 19 de novembro de 2008

Mais um blog?

0

Realmente esse é mais um blog sobre desenvolvimento por isso esse nome. Deixe eu me apresentar, meu nome é Rafael Guzi Felix da Silva, também conhecido como Felix, estou atualmente na 8ª fase do curso de Ciência da Computação na UNOESC, e meu real interesse nesse blog é dividir meus conhecimentos com quem assim como é apaixonado por desenvolvimento. Atualmente estou brincando bastante com Ruby on Rails, mas esse blog também vai falar de outras linguages.

Também vou aproveitar para comentar do meu ORM o Java Record, que é baseado no Active Record do Rails, mas para Java, visando a facilidade do desenvolvimento, e a agilidade, sem configurações e sem todos aqueles XML para fazer o relacionamento.

Para mais informações sobre o Java record acesse o site hospedado no java.net, os fontes se encontram no sourceforge.net, mas pelo site (se alguem ai quiser contribuir em construir um site melhor eu ficaria feliz ;) ) da para ter uma noção de como se usa o Java Record, atualmente versão 0.1.1 pois foi adicionado o relacionamento de um para muitos.

Estou ajudando também a criar algumas integrações para o Spree que é um projeto de e-commerce em Ruby on Rails. Alguns projetos que ajudo vocês podem encotrar no GitHub.

Read more

 
Design by ThemeShift | Bloggerized by Lasantha - Free Blogger Templates | Best Web Hosting