domingo, 19 de julho de 2020

LGPD - O que há de novo no SQL Studio, descoberta e classificação de dados


O SSMS 17.5 fornece suporte para quase todas as áreas de recursos do SQL Server 2008 até o SQL Server 2017 mais recente, que agora está disponível em geral.

Além de aprimoramentos e correções, o SSMS 17.5 vem com vários novos recursos interessantes:

  • A descoberta e classificação de dados é um novo recurso para descobrir, classificar, rotular e relatar dados confidenciais em seus bancos de dados.
  • O Query Editor agora tem suporte para uma opção SkipsRows para o Formato de arquivo externo de texto delimitado para o SQL Data Warehouse do Azure.
  • O Showplan ativou a exibição do botão do plano estimado para o SQL Data Warehouse.


O SSMS 17.5 também inclui as principais correções de erros no Showplan, Query Editor, SMO e Templates, que podem ser encontradas nas Notas da versão .

Descoberta e Classificação de Dados

A descoberta e classificação de dados do SQL introduz uma nova ferramenta incorporada ao SSMS (SQL Server Management Studio) para descobrir, classificar, rotular e relatar os dados confidenciais em seus bancos de dados.


Descobrir e classificar seus dados mais confidenciais (comercial, financeiro, de saúde, PII etc.) pode desempenhar um papel fundamental na sua estatura de proteção de informações organizacionais. Pode servir como infraestrutura para:
  • Ajudando a atender aos padrões de privacidade de dados e aos requisitos de conformidade regulamentar, como o GDPR.
  • Controlando o acesso e fortalecendo a segurança de bancos de dados / colunas contendo dados altamente confidenciais.


A Descoberta e Classificação de Dados inclui um conjunto de novos recursos, formando um novo paradigma de Proteção de Informações SQL destinado a proteger os dados, não apenas o banco de dados:
  • Descoberta e recomendações - O mecanismo de classificação verifica seu banco de dados e identifica colunas que contêm dados potencialmente sensíveis. Em seguida, fornece uma maneira fácil de revisar e aplicar as recomendações de classificação apropriadas, bem como classificar manualmente as colunas.
  • Rotulagem - os rótulos de classificação de sensibilidade podem ser marcados persistentemente nas colunas.
  • Visibilidade - O estado de classificação do banco de dados pode ser visualizado em um relatório detalhado que pode ser impresso / exportado para ser usado para fins de conformidade e auditoria, além de outras necessidades.

"Temos o prazer de anunciar o lançamento do SQL Server Management Studio 17.5"

Essas foram as primeiras palavras de ALAN YU
(Gerente de programas, SQL Server)


Para saber mais, acesse a página de introdução .

LGPD - Segurança de dados no SQL Server


        A primeira versão do SQL Server que eu tive contato foi a versão SQL Server 6.5, em meados de 2002 no meu primeiro estágio (Database version 408, Inesquecível, era muito horrível rs). Então a cada lançamento ficava ansioso para conhecer as verdadeiras novidades. A Microsoft evoluiu, aprendeu muito, e tambem errou em muitas estrategias até chegarmos ao que consideraria a primeira versão Most Stable - SQL Server 2008 R2

Que em 7/9/2019 Foi totalmente descontinuada e teve todo suporte técnico encerrado, pra muitos o fim do mais assertivo ciclo de produtos Microsoft (Desde o Windows XP 2001). De lá pra cá passaram muitos e muitos anos, as necessidades dos mercados mudaram, evoluíram e hoje com as exigências da LGPD -  Lei Geral de Proteção de Dados Pessoais, novas necessidades não são mais simples escolhas, são obrigações legais de mercado.

Um dos pontos importantes para que a empresa esteja em conformidade com a LGPD é ter o mapeamento dos dados armazenados, seja onde for, e sua classificação, considerando as regulações do setor em que a empresa atua. A partir deste mapeamento, estabelecer as políticas de armazenamento, retenção e acesso de cada dado.O SQLServer tem um papel fundamental nesse contexto, pois usualmente armazena grande quantidade desses dados. O SQLServer possui uma suite de ferramentas, que aliada a políticas e processos, auxiliam a conformidade com a Lei.


Por que devemos evoluir ? E o que vem ai de novidade no mercado SQL Server ?

A segurança da infraestrutura de banco de dados é extremamente crucial para qualquer organização, e é por isso que a Microsoft investiu pesadamente em recursos de segurança do SQL Server nos últimos anos. A Microsoft redesenhou o mecanismo de segurança do banco de dados do SQL Server do zero para o SQL Server 2005 e, desde então, a segurança do SQL Server foi aprimorada a cada atualização. O Microsoft SQL Server 2012 continuou essa tendência com uma extensa coleção de novos recursos e aprimoramentos de segurança. Esses aprimoramentos não apenas ajudam as organizações a melhorar os controles de acesso aos dados, mas também a alcançar o mais alto nível de proteção e conformidade de dados. Além disso, esses recursos ajudam a tornar o SQL Server a plataforma de banco de dados comum mais robusta do ponto de vista da segurança, com menos vulnerabilidade e menos patches de segurança necessários para manter o sistema.

Novidade De Segurança - SQL SERVER 2012

TLS - Transport Layer Security 

