<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
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&eacute;cnico de manuten&ccedil;&atilde;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&aacute;gio que n&atilde;o tem mais
como eu aprender alguma coisa l&aacute; e j&aacute; estou pensando em trocar de
emprego, mas dai tem as prioridades privadas. Fiz algumas d&iacute;vidas e
enquanto estou pagando n&atilde;o d&aacute; para pensar em grandes mudan&ccedil;as.<br>
<br>
A quest&atilde;o do tempo &eacute; isso mesmo...<br>
Eu sou um funcion&aacute;rio que vale por uns 4 ou 5, heheheh<br>
Vamos l&aacute;:<br>
Eu administro 2 servidores, dando manuten&ccedil;&atilde;o total a eles, desde: dns,
apache, banco de dados PostgreSQL, MySQL, postfix, snort, etc. Fa&ccedil;o
tudo sozinho.<br>
Este servidores trabalham na web em alta-disponibilidade (dentro do que
&eacute; poss&iacute;vel fazer, com os recursos que disponho), inclusive com
replica&ccedil;&atilde;o de dados no MySQL. O PostgreSQL ainda n&atilde;o consegui
implementar uma solu&ccedil;&atilde;o.<br>
<br>
Al&eacute;m disso, eu at&eacute; n&atilde;o havia mencionado, existem uma equipe dentro do
nosso maior cliente, respons&aacute;vel por fornecer o conte&uacute;do para os
portais que est&atilde;o nestes 2 servidores. Eu presto consultoria para eles
e implemento a parte da programa&ccedil;&atilde;o (exemplo, eles criam um novo menu
que eles acham "bonitinho" e eu "copio-e-colo" ou fa&ccedil;o o c&oacute;digo para
eles), al&eacute;m &eacute; claro de formul&aacute;rios, estas coisas.<br>
<br>
Preciso dar manuten&ccedil;&atilde;o nos sistemas que foram feitos por n&oacute;s em Perl,
mais precisamente a CouroNET e o Eventor. Mesmo que tu ache eles ruins
(hehehe), eles funcionam e atendem os nossos clientes, dentro das
necessidades deles, mesmo que tu n&atilde;o goste de "iframes"!&nbsp; <span
 class="moz-smiley-s4"><span> :-P </span></span><br>
<br>
Estou sempre pesquisando e procurando aplicar boas praticas dentro
deste ambiente todo, principalmente em termos de seguran&ccedil;a, pq se
algu&eacute;m invadir o servidor, eu n&atilde;o posso botar a culpa em outra pessoa!&nbsp;
<span class="moz-smiley-s3"><span> ;-) </span></span><br>
<br>
E por fim, ainda preciso encontrar tempo para desenvolver novos
sistemas, como este famoso ERP e a reescrita do Eventor e CouroNET, que
j&aacute; est&atilde;o defasados.<br>
Isso tudo "sem gastar" muito. Se n&atilde;o fosse o software livre, n&atilde;o sei o
que seria da minha vida!&nbsp; <span class="moz-smiley-s5"><span> :-D </span></span><br>
Sobra pouco tempo para minha vida particular, vivo quase o tempo todo
conectado e n&atilde;o gosto mais desta vida, mas entrei em um ciclo vicioso
que fica dif&iacute;cil mudar.<br>
<br>
<br>
<br>
Eu aceitei todas as tuas cr&iacute;ticas numa boa e vou ler estes livros que
tu me indicou, s&oacute; n&atilde;o gostei da parte que tu me pr&eacute;-julgou e disse que
meu sistema &eacute; inseguro, que n&atilde;o tem valida&ccedil;&atilde;o no lado do servidor, s&oacute;
pq eu falei em "Javascript". E se n&atilde;o foi pq eu falei em "Javascript",
que outra coisa levou tu a acreditar que meus sistemas s&atilde;o inseguros?
Eu n&atilde;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&eacute;m de aprender coisas novas,
vi que a maioria das pr&aacute;ticas de seguran&ccedil;a eu j&aacute; implementava e a
quest&atilde;o do "Postgresql Application Server" &eacute; algo que est&aacute; sendo feito
neste novo projeto.<br>
<br>
N&atilde;o vou seguir todos os teus conselhos e sugest&otilde;es, pq eu sou uma
pessoa que n&atilde;o aceita tudo pronto sem antes racionalizar. Exemplo:&nbsp; 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&oacute;cio (pelos menos a valida&ccedil;&atilde;o dos
dados). E &eacute; isso mesmo que eu pretendo. N&atilde;o tenho equipe grande de
desenvolvimento, ent&atilde;o vou deixar toda a regra de valida&ccedil;&atilde;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&atilde;o concorde.<br>
<br>
<br>
<br>
SDS,<br>
<br>
Luciano<br>
<br>
<br>
<br>
<br>
<br>
Luis Motta Campos escreveu:
<blockquote cite="mid:4811E85F.1020609@yahoo.co.uk" type="cite">
  <pre wrap="">Luciano Giordani Bassani wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">Contando a &eacute;poca que fui estagi&aacute;rio, estou nesta empresa a quase 12 
