;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Buffon (Georges Louis Leclerc) Naturalista francês

7 de setembro de 1707, Montbard (França)

16 de abril de 1788, Paris (França)

Da Página 3 Pedagogia & Comunicação

04/09/2009 16h36

Georges Louis Leclerc, conde de Buffon, foi um dos maiores naturalistas ses de todos os tempos.

Depois de se doutorar em leis no colégio dos jesuítas de Dijon, partiu para Angers, a fim de aprimorar seus conhecimentos de história natural e matemática. Em 1730, ao lado de seu amigo, lorde Kingston, empreendeu uma longa viagem através da França, da Itália e da Inglaterra.

De volta à França em 1732, dedicou-se às pesquisas científicas e ingressou na Academia de Ciências de Paris. Desenvolveu também seus conhecimentos de silvicultura, mineralogia e metalurgia, dedicando-se, nos intervalos de suas atividades, ao estudo da matemática e ao trabalho de tradução (Buffon traduziu, para o francês, algumas obras do fisiologista Stephen Hales e do físico Isaac Newton).

Em 1739 foi nomeado intendente do Jardim Real (ou Jardin Du Roi). Ali, reuniu imensa coleção de espécimes zoológicos e botânicos, além de vasto material de pesquisa geológica, paleontológica e mineralógica, transformando o local no conhecido Jardin des Plantes, que se tornou, em 1794, o Museu Nacional de História Natural.
 

Precursor das teorias evolucionistas

Buffon deixou obra gigantesca: escreveu (com a colaboração de um pequeno grupo de naturalistas) e dirigiu a monumental História natural geral e particular, com a descrição do gabinete do rei, em 44 volumes, publicada entre 1749 e 1804.

Embora sem apresentar soluções definitivas, Buffon estudou os problemas fundamentais da biologia, cooperando decisivamente para o progresso das teorias sobre a origem da vida.

Mais filósofo do que naturalista, Buffon lançou a semente das novas teorias sobre a origem dos seres vivos. Precursor de Lamarck e Darwin, suas concepções filosóficas sobre a influência do meio na degeneração das espécies e suas considerações sobre as diferenciações das raças humanas constituíram valiosos subsídios para o progresso da biologia.
 

Enciclopédia Mirador Internacional; Oxford Dictionary of Scientists