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 / BPMConnector.scala
Created December 5, 2012 11:18
Conectando ao Bonita, gerenciando processos de desenvolvimento
package com.softsimples.bpm
import javax.security.auth.login.LoginContext
import org.ow2.bonita.util.{AccessorUtil, SimpleCallbackHandler, BonitaConstants}
import scala.collection.JavaConversions._
import org.ow2.bonita.facade.identity.User
import org.bonitasoft.console.security.server.api.{ICredentialsEncryptionAPI, SecurityAPIFactory}
object BPMConnector {
private val jaasFile = getClass.getResource("jaas-standard.cfg").getFile
@agnaldo4j
agnaldo4j / crawler_example.md
Last active October 15, 2016 11:20
Crawler example with mochiweb_html and mochiweb_xpath.

Elixir simple crawler example

This example uses thease projects:

  1. mochiweb
  2. mochiweb_xpath

The HtmlPageReader goes to html's page and transform that content with mochiweb_html.parse

defmodule Usecase.HtmlPageReader do
@agnaldo4j
agnaldo4j / InstallOpenCV
Last active January 23, 2016 13:47
Install OpenCV
#!/bin/bash
mkdir OpenCVInstall
cd OpenCVInstall
rm -rf last_stable_x264.tar.bz2
rm -rf x264-snapshot-20140930-2245-stable
rm -rf ffmpeg-2.4.1.tar.bz2
@agnaldo4j
agnaldo4j / UserAPI.scala
Created January 16, 2016 15:34
Exemplo de endpoint acessando usecases
package com.opportunity.simple.restapi
import javax.persistence.EntityManagerFactory
import com.opportunity.objectives.model.User
import com.opportunity.objectives.usecases.user.{ListUsersUsecase, LoginByFacebookUserUsecase, SaveNewUserUsecase}
import com.opportunity.simple.restapi.response.ProtocolResponse
import com.typesafe.config.Config
class UserAPI(val apiConfig: Config, val entityManagerFactory: EntityManagerFactory) extends Respondable with Authenticable with PersistibleUser {
@agnaldo4j
agnaldo4j / SaveNewFriendsUsecase.scala
Created January 12, 2016 02:20
Exemplo de um usecase
package com.opportunity.objectives.usecases.user
import com.opportunity.objectives.exceptions.UserInvalidException
import com.opportunity.objectives.model.{Friend, User}
import com.opportunity.objectives.persistence.adapter.user.NewUserPersistenceAdapter
class SaveNewFriendsUsecase(persistenceAdapter: NewUserPersistenceAdapter) {
def save(user:User, friends:List[Friend]): User = {
persistenceAdapter.findUserById(user.id) match {
@agnaldo4j
agnaldo4j / SaveNewFriendsUsecaseSpec.scala
Created January 12, 2016 01:33
Exemplo de teste usando specs2 e arquitetura limpa
/**
* https://blog.8thlight.com/uncle-bob/2012/08/13/the-clean-architecture.html
* https://vimeo.com/43612849
* https://etorreborre.github.io/specs2/guide/SPECS2-3.7/org.specs2.guide.Matchers.html
*
**/
package com.opportunity.objectives.usecases.user
import com.opportunity.objectives.exceptions.UserInvalidException
import com.opportunity.objectives.model.{Friend, User}
@agnaldo4j
agnaldo4j / macro.exs
Last active January 7, 2016 01:01
Executando código dinâmico em elixir
Code.eval_quoted(
quote do: unquote(1) + unquote(1 + 1)
)
#code to be parsed 1 + (1 + 1)
#result of execution {3, []}
@agnaldo4j
agnaldo4j / BabyStepsAgile
Created January 22, 2014 10:43
Baby steps agile
Sugestões de práticas para melhora da previsibilidade na execução de Sprints.
1. Gerenciar e manter backlog atualizado e priorizado(PO ou ProxyPO)
Princípio: Tornar o PO ou ProxyPO comprometido com o resultado do produto
Valor: Visão de produto melhorado a cada revisão e conhecimento do que é mais importante.
Prática: Reservar 8 ou 16 horas por semana para revisar o backlog, levando em consideração o que já foi entregue, mudanças de mercado e mudanças de visão do produto.
2. Doutrinar o cliente para uso da ferramenta de gestão de backlog (JIRA) (ProxyPO)
@agnaldo4j
agnaldo4j / ErlangJSON.md
Created August 28, 2013 12:33
Parser JSON para Erlang
@agnaldo4j
agnaldo4j / BuildErlang.md
Created August 23, 2013 12:50
Trilha de estudos para preparar um projeto Erlang.