Skip to content

Instantly share code, notes, and snippets.

View ikhoon's full-sized avatar
๐Ÿฑ
Working from home

Ikhun Um ikhoon

๐Ÿฑ
Working from home
View GitHub Profile
@ikhoon
ikhoon / ikhoon.postfixTemplates
Last active November 16, 2020 07:42
custom postfix template
## Templates for guava ##
.toList : convert to ImmutableList
java.util.stream.Stream -> $expr$.collect(com.google.common.collect.ImmutableList.toImmutableList())
@ikhoon
ikhoon / DATAFrameErrorStack.java
Last active January 30, 2020 07:27
java.lang.IllegalStateException: cannot start a new stream
"armeria-common-worker-nio-2-1@4812" daemon prio=5 tid=0x17 nid=NA runnable
java.lang.Thread.State: RUNNABLE
at com.linecorp.armeria.internal.Http2ObjectEncoder.doWriteData(Http2ObjectEncoder.java:93)
at com.linecorp.armeria.internal.HttpObjectEncoder.writeData(HttpObjectEncoder.java:85)
at com.linecorp.armeria.server.HttpResponseSubscriber.write(HttpResponseSubscriber.java:298)
at com.linecorp.armeria.server.HttpResponseSubscriber.onNext(HttpResponseSubscriber.java:227)
at com.linecorp.armeria.server.HttpResponseSubscriber.onNext(HttpResponseSubscriber.java:58)
at com.linecorp.armeria.common.stream.DefaultStreamMessage.notifySubscriberWithElements(DefaultStreamMessage.java:341)
at com.linecorp.armeria.common.stream.DefaultStreamMessage.notifySubscriber0(DefaultStreamMessage.java:319)
at com.linecorp.armeria.common.stream.DefaultStreamMessage.doRequest(DefaultStreamMessage.java:188)
@ikhoon
ikhoon / Functors.scala
Created January 13, 2020 08:55
functor expamles
package category
import java.util.concurrent.CompletableFuture
object Functors {
// Monad ํ•ต์‹ฌ: ๋งŽ์ด ์“ฐ์ธ๋‹ค.
// A => B, F[A] => (A => B), => F[B]
// Map Pair(A, B)
// type class, ํŠน์ • ํƒ€์ž…์— ๊ธฐ๋ฐ˜๋œ ํ–‰์œ„
org.hamcrest:hamcrest:2.1
variant "default" [
org.gradle.status = release (not requested)
]
org.hamcrest:hamcrest:2.1
\--- org.awaitility:awaitility:4.0.1
\--- allDependencies (requested org.awaitility:awaitility)
org.hamcrest:hamcrest-core:1.3
@ikhoon
ikhoon / lambdainstance.java
Created September 30, 2019 08:31
Check java lambda instance is singleton.
String foo() {
return "abc";
}
String foo(Supplier<String> s) {
System.out.println(s);
return "abc " + s.get();
}
@Test
@ikhoon
ikhoon / checkout-pr.zsh
Last active October 7, 2019 02:05
git checkout remote pull request to local branch and track it with FZF-TMUX
# git checkout remote pull request to local branch and track it with FZF-TMUX
# Requirements:
# - hub : https://github.com/github/hub
# - fzf-tmux : https://github.com/junegunn/fzf#fzf-tmux-script
pr() {
local pr_list pr_id origin branch_name
pr_list=$(cat /dev/null | hub pr list -f "%pC%>(8)%i%Creset %t @%au %l%n")
result=$?
if [[ $pr_list == *"github.com username:"* ]]; then
echo "Please run 'hub pr list' to login GitHub"
@ikhoon
ikhoon / newmac.sh
Last active September 21, 2022 02:21
#!/bin/bash
# zsh
echo "Installing zsh..."
chsh -s `which zsh`
curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh
# homebrew, pip
echo "Installing homebrew, pip..."
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
@ikhoon
ikhoon / reactive-stream-example.scala
Last active May 3, 2018 07:05
Reactive Stream์„ ํ™œ์šฉ ์˜ˆ์ œ
import org.reactivestreams.{Processor, Publisher, Subscriber, Subscription}
// ๋ฐ์ดํ„ฐ ์ƒ์„ฑ
val publisher = new Publisher[Int] {
def subscribe(s: Subscriber[_ >: Int]) = {
(1 to 100).foreach { x =>
s.onNext(x)
}
s.onComplete()
}

์Šค์นผ๋ผ FP ๊ด€๋ จ ์ฑ…๋“ค

Scala Cookbook ์ €์ž๊ฐ€ ์”€, ๊ฐœ๋ฐœ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ FP์˜ ์—ญ์‚ฌ์™€ ๊ฐ™์€ ๋‚ด์šฉ๋„ ํฌํ•จ๋˜์–ด ์žˆ์Œ

ENSIME ๋ฉ”์ธ ๋ฉ”์ธํ…Œ์ด๋„ˆ๊ฐ€ ์”€ - scalaz๋ฅผ ํ™œ์šฉํ•˜์—ฌ FP๋กœ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ• ์ˆ˜ ์žˆ๋Š”๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด์„œ ์•Œ๋ ค์คŒ

์ผ๋ช… ๋นจ๊ฐ„ ์ฑ…์ด๋ผ ๋ถˆ๋ฆฌ๋ฉฐ, scala + FP์˜ ๋ฐ”์ด๋ธ” ๊ฐ™์€ ์กด์žฌ, ํ•˜์ง€๋งŒ ์–ด๋ ค์›€