O TLS (Transport Layer Security) é um protocolo que fornece privacidade e  integridade de dados entre dois aplicativos de comunicação. É o protocolo de segurança mais amplamente implantado   usado atualmente e é usado para navegadores da Web e outros aplicativos que exigem a troca segura de dados em uma rede, como  transferências de arquivos ,   conexões VPN ,  mensagens instantâneas.

A habilitação da criptografia TLS aumenta a segurança dos dados transmitidos pelas redes entre instâncias do SQL Server e aplicativos.


Esquema padrão para grupos do Windows (Default schema)

Antes da introdução do SQL Server 2012, não era possível especificar o esquema padrão para grupos do Windows. Como resultado, devido a esse problema de gerenciamento de segurança, acabavamos tendo centenas de usuários e esquemas nos bancos de dados, o que causou desafios administrativos e é um pesadelo gerencial para os administradores. Portanto, a comunidade do SQL Server solicitou uma correção para esse problema de segurança pelo site do Microsoft Connect.

Aprimoramentos de auditoria do SQL Server

Os objetos de especificação de auditoria de servidor e banco de dados encontrados no SQL Server 2008 e no SQL Server 2008 R2 são os recursos mais úteis do SQL Server e ajudam a organização a atender a vários requisitos de conformidade regulamentar. O problema com esses recursos de auditoria é que eles estavam apenas na edição corporativa (Enterprise).

Felizmente, os recursos de especificação de auditoria no nível do servidor agora são suportados por todas as versões do SQL Server 2012. Os recursos de especificação de auditoria do SQL Server 2012 são mais resistentes a falhas durante a gravação no log de auditoria e é possível limitar o número de arquivos de log de auditoria sem rolar. Os recursos de especificação de auditoria do SQL Server 2012 também oferecem suporte a grupos definidos pelo usuário, o que significa que agora podemos gravar eventos auditados no log de auditoria usando o procedimento sp_audit_write (Transact-SQL)  . Por fim, o SQL Server 2012 suporta a capacidade de filtrar os eventos de auditoria e incluir novos grupos auditados para monitorar usuários de banco de dados contidos.


Novidade De Segurança - SQL SERVER 2014

O SQL Server 2014 continua o compromisso da Microsoft com a excelência em segurança. De acordo com o conselho de segurança pública do Instituto Nacional de Padrões e Tecnologia (NIST), o SQL Server tem o menor número de vulnerabilidades de segurança entre os principais fornecedores de bancos de dados. (em 05 de maio de 2014) rs. Além disso, o SQL Server foi considerado "o banco de dados mais seguro" pela Information Technology Intelligence Consulting (consulte " SQL Server oferece segurança líder do setor ", 2010 e " Stratus ftServer e SQL Server oferecem disponibilidade contínua ", 2012).

O SQL Server 2014 oferece a certificação Common Criteria (CC) de alto nível de garantia, além de "separação aprimorada de tarefas" para maior segurança. Novos recursos adicionais incluem criptografia de dados transparente para melhor proteção de dados e gerenciamento de chaves de criptografia, permitindo o armazenamento de chaves em um servidor separado.

Criptografia de dados transparente (TDE)

No SQL Server 2014, a funcionalidade TDE pega os dados de backup não criptografados e criptografa os dados antes de gravá-los no disco. Para preservar um importante fator de compactação da compactação de backup do SQL Server em conjunto com a criptografia recém-introduzida, a compactação é realizada primeiro nos dados de backup, antes que a criptografia seja aplicada aos dados compactados.

Gerenciamento de chave de criptografia

Como discutido acima, para proteger seus dados de backup no SQL Server 2014, agora você pode optar por criptografar ao criar um backup. As opções de criptografia incluem um algoritmo de criptografia e um certificado ou chave assimétrica a serem usados ​​para a criptografia. Apenas chaves assimétricas que residem no Gerenciamento Estendido de Chaves são suportadas.

Vários algoritmos de criptografia de até AES de 256 bits são suportados, oferecendo uma variedade de algoritmos para você escolher. A adição de criptografia de backup a um banco de dados criptografado pela TDE oferece proteção adicional para seus dados.


Você pode controlar o processo usando o PowerShell , o SMO (SQL Server Management Objects), o SQL Server Management Studio (SSMS) ou o T-SQL. As opções de criptografia também podem ser usadas ao configurar o Backup gerenciado do SQL Server no Windows Azure, fornecendo segurança adicional para os dados externos.


É muito importante que o backup do certificado ou chave usado para criptografia seja feito em um local diferente do backup que o certificado ou chave usado para criptografar. Sem esse certificado ou chave, o arquivo de backup não pode ser restaurado.


SELECT ALL USER SECURABLES Permission

Quando a permissão SELECT ALL USER SECURABLES é concedida, um logon como um auditor pode exibir dados em todos os bancos de dados aos quais o usuário pode se conectar.




Bom agora sim é novidade de verdade ....

Novidade De Segurança - SQL SERVER 2016



Always Encrypted


