Mensagens enviadas por: elomarns
Índice dos Fóruns » Perfil de elomarns » Mensagens enviadas por elomarns
Autor Mensagem
peczenyj wrote:Bastaria vc fazer algo como

ActiveRecord::Base.logger = YouLogger.new

Pois é, acabei de descobrir que com o config.logger = MyLogger.new no environent.rb eu posso definir uma classe pra gerenciar os logs de uma aplicação Rails. Aliás, eu provavelmente já li isso em algum lugar, mas a minha memória não trabalha muito a meu favor.

peczenyj wrote:
perguntinhas:
Se vc centralizar os seus logs em uma applicação vc não teria um ponto unico de falha?

De fato. E se for me perguntar, pra fins práticos e em cenários reais, eu não acho necessário que uma empresa tenha uma aplicação responsável por administrar o log de todas as demais. E se tivesse, não sei se faria isso desta maneira. No entanto, o projeto em questão é mais uma prova de conceito, para testar, entre outras coisas, o comportamento do MongoDB em uma situação onde ele receberá uma carga razoavelmente alta.

peczenyj wrote:
E usar rest para logar vc esta preparado para um erro 500, bufferizar o resultado e tentar novamente?

Não tinha parado pra pensar nisso, mas de fato você está certo, usar uma interface REST pra isso introduz esse problema, ainda mais em um cenário onde essa interface seria usada o tempo todo. Contudo, nesse caso eu confesso não conhecer uma alternativa melhor, dado a necessidade de implementar este cenário: uma aplicação que centraliza os logs de todas as outras através de um banco de dados MongoDB.

Sempre considerei interfaces REST como uma das melhores opções para integrar sistesmas, por isso nesse caso realmente não sei que outra opção usar, já que acessar o MongoDB diretamente não me parece uma boa idéia.



peczenyj wrote:
Edit:

Vc poderia usar o Scribe, que é o que o twitter usa para fazer logging

http://www.slideshare.net/kevinweil/nosql-at-twitter-nosql-eu-2010 (slide 1

Vou dar uma olhada.

Obrigado pelas dicas e também pelas perguntas (é sempre bom se questionar se o que você está fazendo é certo).
Alguém aqui sabe como customizar de forma ampla o comportamento de escrita de logs do Rails?

Eu quero criar uma gem que uma vez utilizada em um projeto faça com que a aplicação não mais escreva os logs em arquivos de texto como development.log ou production.log. Os logs passariam a ser inseridos em um banco de dados CounchDB através de uma chamada a uma API REST de uma aplicação cujo objetivo é centralizar o log de várias aplicações.

Eu imagino que pra fazer isso teria que fazer monkey patching no mecanismo de logs do Rails, mas não faço idéia de que parte exatamente eu deveria redefinir.

Alguém aqui sabe algo que poderia me ajudar nessa tarefa?
Falei besteira no post anterior. O código abaixo funcionaria pra testar um alias:


Obviamente o teste só passaria se full_name fosse um alias de name. Deve ter dado errado quando tentei ontém por ter usado o alias ao invés do alias_method.
peczenyj wrote:É possivel, porém imagine que eu tenho 4 metodos e um alias para um deles.

Um dia um desenvolvedor altera o alias, como eu vou saber?

Se eu repetir os testes do metodoX para o alias eu vou saber, mas ai é chato.

Eu poderia testar se na minha classe o metodo alias_method é chamado com os 2 parametros mas uma vez que a classe é carregada pelo ruby, como testar isso?

Realmente, seria bom testar o alias pra garantir que a situação apontada por você não aconteça sem ser detectada.

Também não sei como testar isso, mas ao pesquisar sobre o assunto, achei a seguinte página: http://rubyforge.org/pipermail/test-unit-tracker/2009-October.txt. Nela, é sugerido usar o seguinte código:



No entanto, eu testei aqui, e o instance_method não funcionou. Ele deu false ao fazer a comparação de um método e seu alias.
Testar se o alias funciona, ou seja, se ao chamá-lo o método adequado é chamado não seria o mesmo que testar o Ruby (supondo que usará a palavra-chave alias)? Neste caso, considerando que o Ruby já tem seus próprios testes para essa palavra-chave, o seu teste não seria desnecessário?
correainfo wrote:
elomarns wrote:correainfo, se me permite a sugestão, já que a sua intenção é compartilhar o aplicativo em questão, e não vendê-lo na App Store, que tal disponibilizar o código dele em um site como o GitHub? Acho que seria bem interessante pra quem está estudando desenvolvimento para o iPhone, além de permitir que desenvolvedores instalem a sua aplicação sem ter que fazer Jailbreak.


Ola elomarns blz??


