[Cascavel-pm] ERP com Catalyst

Nilson Santos Figueiredo Junior acid06 em gmail.com
Sexta Abril 25 12:01:38 PDT 2008


2008/4/25 Luciano Giordani Bassani <lgbassani em terra.com.br>:
>  Realmente, creio que uma rotatividade seria interessante. Mas eu estou
> tanto tempo assim na mesma empresa, pq ela me permitiu que eu "crescesse".
> Eu comecei como técnico de manutenção e hoje eu sou "webmaster",
> "webdeveloper", "DBA" e mais um monte destes termos, tudo ao mesmo tempo.
> Mas confesso que cheguei em um estágio que não tem mais como eu aprender
> alguma coisa lá e já estou pensando em trocar de emprego, mas dai tem as
> prioridades privadas. Fiz algumas dívidas e enquanto estou pagando não dá
> para pensar em grandes mudanças.
>
>  A questão do tempo é isso mesmo...
>  Eu sou um funcionário que vale por uns 4 ou 5, heheheh
>  Vamos lá:
>  Eu administro 2 servidores, dando manutenção total a eles, desde: dns,
> apache, banco de dados PostgreSQL, MySQL, postfix, snort, etc. Faço tudo
> sozinho.
>  Este servidores trabalham na web em alta-disponibilidade (dentro do que é
> possível fazer, com os recursos que disponho), inclusive com replicação de
> dados no MySQL. O PostgreSQL ainda não consegui implementar uma solução.
>
>  Além disso, eu até não havia mencionado, existem uma equipe dentro do nosso
> maior cliente, responsável por fornecer o conteúdo para os portais que estão
> nestes 2 servidores. Eu presto consultoria para eles e implemento a parte da
> programação (exemplo, eles criam um novo menu que eles acham "bonitinho" e
> eu "copio-e-colo" ou faço o código para eles), além é claro de formulários,
> estas coisas.

Você é o "herói" da empresa. Isso é ruim para você (baixa qualidade de
vida) e para a empresa (excesso de dependência). Tanto você quanto seu
chefe deveria tentar mudar essa situação.

Um "herói" é aquele que compensa a falta de conhecimento de boas
práticas com muito esforço e, muitas vezes, consegue até mesmo salvar
projetos e fazer a empresa andar. O problema é que o custo disso é
muito alto a longo prazo para a empresa e a todo prazo para o "herói".
Historicamente, os "heróis" acabam ficando na empresa até ela quebrar
(e isso costuma acontecer com tais empresas).

Em particular, o livro que eu citei em outra mensagem fala em uma
seção sobre o tipos de funcionários de uma empresa. Estou começando a
achar que esse livre talvez seja realmente recomendado para você. Não
porque você irá seguir o processo proposto, porque ele consegue ser
mais rígido que quase qualquer outro processo formal que eu já vi, mas
como aprendizado geral.

Aqui vai um link para compra:

 <link removido>

Eu tentei enviar a mensagem anterior mas o email voltou pois o pm.org
está rejeitando mensagens que contenham links para o Submarino, não
sei porque. De qualquer forma, vá no BuscaPé e procure por "Engenharia
de Software Wilson" e você vai encontrar o livro, é a segunda edição.

>  Eu aceitei todas as tuas críticas numa boa e vou ler estes livros que tu me
> indicou, só não gostei da parte que tu me pré-julgou e disse que meu sistema
> é inseguro, que não tem validação no lado do servidor, só pq eu falei em
> "Javascript". E se não foi pq eu falei em "Javascript", que outra coisa
> levou tu a acreditar que meus sistemas são inseguros? Eu não creio que eu
> seja perfeito nisso, mas EU SEMPRE ME PREOCUPO em fazer algo bom dentro do
> conhecimento que eu disponho. Adorei as palestras de PostgreSQL no fisl9.0,
> pois além de aprender coisas novas, vi que a maioria das práticas de
> segurança eu já implementava e a questão do "Postgresql Application Server"
> é algo que está sendo feito neste novo projeto.

A maior parte dos bons desenvolvedores web não tem nada contra
JavaScript, o que nos faz treme é "validação de dados utilizando
JavaScript". Porque?

De fato, a validação de dados em JavaScript é até uma boa prática, na
minha opinião. Contudo, quando alguém fala que está "validando os
dados utilizando JavaScript" normalmente essa pessoa quis dizer que
está "validando os dados *exclusivamente* em JavaScript" e isso é um
pecado capital. Porque?

Porque se alguém enviar um request malicioso, feito à mão para o seu
servidor, você estará sujeito a problemas de segurança.

Deixar para o banco de dados validar é algo que eu considero aceitável
em protótipos ou sistemas internos, **desde que você tenha certeza que
qualquer risco de SQL injection foi eliminado** (utilizando algo como
o DBIx::Class). Mas, em geral, é uma má prática. Eu considero isso
análogo a uma prática comum de desenvolvedores Java: ao realizar uma
operação de divisão, ao invés de verificar se o divisor é 0, eles
simplesmente dividem e pegam o erro de divisão por zero em um
try/catch. Uma distorção completa da função que deveria ser
desempenhada pelas exceções.

>  Não vou seguir todos os teus conselhos e sugestões, pq eu sou uma pessoa
> que não aceita tudo pronto sem antes racionalizar. Exemplo:  na palestra do
> FISL, o David Fetter parece que comete o "pecado 4" que tu citou, pois pelo
> que eu entendi da palestra ele repassa para o PostgreSQL o motor da regra de
> negócio (pelos menos a validação dos dados). E é isso mesmo que eu pretendo.
> Não tenho equipe grande de desenvolvimento, então vou deixar toda a regra de
> validação (do lado do servidor) no banco de dados. Vou abusar de store
> procedures e triggers neste projeto novo, mesmo que o Roger Pressman (que eu
> vou ler, nem que seja para poder discordar dele depois), não concorde.

Olha só, eu vou te falar uma coisa. É até um depoimento pessoal

Quando eu estava aprendendo a programar, eu demorei um tempo pra
conseguir entender claramente os benefícios da orientação à objetos.
Isso é algo que você só vai conseguir entender na prática. Eu comecei
a utilizar OO simplesmente porque eu achei que o programa ficava
esteticamente mais agradável pra mim e eu queria aprender todos os
recursos existentes em Perl. Mas eu não via nenhum benefício
"gritante" antes de começar a utilizar pra valer.

Eu sei que a "ficha caiu" pra mim um tempo depois, quando eu estava
utilizando os conceitos de OO e observei como a minha vida tinha
ficado mais fácil com aquilo quando precisava de realizar modificações
no sistema e como o planejamento das coisas era facilitado.

Eu sugiro que você tente desenvolver um pequeno projeto utilizando OO,
mesmo que isso pareça doloros pra você agora - eu tenho certeza que
depois você não vai querer voltar mais.

-Nilson Santos F. Jr.


Mais detalhes sobre a lista de discussão Cascavel-pm