Home
Gom Log
Cancel

Typescript Utility Types 훑어보기

Utility Types? Typescript에서 제공하는 타입이며 일반 타입을 편리(정말?)하게 활용 할 수 있게 해준다. 강타입 언어를 넘어 최강타입 언어정도가 되는게 목적이 아닐까? 굳이 언어 레벨에서 별도의 타입으로 제공할만한 내용들일까..? 라는 의문이 들지만 typescript 기반 라이브러리 내부 구현 파악에 필요하므로 한번 살펴보자...

Redux: createAsyncThunk?

Redux? JS 진영의 대표적인 상태 관리 라이브러리 중 하나, Flux 패턴을 활용한 또 하나의 variant 정도로 보여지며 Flux에서 이야기하는 component들을 잘 추상화하여 제공해준다. 완성도가 꽤나 높은 라이브러리. createAsyncThunk Flux pattern에서 State를 변경하는 코드로 나타내면 아래와 같다 ...

제주도 클린하우스 위치찾기 서비스

클린하우스? 제주도에서 쓰레기와 재활용품을 배출하는 곳. 제주도에 숙소를 구해두고 자주 내려가고 있는데 최근 쓰레기 배출을 하다가 개고생해서 만들었다. (관련 앱이 있는데 위치정보가 잘못되어있더라..) 기능 공공데이터 포털에서 최신데이터를 수집하여 지도에 표시. 제주도 클린하우스찾기

Spring, opencsv 활용하여 csv 내보내기

OpenCSV jvm을 지원하는 csv 라이브러리 중 가장 지원하는 커스텀 기능과 사용성이 좋아 csv를 다룰 일이 있으면 사용 중. Comparator 간단한 Comparator이며 reflection을 이용하여 클래스의 프로퍼티 순서대로 칼럼이 생성되도록 구현 class MyComparator<T>(private val clazz...

Nextjs, Nodejs, csv 파일 업로드 및 파싱

지난 블로그에서 드래그 & 드롭 파일 업로드를 구현을 정리했는데 이번엔 csv 파일 업로드와 파싱관련하여 레퍼런스찾기가 힘들다.. 검색해보면 죄다 csv-parser를 사용한 예시인데 csv-parse는 fs의 ReadStream만 활용할 수 있기때문에 HTTP POST body를 파싱하기엔 적절하지 않다. 일부 예시는 이런경우 body(Bl...

React, tailwind: 드래그 & 드롭 파일 업로드

최근 오랜만에 프론트엔드 NextJS 작업 할 일이 많아졌는데 여전히 제대로된 레퍼런스 찾기가 쉽지않다. 드래그 & 드롭 파일 업로드 작업중인 대시보드에 그저 드래그&드롭 파일업로드를 넣고 싶었을뿐인데.. 인터넷 서칭해서 대충 복붙하니 원하는데로 동작하지않고 불필요한 구현이 많아보인다.. 그냥 새롭게 만들어보자. 원하는것 Ju...

AWS Lambda, 기본 설정 및 jar 배포하기

for 비용 절감 특정 시간마다 API scraping을 진행하는 작업은 구현했다. 이걸 따로 container에서 돌리자니 비용이 아까워서 aws lambda로 배포하여 trigger를 등록하는 형태로 작업했다. duration 10~20 초, 6시간 간격으로 호출 jar 관련된 셋업이나 gradle kotlin dsl 기준으로 작성된...

Solidity: Proxy 정리

왜 필요한가? 스마트 컨트랙트를 통해 트랙잭션이 생성되며 이에 대한 검증과정을 거쳐 네트워크상에 추가된다. 이때 추가되는 기록과 배포된 스마트 컨트랙트 불변이다. 여기서, 만약 배포된 스마트 컨트랙트에 취약점 또는 버그가 발견되었거나 기능을 추가하고 싶다면 어떻게 해야될까? 스마트 컨트랙트는 불변이므로 직접 배포된 컨트랙트를 수정하거나 ...

Solidity: storage, memory, calldata

Storage 블록체인 네트워크에 영구적으로 저장되는 데이터 일반적으로 스마트 컨트랙트의 모든 상태 값(함수 스코프 외부에 있는 변수)들은 storage 영역에 저장된다. struct 혹은 dynamic array와 같은 동적 변수를 제외하면 32 byte 단위로 패킹된다. 동적 타입(s의 경우 32 byte 사이즈로 패킹되며 실제 값들은 Ke...

Blockchain이란?

Blockchain? 블록체인은 네트워크 상에서 트랜잭션의 기록과 자산 추적에 활용가능한 공유된 불변한 원장(shared immutable ledger) 을 뜻한다. 여기서, 자산은 유형자산 (tangible, 부동산, 차량, 현금 등) 및 무형자산 (intangible, 저작권, 특허 등) 모두가 될 수 있다. 따라서, 가치를 나타내는...