Mostrando entradas 1 para 10 de 709
Próximo 10 Entradas mais antigos »
5 Bibliotecas e projetos PHP que você deveria conhecer

A linguagem PHP tem evoluído constantemente e junto com a linguagem as suas bibliotecas. Desde a criação do composer e sua adoção como o gerenciador de dependências oficial, inúmeras novas bibliotecas, frameworks e projetos surgem a cada momento para facilitar, e muito, o trabalho dos desenvolvedores.

Neste artigo vamos conhecer 5 bibliotecas e projetos que são indispensáveis para realizar alguma ação específica usando PHP e algumas outras que você deveria conhecer por serem bastante interessantes ou inusitadas.

Para cada biblioteca ou projeto teremos o link do GitHub específico, além do nome do projeto no Packagist (repositório oficial de bibliotecas do Composer) para que você possa dar apenas um composer require –projeto– e sair utilizando em seu projeto.

Guzzle

GitHub: https://github.com/guzzle/guzzle

[Leia mais]
Consumindo APIs em Android com Retrofit e Butter Knife – Parte 02

Esta é a segunda parte do artigo sobre como consumir APIs em um app Android usando Retrofit e ButterKnife (veja a parte 01 aqui). Caso tenha caído aqui de pára-quedas, sugiro ler (e programar) a primeira parte primeiro, seja clicando no link anterior ou usando o sumário logo abaixo (os itens 1 a 3 são da parte 01 do artigo).

Apenas recapitulando: estou usando uma API escrita em Node.js com banco MySQL, cujo tutorial e fontes se encontram  …

[Leia mais]
Consumindo APIs em Android com Retrofit e Butter Knife

Esses dias, eu estava lendo umas postagens no excelente grupo de programadores Android, do Facebook e me deparei com um comentário de um dev que reclamava que os tutoriais na Internet geralmente ensinavam do jeito mais difícil, sem usar bibliotecas que facilitam o trabalho do desenvolvedor e que são muito utilizadas pelas empresas no dia-a-dia dos projetos. Dentre as bibliotecas citadas por ele que deveriam ser ensinadas estavam Retrofit e ButterKnife.

Sinceramente, eu não usava nenhuma das duas até então. O Retrofit já estava no meu radar há algum tempo, mas não havia tido a necessidade de usá-la, pois sua utilidade é ser um HTTP Client fortemente tipado para Java e Android, permitindo abstrair APIs em código Java muito facilmente.

Já o  …

[Leia mais]
Zephir: escrevendo extensões para PHP

Escrever extensões para PHP nunca foi tão fácil

A linguagem PHP é usada hoje em dia em diversas aplicações e sites por toda a internet. É de longe a linguagem mais usada no server side, chegando a ser responsável por mais de 80% das páginas web.

Como você deve saber, o PHP é escrito em C (Assim como Python e Ruby). Além disso, você pode adicionar recursos e funções à linguagem escrevendo extensões em C e compilando-as junto ao interpretador ou como uma biblioteca dinâmica. Drivers de banco de dados, bibliotecas para manipulação do DOM, frameworks fullstacks (Phalcon) e até mesmo algumas funcionalidades do core da linguagem foram escritas como extensões (como a SPL). Você também tem várias e várias extensões disponíveis através do …

[Leia mais]
Dapper: exemplos de utilização em ASP.NET Core e .NET Full

Frameworks ORM surgiram com o objetivo de simplificar a conversão de informações estruturadas em objetos, contribuindo para uma maior produtividade na construção de aplicações que dependam de bancos de dados relacionais. As principais plataformas de desenvolvimento da atualidade contam com soluções deste tipo, existindo inclusive um grande engajamento de comunidades técnicas na implementação de projetos ORM.

No caso da plataforma .NET temos atualmente o Entity Framework e o NHibernate como frameworks ORM mais populares. Embora úteis num grande número de situações, estas alternativas podem apresentar limitações em cenários mais específicos. Consultas envolvendo tabelas com grandes volumes de informações constituem um bom exemplo disto: as …

[Leia mais]
Cluster MySQL Escalável com Replicação Mestre-Escravo, Balanceador de Carga ProxySQL e Orchestrator