Este é um recurso bastante interessante na minha opinião e algo que pode complementar ainda mais a segurança dos dados, com a finalidade de permitir criptografia nativa no nível de banco de dados. O Always Encrypted garante ainda mais que seus dados estão armazenados de forma segura através deste recurso de criptografia, como também, durante os processos de manipulação dos mesmos. Sua principal característica é permitir que a possibilidade de criptografar dados dentro das aplicações que estão fazendo acesso ao SQL Server, tendo a capacidade de utilizar chaves de criptografia nunca reveladas dentro do processo que realização da criptografia do dado. Como resultado, o Always Encrypted fornece uma separação entre aqueles que possuem os dados (e pode visualizá–lo) e aqueles que gerenciam os dados (mas não devem ter acesso).


Row-Level Security


Esta nova funcionalidade poderá ser considerada algo bastante revolucionário no que se dizer respeito a visibilidade e acesso aos dados de uma tabela. A Row-Level Security vai permitir aos DBAs e profissionais da área de banco de dados, realizar um controle de acesso aos dados que estão armazenados em determinadas tabelas, através do uso de funções conhecidas como Predicate, limitando assim que uma possível coluna e seu respectivo valor seja consultado.


Ex: Você pode limitar que um usuário ou grupo de usuários específico tenha acesso aos dados somente dos clientes com ID entre 1 e 10. O restante dos clientes não vão aparecer no resultado de um select * from tabela.



Dynamic Data Masking




O Dynamic Data Masking, limita a exposição de dados confidenciais mascarando–o para usuários não-privilegiados. Mascaramento de dados dinâmico ajuda a evitar o acesso não autorizado a dados confidenciais, permitindo aos clientes designar o quanto os dados confidenciais para revelar com impacto mínimo na camada de aplicação. É uma característica de segurança que esconde os dados no conjunto de resultados de uma consulta sobre campos de banco de dados designado, enquanto os dados no banco de dados não são alterados. Considerado de fácil de utilização com aplicativos existentes, desde que as regras de mascaramento sejam aplicadas nos resultados da consulta. Muitos aplicativos podem mascarar dados confidenciais sem modificar consultas existentes.

Mascaramento de dados dinâmicos é complementar a outras características de segurança do SQL Server (auditoria, criptografia, segurança de nível de linha) e é altamente recomendável usar esse recurso em conjunto com eles, além disso, a fim de melhor proteger os dados confidenciais no banco de dados.


Temporal Tables
 -  ISSO É Incrível faremos um topico especifico disso.


A temporal tables, consiste basicamente em uma tabela que fornece uma exibição de dados em um determinado momento de tempo, isso mesmo, você vai conseguir obter informações sobre os dados de uma tabela, através de uma visão histórica, como se você estivesse voltando ao passado, voltando no tempo a posição de dados daquela tabela.



Novidade De Segurança - SQL SERVER 2019

Always Encrypted 

Estende a tecnologia de criptografia do lado do cliente introduzida no SQL Server 2016. Os enclaves seguros protegem dados confidenciais em um enclave criado por hardware ou software dentro do banco de dados, protegendo-o contra malware e usuários privilegiados, permitindo operações avançadas em dados criptografados. Hoje, o Always Encrypted protege os dados confidenciais criptografando / descriptografando em cada extremidade do processo. Infelizmente, isso introduz restrições de processamento muitas vezes críticas, como não ser capaz de realizar cálculos e filtragem – o que significa que todo o conjunto de dados deve ser enviado para executar, digamos, uma pesquisa de intervalo.


Um enclave é uma área protegida de memória na qual esses cálculos e filtragem podem ser delegados (no Windows, isso usa segurança baseada em virtualização) – os dados permanecem criptografados na engine, mas podem ser criptografados ou descriptografados, com segurança, dentro do enclave. Basta adicionar a opção ENCLAVE_COMPUTATIONS à chave mestra, o que você pode fazer no SSMS marcando a caixa de seleção “Allow enclave computations” ao criar a Master Key de uma coluna

SQL Data Discovery and Classification



Está agora incorporado ao mecanismo do SQL Server com novos metadados e suporte de auditoria para ajudar na aplicação da LGPD e em outras necessidades de conformidade. No SSMS 17.5, a equipe do SQL Server adicionou a capacidade de classificar dados no SSMS, para que você pudesse identificar colunas que pudessem conter informações confidenciais ou interferir na conformidade com vários padrões (HIPAA, SOX, PCI GDPR e, é claro, LGPD ) . O assistente usa um algoritmo para sugerir colunas que provavelmente causarão problemas de conformidade, mas você pode adicionar suas próprias, ajustar suas sugestões e eliminar quaisquer colunas da lista. Ele armazena essas classiciations usando propriedades estendidas; um relatório baseado em SSMS usa essa mesma informação para exibir as colunas que foram identificadas. Fora do relatório, essas propriedades não são altamente visíveis.


No SQL Server 2019, há um novo comando para esses metadados, já disponível no Banco de Dados SQL do Azure, chamado ADD SENSITIVITY CLASSIFICATION. Isso permite que você faça o mesmo tipo de assistente do SSMS, mas as informações não são mais armazenadas como extended property, e qualquer acesso a esses dados é exibido automaticamente em auditorias em uma nova coluna XML chamada data_sensitivity_information. Contém todos os tipos de informações que foram acessadas durante o evento auditado.

Gerenciamento De Certificados