anos.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Lamento muito por voc&ecirc;, parece que voc&ecirc; precisa de um pouco mais de
experi&ecirc;ncia profissional.

Ficar tanto tempo assim numa empresa apenas faz mal para o
desenvolvimento profissional da gente. Siga o meu conselho, e tente
encontrar outra coisa para fazer. N&atilde;o tenha pena do seu chefe, ele vai
conseguir se virar. ;)

  </pre>
  <blockquote type="cite">
    <pre wrap="">Acho que vou seguir o teu conselho e vou ler algum livro sobre isso,
 mas em portugu&ecirc;s.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Certo, sem problemas. Eu uso o Google para voc&ecirc;:

An&aacute;lise Estruturada Moderna
Autor: Yourdon, Edward
Editora: Campus
ISBN: 8570016158
<a class="moz-txt-link-freetext" href="http://www.temporeal.com.br/produtos.php?id=153906">http://www.temporeal.com.br/produtos.php?id=153906</a>

Engenharia de Software ( 6&ordf; Edi&ccedil;&atilde;o)
Autor: Pressman, Roger
Editora: McGraw-Hill Brasil
ISBN: 8586804576
<a class="moz-txt-link-freetext" href="http://www.temporeal.com.br/produtos.php?id=170297">http://www.temporeal.com.br/produtos.php?id=170297</a>

Eles entregam, ent&atilde;o voc&ecirc; n&atilde;o precisa nem ir at&eacute; a loja... &eacute; s&oacute; clicar.

  </pre>
  <blockquote type="cite">
    <pre wrap="">Algum dia, pq arrumar tempo &eacute; algo complicado.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Tempo &eacute; quest&atilde;o de op&ccedil;&atilde;o e organiza&ccedil;&atilde;o.
Em todo caso, para aqueles que precisam de uma ajudinha:

Time Management for System Administrators
Autor: Limoncelli, Thomas
Editora: O'Reilly
ISBN: 0596007833
<a class="moz-txt-link-freetext" href="http://www.temporeal.com.br/produtos.php?id=170897">http://www.temporeal.com.br/produtos.php?id=170897</a>

  </pre>
  <blockquote type="cite">
    <pre wrap="">Mas a verdade &eacute; que eu n&atilde;o gosto mais de desenvolver sistemas.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Me desculpe. Eu n&atilde;o quero ofender, nem tenho a inten&ccedil;&atilde;o de brigar. Ainda
assim, a impress&atilde;o que eu tenho &eacute; a do menininho que est&aacute; perdendo o
jogo e diz "n&atilde;o brinco mais". Seja esportivo, leia os livros, voc&ecirc; ainda
tem "cura" ;)

  </pre>
  <blockquote type="cite">
    <pre wrap="">Eu divido as telas (que na empresa onde a gente trabalha s&atilde;o 
formul&aacute;rios que devem ser preenchidos, validados e enviados ao banco
 de dados) em simples e complicadas, pq neste novo projeto as telas 
simples (que em geral s&atilde;o a maioria) s&atilde;o geradas automaticamente. 
Assim, eu s&oacute; passo para o script qual &eacute; o nome da tabela e mais algum
 ou outro par&acirc;metro. Atrav&eacute;s de consultas SQL, o script monta o 
formul&aacute;rio, v&ecirc; o tipo de campo e se &eacute; obrigat&oacute;rio ou n&atilde;o e monta toda
 a regra de valida&ccedil;&atilde;o, isso tudo autom&aacute;tico. Em tese, toda a regra de
 neg&oacute;cio eu estou tentando deixar no PostgreSQL e o script apenas l&ecirc;
 isso.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Seus pecados, todos cobertos pelo Pressman:

1. Falta de separa&ccedil;&atilde;o entre a camada de valida&ccedil;&atilde;o, e exibi&ccedil;&atilde;o;
2. Falta de separa&ccedil;&atilde;o entre a camada de persist&ecirc;ncia e as regras de neg&oacute;cio.
3. "Meia-solu&ccedil;&atilde;o": metade do sistema precisa apenas de configura&ccedil;&atilde;o, e
outra metade precisa ser feita &agrave; m&atilde;o, quando as duas s&atilde;o supostamente
implementa&ccedil;&otilde;es parciais da mesma funcionalidade;
4. Usando dep&oacute;sito de dados como um "motor de regras de neg&oacute;cio".
5. N&atilde;o misture a camada de exibi&ccedil;&atilde;o e a camada de aplica&ccedil;&atilde;o: teus
c&aacute;lculos n&atilde;o importa se simples ou complicados, n&atilde;o devem ser feitos no
meio do HTML, n&atilde;o devem ser "gerados com telas" (argh). Separe o c&oacute;digo
que exibe informa&ccedil;&otilde;es para o usu&aacute;rio num arquivo diferente do c&oacute;digo que
calcula as informa&ccedil;&otilde;es que ser&atilde;o exibidas.

  </pre>
  <blockquote type="cite">
    <pre wrap="">Os formul&aacute;rios complicados (que na g&iacute;ria da empresa chamamos de 
tela), n&atilde;o podem ser autom&aacute;ticos pq existem outras regras e 
sub-formul&aacute;rios. Por exemplo, telas que tem que calcular quest&otilde;es 
financeiras, etc. A vantagem disso &eacute; que eu posso concentrar meu 
tempo no que realmente importa e deixar estas quest&otilde;es de design 
praticamente autom&aacute;ticas.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Voc&ecirc; realmente pode se beneficiar muito de ler os livros que eu te
indiquei. Voc&ecirc; est&aacute; fazendo tudo ao contr&aacute;rio: deve se preocupar com o
desenho da aplica&ccedil;&atilde;o, e manter esta parte sob controle (n&atilde;o "automatize"
o projeto da aplica&ccedil;&atilde;o). Ao contr&aacute;rio, preocupe-se com isso (&eacute; o que
realmente importa) e tenha pol&iacute;ticas e regras para *tudo* no seus
sistemas: gere automaticamente tudo o que puder ser gerado ou derivado
de outras informa&ccedil;&otilde;es, seja din&acirc;mica ou est&aacute;ticamente.