Entao posso fazer isso sim tranquilo é so ter um tempo no final de semana pra colocar. Sobre instalar sem fazer jailbreak seria necessario pagar $99 doletas para o jobs para ter o certificado para instalar o aplicativo. Ou fazer o que fiz jailbreak e um processo que permite instalar o app sem pagar os $99 fiz isso pq quero testar e as app que estou desenvolvendo pra depois pagar e distribuir na app store..



Beleza, correainfo.

Eu sei que a Apple cobra US$99 pela assinatura anual do iPhone Developer Program Standard, e que sem ele não é possível enviar aplicações para a App Store e nem testar as aplicações em um iPhone/iPod Touch/iPad. Mas como muitos desenvolvedores fazem parte deste programa, eles poderiam instalar a sua aplicação nos seus respectivos dispositivos sem ter que fazer jailbreak, desde que munidos do projeto da aplicação no Xcode.

E no seu caso, embora não tenha usado a sua aplicação, acredito que talvez você tenha chances de ser bem sucedido na App Store, caso sua aplicação resolva um problema razoavelmente comum ou importante dos 350.000 usuários do iPhone/iPod Touch no Brasil. Por isso acho que valeria a pena lançá-la na App Store e cobrar algo em torno de US$0.99.
R$700 por mês para um estágio de 6 horas não é um valor ruim, eu ganhava R$650 com a mesma carga horária. No entanto, entendo a sua vontade de ganhar mais, até porque eu também a tinha.

Contudo, antes de mais nada, você tem que olhar pra sua experiência e decidir se você é um estagiário ou um desenvolvedor júnior. Uma vez que você definir o seu nível atual, você deve procurar vagas de acordo com esse nível.

Eu fui estagiário durante 9 meses, e no fim do meu estágio tive a oportunidade de virar desenvolvedor júnior, portanto acredito que você também tenha condições para isso, caso realmente se dedique ao estágio, e estude por conta própria em casa.

Mas não custa dizer, será mais difícil conseguir um emprego se você não estiver formado ainda. Por mais que eu acredite que curso superior é apenas um dos caminhos para alguém que deseja se tornar desenvolvedor de software, a maioria das empresas discorda de mim, considerando esse praticamente o único caminho. Portanto, sem diploma, você terá mais dificuldades, só conseguindo entrar em empresas de fundo de quintal que não pagarão muito mais do que você ganha no seu estágio, ou em empresas realmente boas e que sabem que não há nenhuma relação direta entre diploma e conhecimento, embora as empresas desse segundo grupo talvez exijam requisitos que você não tenha, como maior experiência.

Agora, em relação ao seu chefe, dê pra ele o uniforme do Captain Obvious. É óbvio que um desenvolvedor com 5 anos de experiência seja mais produtivo do que um outro com 8 meses.
correainfo, se me permite a sugestão, já que a sua intenção é compartilhar o aplicativo em questão, e não vendê-lo na App Store, que tal disponibilizar o código dele em um site como o GitHub? Acho que seria bem interessante pra quem está estudando desenvolvimento para o iPhone, além de permitir que desenvolvedores instalem a sua aplicação sem ter que fazer Jailbreak.
miguel.satriani wrote:cara, voce ta pagando pelo sdk ou tem outras formas pra desenvolver os apps?

O SDK do iPhone é gratuito, você paga pra publicar suas aplicações na App Store e pra testá-las em um dispositivo real, e não apenas no iPhone Simulator, que por sua vez é parte do SDK.
ViniGodoy wrote:
mochuara wrote:Exato. Tem muita gente que programa para iphone utilizando C/C++, o que ajudou a dar um up da linguagem.


Pro iPhone não é objective C? Muitos celulares são programados em C++, com os SDKs dos fabricantes. E também dá para citar o mercado de Palmtops e hendhelds, que até um tempo atrás era muito forte, e também eram basicamente em C++.

É possível desenvolver aplicações nativas para o iPhone usando o C e C++, além do Objective-C. De fato, muitos desenvolvedores C/C++ experientes aproveitaram esse fato para publicar aplicações e, principalmente, jogos na App Store.

Além disso, até pouco tempo atrás, era possível utilizar vários outras linguagens, como C# através do MonoTouch. Mas recentemente a Apple mudou os termos do contrato com os desenvolvedores para o iPhone OS 4, e agora só são permitidas aplicações desenvolvidas com C, C++ ou Objective-C, sem que haja a presença de nenhuma plataforma intermediária, como Flash e Unity.
A div do menu "flutua"" sobre a div principal, graças ao "float: left". Adicione um "clear: both;" na div principal e provavelmente o problema será resolvido.
mochuara wrote:Quanta besteirada. Que diferença faz a velocidade que o cara digita. Alguem aqui ganha por linha de código produzida?