Está mais fácil agora usando o SQL Server Configuration Manager. O gerenciamento de certificados SSL e TLS sempre foi trabalhoso, e muitas pessoas precisam executar muitos trabalhos tediosos e scripts internos para implantar e manter certificados em toda a empresa. Com o SQL Server 2019, as atualizações do SQL Server Configuration Manager ajudarão você a visualizar e validar rapidamente os certificados de qualquer instância, localizar certs próximos à expiração e sincronizar implantações de certificados em todas as réplicas em um Availability Group (primário) ou todos os nós em um Failover Cluster Instance (nó ativo).


Por fim, todos o tópicos são apenas apresentações reviews,
que dariam novos post específicos de cada ferramenta detalhada, futuramente ...

Deixar um software sem atualização é uma atitude muito arriscada em qualquer negócio. Imagine uma empresa que não faça atualizações e, de repente, sua base de dados é corrompida. Por mais que os DBAs tentem recuperá-la, uma vez que foi corrompida nada pode ser feito. Ao buscar auxílio com o fabricante, percebe-se que o suporte ao produto já está descontinuado. Contudo, esse é um cenário caótico, que infelizmente pode ocorrer se o sistema não estiver atualizado.

Por essa razão, manter a versão atualizada do produto oferece inúmeros benefícios às empresas. Além de contar com todas as novidades disponíveis em uma nova versão, as atualizações de softwares muitas vezes corrigem possíveis falhas. Isso significa que existe maior segurança para os dados.

Além disso, cada nova funcionalidade oferecida ou aperfeiçoamento de recursos já existentes, proporcionam às empresas a oportunidade de também atualizarem seus próprios sistemas. O que os tornam mais ágeis, seguros e confiáveis.

Enfim, podemos afirmar que o SQL Server é muito mais que um grande sistema gerenciador de banco de dados. Atualmente, ele é uma poderosa ferramenta que pode ser usada para manipulação das tradicionais tabelas estruturadas. Também pode oferecer suporte às mais modernas tecnologias como machine learning, big data, business intelligence entre outras tecnologias e com muita segurança.

E você, o que achou das novidades mais recentes da atualização do software da Microsoft?
Deixe o seu comentário aqui no post!

sexta-feira, 26 de junho de 2020

SQL SERVER - Dicas que todo DEV deveria conhecer part-5

Nesta sequencia de tópicos abordaremos algumas dicas, que todo desenvolvedor deveria ter a oportunidade de conhecer. Todo desenvolvedor que programa em T/SQL, precisa estar atento a algumas "tips" do SQL Server que podem facilitar em seu dia-a-dia na empresa.

Dicas part-1 Transaction Log
Dicas part-2 Variáveis ​​table e JOIN's & Criação de tabelas dentro de stored procedures
Dicas part-3 Keywords performance
Dicas part-4 Ad Hoc Queries (Forced Parameteeterization)



Parte 5 - SET DEADLOCK_PRIORITY

Evite deadlock's para transações mais importantes, com a mínima alteração de código.

Hoje vamos aprender hoje como reduzir o impasse em transações importantes, com a mínima alteração de código. O requisito, não importa o que aconteça, não desejamos que essa transação entre em conflito (bloqueio). Outro requisito importante é, que não podemos alterar a regra de negocio, modificações profundas no código do sistema, sem compreender a lógica de negócios.

Nosso primeiro objetivo é, entender o que está criando o deadlock?
Depois de investigar, sempre descobrimos concorrências simultâneas em uma ou mais tabelas especificas.

De fato, a melhor solução é SEMPRE é reescrever o código para que não exista o deadlock,
mas nem sempre é possível como uma solução imediata.

Isso nos leva a apenas uma solução rápida; Definir a prioridade do deadlock.


1
SET DEADLOCK_PRIORITY HIGH;


Esta instrução quando "setada", especifica a real importância da sessão atual.

Se a sessão estiver em conflito com outra transação. Esta declaração SET certifica-se de que
a transação importante deste conteudo, não entrará em deadlock, porem as outras transações ficam em espera com uma maior frequência.

Neste cenário, o hint descrito nesta postagem reduziu o impasse para a transação importante,
mas não reduziu o número total do bloqueios. Portanto, use a técnica somentos nos casos extremamente especiais, quando não é possivel alteração de codigo, conforme detalhamos anteriormente.

Curiosidade:

  • Se ambas as sessões tiverem a mesma prioridade de deadlock, a instância do SQL Server escolhe a sessão que é menos dispendiosa para ser revertida como a vítima de deadlock. Por exemplo, se ambas as sessões tiverem definido sua prioridade de deadlock como HIGH, a instância escolherá como uma vítima a sessão que calcula ser menos dispendiosa para reverter. O custo é determinado comparando o número de bytes de log gravados naquele ponto em cada transação.




Você usa deadlock priority na sua lógica de negócios?
Compartilhe sua experiência nos comentários.

Grande abraços

quarta-feira, 22 de abril de 2020

Curiosidades Microsoft Azure Fundamentals - Como me preparei para os exames ...



Exame AZ-900: Microsoft Azure Fundamentals

Este exame é projetado para candidatos que procuram demonstrar conhecimento de nível fundamental de serviços de nuvem e como esses serviços são fornecidos com Microsoft Azure. O exame destina-se a candidatos sem formação técnica, como os envolvidos na venda ou compra de soluções e serviços com base em nuvem ou que tenham algum conhecimento em soluções e serviços baseados em nuvem, bem como aqueles com formação técnica e que precisam validar seu nível de conhecimento fundamental em serviços em nuvem. A experiência técnica de TI não é exigida, mas requer algum conhecimento ou experiência geral de TI.

