Propósito

✔ Programação GLOBAL® - Quaisquer soluções e/ou desenvolvimento de aplicações pessoais, ou da empresa, que não constem neste Blog devem ser tratados como consultoria freelance. Queiram contatar-nos: brazilsalesforceeffectiveness@gmail.com | ESTE BLOG NÃO SE RESPONSABILIZA POR QUAISQUER DANOS PROVENIENTES DO USO DOS CÓDIGOS AQUI POSTADOS EM APLICAÇÕES PESSOAIS OU DE TERCEIROS.

.: Vitrine

Carregando artigos...

Views

Mostrando postagens com marcador realtime. Mostrar todas as postagens
Mostrando postagens com marcador realtime. Mostrar todas as postagens

LinkedIn - SenseiDB

LinkedIn - SenseiDB




O grupo de Engenharia do LinkedIn lançou e tornou open source o SenseiDB, um banco de dados distribuído e semiestruturado. O SenseiDB é a tecnologia que está por trás da infraestrutura de pesquisas do LinkedIn e dá sustentação à sua página principal, ao LinkedIn Signals e a outros recursos de pesquisa do portal, como as buscas de pessoas e empresas. O SenseiDB foi desenvolvido internamente para atender a necessidades da empresa, e agora teve seu código aberto, passando a integrar ao projeto "guarda-chuva" LinkedIn SNA, focado em buscas, rede de contatos e análise.

O SenseiDB é um banco de dados NoSQL, focado em altas taxas de atualização e consultas semiestruturadas complexas. Os usuários já familiarizados com o Lucene e o Solr da Apache reconhecerão vários dos conceitos subjacentes ao SenseiDB. O SenseiDB é implantado em clusters de vários nós (nodes), sendo que cada nó pode conter N fragmentos de dados. Os nós são gerenciados através do Apache Zookeeper, que mantém a configuração existente e transmite alterações (por exemplo, modificações de topologia) para todo o grupo de nós. Cada cluster do SenseiDB também requer um esquema para definir o modelo de dados que será usado.

A obtenção de dados para alimentar um cluster SenseiDB é feita apenas através de gateways (não há um método "INSERT"); cada cluster é ligado a um único gateway. Este é um dos pontos críticos de entendimento desta tecnologia, já que o SenseiDB não trata a atomicidade e o isolamento. Estas características são garantidas externamente, no nível do gateway, que deve garantir que o fluxo de dados se comporta da maneira esperada. Os gateways já integrados são:


  • A partir de um arquivo;
  • Originados de uma fila Java Message Service (JMS);
  • Via JDBC;
  • Vindo do Apache Kafka.


Os desenvolvedores também podem implementar gateways personalizados. Para exemplificar esta implementação, é fornecido um gateway de exemplo que obtém seus dados a partir de atualizações feitas no Twitter.

Tendo o fluxo de dados de entrada em funcionamento e já alimentando os dados do cluster, o SenseiDB permite que sejam realizadas consultas "fragmentadas" (faceted), de acordo com o esquema definido. Para esta finalidade, é oferecida uma API REST, inspirada na DSL de consultas do ElasticSearch, que pode ser acessada por qualquer cliente HTTP. O SenseiDB vem acompanhado de componentes em Java e Python, que encapsulam essa API. Em breve também será disponibilizada uma versão dos componentes em Ruby.

O SenseiDB oferece ainda a BQL (Linguagem de Consulta e Navegação) como um método alternativo de consulta. A BQL é uma linguagem similar ao SQL (contendo apenas instruções SELECT), que facilita a consulta a um banco SenseiDB. Um console gráfico para web é fornecido como parte da instalação do cluster, permitindo inspecionar e depurar consultas BQL.

Para informações mais detalhadas sobre o SenseiDB, consulte a documentação geral, os Javadocs e o Wiki do projeto. O código-fonte está hospedado no GitHub.



Envie seus comentários e sugestões e compartilhe este artigo!

brazilsalesforceeffectiveness@gmail.com

✔ Brazil SFE®✔ Brazil SFE®´s Facebook´s Profile  Google+   Author´s Professional Profile  ✔ Brazil SFE®´s Pinterest       ✔ Brazil SFE®´s Tweets

VBA Excel - Apagando um módulo utilizando o VBA - Delete a module using VBA


Dificilmente as senhas das planilhas hoje não são quebradas com grande facilidade. Poucos de nós sabemos resguardar a segurança das nossas planilhas.

Às vezes quando disponibilizamos alguma aplicação à distância para alguém, geralmente datamos a utilização desta para testes, apagando o seus módulos a partir de certo número de utilizações, ou mesmo após certa data.

Que técnica posso utilizar para apagar o módulo da minha aplicação utilizando o VBA?

Sub DelVBComponent (ByVal wb As Workbook, ByVal CompName As String)
    Let Application.DisplayAlerts = False
   
    On Error Resume Next ' ignora qualquer erro
   
    wb.VBProject.VBComponents.Remove wb.VBProject.VBComponents(CompName)
   
    ' Deleta o componente
    On Error GoTo 0
   
    Let Application.DisplayAlerts = True
End Sub

Exemplo:
DelVBComponent ActiveWorkbook, "tstBernardes"


Tags: Bernardes, MS, Microsoft, Office, Excel, copy, module, code, activeWorkbook, workbook, create, realtime


André Luiz Bernardes
A&A® - Work smart, not hard in any place.
bernardess@gmail.com


Esta opção envolve mais aqueles que já têm alguma experiência com o desenvolvimento VBA. Esta funcionalidade permite desenvolver o funcionalidade inexistentes a partir da necessidade da aplicação. Isso implica na criação de códito em tempo real.

De que modo posso criar um novo módulo usando o próprio VBA?

Sub CreateNewMod _
(ByVal wb As Workbook, ByVal ModuleTypeIndex As Integer, _
ByVal NewModuleName As String)

' Cria um novo modulo a partir do ModuleTypeIndex
' (1=standard module, 2=userform, 3=class module) in wb
' Renomeie o module para NewModuleName (se possivel)
 
Dim VBC As VBComponent, mti As Integer
 
Set VBC = Nothing

Let mti = 0

Select Case ModuleTypeIndex
Case 1: mti = vbext_ct_StdModule ' standard module
Case 2: mti = vbext_ct_MSForm     ' userform      
Case 3: mti = vbext_ct_ClassModule ' class module
End Select

If mti <> 0 Then
On Error Resume Next  
 
Set VBC = wb.VBProject.VBComponents.Add(mti)
       
If Not VBC Is Nothing Then    
If NewModuleName <> "" Then
Let VBC.Name = NewModuleName
End If
End If      

On Error GoTo 0      

Set VBC = Nothing
End If
End Sub

Como usar:
  CreateNewModule ActiveWorkbook, 1, "mdl_TESTE"

Tags: Bernardes, MS, Microsoft, Office, Excel, copy, module, code, activeWorkbook, workbook, create, realtime

André Luiz Bernardes
A&A® - In Any Place.
bernardess@gmail.com
diHITT - Notícias