Diego Oliveira Potapczuk

Barra de acessibilidade Como usar o site Ir para o conteúdo Ir para o menu Ir para o menu secundário C C Diminuir o tamanho das letras Tamanho das letras padrão Aumentar o tamanho das letras
  • Home
  • Sobre Diego Potapczuk
  • Currículum
  • Contato
ago 25

Agora é a vez do Android

No mês passado lancei uma versão do meu site para os usuários de iPhone, agora aproveitando que estou pesquisando sobre o desenvolvimento para a plataforma Android, e também que nos EUA o uso do mesmo já ultrapassa o do iPhone, fiz algumas alterações no site e estou disponibilizando também uma versão para o Android.

Página inicial no Android

Página inicial no Android

As modificações necessárias foram poucas, pois ambos celulares utilizam navegadores baseados no WebKit.

Página interna

Página interna

Em breve também devo estar começando a desenvolver aplicações para essa plataforma, que pelo que já venho acompanhando, é fantástica e permitirá aplicações realmente inovadoras.

4 ComentáriosTags: Android, Desenvolvimento WEB, Meus Trabalhos, Mobile
ago 20

Agradecimento aos presentes na palestra

Gostaria de agradecer todos que compareceram na palestra sobre Realidade Aumentada, achei que o resultado foi muito bom, o público estava bastante interessado sobre o funcionamento e também em como desenvolver essa tecnologia.

Palestra sobre Realidade Aumentada

Palestra sobre Realidade Aumentada

Aos que não puderam participar pelo número de vagas, não se preocupem, em breve deverá haver outra palestra sobre RA e também sobre outros assuntos como desenvolvimento de jogos, aplicações para plataformas mobile, entre outras.

1 ComentárioTags: Apresentação, Meus Trabalhos, Realidade aumentada
ago 16

Palestra Projetos em Realidade Aumentada para Web

UNIFACS

UNIFACS

Data 18/08 – 18:20
PA5 Imbui (fone: 3231 3368, tarde e noite)

Palestrante:
Diego Potapczuk – Analista de Sistemas
Jailson Souza – Desenvolvedor de Games/Designer 3d

Local: Predio de aulas 05 – Imbuí, Av. Jorge Amado (Auditório)

Evento gratuito – Vagas lImitadas
Inscrições (para alunos e não alunos UNIFACS): websites@unifacs.br ou http://www.bahiainfo.com.br

Realidade Aumentada

É impossível que objetos reais interajam com objetos virtuais, ou vice-versa, certo? Errado! Dê as boas vindas a uma tecnologia que já começou a revolucionar a maneira como o ser humano interage com as máquinas (e as máquinas com o ser humano): a Realidade Aumentada, ou (RA). Não se preocupe: ainda estamos longe de acontecimentos como os ilustrados em filmes como Matrix e Exterminador do Futuro, se é que eles serão possíveis algum dia. No momento, as máquinas estão ganhando mais “personalidade”, mas isso só significa que elas estão cada vez mais cordiais e responsivas às ações humanas.De uma forma simples, Realidade Aumentada é uma tecnologia que permite que o mundo virtual seja misturado ao real, possibilitando maior interação e abrindo uma nova dimensão na maneira como nós executamos tarefas, ou mesmo as que nós incumbimos às máquinas.

2 ComentáriosTags: Apresentação, Desenvolvimento WEB, Meus Trabalhos, Realidade aumentada
ago 06

SENAI-BA lança site inclusão para todos

SENAI-BA lança site inclusão para todos, onde mostra algumas de suas ações para a inclusão social e digital das pessoas com necessidades especiais.

Para saber mais acesse:
http://ead.fieb.org.br/inclusao

0 ComentáriosTags: Acessibilidade, Meus Trabalhos, SENAI-BA
ago 05

Explorando o software por trás do Facebook, a maior rede social do mundo

Facebook: desafio de escalabilidade

Antes de entrar em detalhes, aqui estão alguns factóides para dar uma idéia do desafio de escalabilidade com o qual o Facebook tem que lidar:

  • O Facebook serve mais de 550 bilhões de visualizações de páginas por mês;
  • Há mais fotos no Facebook do que em todos os outros sites de fotos juntos (incluindo sites como o Flickr);
  • Mais de 3 bilhões de fotos são visualizadas por dia;
  • Mais de 25 bilhões de tipos de conteúdo (atualizações de status, comentários, etc) são compartilhados todo mês;
  • O Facebook tem mais de 60 mil servidores.

Softwares para escalar