Depois que concluímos as novas certificações Azure, recebi algumas mensagens de colegas e amigos do LinkedIn perguntando como me preparei para estes exames.

Então resolvi escrever um artigo contemplando como podemos nos preparar para a certificação.


1 - Crie um plano de estudo definindo os assuntos que precisava estudar, para cada Tema / área com uma meta semanal para ser cumprida.


Habilidades medidas

Faça o download do documento de habilidades.
Compreender os conceitos de nuvem (15-20%)
Compreender os principais serviços do Azure (30-35%)
Entenda segurança, privacidade, conformidade e confiança (25-30%)
Compreender os preços e o suporte do Azure (20-25%)

Baixar a estrutura de tópicos do exame


 2 – Estude o material online disponível no link abaixo:


AZ-900 Estudei todos os módulos desse material.
https://docs.microsoft.com/en-us/learn/paths/azure-fundamentals/

AZ-900 Faça o treinamento Microsoft Azure Fundamentals (Gratuito)
https://docs.microsoft.com/en-us/learn/paths/azure-fundamentals/



3 - Se possível faça o Microsoft Azure Virtual Training Day: Fundamentals (on-line e gratuito)
Semanalmente antes do COVID-19 eram agendados treinamentos com o fera da Microsoft
Matt Hester (Sr. Azure) que aborda todo o contexto Azure e algumas dicas para prova.


Notas Finais

Por ultimo e não menos importante, pratique seu Inglês, e pratique muito. Sem sobra de duvidas o Nível De Inglês das provas, ainda é o mais complicado das Certificações Microsoft p/ Brasileiros não fluentes, e sempre foi minha maior dificuldade nos exames.

Coloque em prática tudo que você estiver estudando e crie e desmonte o ambiente quantas vezes forem necessários para que você possa realmente entender como a solução em Cloud da Microsoft funciona.

Espero ter ajudado e sucesso para quem está estudando pra estes exames.
Boa sorte.

Universidade de Havard oferece curso de React gratuito - Quarentena OFF-Topic

Harvard, uma das universidades mais importantes e conhecidas do mundo, está oferecendo curso de React gratuitamente.
O React é uma biblioteca JavaScript de código aberto focado na interface do usuário, é utilizado em sites como Facebook, Netflix, Airbnb e vários outros. Muitas empresas vêm desenvolvendo aplicações web interativas com o React JS, devido aos seus recursos úteis e de fácil adaptabilidade.
https://www.edx.org/course/cs50s-mobile-app-development-with-react-native
No relatório anual da Stack Overflow, site de recursos muito utilizado por desenvolvedores, o React aparece como uma das bibliotecas preferidas, sendo considerada a mais amada por 74,5%.
V8OsJA9mAUDjqx6dgYgvUvn64fCmrAOF2wbK0YszfI-97aFTq7flqWu6b6gM_K7WXE144WEqAr064YLB3gf9M9lhrw26q6dmXK_TrU0CNzatcmb9AxNyU5RP5hw9uxLKs45tWd4k
Mapa das respostas do relatório Stack Overflow
kRwth-1GbJxgmVObERH01EznvYipIBYL3lY5Trf91jHJjm-3ZzyB2o_7nctj-8HhS2dExJUqlIi8UkJgD3Qr3HuGEBKN1l1S2DkOGEOEPiJ9jWmqSDRvPH03GVBcx4X57rgOnz_L
Linguagens mais utilizadas – O JavaScript aparece em destaque com 67,8% de adoção. O React contém javascript em sua “fórmula”.
pi0MpyLm9ezFsVyxDC534QP0_Ggmor22g-EvuuUQnIrOsUBXrs_XKcxZ3KFmg1Dso666qyUSvtRXHHotVLCCErOxhyL_33So4AM5yqb9bgroWYaSgZCBXccx_zCLnOymk-EqFDgQ
React.JS é o segundo Web “framework” mais utilizado, com 31,3% das respostas.
Ol0By5F-P5Lvdr4xBCLsMDSRJRUZmNYOLaC2qp9LRJNWl8YzB0HC8RY24FmN1KC67PeRi-PdX6dnpXb3_YG9qrTutA8E_IhoYNhahX9MIbCeFMTK6Tb8RHYAbMvyPEnMAslVqU5L
React Native aparece como a 6ª biblioteca mais utilizada, com 10,5% das respostas.
FFpE09diPJNnIuVF7kTXcmVB3vHOkzUyNM_M66b2eZ4LWfmbWwUmkuY03iU1YUkE5IbUw1ExJL9cHGNMWOVyZ514BqUupwGTLmkRYnqYL4xFPUerlz5z8ejd5PZ1zat7Q17vMEOE
Dentre os desenvolvedores o React.JS é o web framework mais amado. 
Como indicado pelos gráficos acima, o React é muito popular, possui estrutura declarativa e é muito eficiente para construir interfaces para usuários de maneira flexível.

Por que aprender React hoje?

  • React JS tem sido usado extensivamente no Instagram, Netflix, PayPal, Apple, dentre outras plataformas importantes. 
  • Ele pode ser usado para produzir qualquer tipo de aplicações web, aplicativos móveis nativos e interfaces.
  • React é uma das estruturas JavaScript mais populares, consolidando sua posição de liderança com rápido crescimento.
  • É muito mais fácil aprender. 