A rigor, a maioria dos desenvolvedores também não ganha para produzir bom código, e sim apenas para produzir código, independente da qualidade. Ou seja, avaliar que habilidades são interessantes se ter para se tornar um desenvolvedor melhor usando o raciocínio "Me pagam pra isso?" é uma má idéia.
sergiotaborda wrote:
elomarns wrote:Estava vasculhando o arquivo do excelente blog Coding Horror, e achei o seguinte texto: We Are Typists First, Programmers Second. Resumidamente, o texto incentiva programadores a aprimorarem a sua habilidade de digitação, uma vez que se trata de uma das disciplinas básicas relacionadas à programação.

Eu concordo com o Jeff Atwood (autor do texto). Sei que desenvolvimento de software é muito mais do que apenas digitar código, mas sinceramente não consigo levar a sério um desenvolvedor que não tenha uma habilidade no mínimo razoável para digitação.

Além do mais, cultivar uma digitação rápida e com uma baixa taxa de erros ajuda bastante em outras atividades relacionadas ao desenvolvimento de software, como documentar alguma descoberta interessante no Wiki da empresa. E no caso do GUJ especificamente, acho que essa habilidade faz bastante falta, dado o alto número de usuários que escrevem com um português sofrível e usam como desculpa a pressa.

Enfim, o que vocês pensam a respeito?


Eu acho que embora seja uma skill util e seja verdade que ajuda bastante, não considero essencial. Afinal, é o tipo de coisa que se aprende na prática - apenas na prática. Este tipo de 'regra" de que o programador deve ser um bom digitador apenas contribui para o conceito de que programadores são apenas redatores de codigo. Eles são redadores de codigo, mas não apenas redatores.

Eu prefiro um profissional que "cate milho" mas tenha conhecimentos solidos de OO e design do um digitador speedy gonzales que não tem cuidado nenhum com padrões. Afinal, do que adianta escreve rápido um codigo que ninguem consegue ler ?

Em teoria eu concordo com você, mas na prática, baseado na minha experiência, eu observei que preocupação com qualidade do código geralmente vem acompanhada com uma preocupação geral em relação a qualidade do trabalho. E geralmente quem se preocupa com isso, é um digitador no mínimo razoável. Enfim, nunca vi um desenvolvedor realmente bom com problemas sérios na digitação, e acho que se existe alguém assim, deve ser um fenômeno bem raro.

É importante ressaltar aqui também que como proficiência na digitação eu não considero só a velocidade com que a pessoa digita, e também a eficiência. Por exemplo, não adianta nada alguém apertar a tecla Backspace com extrema habilidade, já que há o atalho Ctrl+Backspace (ou Option + Backspace, no Mac OS X) permite apagar a palavra imediatamente anterior bem mais rapidamente.
deniswsrosa wrote:Olá!

Sinceramente, desde que o programador não "cate milho" não vejo muitos problemas quanto a não seguir as "posições corretas", claro que sempre ajuda se você possui tal habilidade mas um código bem feito é escrito em poucas linhas, logo, uma digitação rápida ou mediana não são tão impactantes.

Concordo que não é necessário seguir as posições corretas para ser um bom desenvolvedor. Contanto que se consiga digitar de forma eficiente, sem grande demora, acredito ser suficiente. Mas, baseado na minha experiência, tenho minhas dúvidas se a maioria dos desenvolvedores possui a proficiência mínima para digitação.

Só adiciono um detalhe em relação à "posição correta" dos dedos: provavelmente utilizá-las seja uma boa idéia, dada a quantidade razoável de lesões na mão na nossa profissão (sei que para evitar isso não basta utilizar uma posição adequada para digitação). No entanto, aqui eu me coloco entre os que digitam como acham melhor, sem nenhum estudo sobre se isto causa ou não algum dano à mão (suspeito que causa). Shame on me.

Enfim, o ponto do artigo, ao qual eu concordo, é que é importante que o fluxo das idéias do cérebro até o código, ou até um texto, seja o mais curto possível, até para evitar perda de informações.
Estava vasculhando o arquivo do excelente blog Coding Horror, e achei o seguinte texto: We Are Typists First, Programmers Second. Resumidamente, o texto incentiva programadores a aprimorarem a sua habilidade de digitação, uma vez que se trata de uma das disciplinas básicas relacionadas à programação.

Eu concordo com o Jeff Atwood (autor do texto). Sei que desenvolvimento de software é muito mais do que apenas digitar código, mas sinceramente não consigo levar a sério um desenvolvedor que não tenha uma habilidade no mínimo razoável para digitação.

Além do mais, cultivar uma digitação rápida e com uma baixa taxa de erros ajuda bastante em outras atividades relacionadas ao desenvolvimento de software, como documentar alguma descoberta interessante no Wiki da empresa. E no caso do GUJ especificamente, acho que essa habilidade faz bastante falta, dado o alto número de usuários que escrevem com um português sofrível e usam como desculpa a pressa.

Enfim, o que vocês pensam a respeito?
 
Índice dos Fóruns » Perfil de elomarns » Mensagens enviadas por elomarns
Ir para:   
Powered by JForum 2.1.8 © JForum Team