O MySQL é um dos bancos de dados relacionais de código aberto mais populares, usado por muitos projetos em todo o mundo, incluindo alguns incríveis em larga escala, como Facebook, Twitter, YouTube, etc. Obviamente, esses projetos precisam de um sistema de armazenamento de dados verdadeiramente confiável e altamente disponível para garantir o nível adequado de qualidade de serviço. E a primeira e a principal maneira de obter a maior eficiência do seu armazenamento de dados é configurar clustering de banco de dados para que ele possa processar um grande número de solicitações simultaneamente e permanecer funcional em condições de carga aumentada. No entanto, configurar essa solução a partir do zero pode parecer uma tarefa bastante complicada.

Assim, a equipe Jelastic preparou um pacote de instalação em um clique para você – um Cluster MySQL Escalável com replicação master-slave de fábrica, distribuição …

[Leia mais]
Persistência poliglota: indo além do SQL!

O conteúdo deste artigo é de uma palestra que ministrei na Faccat este ano. Os slides estão no final do artigo, e o vídeo da palestra começa em 1h13 logo abaixo:

Há uns 10 anos, mais ou menos, eu estava fazendo as cadeiras de Banco de Dados 1 e Banco de Dados 2 na faculdade de Ciência da Computação. Eu via como modelar um banco de dados relacional, como criar consultas e executar comandos SQL, além de álgebra relacional e um pouco de administração de banco de dados Oracle. Isso tudo me permitiu passar a construir sistemas de verdade, com persistência de dados. A base em Oracle me permitiu aprender o simplíssimo MS Access rapidamente e, mais tarde, migrar facilmente para o concorrente, SQL Server. Posteriormente cheguei ainda a trabalhar com …

[Leia mais]
MariaDB: JSON datatype suportado a partir da versão 10.2

Digamos que você tenha a seguinte declaração CREATE TABLE que deseja executar em uma instância do MariaDB.

CREATE TABLE `test` (
  `id` int unsigned not null auto_increment primary key,
  `value` json null
) default character set utf8mb4 collate utf8mb4_unicode_ci

Você pode ser saudado com esta mensagem de erro;

SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL
syntax; check the manual that corresponds to your MariaDB server version for the right
syntax to use near 'json null at line 1

A sintaxe inteligente é tudo de bom, mas o JSON datatype é realmente muito novo, e é apenas “suportado” (esses parênteses logo ficarão claros) a partir do MariaDB 10.2.

Antes de qualquer coisa: certifique-se de executar a versão mais recente do MariaDB.

MariaDB> select @@version;
+-----------------+
| @@version       |
+-----------------+
| 10.0.31-MariaDB | …
[Leia mais]
O Caminho para o uChat: Construindo a solução de bate papo interna da Uber

Há dois anos, a aplicação de bate papo anterior da Uber começou a apresentar sinais de que ele não conseguiria acompanhar nosso crescimento. Haviam travamentos na aplicação, oscilações de performance, e quedas que prejudicavam a habilidade de se comunicar efetivamente online de nossa empresa. Com a satisfação do cliente no menor nível de todos os tempos, nós precisávamos de uma nova solução.

Com operações em mais de 620 cidades, era crucial que identificássemos uma solução de bate papo que permitiria aos colaboradores da Uber se comunicar confiavelmente em nossos aparelhos desktop e móveis, independentemente de onde eles estivessem no mundo. Para atingir esse objetivo, nós estabelecemos alguns requisitos principais. Para começar, precisávamos de algo que pudesse ser escalonado para suportar nossa crescente população de colaboradores e, como …

[Leia mais]
Previsões da Uber Engineering em tempo real com ELK

Os serviços da Uber dependem da precisão das ferramentas de previsão de eventos. Desde estimar a demanda do motorista em uma determinada data até prever quando uma ordem UberEATS chegará, a Uber usa algoritmos de previsão para melhorar as experiências do usuário (UX) em nosso portfólio de produtos.

Para arquitetar uma experiência de previsão precisa e facilmente interpretável para engenharia e operações, nós construímos um sistema de previsão personalizado, alavancando um mecanismo open source de pesquisa RESTful distribuído, composto pelo mecanismo de consulta Elasticsearch, o pipeline de indexação de dados …

[Leia mais]
Mostrando entradas 1 para 10 de 709
Próximo 10 Entradas mais antigos »