Harvard

ixpoNl_7CnMa3dzR2bhV2mqL_Bd4C3K63I5owCQ2_1u437lxkmVtJRyWnELj981oEQ7pi4uUIX2wjxBaEFtkSSxyEqiCN61dvJOOrcw4US5T_ZBBH3CTlgKv49INLH2ESdRFigyj
O curso de Harvard sobre React está no site EDX.
Esse curso sobre React é gratuito, caso queira o Certificado, é cobrada uma taxa no valor de $90 Dólares para a emissão.
O curso é de nível intermediário e em inglês, focado no desenvolvimento para aplicações mobile em React Native.

O que vai aprender neste curso :

  • JavaScript
  • ES6
  • React, JSX
  • Components, Props, State, Style
  • Components, Views, User Input
  • Debugging
  • Data
  • Navigation
  • Expo Components
  • Redux
  • Performance
  • Shipping, Testing
Não perca tempo e inscreva-se já na plataforma EDX. O link está logo abaixo:

https://www.edx.org/course/cs50s-mobile-app-development-with-react-native



terça-feira, 24 de março de 2020

Home Office por conta do Coronavírus? TOP 5 Dicas + Ferramentas para otimizar seu trabalho ...

     O home office é novidade para muitos dos que estão experimentando essa modalidade de trabalho durante a epidemia do novo coronavírus. Como forma de proteção dos colaboradores, muitas empresas decidiram continuar suas rotinas suspendendo as tarefas presenciais. No entanto, poucas delas têm prática quando se trata do trabalho remoto. Fato é que, mesmo onde se começava a estudar a modalidade de trabalho remoto poucas vezes por semana, a mudança foi drástica, e a adaptação é inevitável.

Na minha opinião, o Home Office é o principal benefício não financeiro que uma empresa pode te oferecer.

O primeiro ponto para manter o foco no trabalho é o alinhamento entre lideranças e colaboradores. “Se a empresa já tem um planejamento estratégico, clareza de propósito e metas definidas, a liderança só precisa alinhar quais são essas metas”

Se eu sei o que eu preciso entregar, é mais fácil canalizar a energia.

1- Espaço de trabalho


É fundamental criar um espaço de trabalho para si, deixando à mão tudo que for necessário – não adianta trocar de local a cada dia, já que isso afeta diretamente a produtividade. “Não dá para ficar de pijama, é preciso resistir à tentação do sofá. A escolha do ambiente é importante. Há várias questões ergonômicas que não podemos cumprir normalmente, mas o local precisa ser minimamente confortável, já que não sabemos por quanto tempo o home office vai ser necessário”

Provavelmente terá muitas reuniões. Invista em um microfone de boa qualidade para ser bem ouvido nas reuniões e garanta que não tenha cachorro latindo, criança chorando ou alguém entrando no seu escritório falando alto enquanto você está em reunião. Isso tira a credibilidade da empresa que você representa. Invista numa boa internet e estável e tenta utilizar a rede cabeada ao invés do WIFI. Nada pior que uma reunião cancelada porque sua internet tá falhando. Uma boa cadeira confortável.

2 - Evite distrações


Se você tem filhos, gato, papagaio, cachorro, estabeleça limites para eles. Crianças aprendem cedo, então comece cedo a deixar claro que, embora você esteja em casa, aquele é seu local de trabalho.

O João não ligaria para o seu trabalho pedindo ajuda com aquele problema insolúvel de matemática da quarta série, correto? Então ele não deve ligar e, principalmente, você não deve permitir que ele faça isso quando estiver trabalhando em casa.Resolver problemas pessoais durante o horário de trabalho também está fora de questão. Você e as pessoas têm de entender que você está em casa, mas está trabalhando, caso contrário, tchau, tchau produtividade.

3 - Comunique-se


Estabeleça interações com quem quer que seja que você trabalhe. Seu chefe, colegas, clientes ou fornecedores. Lembre-os de que você existe. O trabalho remoto pode ser uma armadilha, se você se torna apenas e tão somente o desconhecido atrás do computador. Quando possível, faça reuniões presenciais com clientes e fornecedores, se você for seu próprio patrão.Se você é o empregado de alguém, essa dica torna-se ainda mais crucial. Informe ao seu chefe quando abrir os trabalhos, mantenha contato frequente com ele. Faça com que ele se lembre que você existe.

Melhore sua comunicação e feedbacks: Como o seu cliente/líder não está te vendo sentado ali trabalhando, é bom que você dê respostas mais rápidas e atualizações de status frequentes sobre as suas demandas. Assim, eles ficam mais tranquilos que o trabalho está sendo feito e você está focado na entrega.

4 - Faça pausas


Trabalhando no escritório, longe de casa, de vez em quando você dava uma levantadinha para ir ao banheiro, beber uma água, pegar um café. Adote esse hábito, também, quando estiver ralando em casa. Essas pausas são fundamentais para espairecer as ideias e seguir para a próxima tarefa. Também podem ser úteis para ajudá-lo a resolver um problema aparentemente insolúvel, porque dá o distanciamento, muitas vezes, necessário para enxergar a situação como um todo.

