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 / 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 / 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 / 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 / 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 / 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 / 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 / RetrieveTimeLine.scala
Created February 25, 2012 18:57
Recuperando a home e a user time line do twitter com scala
package com.softsimples.social.twitter
import com.softsimples.social.social.json.Json
import scala.collection.mutable.MutableList
import org.scribe.model.{Token, Response}
import com.softsimples.social.social.oauth.OAuthWrapper
class RetrieveTimeLine(val wrapper:OAuthWrapper, basePath:String, accessToken:Token) {
def userTimeLine(): List[Map[String, Any]] = {
@agnaldo4j
agnaldo4j / chegaDeDesculpas.txt
Created March 2, 2012 11:23
Chega de arrumar desculpas para fazer um trabalho meio boca, assuma sua responsabilidade!
Todos os dias venho lidando com programadores que arrumam desculpas para não realizar um trabalho excelente.
As desculpas geralmente são: chefe não deixa, tenho que entregar logo, isso é assim mesmo ou eu não ganho para isso!
Pois lhes digo que não é assim não.
A seis meses resolvi por a prova todas as técnicas contidas no material que vou passar e tive resultados fantásticos para mim e minha equipe.
Então Minha contribuição para esse assunto são estes 4 livros
@agnaldo4j
agnaldo4j / html_canvas.js
Created April 14, 2012 15:30
Prototipo de renderizador de html paa javascript.
var html_canvas = function (spec) {
var html = spec.html || "";
var created_object = {};
//public methods
created_object.render = function(component) {
component.renderOn(this);
return this;
};