Skip to content

Instantly share code, notes, and snippets.

View agnaldo4j's full-sized avatar
🏢
Working

Agnaldo de Oliveira agnaldo4j

🏢
Working
View GitHub Profile
@agnaldo4j
agnaldo4j / CollectTwitterFriends.scala
Created February 25, 2012 18:10
Coletando seus amigos no twitter com scala
package com.softsimples.social.twitter
import org.scribe.model.{Response, Token}
import com.softsimples.social.social.json.Json
import scala.collection.mutable.MutableList
import com.softsimples.social.social.oauth.OAuthWrapper
import scala.math.ceil
object CollectTwitterFriends {
val NUMBER_OF_USERS_PER_PAGE = 100
@agnaldo4j
agnaldo4j / mongodb.st
Created February 11, 2012 18:36
Smalltalk pharo and mongodb
| root database processes json template result|
root := Mongo default.
root open.
database := root databaseNamed: 'lean_namagement'.
processes := database addCollection: 'processes'.
json := Dictionary new.
json at: #name put: 'agnaldo'.
processes add: json.
@agnaldo4j
agnaldo4j / DBBWithScala.scala
Created November 28, 2011 00:06
Utilizando BDD tentando não aumentar a complexibilidade.
package com.softsimples.persistence
import mongodb.DataWrapperMongoDB
import org.specs2.mutable._
import org.junit.runner._
import org.specs2.runner._
@RunWith(classOf[JUnitRunner])
class DataWrapperMongoDBSpec extends Specification {
"Para executar persistencia com mongodb" should {
@agnaldo4j
agnaldo4j / DBWrapper.scala
Created October 14, 2011 16:20
Usando Riak com Scala
package com.softsimples.social.persistence
import scala.collection.JavaConverters._
import com.basho.riak.client.{IRiakClient, RiakFactory}
import com.basho.riak.client.bucket.Bucket
class DBWrapper(private val riakClient:IRiakClient) {
def createHashWrapperFor( bucketName:String ): HashWrapper = {
HashWrapper.buildTableWrapper( buildBucket( bucketName ) )
@agnaldo4j
agnaldo4j / HashWrapper.scala
Created October 14, 2011 16:23
Operações básicas com riak usando scala
package com.softsimples.social.persistence
import scala.collection.JavaConverters._
import com.basho.riak.client.bucket.Bucket
import org.json.JSONObject
class HashWrapper(private var bucket:Bucket) {
def name():String = bucket.getName
def keys(): Iterator[String] = bucket.keys().iterator.asScala
def store(key:String, value:String): String = {
bucket.store[String](key, value).execute()
}
@agnaldo4j
agnaldo4j / Prevayler.scala
Created October 5, 2011 13:12
PrevaylerJR on Scala
import java.io._
abstract class Command[IN, OUT] extends Serializable { def executeOn(system: IN): OUT }
class Prevayler[SYSTEM](private val storageFile:File) {
private var _system: SYSTEM = _
private var _journal: ObjectOutputStream = _
def restoreState(initialState: SYSTEM): SYSTEM = {
var tempFile: File = new File(storageFile.getAbsolutePath + ".tmp")
@agnaldo4j
agnaldo4j / gist:1191078
Created September 3, 2011 12:05 — forked from viniciusteles/gist:556029
Sete Atitudes para Hackear a Indústria de Software
Sete Atitudes para Hackear a Indústria de Software
By Klaus Wuestefeld
1) Torne-se excelente.
Seja realmente bom em alguma coisa. Não fique só choramingando ou
querendo progredir às custas dos outros. Não pense q pq vc sentou 4
anos numa faculdade ouvindo um professor falar sobre software q vc
sabe alguma coisa. Jogador de futebol não aprende a jogar bola tendo
@agnaldo4j
agnaldo4j / SpringDataScalaTransactionControl.md
Last active August 29, 2015 17:34
Controle de transação com SpringData, SpringJPA e Scala

Exemplo de controle de transação com SpringData e Scala

Implementação JDBC

package com.codesimples.jdbc

import com.typesafe.scalalogging.Logger
import org.springframework.transaction.support.{TransactionCallbackWithoutResult, TransactionTemplate}
import org.springframework.transaction.{PlatformTransactionManager, TransactionStatus}
@agnaldo4j
agnaldo4j / UserMeasures.scala
Created December 18, 2014 11:40
Exemplo de objeto aplicando somente ações a estrutura de dados imutável.
case class UserMeasures(state: Map[String,Any]) {
def gender : String = {
state.getOrElse("usr_genero", "").asInstanceOf[String]
}
def measures: List[Map[String,Any]] = {
state.getOrElse("measures", List[Map[String,Any]]()).asInstanceOf[List[Map[String,Any]]]
}
@agnaldo4j
agnaldo4j / job-processor.sh
Created June 6, 2014 15:10
Bash script with config file
#!/bin/bash
set -e #stops the execution of a script if a command or pipeline has an error
CONFIG_FILE=/usr/share/cnc/jobprocessor.cfg
function trim() {
local LVAR=$1;
LVAR="${LVAR#"${LVAR%%[![:space:]]*}"}"; # remove leading whitespace characters
LVAR="${LVAR%"${LVAR##*[![:space:]]}"}"; # remove trailing whitespace characters