전체 글

개인 공부 목적으로 작성된 블로그 입니다.
Java/스프링 부트

[Webflux] Publisher, Subscriber

이 포스팅은 공부목적으로 작성된 포스팅 입니다. 왜곡된 내용이 포함되어 있을 수 있습니다. 0. 개요webflux, reactor를 처음 사용하게 되면 Publisher(Mono, Flux)와 Subscriber에 대해 학습하게 된다. 아주 쉽게(?) 이야기하면 Publisher가 데이터를 발행하면 Subscriber가 데이터를 구독하게 되는데, 이러한 이해만으로 webflux를 사용하는데에는 문제가 있다.실제로 글쓴이는 아무런 이해도 없이 webflux를 구현하면서 다음과 같은 트러블 슈팅을 경험하게 된다.subscribe하지 않으면 실행조차 되지 않는 건가?그러면 모든 로직에 대해서 subscribe를 하면 되나?그런데 subcribe 하지 않아도 되는 경우도 있었는데?Publisher와 Subscr..

Java/스프링 부트

[Webflux] Mono, Flux.Block()

이 포스팅은 공부목적으로 작성된 포스팅 입니다. 왜곡된 내용이 포함되어 있을 수 있습니다. 0. 개요https://github.com/schananas/practical-reactor GitHub - schananas/practical-reactor: Practical Project Reactor and reactive programing workshopPractical Project Reactor and reactive programing workshop - schananas/practical-reactorgithub.com 위 포스팅은 해당 repo의 c1_introduction를 실습한 내용이다. 각각 chapter를 학습하면서 webflux에 사용되는 reactor를 정리하고자 한다. 학습하면서 ..

PS/백준

[백준 31003번] 언젠가 정렬이 될 수 있으면 좋겠네. C++ 풀이

1. 문제https://www.acmicpc.net/problem/31003문제를 요약하면 인접한 수가 서로소인경우 위치 변경을 할 수 있고, 이러한 시행을 무한히 할 수 있을때, 사전순으로 가장 낮은 수열을 출력해야한다.2. 접근이 문제의 경우 접근이 상당히 어려운 문제이다. 일단 시간복잡도를 생각해보자. 두 숫자의 서로소관계를 파악하기 위해서는 유클리드 호제법을 사용할 수 있다. 시간복잡도 $O(log(N))$ 이러한 시행을 무한히 할 수 있지만, $O(N^2)$ 번의 시행으로 최적의 수열을 만들 수 있다는 것을 어느정도 유추할 수 있다.(직관)그리디하게 문제를 풀 수 없을까 고민해 봤는데 그리디만으로는 힘들어 보인다.수열문제를 가끔식 그래프로 푸는 경우가 있는데, 그래프로도 접근해보자한가지 생각해볼..

CS/데이터베이스

[MySQL] CLI환경에서 사용하기

스키마MySQL에서는 스키마 라는 개념이 있다. 스키마는 테이블을 가지고 있고 스키마를 기준으로 서로다른 테이블로 분류할 수 있다.작업시에 다양한 서버의 데이터베이스를 스키마로 분류하여 저장한다. CLI환경에서 테이블 명세할때, 해당 테이블이 어느 스키마에 속하는지 알려줘야한다.위 예시에서는 dsc.corpcode에 해당한다.매번 스키마를 적기 불편하다면 작업하려는 스키마를 지정할 수 있다.use 명령어를 사용하면 작업하려는 스키마를 지정할 수 있다.만약 작업중인 스키마가 아닌 외부 스키마를 사용하고 싶다면 "스키마.테이블"으로 명시하면 된다.작업 중인 스키마를 해제하고 싶다면,  information_schema를 지정하면 된다.information_schema는 스키마 정보를 저장하고 있는 DB이다...

Java

[이펙티브 자바] 아이템 54, 55

이 포스팅은 공부 목적으로 작성된 포스팅입니다. 왜곡된 내용이 포함되어 있을 수 있습니다. 54 null이 아닌, 빈 컬렉션이나 배열을 반환하라다음 코드를 보자private final List ObjectInStock = new ArrayList(); public List getObjects() { return ObjectInStock.isEmpty() ? null : new ArrayList(ObjectInStock);}Object들을 List Collection으로 가지고 있는 ObjectInStock에 대해 getObjects() 메소드는 Objects가 존재한다면 방어적 복사를 통해 ObjectInStock을 반환하고 Objects가 존재하지 않는다면 ..

