2021년 12월 3일 금요일
Clojure를 하다가 Node.js/Express 만져보면서 느낀점.
2021년 11월 27일 토요일
매크로에 대한 글을 적다
2021년 11월 22일 월요일
2021년 4월 30일 금요일
컬리에서 작성하는 마지막 기술 블로그
2021년 3월 14일 일요일
[그런 REST API로 괜찮은가]를 보고
REST API는 무엇일까.
로이 필딩의 논문을 다 읽진 않았지만 그곳에는 client-server 아키텍처 사이에서 완벽하게 독립적으로 개발을 할 수 있도록 하는 API 아키텍처를 상상한 듯 하다.
만약에 할일 목록을 가져왔다면, 그 할일 목록에서 할 수 있는 행위들을 위한 링크를 제공하는 것이다. 그러면 클라이언트에선 특정 uri에 대한 정보를 알 필요도 없을 것이다.
이것이 HATEOS의 중요성인 듯하다. 로이 필딩을 정확히 무엇을 꿈꾼 것일까.
아래 유튜브 비디오를 보면서 고민을 하는 하루가 되었다. 로이 필딩 논문을 한 번 마저 읽어봐야겠다.
2021년 3월 11일 목요일
폴그레이엄은 왜 ycombinator라고 이름을 지었을까
ycombinator는 lambda calculus에서 꽤나 중요하게 여겨지는 아이디어이다.
오랫만에 컬리에 기술블로그로 기고할 겸 공부도하고 정리도 했다.
https://www.notion.so/tombox/Y-combinator-865c9614db0245ce869424a92462406b
취직을 위한 공부만 했다면 달라졌을까
2021년 3월 4일 목요일
[패스트캠퍼스] 강의를 구매했다.
컬리에 있으면서 고민을 하게된 큰 그림을 보는 인사이트를 얻기 위해 구매해보았다.
아래는 관련 강의 링크이다.
https://www.fastcampus.co.kr/dev_red_yjs
윤진석님이 어떤 분인지는 잘 모르겠지만, 나보다 많은 경험을 하신분이니 가격에 맞는 정보를 알려주지 않을까 라는 생각에 구매를 진행했다.
그리고 생각보다 비싸진 않다. (이전에 구매한 clojureScript 강의에 비하면...)
수강을 다 하지 못해서 속단할 수는 없지만, 강의시간이 4시간 정도 된다. 거기에서 intro 관련 내용을 빼면 더 시간이 줄어든다. 가격은 15만원 정도였으니, 약 4시간이라고 치면 한시간에 37500원 정도다.
싼 가격은 아닌 것 같다.
그래도 다 들어보면 생각이 달라질 수 있으니 전부 수강하고 다시 리뷰를 해야겠다.
2021년 3월 1일 월요일
Learn Reagent Pro by Jacek Schae 강의 후기
reagent 란
reagent react를 clojureScript로 개발할 수 있게 해주는 라이브러리다.Learn Reagent Pro
강의는 꽤나 비싼데 reagent를 처음 접하는 사람에게는 유용할 것이다.2021년 2월 27일 토요일
clojure로 카프카에 이벤트 발행
의존성
[org.apache.kafka/kafka-clients "2.5.0"]
사용코드
(ns kafka-demo2.core
(:import [org.apache.kafka.common.serialization StringSerializer]
[org.apache.kafka.clients.producer KafkaProducer ProducerRecord])
(:gen-class))
(def config
{"bootstrap.servers" "127.0.0.1:9092"
"key.serializer" StringSerializer
"value.serializer" StringSerializer})
(defn publish [topic str]
(let [producer (KafkaProducer. config)
record (ProducerRecord. topic str)]
(try
(.send producer record)
(finally (.close producer)))))
(defn -main
"I don't do a whole lot ... yet."
[& args]
(println "push A")
(publish "yhnam-topic" "A"))
도커
https://github.com/ssisksl77/clojure-breadcrumb 위 깃허브 참고실행
별거 없음 위 깃허브 참고
$ docker-compose up
$ lein uberjar
$ java -jar kafka-demo2-0.1.0-standalone.jar
그외 정리
https://www.notion.so/tombox/db6bc836f25d41948d28f3aff9ec1aff2021년 2월 21일 일요일
[책리뷰] (빅 데이터 세상으로 떠나는 간결한 안내서) NoSQL
이 책은 NoSQL의 개요를 담고있다.
NoSQL의 전체적인 추세가 그때와 지금은 다르지 않은 것 같다.
NoSQL이 어떤 종류가 있으며, 기존 문제들을 어떻게 풀려고 하는지 간결하게 설명한다.
흥미로운 책이었다. MongoDB를 아무생각없이 쓰고 있었는데 조만간 DB 관련된 책을 봐야겠다는 생각을 한다.
MySQL도 아무생각없이 썼던게 아닌가 싶다. 공부해야겠다.
2021년 2월 18일 목요일
Monad 정리
1. Monoid
2. Functor
class Functor f where fmap :: (a -> b) -> f a -> f b (<$) :: a -> f b -> f a
3. Applicative Functor
(<$>) :: Functor f => (a -> b) -> f a -> f b(<*>) :: Applicative f => f (a -> b) -> f a -> f b
만약에 즉, 위에서 예를 들었던 List안에 [+1, +2] 이런식의 리스트가 존재하여, 합칠 수도 있다.
4. Monad
class Applicative m => Monad m where
(>>=) :: m a -> (a -> m b) -> m b
(>>) :: m a -> m b -> m b
return :: a -> m a
-- fmap or map (Functor)-- flatMap (Monad)
(a -> b) -> f a -> f bm a -> (a -> m b) -> m b
var a = [1,2,3]function addOne(x) {return x + 1;}a.map(addOne); // [2,3,4]
var a = [1,2,3] function double(x) { return [x,x] } var b = a.map(double); // [[2,2],[3,3],[4,4]] b.map(double); // [[[2,2],[2,2]],[[3,3],[3,3]],[[4,4],[4,4]]]
누군가는 이렇게 말할 수 있다. 애초에 왜! 리스트를 리턴하는 함수를 만든거야? 그냥 그 타입에 맞는 것만 리턴하지?!
[1,2,3] ++ [4,5,6] # [1,2,3,4,5,6]
2021년 2월 11일 목요일
2020년을 생각하며...
사장님의 이름을 연예인처럼 많은 사람들이 기억하고 있는 회사.