A infraestrutura de software que o Facebook usa pode ser vista como a de um site LAMP, mas com melhorias e extensões de vários serviços. Por exemplo:

  • O Facebook usa PHP, mas tem um compilador que permite que o sistema execute código nativo nos servidores web, aumentando significativamente seu desempenho;
  • O Facebook usa Linux, mas é um Linux otimizado para garantir alta vazão de rede;
  • O Facebook usa MySQL, mas principalmente para persistência de chaves-valores (Hashes), movendo lógicas de consultas e JOINS para a camada de aplicação dos servidores web em que otimizações são mais fáceis de implementar, usando por exemplo caches em memória;
  • Por fim, há sistemas customizados, como o Haystack, um objeto de armazenamento altamente escalável usado para servir a imensa quantidade de fotos do Facebook, e o Scribe, um sistema de logging (registro de ações) que consegue operar na escala do Facebook (nada trivial).

Vamos ao que interessa. Abaixo são apresentados os softwares (alguns) que o Facebook usa para fornecer a todos nós a maior rede social do mundo.

Memcached

O Memcached é no momento um dos softwares mais famosos na Internet. É um sistema de cache em memória distribuído que o Facebook (e vários outros sites) usam como uma camada de cache entre aplicação web e banco de dados (já que acesso a disco rígido é relativamente lento). Ao longo dos anos, o Facebook realizou diversas otimizações no Memcached e nos softwares que rodam em conjunto com ele.

O Facebook roda milhares de servidores Memcached com dezenas de tearabytes de dados em cache a todo momento. É provavelmente a maior instalação de Memcached do mundo.

HipHop for PHP

PHP é uma linguagem interpretada e por isso seu código quando executado é relativamente lento quando comparado com código que executa nativamente. O HipHop converte PHP em código C++ que pode ser então compilado e apresentar um desempenho melhor. Isso permite que o Facebook aproveite muito melhor seus servidores web já que dependem demais de PHP para servir conteúdo.

Uma pequena equipe de engenheiros no Facebook (inicialmente, apenas três) passou 18 meses desenvolvendo o HipHop, que agora é usado em produção.

Haystack

Haystack é o sistema de armazenamento e recuperação de fotos de alto desempenho do Facebook (a rigor, o Haystack é um armazenador de objetos, então ele não armazena apenas fotos). Existem mais de 20 bilhões de fotos no Facebook e cada uma é armazenada em quatro diferentes resoluções, resultando em mais 80 bilhões de fotos.

O desafio do Haystack não é apenas armazenar bilhões de fotos, mas também executar tarefas com elas em que o desempenho é crítico, como por exemplo remoção, atualização ou acesso.

BigPipe

O BigPipe é um sistema dinâmico para servir páginas web que o Facebook desenvolveu. Ele é capaz de dividir uma página em seções (chamadas “pagelets“) e servi-las em paralelo com desempenho ideal.

Por exemplo, a janela de chat é carregada separadamente, o feed de notícias é carregado separadamente, e assim por diante. Esses “pagelets” podem ser carregados em paralelo, que é de onde vem o ganho de desempenho, e os usuários recebem um site que funciona mesmo se uma parte dele for desativada ou estiver com defeitos.

Cassandra

Cassandra é um sistema de armazenamento distribuído baseado no projeto do BigTable. Ele é um dos filhos de destaque do movimento NoSQL e se tornou open source (virou um projeto Apache). O Facebook o usa na pesquisa Inbox.

Além do Facebook, uma série de outros sites também o usam, como o Twitter e o Digg. É um sistema capaz de armazenar uma quantidade imensa de dados sem comprometer o tempo de busca e acesso a eles.

Scribe

Scribe é um sistema de logging flexível e escalável que o Facebook usa para uma infinidade de propósitos internos. Ele foi criado para ser capaz de registrar todas as ações ocorridas no Facebook, e automaticamente lida com novas categorias de ações registradas conforme aparecem (o Facebook tem centenas).

Hadoop e Hive

O Hadoop é uma implementação open source de MapReduce que permite a execução de cálculos em uma quantidade massiva de dados. O Facebook o usa para análise de dados de sua rede. O Hive é uma interface de acesso ao Hadoop através de consultas SQL, facilitando seu uso, e teve origem dentro do Facebook.

Tanto o Hadoop quanto o Hive são open source (projetos Apache) e são usados por uma série de grandes sites, como o Yahoo e o Twitter.

Thrift

O Facebook usa diferentes linguagens para os seus diferentes serviços. PHP é usada para front-end, Erlang é usada para Chat, Java e C++ são usados em diversas áreas. Thrift é um framework cross-language desenvolvido internamente que junta todas as diferentes linguagens, permitindo que elas conversem entre si. Isso facilita enormemente o desenvolvimento cross-language no Facebook.

O Facebook tornou o Thrift open source e adicionou suporte a mais linguagens de programação.

Varnish

O Varnish é um acelerador HTTP, que pode agir como um balanceador de carga e também realiza cache de conteúdo para servi-lo rapidamente.

O Facebook usa o Varnish para servir fotos, lidando com bilhões de requisições todos os dias. Como quase tudo que o Facebook usa, o Varnish também é open source.

