O documento discute a linguagem de programação Rust. Apresenta como o autor conheceu e começou a usar Rust, destacando características como tipos seguros, gerenciamento de memória sem garbage collector e foco em segurança e desempenho. Também mostra exemplos básicos de código Rust e como criar um site simples e fazer requisições na web usando Rust.
O documento apresenta uma palestra sobre a ferramenta Puppet para gestão e automação de configurações em ambientes de TI. Ele discute como o Puppet pode ajudar a padronizar configurações, facilitar a administração de servidores e acelerar processos como implantação de novos sistemas. A palestra também demonstra conceitos e funcionalidades básicas do Puppet por meio de exemplos práticos.
O documento discute a ferramenta de gerenciamento de virtualização Ganeti. Em três frases, o documento apresenta o caso de uso da EBC, que migrou 160 máquinas virtuais para um cluster Ganeti com 15 nós, permitindo administração centralizada e automação de serviços. Além disso, discute como o Ganeti oferece recursos como replicação de dados em tempo real e migração transparente de VMs entre nós do cluster.
Esse tutorial ajuda na configuração do asterisk.
Qualquer duvida podem mandar um email para:
vicente.proj@hotmail.com
Ou visitar o endereço do you tube que contém muitos vídeos ensinando a configurar o asterisk.
http://www.youtube.com/user/voipjava
Este documento apresenta uma introdução ao Mcollective, ferramenta de orquestração de servidores em tempo real. O documento discute conceitos de orquestração, instalação e configuração do Mcollective, uso de agentes e clientes, filtros, construção de agentes e clientes personalizados e demonstração prática. O documento também fornece informações sobre suporte e comunidade em torno do Mcollective.
(DevOps) Gerencia de Configuração, Puppet, Ansible e Chef uma Analise Compara...Samuel Sampaio
O documento discute os sistemas de gerenciamento de configuração Puppet, Chef e Ansible. Ele explica o que é gerenciamento de configuração, como esses sistemas funcionam, suas arquiteturas, e como declarar recursos básicos em cada um. O documento também fornece exemplos de como aplicar as configurações e próximos passos para automação.
Gestão automática de configuração usando puppetDaniel Sobral
O documento apresenta Daniel Sobral e seu trabalho com gestão automática de configuração usando Puppet. Ele explica quem ele é, os objetivos da apresentação e dá uma visão geral de como o Puppet funciona, incluindo recursos, catálogos e a organização de elementos como sites, nós, módulos e classes.
O documento apresenta uma palestra sobre a ferramenta Puppet para gestão e automação de configurações em ambientes de TI. Ele discute como o Puppet pode ajudar a padronizar configurações, facilitar a administração de servidores e acelerar processos como implantação de novos sistemas. A palestra também demonstra conceitos e funcionalidades básicas do Puppet por meio de exemplos práticos.
O documento discute a ferramenta de gerenciamento de virtualização Ganeti. Em três frases, o documento apresenta o caso de uso da EBC, que migrou 160 máquinas virtuais para um cluster Ganeti com 15 nós, permitindo administração centralizada e automação de serviços. Além disso, discute como o Ganeti oferece recursos como replicação de dados em tempo real e migração transparente de VMs entre nós do cluster.
Esse tutorial ajuda na configuração do asterisk.
Qualquer duvida podem mandar um email para:
vicente.proj@hotmail.com
Ou visitar o endereço do you tube que contém muitos vídeos ensinando a configurar o asterisk.
http://www.youtube.com/user/voipjava
Este documento apresenta uma introdução ao Mcollective, ferramenta de orquestração de servidores em tempo real. O documento discute conceitos de orquestração, instalação e configuração do Mcollective, uso de agentes e clientes, filtros, construção de agentes e clientes personalizados e demonstração prática. O documento também fornece informações sobre suporte e comunidade em torno do Mcollective.
(DevOps) Gerencia de Configuração, Puppet, Ansible e Chef uma Analise Compara...Samuel Sampaio
O documento discute os sistemas de gerenciamento de configuração Puppet, Chef e Ansible. Ele explica o que é gerenciamento de configuração, como esses sistemas funcionam, suas arquiteturas, e como declarar recursos básicos em cada um. O documento também fornece exemplos de como aplicar as configurações e próximos passos para automação.
Gestão automática de configuração usando puppetDaniel Sobral
O documento apresenta Daniel Sobral e seu trabalho com gestão automática de configuração usando Puppet. Ele explica quem ele é, os objetivos da apresentação e dá uma visão geral de como o Puppet funciona, incluindo recursos, catálogos e a organização de elementos como sites, nós, módulos e classes.
Monitoramento de Serviços de Bancos de Dados - NagiosEduardo Legatti
O documento discute o monitoramento de bancos de dados Oracle e SQL Server usando a ferramenta open-source Nagios. Ele descreve os benefícios do monitoramento, apresenta o Nagios e seus arquivos de configuração, e discute vários plugins para monitorar serviços, processos, recursos e backups nos bancos de dados.
O documento discute como utilizar módulos no Puppet de forma a organizar e reutilizar códigos. Módulos agrupam configurações relacionadas em um diretório e podem ser carregados automaticamente pelo Puppet para gerenciar serviços e sistemas de forma independente e portável. O documento demonstra a estrutura e nomenclatura recomendadas para módulos e apresenta repositórios públicos com módulos prontos para uso.
O documento discute a automação de ambientes com a ferramenta Puppet. Apresenta os conceitos e funcionalidades do Puppet como a linguagem declarativa, arquitetura agente/servidor, provisionamento de VM/nuvem, dashboard, recursos, idempotência e casos de sucesso de implementação.
Este documento fornece instruções sobre como customizar o Slackware Linux. Explica como modificar arquivos como o initrd.img para personalizar o processo de inicialização e como alterar os scripts e pacotes de instalação. Também descreve a estrutura de diretórios do Slackware Linux.
O documento discute vários tópicos sobre administração e segurança em sistemas Linux. Aborda conceitos como login, grupos de usuários, agendamento de tarefas, interface gráfica X Window, shell script, kernel, logs, redes e criptografia.
O documento apresenta Puppet como uma ferramenta de gerência de configurações que automatiza tarefas repetitivas de administração de sistemas. Puppet permite definir, versionar e aplicar configurações de forma declarativa, garantindo padronização e integridade nas configurações de infraestrutura. O documento também destaca casos reais e benefícios do Puppet como aumento da produtividade e controle sobre ambientes.
1. O documento discute a implementação de uma nova estrutura para gerenciamento de configurações usando Puppet, incluindo a separação de ambientes de desenvolvimento e produção e a organização de módulos, roles e profiles.
2. Será adotado um fluxo de trabalho com branches no Git para desenvolvimento e testes antes de implantação na produção.
3. Próximos passos incluem integrar o processo com Jenkins, implantar a estrutura proposta e estratégias de migração do Puppet legado.
O documento fornece instruções sobre comandos básicos do terminal e gerenciamento de arquivos e diretórios no Linux, incluindo como instalar e desinstalar pacotes, configurar rede e permissões, navegar e manipular arquivos.
Zabbix Conference LatAm 2016 - Andre Deo - SNMP and ZabbixZabbix
O documento discute o uso do SNMP (Simple Network Management Protocol) com Zabbix e Net-SNMP. Ele explica como configurar o Net-SNMP para ler dados via SNMP, visualizar dados de diferentes formas e usar máscaras de filtro. Também mostra templates SNMP comuns no Zabbix e dicas para solucionar problemas de leitura de dados.
1) O documento descreve diferentes tipos de sistemas operacionais e conceitos básicos como processos, gerenciamento de memória e arquivos.
2) São apresentadas estruturas comuns para sistemas operacionais, incluindo modelos monolíticos, de camadas, máquinas virtuais e cliente-servidor.
3) O documento também explica o funcionamento de chamadas ao sistema operacional, com o exemplo da chamada "read" no Unix.
O documento compara Vagrant e Docker, discutindo como ambos ajudam na padronização de ambientes de desenvolvimento através da virtualização e conteinerização. Vagrant permite a automação da configuração de VMs virtuais, enquanto Docker facilita a replicação de aplicações através de contêineres leves. Embora contêineres sejam mais rápidos que VMs, eles dependem do sistema operacional do host.
O documento descreve o Nagios, um software de código aberto para monitoramento de rede. Ele permite monitorar hosts e serviços, notificando usuários sobre problemas e quando são resolvidos. Exige Linux e um compilador C, e pode ser instalado a partir do código-fonte ou pacotes. Inclui plugins para monitoramento remoto e integração com outros sistemas.
Gerenciamento de configuração com puppetElton Simões
Esta apresentação introduz a ferramenta open-source Puppet para gerenciamento de configuração em ambientes de grande porte. Puppet permite automatizar e padronizar a configuração de centenas de servidores de forma centralizada, resolvendo problemas comumente enfrentados em ambientes manuais como falta de documentação e inconsistências.
O documento apresenta uma introdução ao Docker, incluindo sua história, conceitos-chave como containers e imagens, e demonstrações práticas de como criar e gerenciar containers Docker. É explicado como o Docker permite isolar e empacotar aplicações em unidades portáteis através do uso de namespaces, cgroups e union file systems.
Este documento discute volumes de dados no Docker, incluindo como associar diretórios do host e entre containers, modo somente leitura, compartilhamento de volumes e considerações sobre backup e migração de dados.
O documento apresenta sobre infraestrutura como código usando Puppet e Mcollective. Ele discute sobre os desafios da administração manual de sistemas à medida que o ambiente cresce e propõe a automação, padronização e controle da infraestrutura como solução. Em seguida, apresenta o Puppet como ferramenta de gerência de configurações que permite declarar a infraestrutura desejada de forma idempotente e tratar recursos de forma abstrata. Por fim, discute brevemente sobre o Mcollective.
Introdução ao Docker até a criação de ambientes imutáveis com docker-compose.
---
Docker introduction until immutable environments with docker-compose. Language: PT-BR
O documento descreve o Nagios, um sistema de monitoramento de rede, servidores e serviços open-source. O Nagios permite monitorar recursos de sistema, bancos de dados, serviços, aplicações e equipamentos de rede de forma escalável e redundante com notificações e representação gráfica. Ele pode se integrar com ferramentas externas e executar scripts de forma pró-ativa.
O documento descreve como o Cygwin pode ser usado para administrar computadores Windows em um ambiente escolar, permitindo copiar arquivos, desligar máquinas remotamente e apagar conteúdo indesejado das áreas de usuário. Scripts foram criados para automatizar essas tarefas e fornecer uma interface amigável para usuários não técnicos. O Cygwin traz ferramentas do Linux para Windows, facilitando a administração da rede da escola.
Este documento descreve como instalar e configurar um PBX IP gratuito utilizando o software Asterisk no Debian. Ele explica como instalar os pacotes necessários, configurar ramais SIP e IAX, e criar um plano de discagem básico.
Monitoramento de Serviços de Bancos de Dados - NagiosEduardo Legatti
O documento discute o monitoramento de bancos de dados Oracle e SQL Server usando a ferramenta open-source Nagios. Ele descreve os benefícios do monitoramento, apresenta o Nagios e seus arquivos de configuração, e discute vários plugins para monitorar serviços, processos, recursos e backups nos bancos de dados.
O documento discute como utilizar módulos no Puppet de forma a organizar e reutilizar códigos. Módulos agrupam configurações relacionadas em um diretório e podem ser carregados automaticamente pelo Puppet para gerenciar serviços e sistemas de forma independente e portável. O documento demonstra a estrutura e nomenclatura recomendadas para módulos e apresenta repositórios públicos com módulos prontos para uso.
O documento discute a automação de ambientes com a ferramenta Puppet. Apresenta os conceitos e funcionalidades do Puppet como a linguagem declarativa, arquitetura agente/servidor, provisionamento de VM/nuvem, dashboard, recursos, idempotência e casos de sucesso de implementação.
Este documento fornece instruções sobre como customizar o Slackware Linux. Explica como modificar arquivos como o initrd.img para personalizar o processo de inicialização e como alterar os scripts e pacotes de instalação. Também descreve a estrutura de diretórios do Slackware Linux.
O documento discute vários tópicos sobre administração e segurança em sistemas Linux. Aborda conceitos como login, grupos de usuários, agendamento de tarefas, interface gráfica X Window, shell script, kernel, logs, redes e criptografia.
O documento apresenta Puppet como uma ferramenta de gerência de configurações que automatiza tarefas repetitivas de administração de sistemas. Puppet permite definir, versionar e aplicar configurações de forma declarativa, garantindo padronização e integridade nas configurações de infraestrutura. O documento também destaca casos reais e benefícios do Puppet como aumento da produtividade e controle sobre ambientes.
1. O documento discute a implementação de uma nova estrutura para gerenciamento de configurações usando Puppet, incluindo a separação de ambientes de desenvolvimento e produção e a organização de módulos, roles e profiles.
2. Será adotado um fluxo de trabalho com branches no Git para desenvolvimento e testes antes de implantação na produção.
3. Próximos passos incluem integrar o processo com Jenkins, implantar a estrutura proposta e estratégias de migração do Puppet legado.
O documento fornece instruções sobre comandos básicos do terminal e gerenciamento de arquivos e diretórios no Linux, incluindo como instalar e desinstalar pacotes, configurar rede e permissões, navegar e manipular arquivos.
Zabbix Conference LatAm 2016 - Andre Deo - SNMP and ZabbixZabbix
O documento discute o uso do SNMP (Simple Network Management Protocol) com Zabbix e Net-SNMP. Ele explica como configurar o Net-SNMP para ler dados via SNMP, visualizar dados de diferentes formas e usar máscaras de filtro. Também mostra templates SNMP comuns no Zabbix e dicas para solucionar problemas de leitura de dados.
1) O documento descreve diferentes tipos de sistemas operacionais e conceitos básicos como processos, gerenciamento de memória e arquivos.
2) São apresentadas estruturas comuns para sistemas operacionais, incluindo modelos monolíticos, de camadas, máquinas virtuais e cliente-servidor.
3) O documento também explica o funcionamento de chamadas ao sistema operacional, com o exemplo da chamada "read" no Unix.
O documento compara Vagrant e Docker, discutindo como ambos ajudam na padronização de ambientes de desenvolvimento através da virtualização e conteinerização. Vagrant permite a automação da configuração de VMs virtuais, enquanto Docker facilita a replicação de aplicações através de contêineres leves. Embora contêineres sejam mais rápidos que VMs, eles dependem do sistema operacional do host.
O documento descreve o Nagios, um software de código aberto para monitoramento de rede. Ele permite monitorar hosts e serviços, notificando usuários sobre problemas e quando são resolvidos. Exige Linux e um compilador C, e pode ser instalado a partir do código-fonte ou pacotes. Inclui plugins para monitoramento remoto e integração com outros sistemas.
Gerenciamento de configuração com puppetElton Simões
Esta apresentação introduz a ferramenta open-source Puppet para gerenciamento de configuração em ambientes de grande porte. Puppet permite automatizar e padronizar a configuração de centenas de servidores de forma centralizada, resolvendo problemas comumente enfrentados em ambientes manuais como falta de documentação e inconsistências.
O documento apresenta uma introdução ao Docker, incluindo sua história, conceitos-chave como containers e imagens, e demonstrações práticas de como criar e gerenciar containers Docker. É explicado como o Docker permite isolar e empacotar aplicações em unidades portáteis através do uso de namespaces, cgroups e union file systems.
Este documento discute volumes de dados no Docker, incluindo como associar diretórios do host e entre containers, modo somente leitura, compartilhamento de volumes e considerações sobre backup e migração de dados.
O documento apresenta sobre infraestrutura como código usando Puppet e Mcollective. Ele discute sobre os desafios da administração manual de sistemas à medida que o ambiente cresce e propõe a automação, padronização e controle da infraestrutura como solução. Em seguida, apresenta o Puppet como ferramenta de gerência de configurações que permite declarar a infraestrutura desejada de forma idempotente e tratar recursos de forma abstrata. Por fim, discute brevemente sobre o Mcollective.
Introdução ao Docker até a criação de ambientes imutáveis com docker-compose.
---
Docker introduction until immutable environments with docker-compose. Language: PT-BR
O documento descreve o Nagios, um sistema de monitoramento de rede, servidores e serviços open-source. O Nagios permite monitorar recursos de sistema, bancos de dados, serviços, aplicações e equipamentos de rede de forma escalável e redundante com notificações e representação gráfica. Ele pode se integrar com ferramentas externas e executar scripts de forma pró-ativa.
O documento descreve como o Cygwin pode ser usado para administrar computadores Windows em um ambiente escolar, permitindo copiar arquivos, desligar máquinas remotamente e apagar conteúdo indesejado das áreas de usuário. Scripts foram criados para automatizar essas tarefas e fornecer uma interface amigável para usuários não técnicos. O Cygwin traz ferramentas do Linux para Windows, facilitando a administração da rede da escola.
Este documento descreve como instalar e configurar um PBX IP gratuito utilizando o software Asterisk no Debian. Ele explica como instalar os pacotes necessários, configurar ramais SIP e IAX, e criar um plano de discagem básico.
O documento descreve a palestra de Rildo Pragana sobre aplicações web com tecnologias livres. Ele aborda sua experiência com Linux desde os anos 1980, o desenvolvimento de drivers para dispositivos como scanners e impressoras, projetos como TinyCobol e radiola, e ferramentas como o servidor web Tatu e plugins para o mesmo.
O documento apresenta uma oficina básica sobre PostgreSQL ministrada por Fabrizio de Royes Mello. A agenda inclui introdução ao PostgreSQL, preparação do servidor, e manipulação de bancos de dados. O público aprenderá sobre instalação, configuração de clusters, criação e remoção de bancos de dados no PostgreSQL.
Este documento apresenta as principais características e funcionalidades do sistema operacional OpenSolaris, incluindo: (1) ZFS, um sistema de arquivos com capacidades avançadas de gerenciamento de volumes, integridade e recuperação de dados; (2) DTrace, um framework para monitoramento em tempo real do kernel e aplicações; (3) virtualização através de containers e zonas.
O documento fornece uma introdução ao sistema operacional Linux, descrevendo seus requisitos de hardware, métodos de instalação, nomes de dispositivos, particionamento de disco, processos de inicialização e comandos básicos para administração e manutenção do sistema.
Este documento fornece um resumo sobre o Apache Ant, uma ferramenta para gerenciamento de projetos Java baseada em arquivos XML. O documento explica como o Apache Ant pode ser usado para automatizar tarefas como compilação, empacotamento, documentação e teste.
Este documento apresenta o Apache Ant, uma ferramenta para gerenciamento de projetos Java baseada em scripts XML. O Ant permite automatizar tarefas como compilação, empacotamento, documentação e testes através de alvos e tarefas definidos no arquivo build.xml. Ele oferece mais de 130 tarefas pré-definidas e pode ser estendido através de novas tarefas ou scripts JavaScript.
O documento descreve o Redis, um banco de dados chave-valor armazenado na memória. Ele é muito rápido, de código aberto, e suporta vários tipos de dados e recursos como publicação-assinatura. O documento também discute como configurar e usar o Redis com PHP via bibliotecas como Predis, incluindo comandos básicos e avançados.
O documento apresenta uma introdução ao framework Spring Boot para desenvolvimento de aplicações Java. Apresenta os principais conceitos como criação de projetos, configuração automática de dependências, execução de aplicações e deploy em produção. Também mostra exemplos práticos de integração com Spring Data para banco MongoDB e exposição de serviços RESTful.
Marcelo Gomes tem mais de 10 anos de experiência em redes Linux e é professor universitário. Ele administra vários clusters e mantém um blog sobre tecnologia. Seu documento explica o que são servidores, arquitetura cliente-servidor, Linux e distribuições Linux, além de discutir RAID, SSH, NFS e Samba.
O documento resume as principais mudanças na versão 1.9 do Ruby em relação à versão 1.8, incluindo:
1) Mudanças na representação de strings e codificações, como a remoção do $KCODE e a introdução de m17n;
2) Melhorias no desempenho de expressões regulares e símbolos;
3) Alterações na classe Date e nos métodos de hash.
Cartilha de R para Estatística e Data Science.pdfEdkallenn Lima
O documento apresenta uma introdução à linguagem R para estatística e ciência de dados. Em menos de 3 frases, o documento discute o que é R e por que aprendê-lo, apresenta alguns motivos para aprender R como ser gratuito, fácil de aprender e ter grande quantidade de tutoriais disponíveis, e descreve brevemente o que pode ser feito com R como análise de dados, visualização de dados e relatórios.
Este documento fornece diretrizes para criar scripts de shell avançados, incluindo comentários úteis, variáveis de ambiente, funções, loops e caixas de diálogo. O autor discute técnicas como portabilidade entre sistemas, formatação de código legível e recursividade.
Integração Contínua com CruiseControl e phpUnderControlDiego Tremper
O documento descreve as ferramentas de integração contínua CruiseControl e phpUnderControl, explicando sua instalação e configuração para automatizar builds de projetos PHP. Também discute como essas ferramentas permitem geração de documentação, execução de testes, análise de código e métricas.
O documento resume as principais características do MongoDB, um banco de dados NoSQL orientado a documentos e esquema-livre. Ele explica que o MongoDB é escalável, de alto desempenho e open source, armazena dados em formato de documentos JSON ou BSON, permite esquemas flexíveis e não requer migrations. Além disso, ressalta que as propriedades ACID ficam a cargo do programador e apresenta alguns comandos básicos para usar o MongoDB via terminal.
Slides do mini-curso de MongoDB realizado no Workshop de Software Livre 2010 do CInLUG, no Centro de Informática da Universidade Federal de Pernambuco em 24/08/2010. Instrutores: Brunno Gomes (@brunnogomes) e Daker Fernandes (@dakerfp).
Integracao Contínua com CruiseControl e phpUnderControlDiego Tremper
O documento descreve o processo de integração contínua para projetos PHP utilizando as ferramentas CruiseControl, phpUnderControl, PHPUnit, PHP_CodeSniffer e phpDocumentor. O resumo apresenta os principais pontos sobre como configurar e utilizar essas ferramentas para automatizar builds, execução de testes, análise de código e geração de relatórios e métricas.
Integração Contínua com CruiseControl e phpUnderControlManuel Lemos
O documento apresenta as ferramentas de integração contínua CruiseControl e phpUnderControl, descrevendo sua instalação, configuração e funcionalidades como a geração de documentação, execução de testes, análise de padrões e métricas de código.
1. O documento apresenta um ambiente de desenvolvimento usando Docker e Ruby on Rails, descrevendo como configurar containers para rodar uma aplicação Rails com banco de dados Postgres.
2. Inicialmente são apresentados alguns problemas no desenvolvimento sem Docker e depois são mostrados comandos básicos do Docker como criar e executar containers.
3. É criado um projeto Rails dentro de um container e depois é configurado um Dockerfile para criar uma imagem com a aplicação e dependências.
Semelhante a TDC2017 | POA Trilha Programacao Funicional - (Nunca) Ouvi falar de Rust... mas como faço um site? (20)
TDC2019 Intel Software Day - Visao Computacional e IA a servico da humanidadetdc-globalcode
O documento discute o uso de visão computacional e inteligência artificial para aplicações médicas e industriais. Ele descreve como CPUs, GPUs e VPUs podem processar IA localmente e com baixo custo usando ferramentas como OpenVINO. Isso permitiria diagnósticos médicos remotos em tempo real com baixo consumo de energia.
TDC2019 Intel Software Day - ACATE - Cases de Sucessotdc-globalcode
O documento fornece um panorama geral da tecnologia e inovação em Santa Catarina, destacando:
1) O setor representa 5,6% da economia catarinense, com faturamento de R$15,53 bilhões;
2) As cidades de Florianópolis e Blumenau são os dois polos com maior crescimento de faturamento no estado;
3) Santa Catarina tem a maior proporção de startups no país, com 19,95% do total nacional.
TDC2019 Intel Software Day - Otimizacao grafica com o Intel GPAtdc-globalcode
The document discusses Intel Graphics Performance Analyzers (Intel GPA), a suite of graphics performance tools created by Intel to optimize games and real-time graphics applications. It describes Intel GPA's profiling workflow which involves analyzing frames to identify bottlenecks, determining if issues are CPU or GPU bound, and identifying hotspots. It then provides overviews of the tools in Intel GPA like the System Analyzer, Trace Analyzer, Frame Analyzer and their capabilities for profiling graphics performance.
TDC2019 Intel Software Day - Deteccao de objetos em tempo real com OpenVinotdc-globalcode
O documento apresenta uma palestra sobre detecção de objetos em tempo real utilizando redes neurais convolucionais e o framework OpenVINO da Intel. É discutido o algoritmo YOLO para detecção de objetos em imagens e sua implementação no Intel AI Dev Cloud para treinamento. Também é mostrado como otimizar modelos de deep learning utilizando o OpenVINO para inferência em tempo real.
TDC2019 Intel Software Day - OpenCV: Inteligencia artificial e Visao Computac...tdc-globalcode
O documento apresenta uma palestra sobre OpenCV, biblioteca de código aberto para visão computacional. Aborda os fundamentos da visão computacional e aplicações da OpenCV, incluindo processamento de imagens, reconhecimento de padrões e diretrizes para melhor desempenho em processadores Intel. Também discute tópicos como aprendizado de máquina profundo, YOLO e conformidade com leis de privacidade como o GDPR.
TDC2019 Intel Software Day - Inferencia de IA em edge devicestdc-globalcode
This document discusses Intel's compiler optimizations and how they may differ depending on the microprocessor. It notes that:
- Intel's compilers may optimize differently for non-Intel microprocessors, including optimizations for SSE2, SSE3, and SSSE3 instruction sets.
- Intel does not guarantee the availability, functionality, or effectiveness of any optimization on non-Intel microprocessors.
- Microprocessor-dependent optimizations are intended for use with Intel microprocessors only. Certain non-Intel specific optimizations are also reserved for Intel microprocessors.
Trilha BigData - Banco de Dados Orientado a Grafos na Seguranca Publicatdc-globalcode
O documento discute a aplicação de bancos de dados orientados a grafos para análise de vínculos na segurança pública. Esses bancos permitem modelar dados de crimes e suspeitos como vértices e arestas em um grafo, possibilitando correlacionar informações de forma mais eficiente do que bancos relacionais. Isso pode identificar proximidades entre suspeitos e verificar vínculos de diferentes perspectivas em tempo real, auxiliando investigações criminais.
O documento apresenta os principais conceitos da programação funcional usando a linguagem F#, como imutabilidade, funções como valores, composição de funções, type providers e features como Option e unidades de medida. O objetivo é mostrar como F# oferece um paradigma diferente de programação e como seus recursos podem ser usados no desenvolvimento .NET.
This document summarizes the development of an API for addresses in Go. It describes using Beego and pure Go for scalability. It implemented middlewares for routing, error handling, authentication, and logging. It also integrated New Relic for metrics. The API routes and controllers are chained through the middleware handlers. In conclusion, the API was able to successfully provide address functionality and insights through integration of middlewares and third-party services.
TDC2018SP | Trilha Modern Web - Para onde caminha a Web?tdc-globalcode
O documento discute a importância da personalização e da relevância na web. Defende que sites devem entender os usuários individuais e fornecer experiências adaptadas às necessidades e desejos únicos de cada pessoa. Explica como o web mining, logs de servidor e clientes podem ser usados para analisar o comportamento dos usuários e melhorar a usabilidade e a relevância dos sites.
TDC2018SP | Trilha Go - Clean architecture em Golangtdc-globalcode
O documento descreve os princípios da arquitetura limpa em Go, dividindo o código em 4 camadas: entidades, casos de uso, controladores e frameworks/drivers. A arquitetura promove independência de frameworks, teste, interface gráfica e bancos de dados, além de permitir testes por camada. Um exemplo completo está disponível em um repositório no GitHub.
TDC2018SP | Trilha Go - "Go" tambem e linguagem de QAtdc-globalcode
O documento discute as vantagens de usar a linguagem Go para testes de software, apresentando diversas ferramentas para testes com Go, como Godog para testes de aceitação baseados em BDD, Gomega para testes unitários e Ginkgo para execução de testes. Também cita empresas que usam Go em produção como Uber, Docker e Dropbox.
TDC2018SP | Trilha Mobile - Digital Wallets - Seguranca, inovacao e tendenciatdc-globalcode
O documento discute (1) a tokenização como método seguro de armazenar dados de cartão, (2) as integrações com as APIs do Google Pay e Apple Pay para permitir pagamentos móveis dentro de aplicativos, e (3) a crescente tendência dos pagamentos digitais em carteiras móveis em todo o mundo.
TDC2018SP | Trilha .Net - Real Time apps com Azure SignalR Servicetdc-globalcode
O documento discute o Azure SignalR Service, um serviço gerenciado pela Microsoft que permite escalar aplicações em tempo real sem gerenciar a infraestrutura subjacente. O serviço oferece fallback automático entre protocolos de comunicação e permite 1000 conexões por unidade com SLA de 99,9%. O documento também fornece instruções sobre como adicionar o serviço a uma aplicação ASP.NET Core.
TDC2018SP | Trilha .Net - Passado, Presente e Futuro do .NETtdc-globalcode
O documento discute a evolução do .NET, desde seu foco inicial em aplicativos empresariais para Windows até se tornar uma pilha multiplataforma de código aberto. Também compara o .NET Framework e o .NET Core, explicando quando cada um é mais adequado, e demonstra o SQL Server rodando no Linux.
TDC2018SP | Trilha .Net - Novidades do C# 7 e 8tdc-globalcode
This document discusses new features in C# 7 and 8, including pattern matching, tuples, out variables, discards, ref returns and locals, expression-bodied members, numeric literals, local functions, generalized async returns, default literals, non-trailing named arguments, leading separators for numeric literals, private protected access, reference semantics with value types using in, ref, and ref readonly. It also provides links to documentation and proposals for each feature.
1) A apresentação introduz Fernando Mendes e Mikaeri Ohana, arquiteto de software e desenvolvedor de software respectivamente, e descreve o tópico da palestra sobre obter métricas com TDD utilizando build automatizado e deploy no Azure. 2) A palestra discute os benefícios dos testes unitários, TDD e cobertura de código e faz uma demonstração. 3) As ferramentas xUnit, OpenCover e ReportGenerator são apresentadas para testes, cobertura e relatórios.
TDC2018SP | Trilha .Net - .NET funcional com F#tdc-globalcode
O documento apresenta a linguagem de programação funcional F# como parte do .NET, destacando que é fortemente tipada e permite programação funcional "impura" com interoperabilidade com o ecossistema .NET. Também menciona o apoio da Microsoft à linguagem e exemplos de onde ela pode ser usada.
TDC2018SP | Trilha .Net - Crie SPAs com Razor e C# usando Blazor em .Net Coretdc-globalcode
O documento descreve o Blazor, um projeto experimental que permite criar SPAs usando C# e WebAssembly. Ele explica que o WebAssembly é um novo formato para compilação web e lista algumas vantagens do Blazor, como ser estável e usar ferramentas da indústria. Também menciona pré-requisitos para usar o Blazor e dicas de hospedagem.
Atividade letra da música - Espalhe Amor, Anavitória.Mary Alvarenga
A música 'Espalhe Amor', interpretada pela cantora Anavitória é uma celebração do amor e de sua capacidade de transformar e conectar as pessoas. A letra sugere uma reflexão sobre como o amor, quando verdadeiramente compartilhado, pode ultrapassar barreiras alcançando outros corações e provocando mudanças positivas.
O Que é Um Ménage à Trois?
A sociedade contemporânea está passando por grandes mudanças comportamentais no âmbito da sexualidade humana, tendo inversão de valores indescritíveis, que assusta as famílias tradicionais instituídas na Palavra de Deus.
18. Rust
Rust é uma linguagem de programação de
sistemas que roda incrivelmente rápido, previne
falhas de segmentação, e garante segurança
entre threads.
5 . 1
20. Uma linguagem com várias
características funcionais:
Imutável por padrão
Não tem null ou unde ned
Pattern-matching
Closures
Structs e Enums
5 . 3
21. O que me chamou atenção para seguir
aprendendo:
Gera binários
Cross-plataforma
Preocupação em boas mensagens de erro
Focado em baixo nível
Mas com uma experiência de linguagem de alto nível
Linguagem com investimento da Mozilla
5 . 4
31. error[E0277]: the trait bound
`std::vec::Vec<_>: std::fmt::Display` is not satisfied
--> src/main.rs:3:25
|
|println!("Data {}", data);
| ^^^^
`std::vec::Vec<_>` cannot be formatted with the default
formatter; try using `:?` instead if you are using
a format string
|
= help: the trait `std::fmt::Display`
is not implemented for `std::vec::Vec<_>`
= note: required by `std::fmt::Display::fmt`
error: aborting due to previous error
7 . 5
32. ^^^^ `std::vec::Vec<_>` cannot be formatted with the default
formatter; try using `:?` instead if you are using a
format string
7 . 6
34. error[E0282]: type annotations needed
--> src/main.rs:2:16
|
2 | let data = vec!();
| ---- ^^^^^^ cannot infer type for `T`
| |
| consider giving `data` a type
|
error: aborting due to previous error
7 . 8
39. Imagine uma base de código bem
complexa
Código com threads
Processamento de imagens em paralelo
Coordenar muito acesso de I/O
7 . 13
40. Em resumo, imagine quão complexo um
navegador é por trás dos panos?
7 . 14
41. Existe algum problema neste código?
Playground
use std::thread;
use std::time::Duration;
fn main() {
let data = vec!();
thread::spawn(|| {
data.push('a');
});
thread::spawn(|| {
data.push('b');
});
thread::sleep(Duration::from_millis(50));
println!("Data {:?}", data);
}
7 . 15
42. Depois de vários ciclos de feedback na
compilação:
Não teremos acesso a memória já liberada
Teremos adicionado uma forma forma de evitar race
conditions
Nosso binário não terá esses problemas!
7 . 16
43. Playground
use std::thread;
use std::sync::{Arc, Mutex};
use std::time::Duration;
fn main() {
let data = Arc::new(Mutex::new(vec!()));
let writer = data.clone();
thread::spawn(move || {
let lock_result = writer.lock();
match lock_result {
Ok(mut locked_writer) => locked_writer.push('a'),
Err(_) => panic!("Could not acquire lock a"),
}
});
let writer = data.clone();
thread::spawn(move || {
let mut locked_writer = writer.lock().expect("Could not acquire lock b");
locked_writer.push('b');
});
thread::sleep(Duration::from_millis(50));
println!("Data {:?}", data);
}
7 . 17
44. Esse sistema de tipo traz novas
maneiras de expressar seu domínio
7 . 18
47. error[E0382]: use of moved value: `pedido`
--> src/main.rs:18:39
|
16 | enviar_pedido(pedido);
| ------ value moved here
17 |
18 | println!("Dados do pedido: {:?}", pedido);
| ^^^^^^
value used here after move
7 . 21
48. Só podemos acessar o pedido antes de
enviarmos as informações nesse cenário
7 . 22
61. Uma linguagem de sistemas:
Tem mensagens de erros claras
Que se preocupa com documentação e testes
E traz todas essas aprendizagens de outras linguagens
É uma ótima evolução para todo o ecossistema
de baixo nível
7 . 35
62. E uma ótima opção para
construir plataformas de alto nível
7 . 36
63. Mas você não precisa se preocupar
com tudo isso agora
7 . 37
75. Esse é o gerenciador de versões do Rust
Vai instalar todas as ferramentas
Suporta Linux, Mac e Windows
Ajuda a manter tudo atualizado
10 . 2
76. No nal estará disponível:
rustup: o gerenciador de versões
cargo: o gerenciador de projetos e de dependências
rustc: o compilador
rustdoc: o gerador de documentação
rust-gdb e rust-lldb: debuggers
10 . 3
85. Primeiro, importamos e incluímos algumas
referências do framework web.
#[macro_use]
extern crate nickel;
use nickel::{Nickel, HttpRouter};
14 . 2
86. Incluímos todo o conteúdo do nosso arquivo
HTML em uma constante.
const INDEX: &str = include_str!("index.html");
14 . 3
87. Criamos um novo servidor Nickel.
let mut server = Nickel::new();
server.get("/", middleware!(INDEX));
14 . 4
88. Con guramos a porta a partir da variável de
ambiente PORT. Vamos usar a porta 3000 de
fallback.
let port = std::env::var("PORT").unwrap_or("3000".into());
let url = format!("0.0.0.0:{port}", port = port);
14 . 5
89. Iniciamos o nosso servidor, com uma mensagem
caso haja erros.
println!("On {}", url);
server.listen(url)
.expect("Não conseguimos iniciar o servidor");
14 . 6
90. No nal teremos isso:
#[macro_use]
extern crate nickel;
use nickel::{Nickel, HttpRouter};
const INDEX: &str = include_str!("index.html");
fn main() {
let mut server = Nickel::new();
server.get("/", middleware!(INDEX));
let port = std::env::var("PORT").unwrap_or("3000".into());
let url = format!("0.0.0.0:{port}", port = port);
println!("On {}", url);
server.listen(url)
.expect("Não conseguimos iniciar o servidor");
}
14 . 7
112. Agora você tem um código para fazer chamadas
na internet!
binário
cross-plataforma
com baixo uso de memória
que não precisa de car instalando várias dependências
para usar
18 . 14
115. É fácil aprender Rust?
Eu passei semanas batendo a cabeça em
conceitos que eram novos para mim.
19 . 2
116. Tenho um background mais alto nível
(Ruby/Java/JavaScript)
Tive que aprender sobre stack e referências
Os conceitos sobre lifetime e borrow demoraram pra
entrar na minha cabeça
19 . 3
117. Rust trouxe novos conceitos para minha caixa de
ferramentas.
E eu tenho me divertido muito!
19 . 4
118. A comunidade é muito aberta e me ajudou
bastante, e tem muito interesse em trazer
pessoas novas.
Muitas pessoas estão disponíveis para ajudar no
, no e até no .#rust-beginners fórum #rust-br
19 . 5
119. Existe um grande esforço em tornar todo o
ecossistema inclusivo, tanto a participação das
pessoas quanto material para todos os níveis.
19 . 6
120. Iniciativa para ensinar Rust para quem não é
bem representado na área de tecnologia
RustBridge
19 . 7
121. Com interesse de tornar a linguagem uma boa
primeira linguagem de programação
19 . 8
122. Todas as propostas de mudança da linguagem
seguem um processo de
Evolução colaborativa
RFC
19 . 9
123. Que agora requer que novas propostas tenham
e uma maneira clara para
ensinar a mudança
documentação
19 . 10
124. Como eu coloco meu site no Heroku?
Eu usei esse .buildpack
19 . 11
125. Só existe o Nickel para web?
Já existem vários frameworks, mas ainda é um
ecossistema em desenvolvimento.
19 . 12
126. Uma boa lista está disponível no site Are We
Web Yet?
19 . 13
127. Se você estiver buscando algo mais
experimental:
Con ra o , que usa uma sintaxe mais
sucinta…
Rocket
19 . 14
128. Mas depende de funcionalidades do compilador
ainda em desenvolvimento.
19 . 15
129. Preciso usar rustup?
É o método mais recomendado pela
comunidade
É a maneira mais fácil de manter tudo atualizado
Rust tem uma versão nova a cada 6 semanas
Fica mais fácil de acompanhar as novas funcionalidades
19 . 16
130. Rust está disponível nos gerenciadores de
pacotes dos sistemas operacionais também, mas
pode demorar um pouco mais para receber
atualizações.
19 . 17
132. Já existem empresas usando Rust?
Sim. Inclusive o Firefox do seu computador já
tem partes em Rust.
Algumas empresas: Dropbox, Chef, Tilde, Sentry,
CoreOS, Mozilla e tem mais .na lista do site
19 . 19
133. Só dá pra usar Rust para a web?
Não, dá pra usar para muitos outros lugares!
19 . 20
134. (Se eu fosse falar todos os exemplos, seria uma
outra apresentação inteira)
19 . 21
135. Dois fortes* espaços para aplicar a linguagem:
Ferramentas de suporte (CLIs, build, processadores de
texto, etc)
Extensões de linguagens (Gems, npm, python extensions,
FFI)
*IMHO
19 . 22
138. E se quiser seguir conhecendo
Tem um no site [EN]
é um ótimo canal para tirar dúvidas
rápidas
Existe o para falar em portugues
O grupo no Telegram
E em portugues
livro de graça
#rust-beginners
#rust-br
@rustlangbr
Meetups
Exercicios
grupo de estudo online
20 . 2
139. Se você se interessou por Rust, pode entrar em
contato comigo também, que eu quero te ajudar
com os próximos passos.
Bruno Tavares - @bltavares
20 . 3