Skip to content

Instantly share code, notes, and snippets.

@felipehummel
felipehummel / spark_quill_poc.scala
Created April 1, 2017 21:14
Spark + quill Proof of concept
package quill_spark.poc
import java.util.{UUID, Date}
import java.time.LocalDate
import io.getquill._
import io.getquill.context.Context
import io.getquill.context.sql.SqlContext
import io.getquill.idiom.{ Idiom => BaseIdiom }
import io.getquill.context.mirror.Row
(defn nome-funcao [param1 param2]
(let [var1 (outrafuncao param1)
var2 (outrafuncao2 param2)]
fazUmaRequest(var1, param1)
(when (= param1 xyz)
(fazOutracoisa param2)
(log :blablabla))))
@felipehummel
felipehummel / json.scala
Created July 23, 2015 14:53
json default field
object JsonExtensions {
def withDefaultCreatedAt[T](base: Format[T]) = new Format[T]{
def reads(json: JsValue): JsResult[T] = base.compose(JsonExtensions.withDefault("createdAt", DateTime.now())).reads(json)
def writes(o: T): JsValue = base.writes(o)
}
def withDefault[A](key:String, default:A)(implicit writes:Writes[A]) =
__.json.update((__ \ key).json.copyFrom((__ \ key).json.pick orElse Reads.pure(Json.toJson(default))))
}
// .....
@felipehummel
felipehummel / acesso.md
Last active October 21, 2023 18:24
API NewsMonitor de Busca de Notícias

Acesso API (URL, Autenticação)

URL base da API NewsMonitor de Busca: https://api.spixdiscovery.com:8083/

A API utiliza autenticação básica HTTP (HTTP Basic Auth). Você receberá de nosso representante uma apiKey e um apiPassword. Para acessar a API será necessário passar esses valores como usuário e senha na autenticação básica HTTP.

Bibliotecas de HTTP, de todas as linguagens de programação, geralmente possuem facilidades para setar diretamente esse usuário e senha de forma fácil.

package com.busk.searchserver.api
import javax.servlet.http.{HttpServletRequest, HttpServletResponse}
import org.scalatra.ScalatraBase
import org.scalatra.auth.strategy.{BasicAuthStrategy, BasicAuthSupport}
import org.scalatra.auth.{ScentryConfig, ScentrySupport}
/**
* Created by felipehummel on 12/01/15.
@felipehummel
felipehummel / article.json
Last active August 29, 2015 14:14
article example
{
"id":147061902,
"created_at":"2015-02-05 15:30:30",
"type":"articles",
"title":"Why Pfizer wants Hospira",
"language_code":"en",
"url":"http://www.cnbc.com/id/102400727",
"content":"<div class=\"group\" itemprop=\"articleBody\" gravityscore=\"162\" gravitynodes=\"6\">\n <p> Hospira makes biosimilars as well. Its injectable and infused pharmaceuticals business includes about 200 generic drugs, like the antibacterials azithromycin and ceftazidime, and the anticoagulant heparin sodium. </p>\n <p>Hospira has also been in the news in recent years as the only U.S. maker of drugs used in lethal injection. (The company said in 2011 it would stop making the anesthetic, <a class=\"inline_asset\" href=\"http://www.nytimes.com/2011/01/22/us/22lethal.html?_r=1&amp;\" target=\"_blank\">sodium thiopental</a>, because it didn't have U.S. manufacturing capabilities for it, and it had run into opposition in Italy.)</p>\n <p> Read More<a href=\"/id/102396903\" target=\"_self\">Pricing wars heat up over hepatitis
@felipehummel
felipehummel / result.json
Created February 6, 2015 14:00
example json
{
"results":[{
"articles":[{
"id":147239368,
"created_at":"2015-02-06 13:49:11",
"type":"articles",
"title":"INVESTOR ALERT: Levi & Korsinsky, LLP Commences an Investigation of the Board of Directors of Hospira Inc. In Connection With the Fairness of the Sale of the Company to Pfizer -- HSP",
"language_code":"en",
"url":"http://www.benzinga.com/pressreleases/15/02/n5218605/investor-alert-levi-korsinsky-llp-commences-an-investigation-of-the-boa",
"published_at":"2015-02-06 13:41:48",
// Construtor da classe é (nome: String)
class MinhaClasse(nome: String) {
def olaQuem() = s"Olá $nome!"
}
val minha = new MinhaClasse("Felipe")
val msg = minha.olaQuem()
println(msg) // Olá Felipe!
{
"results":[{
"articles":[{
"id":131720411,
"created_at":"2014-11-03 18:34:53",
"type":"articles",
"title":"Apucarana: Polícia Militar evita mais quatro golpes do falso sequestro",
"language_code":"pt",
"url":"http://www.tnonline.com.br/noticias/apucarana/45,304044,03,11,apucarana-policia-militar-evita-mais-quatro-golpes-do-falso-sequestro.shtml",
"published_at":"2014-11-03 18:34:18",
@felipehummel
felipehummel / TestJava.java
Last active August 29, 2015 14:06
ElasticSearch Scala/Java client SignificantTerms problem
package com.busk.searching;
import org.elasticsearch.action.search.SearchRequestBuilder;
import org.elasticsearch.client.transport.TransportClient;
import org.elasticsearch.common.settings.ImmutableSettings;
import org.elasticsearch.common.transport.InetSocketTransportAddress;
import org.elasticsearch.search.aggregations.bucket.significant.SignificantTermsBuilder;
import static org.elasticsearch.index.query.QueryBuilders.*;
import static org.elasticsearch.search.aggregations.AggregationBuilders.*;