Skip to content

Instantly share code, notes, and snippets.

View ponkotuy's full-sized avatar
🗾

ponkotuy ponkotuy

🗾
View GitHub Profile
@ponkotuy
ponkotuy / Downloader.scala
Created March 22, 2017 12:26
Parallel Downloader per hostname
package actors
import java.net.URI
import akka.actor.{Actor, ActorRef, Props}
import akka.pattern.{ask, pipe}
import akka.util.Timeout
import skinny.http.HTTP
import scala.collection.mutable
@ponkotuy
ponkotuy / Files.scala
Last active September 22, 2018 10:14
Java NIO2をScalaでラップするやつ(findだけ)
import java.nio.file.{Path, Files => JFiles}
import java.nio.file.attribute.BasicFileAttributes
import java.util.function.{BiPredicate, Consumer}
import scala.collection.JavaConverters._
object Files {
import JFunction._
def find(path: Path, depth: Int = Int.MaxValue)(matcher: (Path, BasicFileAttributes) => Boolean): Iterator[Path] =
JFiles.find(path, depth, matcher.asJava).iterator().asScala
@ponkotuy
ponkotuy / del_redis_keys.py
Last active February 6, 2019 16:17
DELETE Reids KEYS
#!/usr/bin/env python3
# -*- coding:utf-8 -*-
import sys
import redis
HOST_NAME = ""
DB_NUMBER = 0
if __name__ == "__main__":
@ponkotuy
ponkotuy / common_cache.rb
Created February 28, 2019 10:01
CacheAPIWrapper
class CommonCache
def initialize(prefix, expire)
@prefix = prefix
@expire = expire
end
def key(id)
"#{@prefix}_#{id}"
end
@ponkotuy
ponkotuy / binary_search.rb
Created May 10, 2019 10:04
BinarySearchサンプル
class RecordBoundarySearch
KeyValue = Struct.new(:key, :value)
def initialize(table)
@table = table
end
def first
record_boundary(@table.order(id: 'ASC').limit(2))
end
@ponkotuy
ponkotuy / EitherTFutureUtils.scala
Created July 11, 2019 09:14
EitherT[Future, A, B]のUtil
import cats.data.EitherT
import cats.implicits._
import scala.collection.immutable.Iterable
import scala.concurrent.{ExecutionContext, Future}
object EitherTFutureUtils {
def eitherT[A, B](a: A): EitherT[Future, B, A] = EitherT(Future.successful(Either.right[B, A](a)))
def futureReduceLeft[A, B](xs: Iterable[EitherT[Future, B, A]])(f: (A, A) => A)(implicit ec: ExecutionContext): EitherT[Future, B, A] = {
@ponkotuy
ponkotuy / ProcStat.scala
Created September 13, 2019 11:50
Scalaで/proc/statのCPU情報を解析するだけの簡単な
package utils
import java.nio.charset.StandardCharsets
import java.nio.file.{Files, Paths}
import scala.collection.JavaConverters._
object ProcStat {
val StatPath = Paths.get("/proc/stat")
def cpuStats: CpuStats = {
@ponkotuy
ponkotuy / ponkotuy.json
Created November 13, 2019 18:48
iTerm2用のProfile
{
"Ansi 6 Color" : {
"Green Component" : 0.73333334922790527,
"Red Component" : 0,
"Blue Component" : 0.73333334922790527
},
"Tags" : [
],
"Ansi 12 Color" : {
@ponkotuy
ponkotuy / browser_settings.json
Last active December 1, 2019 16:16
Karabiner-ElementsでMacに人権を導入するcomplex_modifications
{
"title": "Browser settings",
"rules": [
{
"description": "left_control to left_command(Firefox&Chrome)",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "left_control",
@ponkotuy
ponkotuy / point.sql
Created November 17, 2019 12:10
spatial index(geo)とindex(geo) using rtreeの違い
create table point(
id bigint not null auto_increment primary key,
spa geometry not null,
rtr geometry not null,
spatial index(spa),
index(rtr) using rtree
) engine=InnoDB, default charset=utf8mb4;