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 / OpenClosedPrinciple.txt
Last active August 29, 2015 13:56
Controlando escopos de variáveis no javascript
Nesta classe, tento mostrar como criar variáveis que são visíveis na hierarquia de escopo do js.
Dassa forma, posso mesmo em um escopo de callback do jquery acessar minha referencia do controller e
continuar encapsulando a os dados.
Para vc que esta usando AngularJS ou qualquer outro framework de js, é possível usar técnicas OO e
de SOLID Principles para melhorar a manutenção de seu código js.
Para entender melhor, veja como fazer herança em js em: https://gist.github.com/agnaldo4j/5e6715906813c00d0d46,
com essa técnica é possível sobrescrever métodos e usar polimorfismo, ou seja fazer um design OO.
@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
@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 / 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 / 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 / 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 / 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 / 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.