Outras coisas que ajudam o Facebook a funcionar bem

Foram mencionados os softwares que constituem o Facebook e o ajudam a escalar. Mas operar um sistema tão grande é uma tarefa complexa, por isso serão listadas outras coisas que ajudam o Facebook a funcionar sem problemas:

Lançamento gradual de novas funcionalidades e execuções no escuro

O Facebook tem um sistema chamado de “Gatekeeper” (porteiro) que permite que eles rodem diferentes versões do sistema para diferentes conjuntos de usuários. Ele permite que o Facebook lance novas funcionalidades gradualmente e que testes A/B sejam realizados com usuários.

O “Gatekeeper” também é responsável por realizar o que é chamado de “dark launches” (lançamentos no escuro), que é a ativação de elementos de uma nova funcionalidade antes de ela ir pro ar. É uma maneira de realizar testes de carga do sistema antes de uma funcionalidade ser oficialmente lançada. Normalmente os “dark launches” são realizados duas semanas antes do lançamento oficial da funcionalidade.

Monitoramento do sistema em produção

O Facebook cuidadosamente monitora seu sistema e o desempenho de cada função PHP executada em ambiente de produção. Com isso é possível projetar um perfil do sistema que está no ar com a ajuda de uma ferramenta chamada XHProf e identificar gargá-los ou áreas que estão operando incorretamente.

Desativação gradual de recursos para aumento de desempenho

Se o Facebook tiver algum problema de desempenho, existe um grande número de recursos não-críticos que podem ser desativados para aumentar o desempenho de funcionalidades vitais da rede social. Desta forma, em uma situação de emergência, o núcleo da rede social poderá continuar funcionando normalmente.

Coisas que não foram mencionadas

O hardware usado pelo Facebook não entrou em discussão neste artigo, mas é um aspecto importante de analisar quando se pensa em escalabilidade. Por exemplo, o Facebook usa a rede CDN para servir conteúdo estático e possui enormes data centers que hospedam milhares de servidores.

E além do que foi mencionado, existem diversos outros softwares envolvidos na operação do Facebook. Neste artigo foram destacadas as escolhas mais interessantes que o Facebook fez.

Facebook e projetos open source

Antes de encerrar o artigo, é importante mencionar o quanto o Facebook, assim como outras grandes empresas de Internet, apoia projetos open source. O Facebook não apenas usa e contribui com software open source como Linux, Memcached, MySQL e Hadoop, como também desenvolve internamente diversas ferramentas que são disponibilizadas como projetos open source.

Uma lista com todos os projetos open source em que o Facebook atua pode ser encontrada na página Open Source – Desenvolvedores do Facebook.

Mais desafios de escalabilidade por vir

O Facebook cresce a passos incríveis. Sua base de usuários aumenta quase que exponencialmente e já superou 500 milhões de usuários. Ele tem mantido uma taxa de cerca de 100 milhões de novos usuários a cada 6 meses.

O rápido crescimento significa que o Facebook vai ter problemas e diversos desafios de desempenho para apresentar cada vez mais páginas, buscas, imagens, mensagens e todos os outros recursos com os quais os usuários interagem. Para um site como o Facebook, este sempre será um fato com o qual ele terá que viver, e seus engenheiros estarão sempre atentos e criando novas maneiras de fazer o sistema escalar.

Vamos acompanhar o que os engenheiros do Facebook estão desenvolvendo! Com certeza surgirão coisas interessantes, afinal de contas, eles estão escalando uma montanha que muitos de nós podemos apenas sonhar; um site com mais pessoas do que a maioria dos países. Quando isso acontece, é preciso ser criativo.

Fonte: Bit a Bit

Este artigo é uma adaptação/atualização para o português do artigo em inglês Exploring the software behind Facebook, the world’s largest site.

0 ComentáriosTags: Desenvolvimento WEB, Facebook, PHP
jul 19

Site para iPhone

Aproveitando que estou de férias fiz algumas melhorias no site, as duas principais são: mudança para o WordPress 3.0 e Criação de um versão do site para o iPhone.

A mudança para o WordPress versão 3.0 já é algo que venho querendo a algum tempo, pois nessa versão ele fica ainda mais caracterizado como um sistema de gerenciamento de conteúdo para sites,e  não simplesmente um sistema de blogs. Essa versão traz em especial a união do projeto WordPress MU ao WordPress, permitindo agora que existam diversos sites dentro de um mesmo ambiente administrativo. Outra coisa bacana nessa versão é o sistema de menus, permitindo que se crie diversos menus de forma dinâmica para a inserção no site.

Página inicial da versão para iPhone

Página inicial da versão para iPhone

