JavaFree.org | RubyOnBr.org

Posts recentes by FabianoPS

Acompanhar Posts recentes by FabianoPS 63 posts encontrado

Páginas: 1 2 3

28/03/2011
Avatar FabianoPS 63 posts

Tópico: Localização de cidade por IP (geolocation)

Salve Rubyers!

Alguma recomendação pra trabalhar com achar localização, que ainda que não perfeitamente, funcione no Brasil? Sendo free ou de custo acessível.

Umas APIs gringas não estão funcionando tão legal por aqui..

Se conhecerem uma tabela de IPs atualizada tb, super mão na roda!

Abraços

 
27/01/2011
Avatar FabianoPS 63 posts

Tópico: Performance no Linode, bom?

Salve galera!

Recentemente contratei uma Linode 512, que seria o mais em conta das opções. Depois de um quest pra instalar minha stack pela primeira vez, segui o conselho do nofxx e instalei nginx+unicorn. Disparei um teste do Apache ab daqui de casa e fiquei desapontado com 2req/seg

fps ~/workspace3/soccerhero $ ab -n 10 -t 25 "http://blablabla/" 
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Finished 52 requests


Server Software:        nginx/0.7.65
Server Hostname:        173.255.203.162
Server Port:            80

Document Path:          /
Document Length:        2279 bytes

Concurrency Level:      1
Time taken for tests:   25.083 seconds
Complete requests:      52
Failed requests:        0
Write errors:           0
Total transferred:      147056 bytes
HTML transferred:       118508 bytes
Requests per second:    2.07 [#/sec] (mean)
Time per request:       482.359 [ms] (mean)
Time per request:       482.359 [ms] (mean, across all concurrent requests)
Transfer rate:          5.73 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:      173  201  25.5    196     334
Processing:   199  281  70.8    272     508
Waiting:      195  277  70.8    268     504
Total:        376  482  69.5    459     704

Percentage of the requests served within a certain time (ms)
  50%    459
  66%    489
  75%    526
  80%    541
  90%    594
  95%    604
  98%    626
  99%    704
 100%    704 (longest request)

Mas rodando local do VPS fiquei surpreso, ~65req/seg !

root@brain1:/web/soccerhero# ab -n 10 -t 25 "http://blablabla" 

Concurrency Level:      1
Time taken for tests:   25.009 seconds
Complete requests:      1619
Failed requests:        0
Write errors:           0
Total transferred:      4578532 bytes
HTML transferred:       3689701 bytes
Requests per second:    64.74 [#/sec] (mean)
Time per request:       15.447 [ms] (mean)
Time per request:       15.447 [ms] (mean, across all concurrent requests)
Transfer rate:          178.79 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0    0   0.0      0       0
Processing:    10   15  15.0     11     120
Waiting:       10   15  15.0     11     120
Total:         10   15  15.0     11     120

Percentage of the requests served within a certain time (ms)
  50%     11
  66%     12
  75%     15
  80%     15
  90%     16
  95%     18
  98%     81
  99%     90
 100%    120 (longest request)

No caso eu disparei contra a home (que nem faz acesso ao BD), com esses parametros que eu peguei de um exemplo, vocês recomendam parametros melhores para usar no teste?

Eu fiquei achando meio estranho essa parada de poder ‘nukar’ o nginx com tanto request de um mesmo IP e ele responder.. e se for alguem de má fé que deixa isso disparando indefinidamente contra meu server??

Os logs de produção tão promissores, pq mesmo os requests relativamente mais custosos não passam de 150ms, mas a latencia da ida e volta parece estar matando

Enfim, alguma dica ou referencia pra tunar o server para dummies?

 
26/01/2011
Avatar FabianoPS 63 posts

Tópico: Achando Endereço via CEP, offline

Salve Galera!

Alguem já teve a experiência de determinar o endereço do cidadão ( Cidade Estado Logradouro ) via Rails, usando alguma base de dados offline?

O que mais me interessa seria essa tabela que mapeia o CEP pro endereço..

Abraço

 
25/01/2011
Avatar FabianoPS 63 posts

Tópico: Passenger gem + nginx + Ruby enterprise 1.8

Yo, necromantizando o tópico..

Tenho a mesma config do Rodrigo, Linode 512. E meu objetivo é hostear somente um site Rails que se tudo der certo, deve ter bastante acesso.

Até agora eu estava me esforçando pra funfar com o Passenger, mas aprendi aqui e no outro post que não é o esquema..

Bom, tem algum tutorial for dummies que vocês recomendam pra eu colocar isso pra funcionar, Thin + Nginx ?? :D

 
19/04/2010
Avatar FabianoPS 63 posts

Tópico: NF-e

@nofxx aqui também estamos precisando desta implementação, se puder me add no msn, a empresa em que trabalho está precisando de uma solução, me add no gtalk please.. fabianosoriani
vlws

 
24/02/2010
Avatar FabianoPS 63 posts

Tópico: Aniversariantes

Sem responder a pergunta, porque o Mere já respondeu, mas, se vc quiser pegar por ex quem vai fazer niver nos proximos 3 dias, pode fazer assim


MONTH = MONTH + INTERVAL 0 DAY ) AND DAY = DAY + INTERVAL 0 DAY ) OR
MONTH = MONTH + INTERVAL 1 DAY ) AND DAY = DAY + INTERVAL 1 DAY ) OR
MONTH = MONTH + INTERVAL 2 DAY ) AND DAY = DAY + INTERVAL 2 DAY )

