O documento apresenta Michel Felipe e sua experiência como analista de sistemas. A agenda inclui tópicos sobre MongoDB como características, instalação, comandos no shell, PHP e MongoDB para armazenamento e recuperação de dados. O documento também discute conceitos de bancos de dados NoSQL e como MongoDB pode ser usado para armazenar grandes quantidades de imagens.
Apresentação realizada no dia 8/11/2014 no evento TchêLinux Bento Gonçalves edição 2014 - http://bento.tchelinux.org
Falei sobre os conceitos de bases de dados NoSQL, cases, comparações com o modelo relacional, expressões SQL x MongoDB (orientado à documentos), instalação, recursos do MongoDB, operações via console, modelagem (abordagem embedded), driver PHP, anatomia do código PHP, CRUD (Create, Read, Update and Delete), ObjectId, operadores, segurança, persistência de objetos, tratamento de arrays (documentos aninhados), índices (performance), projeção, agregação, hospedagem, ferramentas de administração e programa de certificação.
Apresentação realizada no dia 8/11/2014 no evento TchêLinux Bento Gonçalves edição 2014 - http://bento.tchelinux.org
Falei sobre os conceitos de bases de dados NoSQL, cases, comparações com o modelo relacional, expressões SQL x MongoDB (orientado à documentos), instalação, recursos do MongoDB, operações via console, modelagem (abordagem embedded), driver PHP, anatomia do código PHP, CRUD (Create, Read, Update and Delete), ObjectId, operadores, segurança, persistência de objetos, tratamento de arrays (documentos aninhados), índices (performance), projeção, agregação, hospedagem, ferramentas de administração e programa de certificação.
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...Rafael Jaques
Todos os dias, diversas de pessoas ao redor do mundo começam a programar em PHP. É uma linguagem fácil de ser aprendida e, por isso, pode fazer com que desenvolvedores despreparados criem sistemas vulneráveis. O objetivo dessa palestra é apresentar as principais vulnerabilidades de aplicações PHP e a maneira de contorná-las. Serão mostradas também técnicas de programação defensiva, resposta a incidentes, prevenção de perdas e outros tópicos relevantes à segurança da informação. Princípios de segurança, técnicas de invasão e defesa, identificação e prevenção de ataques, boas práticas e proteção do usuário fazem parte dos assuntos abordados nessa palestra.
O protocolo HTTP está há mais de 10 anos nos bastidores de quase todas as aplicações web, incluindo a explosão de uso do AJAX e a nova onda de APIs em REST. Está diretamente relacionado com a performance, ecalabilidade e SEO.
Saber como ele funciona e como o PHP interage com ele é conhecimento obrigatório para qualquer programador web.
Entendendo a Arquitetura MVC do Zend FrameworkGedvan Dias
Uma descrição em um nível médio de profundidade sobre a implementação do padrão MVC no Zend Framerwork, mostrando os principais componentes envolvidos, suas relações e a sequência de execução.
Apresentação focada na evolução do php e a sua relação com a segurança aplicacional.
São também abordadas as crenças de que o PHP é mais ou menos seguro que outras linguagens de programação.
(Presentation in Portuguese)
Mecanismo de Busca com Node.js + MongoDBLuiz Duarte
Palestra sobre criação de mecanismo de busca com Node.js + MongoDB realizada durante o Flisol em Novo Hamburgo/RS e durante o JS Experience em São Paulo/SP, ambos em 2017. Transcript em luiztools.com.br
Material utilizado no Workshop Iniciando com JavaScript no JS Day Recife 2017.
Código fonte dos exemplos: https://github.com/romualdoandre/exemplo-jsday
Lightning talk apresentada no MeetUp PHPRS subseção Canela/Gramado no dia 26/11/2016 - hotel Klein Ville de Canela (RS):
http://www.meetup.com/pt-BR/PHP-RS/events/234978772/
Pra quem aprendeu o básico sobre TDD mas sente um frio na barriga ao testar as seguintes condições:
-Interações com bancos de dados
-Dependências entre objetos
-Singletons
-Classes Abstratas
-APIs externas
-Interações com variáveis de ambiente
[FISL 16] PHP no Campo de Batalha: Segurança Avançada e Programação Defensiva...Rafael Jaques
Todos os dias, diversas de pessoas ao redor do mundo começam a programar em PHP. É uma linguagem fácil de ser aprendida e, por isso, pode fazer com que desenvolvedores despreparados criem sistemas vulneráveis. O objetivo dessa palestra é apresentar as principais vulnerabilidades de aplicações PHP e a maneira de contorná-las. Serão mostradas também técnicas de programação defensiva, resposta a incidentes, prevenção de perdas e outros tópicos relevantes à segurança da informação. Princípios de segurança, técnicas de invasão e defesa, identificação e prevenção de ataques, boas práticas e proteção do usuário fazem parte dos assuntos abordados nessa palestra.
O protocolo HTTP está há mais de 10 anos nos bastidores de quase todas as aplicações web, incluindo a explosão de uso do AJAX e a nova onda de APIs em REST. Está diretamente relacionado com a performance, ecalabilidade e SEO.
Saber como ele funciona e como o PHP interage com ele é conhecimento obrigatório para qualquer programador web.
Entendendo a Arquitetura MVC do Zend FrameworkGedvan Dias
Uma descrição em um nível médio de profundidade sobre a implementação do padrão MVC no Zend Framerwork, mostrando os principais componentes envolvidos, suas relações e a sequência de execução.
Apresentação focada na evolução do php e a sua relação com a segurança aplicacional.
São também abordadas as crenças de que o PHP é mais ou menos seguro que outras linguagens de programação.
(Presentation in Portuguese)
Mecanismo de Busca com Node.js + MongoDBLuiz Duarte
Palestra sobre criação de mecanismo de busca com Node.js + MongoDB realizada durante o Flisol em Novo Hamburgo/RS e durante o JS Experience em São Paulo/SP, ambos em 2017. Transcript em luiztools.com.br
Material utilizado no Workshop Iniciando com JavaScript no JS Day Recife 2017.
Código fonte dos exemplos: https://github.com/romualdoandre/exemplo-jsday
Lightning talk apresentada no MeetUp PHPRS subseção Canela/Gramado no dia 26/11/2016 - hotel Klein Ville de Canela (RS):
http://www.meetup.com/pt-BR/PHP-RS/events/234978772/
Pra quem aprendeu o básico sobre TDD mas sente um frio na barriga ao testar as seguintes condições:
-Interações com bancos de dados
-Dependências entre objetos
-Singletons
-Classes Abstratas
-APIs externas
-Interações com variáveis de ambiente
Backbone.js - A espinha dorsal de aplicações webHenrique Gogó
Uma ferramenta completa para construção de aplicações web complexas com modelos de view, bindings, eventos e coleções de maneira elegante e organizada. Conecte facilmente sua camada de apresentação com seu servidor usando REST e requisições AJAX.
Apresentação introdutória sobre a MEAN Stack, contando com o desenvolvimento, passo-a-passo, de uma aplicação simples.
Apresentação para o JSDay Campina Grande.
JS Experience 2017 - Criação de mecanismos de busca usando Node.js + MongoDBiMasters
Luiz Fernando Duarte, Evangelista Tecnológico da Umbler fala sobre Criação de mecanismos de busca usando Node.js + MongoDB no JS Experience'17. Saiba mais em https://eventos.imasters.com.br/jsexperience
Escalando MongoDB com Docker - Cristiano dos Santos Diedrich - Tchelinux Bent...Tchelinux
Com o surgimento de bancos de dados não relacionais, nasceram também novas soluções para diversos problemas, e por incrível que pareça não necessariamente isso precisa ser complexo. O objetivo dessa apresentação é demonstrar como é possível escalar de forma fácil e rápida um cluster de Mongo utilizando como backend o Docker.
Palestra de Cristiano dos Santos Diedrich, apresentada no Tchelinux Bento Gonçalves 2017.
* Link original do autor: https://docs.google.com/presentation/d/e/2PACX-1vSjAHCEkmWPuiKydI821u1bJACr5pKG5rUWNnBK1Lwmyax11nISyXNSAXFyXTxa6MuY5uCFyClttrpm/embed?start=false&loop=false&delayms=3000&slide=id.p
Cristiano dos Santos Diedrich: Formado em sistemas de informação, trabalha atualmente como container specialyst na Umbler, uma startup de hosting sob demanda, atua na pesquisa e desenvolvimento de soluções para hosting e PaaS. É apaixonado por linux e tecnologias open-source, áreas que conhece a mais de 12 anos.
Slides do curso de Node.js e MongoDB do blog LuizTools. Inscreva-se no curso e tenha acesso ao conteúdo completo em http://www.luiztools.com.br/curso-nodejs
Desenvolvimento Web com Javascript.
Apresentação feita para a #ViradaGeek
Código anexo do github: https://github.com/FelipeBarrosCruz/viradageek
PodCast de explicação: Breve.
Nesta palestra falei um pouco sobre como trabalhar com a conexão PDO do jeito certo no PHP. Foi mostrado os métodos mais importantes da classe PDO.
Falei também um pouco sobre SQL Injection.
Quais são as as principais diferenças entre a conexão PDO e MySqli.
2. APRESENTAÇÃO
v Analista de Sistemas na Prodeb
v Formado em Redes de Computadores
v Pós-Graduando em Eng. de Software
3. AGENDA
v MongoDb: Características
v Download, instalação e Comandos Shell
v Inserindo, retornando e removendo dados via shell
v PHP e MongoDB: Por que utilizá-los juntos?
v Conexão PHP com Mongo e CRUD
v Conceito de “Chave Primária”
v ORM’s para PHP + Mongo
4. MONGO E NOSQL
v Not only SQL – Banco de dados não relacional
v Foco em “escalabilidade” e “desempenho”
v Tipos: Baseado em Grafos, Orientado a colunas
5. MONGODB -
CARACTERISTICAS
v Nosql open source baseado em documentos
v Fácil utilização
v Utiliza uma API OO Javascript
13. MONGODB – CONEXÃO:
PROBLEMAS
v Problemas podem acontecer
• Crash, conexão não finalizada corretamente
v Necessário executar um “repair” nas bases
v “old lock file”, pode indicar a remoção do arquivo
“mongod.lock”
14. MONGODB – CONEXÃO:
AUTENTICAÇÃO
v Provê segurança para as bases de dados
v Geralmente não é necessário para ambientes de “teste”
v Utiliza-se o argumento opcional “- - auth” na conexão
15. MONGODB – CRUD NO
BASH
v Método db.collection.insert( );
v Método db.collection.find( ) e db.collection.findOne( );
v Método db.collection.remove( );
v Método db.collection.update( ) e db.collection.save( );
16. MONGODB – MAPREDUCE
v Mapeia os dados, usando um valor do documento como
condição
v Muito parecido com o “GROUP BY”
v Reduz os valores mapeados, associando uma informação
18. PHP + MONGODB?
v Gerenciar dados em larga escala
v ORM’s geralmente não são bons em desempenho
v As vezes é necessário alternativas:”MemCache,
Raid,Cluster…”
24. PHP + MONGO–
INSTALAÇÃO DO DRIVER
1. https://github.com/mongodb/mongo-php-
driver/downloads
2. Copiar para a pasta de extensões do PHP(.dll
ou .so)
25. PHP + MONGO – CONECTANDO
AO MONGODB
<?php
$connection = new Mongo(‘localhost:27017’);
?>
30. PHP + MONGO – GRIDFS
v Utilizado para armazenar grandes arquivos
v Associa metadados aos arquivos
v Separa arquivos em “chunks”
v Utiliza a classe MongoGridFS
32. PHP + MONGO – REST API
v Acesso aos dados usando requisição HTTP
v Interfaces Especiais:
v Sleepy Mongoose (Python)
v MongoDB Rest(Node.js)
v MongoDB Java Rest server
33. PHP + MONGO – REST API
v Acesso nativo de “somente leitura”
v Necessário o parâmetro “- - rest” no bash/prompt
v Acessível através porta padrão: 28017
34. PHP + MONGO – REST API
Exemplo:
http://localhost:28017/mongophp/user/find