Aproveitando que estava fazendo essa mudança, e também que estou envolvido com alguns projetos de aplicativos e sites para iPhone, disponibilizei uma versão do site para o dispositivo, além do iPhone ele também deve funcionar com outros aparelhos, como os com iPod Touchm Android, Palm, BlackBerry e aqueles que possuem navegador baseado no WebKit.

Menu do site na versão para iPhone

Menu do site na versão para iPhone

Para acessar essa versão basta acessar esse site com um dos dispositivos citados.

1 ComentárioTags: iPhone, Meus Trabalhos, WordPress
  • Página 4 de 15
  • <
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • ...
  • 15
  • >
Acompanhe-me no Twitter Acompanhe-me no Twitter
Inscreva-se no RSS Inscreva-se no RSS
  • Busca


  • Categorias
    • Acessibilidade (5)
    • Android (1)
    • Desenvolvimento (1)
    • Desenvolvimento de Jogos (11)
    • Desenvolvimento WEB (19)
    • Design Patterns (2)
    • Engenharia de Software (6)
    • Faculdade (7)
    • Ferramentas (4)
    • Jogos (6)
    • Moodle (3)
    • O Livro dos Sonhos (3)
    • Outros (7)
    • Realidade Aumentada (9)
    • Trabalhos (22)
    • Utilidades (1)
  • Arquivo
    • junho 2011 (1)
    • fevereiro 2011 (4)
    • janeiro 2011 (3)
    • novembro 2010 (4)
    • outubro 2010 (3)
    • setembro 2010 (3)
    • agosto 2010 (5)
    • julho 2010 (2)
    • maio 2010 (4)
    • abril 2010 (1)
    • março 2010 (1)
    • fevereiro 2010 (3)
    • janeiro 2010 (3)
    • novembro 2009 (8)
    • outubro 2009 (1)
    • setembro 2009 (4)
    • agosto 2009 (3)
    • julho 2009 (3)
    • junho 2009 (24)
    • maio 2008 (1)
    • abril 2008 (6)
  • Diego Potapczuk
    Best Tools For Developers From Android Developer Source - The Android Soul
    10:48 AM Nov 14, 2011, comment
    Pioneer mostra Zypr, concorrente do Siri que vai além dos smartphones - Tecnoblog
    7:44 PM Nov 08, 2011, comment
    Medida Certa – Fantástico – Entre em forma com seu Android - AndroidBlog
    12:42 AM Oct 31, 2011, comment
    Unbelievable Bookcases That Might Blow Your Mind - Tech Blog
    7:01 PM Oct 28, 2011, comment
    Dica da semana para elas - mataleone
    4:32 PM Oct 28, 2011, comment
    [Infographic] Android Fragmentation Visualized... If You Like Biased Information, That Is - Android News, Apps, Games, Phones, Tablets - Android Police
    7:24 PM Oct 27, 2011, comment
    Vídeo mostra o que a Microsoft espera para o futuro da produtividade - Tecnoblog
    4:27 PM Oct 27, 2011, comment
    Twittaço por banda larga de qualidade! - mataleone
    12:20 PM Oct 27, 2011, comment
    Telas de navegação em realidade aumentada no vidro do carro? Quero sim - Gizmodo Brasil
    10:32 PM Oct 26, 2011, comment
    [Upcoming] Capta Is A Multi-Functional Accessory That Brings A Tripod Mount To Your Smartphone - Android News, Apps, Games, Phones, Tablets - Android Police
    9:48 PM Oct 26, 2011, comment
     
  • Tópicos Recentes
    • Sotero Tech
    • Wi-Fi Direct
    • AllJoyn
    • artIS
    • Play Framework
  • Nuvem de Tags
    Acessibilidade Activity Locking Android Apresentação ASES Banco de Dados Computação nas nuvens consoles CSS Desenvolvimento de Jogos Desenvolvimento WEB design pattern Doctrine eMAG Engenharia de Software Engine Faculdade Ferramentas Framework Google Google Wave inovação JavaScript Jogo Jogos Livros Meus Trabalhos Moodle O Livro dos Sonhos padrões de projetos Padrões WEB PHP Projeto Indiana Prototipação Realidade aumentada RENAPI SBGames SENAI-BA Sistema gerenciador de pousadas Torque UDK Unity Utilidades Zend Zend Framework
  • Links Parceiros
    • Allan Costa
    • Jailson Souza
    • Thiago Duraes
  • Links recomendados
    • A List Apart
    • delicious
    • Efetividade.net
    • GMail
    • i-Tecnologia
    • PensamentoTI
    • Revolução Etc
    • Sedentário & Hiperativo
    • Smashing Magazine
    • Tableless
    • TechCrunch
    • TechEBlog
    • Thunder-Boy




  • Home
  • Sobre Diego Potapczuk
  • Currículum
  • Contato

© Copyright Diego Oliveira Potapczuk.
Todos os direitos reservados.

Ir para o topo