Java

List.toArray()

이 포스팅은 공부 목적으로 작성된 포스팅입니다 왜곡된 내용이 포함되어 있을 수 있습니다.이번 글은 특히 심합니다 자바공부 도중 이해되지 않는 메소드가 있어서 포스팅을 작성한다.https://bluesparrow.tistory.com/60 [이펙티브 자바] 아이템 54, 55이 포스팅은 공부 목적으로 작성된 포스팅입니다. 왜곡된 내용이 포함되어 있을 수 있습니다. 54 null이 아닌, 빈 컬렉션이나 배열을 반환하라다음 코드를 보자private final List ObjectInStock = new ArrayLibluesparrow.tistory.com 다음 코드를 보자public Cheese[] getCheeses(){ return cheesesInStock.toArray(new Cheese[0])..

회고

AWS Summit Seoul 2024 후기

0. AWS Summit Seoul코엑스에서 진행하는 AWS Summit Seoul을 다녀왔다.https://aws.amazon.com/ko/events/summits/seoul/ AWS Summit SeoulAWS 전문가가 알려주는 클라우드 핵심 필수 기초 교육  오전 11시 – 오후 1시 또는 오후 2시 - 4시 (4회 운영, 택 1) 2시간에 걸쳐 진행되는 5개의 강연을 통해 클라우드 개념 소개, 핵심 AWS 서비스,aws.amazon.com AWS Summit은 매년 AWS에서 주최하는 컨퍼런스로 다양한 클라우드 세션을 볼 수 있다.이번에 진행된 세션은 다음 링크에서 확인 할 수 있다.(작년 행사를 참가하지 못해서 기억나지 않지만 이번 행사의 테마는 클라우드 + Ai 인거 같다.)https://p..

Java

[이펙티브 자바] 아이템 47, 48, 49

이 포스팅은 공부 목적으로 작성된 포스팅입니다. 왜곡된 내용이 포함되어 있을 수 있습니다.   47. 반환 타입으로는 스트림보다 컬렉션이 낫다.원소의 시퀀스를 반환하기 위해 자바7까지는 Collection, Set, List 와 같은 컬렉션 인터페이스 이거나 부모인 Iterable 또는 배열을 사용했다. 일반적인 관례는 Collection을 사용하고 구현할 수 없는 경우에 Iterable을 사용합니다(래퍼클래스를 커스텀 하는경우) 만약에 성능을 높여야한다면 배열을 사용하기도 한다.(스트림은 스트림 생성비용과 상대적으로 부족한 최적화 상태로 아직 배열보다 낮은 성능을 가진다) 자바 8에서 스트림을 도입하면서 반환타입에 관한 논쟁이 되어 버렸다.스트림을 반복을 지원하지 않는다.(재사용 할 수 없다) 따라서 ..

CS/네트워크

[Computer Networking A Top-Down Approach] 3.2 Multiplexing and Demultiplexing

이 포스팅은 공부 목적으로 작성된 포스팅입니다. 왜곡된 내용이 포함되어 있을 수 있습니다. 이번 절에서 transport-layer multiplexing 과 demultiplexing 을 통해 network-layer에서 host 간의 delivery를 process간의 delivery로 확장하는 것에 대해 알아보자. 이를 위해 internet에 존재하는 transport-layer service를 생각해볼 것이다,tranport-layer는 network-layer에게 segment를 받는다. 이에 transport-layer는 적절한 process로 해당 segment를 전달해야한다, 수신자의 transport-layer는 data를 process에게 바로 전달하지 않고, 중간 socket에게 전달..

CS/네트워크

[Computer Networking A Top-Down Approach] 3.1 Introduction and Transport-Layer Service

이 포스팅은 공부 목적으로 작성된 포스팅입니다. 왜곡된 내용이 포함되어 있을 수 있습니다.  3. Transport Layerapplication와 network layer 사이에서 transport layer는 layered network architecture에서 중심이 되는 layer이다. transport layer는 서로다른 host의 application process에 대해서 communication service 제공하는 중요한 역활을 가진다. 이번 장에서 transport layer의 원칙과 해당 원칙에 관한 논의를 해볼 예정이다. 당연히 TCP, UDP를 중심으로 진행된다.먼저 UDP를 통해 transport layer와 network layer의 관계를 살퍼볼 예정이다. 이후에 TCP..

bluesparrow
Bluesparrow