Pular para o conteúdo principal

Postagens

Mostrando postagens de julho, 2011

Postagem em destaque

🚀 Oferecendo Serviços Remotos de Desenvolvedor AdvPL e Mais 🖥️

🚀 Oferecendo Serviços Remotos de Desenvolvedor AdvPL e Mais 🖥️ Olá pessoal, Espero que este post encontre todos vocês bem! É com grande entusiasmo que compartilho que estou expandindo meus serviços como Desenvolvedor AdvPL para novos desafios e colaborações. Com mais de duas décadas de experiência sólida, minha jornada profissional tem sido enriquecedora, com a oportunidade de participar de projetos empolgantes ao longo dos anos. Agora, estou ansioso para trazer minha experiência e habilidades para novas equipes e projetos, trabalhando de forma remota. Minha expertise abrange não apenas AdvPL, mas também outras tecnologias-chave, incluindo JS, SQL, Infraestrutura e Otimização de Processos. Acredito que essa combinação de conhecimentos me permite oferecer soluções abrangentes e eficazes para uma variedade de necessidades de desenvolvimento. Acredito que a tecnologia tem o poder de transformar negócios e impulsionar o sucesso, e estou comprometido em ajudar meus clientes a alcançar seu

Protheus :: ADVPL : Randomize Function

A Função Randomize , segundo o tdn , "Gera um número inteiro aleatório entre a faixa, inferior e superior, recebida através dos parâmetros (nMinimo e nMaximo)". O seu limite é: "Randomize(), trabalha com um intervalo interno de 32767 números, a partir do número inicial informado, inclusive se o número inicial for negativo." A classe TRandom foi criada com o intuito de romper esse limite e, derivada da classe de strings numéricas,  não possui as restrições da função que lhe deu origem. Uso Randomize() internamente  para tornar o retorno o mais aleatório possível.  Curioso em saber como TRandom funciona, clique aqui e baixe o código fonte. []s иαldσ dj

Pensamentos :: Desconexo…

“Subi no pé de melancia pra comer batata frita, como o tempo era de manga eu cai da bicicleta” (autor desconhecido). Acordei com esse pensamento, díspar, desconexo e irreal, como o nosso dia a dia: onde as incertezas tornam-se sensatas e a certeza apenas mais uma dúvida. O que difere o real do imaginário? As vezes o que parece apenas se aparenta e o que é, de fato, o é ou não? Mais que um pensamento desconexo, um mero devaneio de quem não tem nada mais a acrescentar, ou tem? Enfim, é isso (ou não?!) (rs). []s иαldσ dj

Folding@home :: distributed computing : Certified

Protheus :: ADVPL : Processamento em Grid e Multi Thread – Números Perfeitos Versão 0.0000….1

Limites…. Informática me lembra muito Limites. Não tem fim, tende sempre, mas apenas tende (rs). Tinha dito que a versão anterior ( Protheus :: ADVPL : Processamento em Grid e Multi Thread – Números Perfeitos : Versão Final ) seria a Final, mas ao analisar o código, percebi que ele poderia ser melhorado. Estava fazendo muitas chamadas a Processa(). Então, uma alteraçãozinha aqui, uma verificação de IsBlind(), alterada a Propriedade oGClient:lBlind para ( True ) e eis que temos a versão 0.0000….1 (quase Final). Com isso temos um ganho significativo na Performance. Bem, Tendendo a 0, obtenha a nova versão 0.0000….1, ao clicar aqui . []s иαldσ dj

Protheus :: Advpl : Processamento em Grid e Multi Thread – Números Perfeitos : Versão Final

Números Perfeitos foi totalmente reescrito para trabalhar usando o “ Processamento em Grid ” e “ Multi Thread ”.  Agora, parafraseando Ernesto Haberkorn, “Dividimos para Multiplicar”. O uso do Processamento em Grid no Protheus é, de fato, bem simples, mas a forma de Programar e de controle, torna-se um tanto quanto “complicada” (o mesmo podemos dizer para o uso de “Multi Thread”). Números Perfeitos pretende ser um exemplo claro e simples do uso desses dois “paradigmas”. Usará ambos quando a configuração do Processamento em Grid estiver definido ou apenas o último, caso contrário. Para começar a programar usando Processamento em Grid, primeiro, precisei entender e aprender como o Processamento em Grid foi programado em ADPL. Identifiquei a existência de uma Classe: GridClient e, considerando que por padrão, em ADVPL, todas as Classes são instanciadas com o Método :New(), utilizei as seguintes funções ClassDataArr()  e ClassMethArr() para me auxiliar a entender as Propriedades da Cla