Gostaria que alguem apresentasse um jeito melhor =/

 
23/02/2010
Avatar FabianoPS 63 posts

Tópico: Autorização para admin.

Para mim CanCan resolve os pepinos, porque cobre associação assim como mostra no railscast and is_sexy

 
23/02/2010
Avatar FabianoPS 63 posts

Tópico: Pegar metodo de controller

Que forma curiosa de fazer as coisas….. hehehehehe

Um plugin tipo o CanCan não resolve? To testando implementar ele no meu projeto e ta bem interessante porque ele cobre associações de forma inteligente…

 
22/02/2010
Avatar FabianoPS 63 posts

Tópico: Mensagem

A dica é que o Rails interpreta os inputs e selects baseado no atributo name do HTML.
Você pode até passar na forma de array apesar que hash é mais comum.
Depois de um Submit, dê uma olhada no log (ou console) do seu app para ver o que recebeu!
ex:


Processing Aaaaa::FazerPao#necessidade_real_e_ultimo_preco (for 127.0.0.1 at 2010-02-22 12:19:10) [GET]
Parameters: {"acabamento_id"=>"8", “material_id”=>"26", “id”=>"47", “material_base_id”=>"9"}

seja lá o que for, você pode captar pela variável params[] no Controller,
ex_acima: params[‘acabamento_id’] #=> ‘8’

 
22/02/2010
Avatar FabianoPS 63 posts

Tópico: dificuldades com Ajax !!

Comece a usar o Firebug (no firefox) ou FirebugLite em outros,

Tentar fazer funfar por mágica não costuma dar certo..

 
22/02/2010
Avatar FabianoPS 63 posts

Tópico: Duvida cruel (abacaxi)

Uau.. tudo pela otimização hein?! xD

Uau.. tudo pela otimização hein?! xDveja essa gem

 
11/02/2010
Avatar FabianoPS 63 posts

Tópico: Campo de busca

Claro, verifica no controller, se a string tem um tamanho mínimo retorna com paginação( procura por willpaginate :) ao invés de retornar todo find!

Se lembre de usar o :conditions da sua busca no formato: [" nome_busca = ?", param[:busca] ] para não tomar injection!

Usar JS no cliente para verificar é opcional, mas não conte com ele

 
11/02/2010
Avatar FabianoPS 63 posts

Tópico: validates no form de contato

Pelo o que entendi, a grosso modo você quer validar sem ter uma tabela certo?
Eu já tive esse mesmo problema quando fiz um formulário de Contato, A solução estaria nesse screencast

O modo mais elegante é provavelmente fazer um model que nem do Ryan e validar lá.

 
09/02/2010
Avatar FabianoPS 63 posts

Tópico: Executar método do ancestral

Puts Mere, eu não teria uma frase melhor que: “carai que zona!” uhaeuasesauesauheusahe

Acertou na mosca, só não posso dizer que é uma ótima solução, porque é um péssimo problema =P

[]s

 
09/02/2010
Avatar FabianoPS 63 posts

Tópico: Executar método do ancestral

Luizão: Simmm.. usar undef é uma solução, porém se perde o método =P
Voce anda sumidão cara, num volta mais??

Mere: é quase isso, mas tem tb o kicker:

Então a idéia seria chamar algo do tipo super.outro, infelizmente não funciona

 
09/02/2010
Avatar FabianoPS 63 posts

Tópico: Executar método do ancestral

To ligado que esse tópico é ancião mas creio que continua atual..