Sabemos que trabalhar em casa pode ser desafiador para sua produtividade, mas não seja tão duro consigo mesmo. Evite passar horas a fio com os olhos grudados na tela do computador. Faça uma pausa pela causa. Ok, você trabalha em casa, mas isso não significa que sua jornada diária de trabalho deve ser semelhante à praticada no início da Era Industrial.

Isso vale independentemente do horário que você escolher para executar suas atividades. Se você sente que produz mais à noite, e seu negócio permite que trabalhe nesse período, por que não? Afinal, esta é uma das vantagens de trabalhar em casa.


5 - Saia do trabalho no fim do dia


Sua jornada de trabalho chegou ao fim? Ótimo. Levante-se e vá embora do escritório, mesmo que ele fique na sua casa. O importante aqui é não se tornar um refém do trabalho dentro da própria casa. Se você decidiu que sua jornada de trabalho acaba às seis da tarde, levante da cadeira às seis da tarde e vá fazer alguma outra coisa da vida.

Afinal, se você tivesse de se locomover para o escritório todo dia não estaria disponível 24 horas por dia, não é mesmo?

Workaholic: Quem trabalha remoto precisa tomar cuidado para não ficar um Workaholic e tentar se desconectar da empresa quando acabar o seu expediente. É muito comum ver pessoas sempre conectadas na empresa e disponíveis em qualquer problema, já que o escritório dele é a própria casa.



Bonus Plus + Ferramentas para home-office


Google Hangouts Meet

Também criado pelo Google, o Hangouts Meet é focado em videoconferências para equipes. Uma praticidade é poder enviar o link da chamada para qualquer participante, sem a necessidade de instalar aplicativos ou extensões. Outro benefício é a integração com o Google Suite, conectando as videoconferências com o calendário de cada funcionário, por exemplo.

Até julho deste ano, o Hangouts Meet dará acesso gratuito a funcionalidades avançadas. Isso significa poder realizar chamadas com até 250 pessoas ou fazer uma transmissão ao vivo para 100 mil usuários. Essas reuniões também podem ser gravadas e armazenadas no Google Drive.

Trello

O Trello é uma ferramenta colaborativa para organizar tarefas individuais ou em grupo. Bastante intuitivo, o programa apresenta quadros em que são colocadas as listas de tarefas separadas por cartões coloridos com prazos e objetivos definidos.

A plataforma ainda oferece recursos de checklist para indicar pontos imprescindíveis ao projeto, upload de arquivos e etiquetas coloridas que permitem ao usuário separar os arquivos por temas. É semelhante à organização dos lembretes com post-its. O Trello oferece planos gratuitos e pagos, e está disponível para Android, iPhone e PC.

Clicksign 

O Clicksign oferece gestão e assinatura de documentos com validade jurídica. O plano básico dá direito a cinco documentos por mês. Com a ferramenta, é possível assinar à distância documentos urgentes que não podem esperar o surto do Coronavírus.

Bitrix24

A Bitrix24 é uma plataforma de gerenciamento de projetos e colaboração que gera relatórios, faz controle de tempo em atividades e possui grupo de bate-papo. A empresa ampliou a versão gratuita para uso ilimitado de usuários devido ao Coronavírus.

WeTransfer

O WeTransfer é um programa para compartilhamento de arquivos grandes pela Internet bastante útil para trabalho remoto. Na versão gratuita, é possível enviar até 2 GB de arquivos para até 20 e-mails. Para utilizar, é só fazer o download que o documento chega até o destinatário em forma de arquivo zipado.

Toggl

O Toggl é uma ferramenta de controle das horas trabalhadas disponível para PC, Android e iPhone (iOS) que mensura o tempo investido em cada projeto ou cliente. O programa faz essa contagem automaticamente por funcionário ou equipe, e gera relatórios detalhados, eliminando a necessidade do preenchimento de planilhas. Essa pode ser uma boa solução para fazer o controle de horas trabalhadas durante o home office.

RescueTime

Você sabe quando tempo gasta em cada site? Esse aplicativo pode calcular para você que busca mais produtividade e equilíbrio entre vida e trabalho. Perfeito para quem perde muito tempo checando e-mails ou nas redes sociais. É possível bloquear alguns sites por períodos do dia.



E qual a opinião de vocês? Conhecem mais algum item importante que nao consideramos.
Deixem aqui nos comentários, um grande abraço e até a próxima.

segunda-feira, 3 de fevereiro de 2020

Confira as últimas atualizações disponíveis para cada versão do SQL Server

Fala Galera lançado a versão SQL Server 2019, disponível para infraestrutura local e Azure.
Em contêineres (containers) Windows Server, Linux e Docker divirtam-se com esta edição.

Estamos com alguns projetos pessoais, nascimento do meu primeiro filho
mas e em breve retornamos com a sequencia de Tópicos

Dicas que todo DEV deveria conhecer ...





Para outras versões segue os últimos service packs, cumulative updades e fix

mantenha sempre seu ambiente atualizado ...



