Leitura Obrigatória: Fibonacci, F#, MapReduce e Windows Azure
Olá pessoal, tudo certo?
Um super artigo que vale como Leitura Obrigatória, segue abaixo:
Parsing Log Files with F#, MapReduce and Windows Azure
Ref.: https://msdn.microsoft.com/en-us/magazine/gg983490.aspx
O artigo é do autor Noah Gift da MSDN Magazine, que conseguiu fazer uma bela combinação com os componentes F# Worker Role e o pattern de Map Reduce para a plataforma Windows Azure. Já falamos aqui sobre F#, um tempo atrás.
Para quem não se lembra, o F# é uma das linguagens suportadas no Windows Azure, com templates para Worker Roles disponíveis no Visual Studio com o SDK do Azure, veja:
Ao selecionar uma Worker Role com a linguagem Visual F#, o template básico oferecido aparece abaixo:
1: namespace WorkerRole1
2:
3: open System
4: open System.Collections.Generic
5: open System.Diagnostics
6: open System.Linq
7: open System.Net
8: open System.Threading
9: open Microsoft.WindowsAzure
10: open Microsoft.WindowsAzure.Diagnostics
11: open Microsoft.WindowsAzure.ServiceRuntime
12: open Microsoft.WindowsAzure.StorageClient
13:
14: type WorkerRole() =
15: inherit RoleEntryPoint()
16:
17: // This is a sample worker implementation. Replace with your logic.
18:
19: let log message kind = Trace.WriteLine(message, kind)
20:
21: override wr.Run() =
22:
23: log "WorkerRole1 entry point called" "Information"
24: while(true) do
25: Thread.Sleep(10000)
26: log "Working" "Information"
27:
28: override wr.OnStart() =
29:
30: // Set the maximum number of concurrent connections
31: ServicePointManager.DefaultConnectionLimit <- 12
32:
33: // For information on handling configuration changes
34: // see the MSDN topic at https://go.microsoft.com/fwlink/?LinkId=166357.
35:
36: base.OnStart()
O código acima é do arquivo WorkerRole.fs, do template WorkerRoke1.
Um exemplo clássico para iniciantes em F# são as funções de recursão para o cálculo da Sequência de Fibonacci, aquela que usamos na determinação da “espiral dourada” (Golden spiral), com quadrados de tamanhos 1, 1, 2, 3, 5, 8, 13, 21 e 34, veja:
Bem interessante! Não deixe de conferir o artigo acima sobre Map Reduce e F# no Azure.
Se ficou interessado sobre F#, veja também os links:
F# at Microsoft Research
Ref.: https://research.microsoft.com/en-us/um/cambridge/projects/fsharp/default.aspx
Microsoft F# Developer Center
Ref.: https://msdn.microsoft.com/en-us/fsharp
Por enquanto é só! Até o próximo post :)
Waldemir.
Comments
Anonymous
April 27, 2011
Grande Mestre, seu poder de síntese continua me impressionando. Parabéns. Abraços!Anonymous
April 27, 2011
Mestre Ivan! Obrigado pelo comentário e por aparecer por aqui! Mantenha-se no radar! :) []s Waldemir.