Deixando mais complexo, eu estou no FilhoController invocando o método de instancia a e de dentro do método a de filho, eu desejo chamar o método do Pai:metodoQualquer

Estou falando besteira? Teria como faze-lo?
super.método não dá certo

 
19/11/2009
Avatar FabianoPS 63 posts

Tópico: Precisa-se de Web Designer

Salve galera!

To com um empreendimento Web e preciso de uma designer (de preferencia mulher) para desenvolver a interface de um site de beleza. Alguem me recomenda uma?

[]s

 
20/10/2009
Avatar FabianoPS 63 posts

Tópico: Destruir uma session

Cara, em breve voce vai rir desse link to seu…

Seguinte, tem varias coisas erradas aí.. o que link to faz é um atalho para inserir na view (página) o elemento A de HTML, popularmente conhecido por link

Então…

gera o HTML:

Agora… não é possível destruir uma session só por se clicar num link, você ta confundindo com programação Desktop. Esse link que você quer criar deve remeter a uma ação de um controlador que vai por fim fazer algo do tipo:

Sendo que :user nesse caso é uma entrada da hash Session que guardaria as info. de seu usuário logado.

Porem parece que voce esta tentando contruir uma casa sem portas ou janelas.. comece mais simples :)

 
20/10/2009
Avatar FabianoPS 63 posts

Tópico: Fórum de JavaScript (js) ?

Alguem conhece um forum onde possa postar dúvidas e me respondam? De preferencia que tenha OpenID :P

entendo que aqui é pra ruby e ror então não devo postar aqui certo?

 
01/09/2009
Avatar FabianoPS 63 posts

Tópico: joins=> ou :include=> ?

Não sei, e nesse caso parece pouco relevante, mas toda consulta do Active Record sai impressa no log (por padrão), então simplesmentecopie e cole elas no seu SGBD padrão e avalie =D

 
01/09/2009
Avatar FabianoPS 63 posts

Tópico: Dividir uma lista de objetos em 3 (ul's)

Pode reformular a pergunta de uma forma mais compreensível?

 
22/07/2009
Avatar FabianoPS 63 posts

Tópico: Ler dados de webcam USB?

Salve galera!

Um amigo meu está construindo um gadget (ele não quer me contar qual..) USB, e eu preciso de uma forma de controla-lo no Windows! Estou bem perdido por onde começar, não sei se a lib de ruby ‘win32ole’ pode fazer essa comunicação pra mim, ou se vou ter que escrever um driver em C :(

Tava fazendo umas experiencias pra tentar ler dados da webcam, mas estou perdidão logo de começo.

Se alguem tiver uma experiencia dessa, mesmo em unix, por favor =)

 
22/07/2009
Avatar FabianoPS 63 posts

Tópico: Paperclip - apagar imagem original?

Acho que vc não pesquisou muito nao.. vou dar um quote:

  • http://thewebfellas.com/blog/2008/11/2/goodbye-attachment_fu-hello-paperclip *
    When an image file is uploaded Paperclip stores it using the original style name. While it isn’t possible to tell Paperclip to simply discard the original image, it is possible to define your own original style which Paperclip will then use. As an example, if your model contains the following:
    has_attached_file :photo,
    :styles => { :original => ‘250×250>’,
    :small => ‘50×50’ }

Claro que da pra fazer uma gambia pra deleta-la tb.. só não conta pro paperclip ou ele chora =(

 
24/06/2009
Avatar FabianoPS 63 posts

Tópico: JRails not found

Um framework JS? Não sei se é isso que vc está procundo mas Já tentou baixar aqui? http://github.com/aaronchi/jrails/tree/master

 
24/06/2009
Avatar FabianoPS 63 posts

Tópico: o que usar? SHA1/2/256 ou MD5

Vlw galera pela explicação! Vou pesquisar essa gem ai nofxx

Então a encriptação é pra remediar possíveis injections, e a dica do ‘tempero’ é muito boa já que o cara teria que ler meu fonte pra decodificar =D

To bolando meu App padrão por isso que to pensando nessas coisas.. como faz falta uma diciplina de segurança =(

A questão das colisões eu não vejo necessariamente como algo tão problemático se vc fizer limitações contra Brute-force e tamanhos mínimos para password, dessa forma o cara não vai poder usar ‘aa’ como senha =) O lado bom das colisões seria que mesmo se alguem roube meu banco dificilmente vai achar a senha verdadeira do meu user, (pq a tradução é ampla) e dessa forma não vai conseguir entrar no e-mail dele por exemplo =)

Próxima página

Páginas: 1 2 3