Mais uma vez, com todo o respeito (eu n&atilde;o quero ofender, quero educar)
eu insisto: voc&ecirc; n&atilde;o sabe como organizar software. Por favor leia os
livros que eu te indiquei (est&atilde;o em portugues, para fazer a tua vida
simples).

  </pre>
  <blockquote type="cite">
    <pre wrap="">Eu creio que n&atilde;o &eacute; educado da tua parte criticar os sistemas que eu 
mantenho apenas pela quantidade de visitas que eles recebem.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Eden, acho que voc&ecirc; &eacute; melhor que eu para explicar que a quantidade de
visitantes n&atilde;o tem nada a ver com isso, e que as cr&iacute;ticas s&atilde;o sobre a
parte de engenharia (ou melhor, sobre a falta dela) nos sistemas. A
palavra &eacute; tua, Eden.

  </pre>
  <blockquote type="cite">
    <pre wrap="">Sobre a valida&ccedil;&atilde;o eu j&aacute; respondi para outra pessoa em outro e-mail e
 sobre seguran&ccedil;a eu posso afirmar, com 100% de certeza absoluta, que
 os sistemas que eu mantenho s&atilde;o mais seguros do que os das Lojas 
Americanas, Submarino, Sara&iacute;va, entre outros.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Sim, sim, os outros est&atilde;o vulner&aacute;veis ao ataque de XSS, voc&ecirc; blogou
sobre isso aqui: <a class="moz-txt-link-freetext" href="http://lgbassani.wordpress.com/">http://lgbassani.wordpress.com/</a>

Eu tenho certeza de que os outros engenheiros de software desta lista
tamb&eacute;m podem te explicar quais s&atilde;o os problemas com o teu software.

  </pre>
  <blockquote type="cite">
    <pre wrap="">Eu me preocupo com isso e sempre que encontro uma falha nova eu 
procuro solucionar. Voc&ecirc; est&aacute; me pr&eacute;-julgado apenas pq eu falei em 
Javascript. Isso &eacute; um erro recorrente dos "bons programadores".
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Lamento, mas eu n&atilde;o costumo prestar aten&ccedil;&atilde;o nas linguagens de
programa&ccedil;&atilde;o que as pessoas usam. Mesmo quando eu n&atilde;o aprecio a linguagem
em si, eu sei apreciar um sistema bem desenhado.

  </pre>
  <blockquote type="cite">
    <pre wrap="">Relegam Javascript, acham que elas n&atilde;o servem para nada. Javascript 
para mim &eacute; algo que uso direto, mesmo antes de falarem em AJAX eu 
sempre usava Javascript para valida&ccedil;&atilde;o de dados e jogar parte do 
processamento para o cliente. Com isso eu reduzo a comunica&ccedil;&atilde;o com o 
servidor e o sistema fica mais "r&aacute;pido" para o usu&aacute;rio. Nos projetos 
antigos, a valida&ccedil;&atilde;o no lado do servidor era feito em Perl, mas neste
 projeto novo, minha inten&ccedil;&atilde;o &eacute; que a valida&ccedil;&atilde;o do lado do servidor 
passe a ser feita pela base de dados.
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Perguntinha para a galera: qual &eacute; o erro conceitual disso? Onde est&aacute; o
problema?

Com todo o respeito, e sem a menor inten&ccedil;&atilde;o de ofender, eu quero
acrescentar que a tua teimosia n&atilde;o est&aacute; te ajudando a aprender. Eu acho
que voc&ecirc; pode se beneficiar da leitura dos livros que eu apontei, mais
do que das cr&iacute;ticas que eu tenho feito. Voc&ecirc; parece que est&aacute; ignorando o
que eu escrevo, ou alguma coisa muito perto disso.

Putamplexos.
  </pre>
</blockquote>
</body>
</html>