VersãoPacote mais recenteÚltima atualizaçãoInformações 
Servidor SQL 2019NoneCU1 para 2019 (15.0.4003.23 - janeiro 2020)SQL Server 2019 
SQL Server 2017NoneCU18 para 2017 (14.0.3257.3 - dezembro de 2019)SQL Server 2017 
SQL Server 2016SQL Server 2016 SP2 (13.0.5026.0 - abril 2018)
CU11 para 2016 SP2 (13.0.5598.27 - dezembro 2019)
SQL Server 2016 
SQL Server 2014SQL Server 2014 SP3 (12.0.6024.0 - outubro 2018)
CU4 para 2014 SP3 (12.0.6329.1- julho 2019)
SQL Server 2014 
SQL Server 2012SQL Server 2012 SP4 (11.0.7001.0 - setembro 2017)CU10 para 2012 SP3 (11.0.6607.3 - agosto 2017) SQL Server 2012 
Servidor SQL 2008 R2SQL Server 2008 R2 SP3 (10.50.6000.34 - setembro 2014) Nota Versão mais recente e final para esta versãoSQL Server 2008 R2 
SQL Server 2008SQL Server 2008 SP4 (10.0.6000.29 - setembro 2014) Nota Versão mais recente e final para esta versãoSQL Server 2008 
Servidor SQL 2005SQL Server 2005 SP4 (9.00.5000.00 - Dezembro de 2010)
SQL Server 2005 


segunda-feira, 20 de janeiro de 2020

SQL SERVER - Dicas que todo DEV deveria conhecer part-4

    Nesta sequencia de tópicos abordaremos algumas dicas, que todo desenvolvedor deveria ter a oportunidade de conhecer. Todo desenvolvedor que programa em T/SQL, precisa estar atento a algumas "tips" do SQL Server em seu dia-a-dia na empresa.

Dicas part-1 Transaction Log
Dicas part-2 Variáveis ​​table e JOIN's & Criação de tabelas dentro de stored procedures
Dicas part-3 Keywords performance



Parte 4 - Ad Hoc Queries (Forced Parameterization)

Uma Consulta Ad Hoc é um tipo de consulta SQL em um banco de dados que é criada na hora,
no momento em que surge uma necessidade, a partir de um requisito específico.

Ad hoc é uma expressão em latim que significa “para este propósito“.  Ou seja, a consulta é criada apenas para satisfazer aquela necessidade específica, aquele propósito, em um momento específico.

(Que não seja generalista, Que não seja utilizável em mais de um caso) e que não é salva no cache do SGBD como por exemplo fazemos com estored procedures, funções ou scripts, para que sejam reutilizados posteriormente.


É interessante notar que em ambientes onde queries Ad Hoc representam um percentual considerável do workload total,  quantidade de compilações pode se tornar um problema, independente do tamanho do servidor.

O motivo é simples, o SQL Server, por padrão, produz diferentes planos de execução para cada query Ad Hoc

Por exemplo:

Query 1
SELECT ColunaA, ColunaB, ColunaC FROM Tabela WHERE ColunaA = 'X'

Aqui o SQL compilaria e guardaria no cache o plano de execução utilizado para encontrar registros onde o valor = X.

Query 2
SELECT ColunaA, ColunaB, ColunaC FROM Tabela WHERE ColunaA = 'Y'

Bem, numa execução parametrizada (Uma stored procedure, por exemplo), o SQL Server simplesmente poderia reutilizar o plano da primeira query já que a mudança foi mínima (apenas o valor utilizado no filtro), porém a engine relacional entende como uma nova query, ou seja,
durante o processo de otimização da query o Query Optmizer recebe um cache miss, que basicamente indica que não há um plano de execução existente para esta query e ele então é responsável por gerar e armazenar esse novo plano no cache, mesmo sendo praticamente igual ao plano anterior.

Quais opções eu tenho para diminuir o número de compilações?

Bem, se você acredita que a grande maioria das suas queries utilizam planos similares para serem executadas, Não faça o simplista SELECT * FROM puro, você poderia utilizar a opção system stored procedure sp_executesql. Quando utilizada, você está basicamente forçando a parametrização da query especifica.


** Por complexidade, estamos detalhando aos desenvolvedores apenas o Forced Parameterization, sem a necessidade de ativar o "optimize for ad hoc workloads" por Database, que ficaria sob responsabilidade mais detalhadas dos encarregados pela Base de dados (DBA's).

Por exemplo:
 EXECUTE sp_executesql  N'SELECT ColunaA, ColunaB, ColunaC FROM Tabela WHERE ColunaA = @valor', N'@valor varchar(1)', @valor = 'X'; 

Nesta execução, se observarmos o plano armazenado em cache seria algo mais ou menos assim:
SELECT ColunaA, ColunaB, ColunaC FROM Tabela WHERE ColunaA = @valor.

Ou seja, não há um valor específico armazenado junto ao plano, o que faz com que a próxima execução, independente do parâmetro utilizado, encontre um plano satisfatório já armazenado em cache.

Há uma pequena linha entre essa opção ser boa ou não para um determinado ambiente,
já que um plano pode ser realmente bom para várias queries e aí reduzir o número de compilações e consequentemente o tempo de CPU (e memória consumida) ou impactar várias das queries porque cada uma gosta de um plano específico tudo uma questão de Testar.

Boa sorte, uma reflexão por Jack Li;

"If things don’t work out, it’s easy to back it out. Over the course of troubleshooting performance issues, I have used this trick many times." Jack Li


Fique por dentro, e acompanhas essas e outras dicas aqui no blog.
Grande abraços a todos.