전체 글

하면 하는거지 모! 또 다시 하면되지 모! 그냥 하는거지 모!
들어가기 전1.  매일 정리해야지 하며 미뤄두었던, 동시성 이슈 해결방법 강의를 정리하려 한다.2. 동시성 이슈를 고려한 개발을 해보지 않아서 나한텐 흥미로운 접근방식의 강의였다. 3. 책에서 단편적으로만 경험했던 멀티스레드, 다중 서버 환경에서 실무적인 문제에 입각한 해결론을 제시한 강의였다. 까먹지 말고,, 기록하자,, 기록만이 살길코드 샘플 GitHub - dev-rosieposie128/stock: 재고시스템으로 알아보는 동시성이슈 해결방법재고시스템으로 알아보는 동시성이슈 해결방법. Contribute to dev-rosieposie128/stock development by creating an account on GitHub.github.com개발 환경Intellijjava 11dockermy..
· 네트워크
시작하기 전 ... 회사에서는 B2B 서비스이고 폐쇄망이었기 때문에 세션과 쿠키만 사용했었는데 최근 spring security를 사용해 볼 기회가 생겼다 근데 이제 너무 당연하게 세션, 쿠키를 사용해서 막상 떠올리면 정의를 내리는데 모호했던,, 지금부터 정의하고 알면되지 !!!!! 스프링 시큐리티와 Jwt를 정리하기전에 쿠키와 세션을 짚고 넘어가보자!!! 그럼 쿠키와 세션은 무엇인지, 언제 왜 사용하는지 살펴보자! Goal HTTP 특징과 쿠키와 세션을 사용하는 이유 쿠키(cookie)를 이해한다 세션(session)을 이해한다 일단 쿠키와 세션을 이해하기 위해서는 HTTP의 동작과정과 특징을 이해할 필요가 있다. 참고 [네트워크] http 동작과정 Goal HTTP 동작과정을 알아본다 HTTPS의 동..
· DB
Goal NoSQL를 사용하는 이유를 이해한다. NoSQL과 RDB(관계형 데이터 베이스)의 차이를 이해한다. NoSQL이란 ? Not only SQL 혹은 Non-Relational Operational Database 약자로 비관계형 데이터베이스를 지칭한다. 등장 배경 NoSQL은 점점 빅데이터의 등장(모바일, 웹 시장의 데이터)으로 인해 데이터와 트래픽이 기하급수적으로 증가함에 따라 RDBMS에 단점인 성능을 향상시키기 위해서는 장비가 좋아야 하는 Scale-Up의 특징이 비용을 기하급수적으로 증가시키기 때문에 데이터 일관성은 포기하되 비용을 고려하여 여러 대의 데이터에 분산하여 저장하는 Scale-Out을 목표로 등장하였다. 이 다양한 형태의 저장기술은 RDBMS 스키마에 맞추어 데이터를 관리해야..
시작하기 전 ... 기존 프로젝트 구조는 항상 Controller.java - Service.java - DAO.java - Mapper.xml 의 구조를 사용하였으며 DAOImpl의 구현 클래스에서 @Repository 어노테이션을 사용하여 해당 클래스가 Database와 통신하는 클래스임을 약속하였다. 하지만, Controller.java - Service.java - Mapper.java - Mapper.xml의 구조가 될 수도 있음을 알게되었다. 그럼 언제 어떻게 사용하는지, 무엇이 다른지 살펴보자! Goal Mybatis를 사용하는 이유를 이해한다. @Repository vs @Mapper 언제, 왜 사용하고 어떻게 다른지를 이해한다 각각의 Layer 프레젠테이션 계층 (Presentation ..
Goal 요청데이터와 응답데이터 및 HTTP 상태코드를 디자인 해보자 API를 디자인 했으니, 해당 API가 작동시 요청 데이터와 응답데이터를 미리 디자인 해보자! HTTP 상태코드란 ? 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다 자세한 내용은 아래 포스팅 참고! https://dev-rosiepoise.tistory.com/123 [네트워크] HTTP 상태코드 (2xx - 성공, 3xx - 리다이렉션, 4xx - 클라이언트 오류, 5xx - 서버 오류) Goal HTTP 상태코드에 대해서 알아본다 2xx 성공코드에 대해 알아본다 3xx 리다이렉션 코드에 대해 알아본다 PRG post redirect get 에 대해 알아본다 4xx 클라이언트 오류에 대해 알아본다 5xx 서버 오류에..
· 네트워크
Goal HTTP 상태코드에 대해서 알아본다 2xx 성공코드에 대해 알아본다 3xx 리다이렉션 코드에 대해 알아본다 PRG post redirect get 에 대해 알아본다 4xx 클라이언트 오류에 대해 알아본다 5xx 서버 오류에 대해 알아본다 HTTP 상태코드란? 클라이언트가 보낸 요청의 처리 상태를 응답에서 알려주는 기능이다 가령, 상황에 따라 다른 종류의 100~500까지의 상태코드가 있다. 1xx (informational) : 요청이 수신되어 처리중 거의 사용하지 않으므로 생략 2xx (Successful) : 요청 정상 처리 3xx (Redirection) : 요청을 완료하려면 추가 행동이 필요 4xx (Client Error) : 클라이언트 오류, 잘못된 문법등으로 서버가 요청을 수행할 수..
시작하라 다시 또 시작하라 모든 것을 한입 씩 물어뜯어 보라 가끔 도보 여행을 떠나라 자신에게 휘파람 부는 법을 가르치라 나이를 먹을수록 사람들은 당신의 이야기를 듣고 싶어 할 것이다. 그 이야기를 만들어라 돌들에게도 말을걸고 달빛 아래 바다에서 헤엄도 쳐라 ​ 죽는 법을 배워두라 빗속을 나체로 달려보라 일어나야 할 모든 일은 일어날 것이고 그 일들로부터 우리를 보호해 줄 것은 아무것도 없다. 흐르는 물 위에 가만히 누워 있어 보라 그리고 아침에 빵 대신 시를 먹으라 완벽주의자가 되려 하지 말고 경험주의자가 되라
시작하기 전 ... 이전 포스팅에서는 스레드 라이프 사이클 - 상태에 대해서 다뤘다. 아래 링크 참고. 그럼 이번 포스팅에서는 상태를 어떻게 제어할 것인지에 대해 다룰 것이다. [thread] 스레드의 라이프 사이클이란 무엇인가 Goal 스레드의 라이프 사이클에 대해 알아본다 스레드 라이프 사이클 스레드 객체 생성 부터 종료까지의 상태이다. 스레드는 객체를 생성하고 start()메소드를 호출하면 바로 스레드 실행처럼 보 dev-rosiepoise.tistory.com Goal 스레드의 상태 제어란 무엇인지 알아본다. 주어진 시간 동안 일시 정지하는 sleep() 다른 스레드에게 실행 양보 yield() 다른 스레드의 종료를 기다리는 join() 스레드간 협업 wait(),notify(), notifyAl..
Goal 스레드의 라이프 사이클에 대해 알아본다 스레드 라이프 사이클 스레드 객체 생성 부터 종료까지의 상태이다. 스레드는 객체를 생성하고 start()메소드를 호출하면 바로 스레드 실행처럼 보이지만, 실행 대기 상태이다 실행 대기 상태란 아직 스케쥴링이 되지 않아 실행을 기다리고 있는 상태이다. 실행 대기 상태에 있는 스레드 중에서 스레드 스케쥴링으로 선택된 스레드가 비로서 cpu를 점유하고 run()메소드를 실행한다. 이때를 실행 Running 상태라고 한다. 실행 상태의 스레드는 run()메소드를 모두 실행하기 전에 스레드 스케쥴링에 의해 다시 실행 대기로 돌아갈 수 있다. 그리고 실행 대기 상태에 있는 다른 스레드가 선택되어 실행 상태가 된다. 이렇게 스레드는 실행 대기 상태와 실행 상태를 번갈아..
당신이 존재한다면 숨을 쉴 것이고 숨을 쉬면 말을 할 것이다 말을 하면 물을 것이고 물으면 생각할 것이다 생각하면 탐색할 것이고 탐색하면 경험할 것이다 경험하면 배울 것이고 배우면 성장할 것이다 성장하면 무언가를 바랄 것이다 바라면 그것을 찾을 것이고 찾으면 의심하게 될 것이다 의심하면 질문을 할 것이고 질문을 하면 이해하고 이해하면 알게 될 것이다 알게 되면 더 알고 싶을 것이다​ 그리고 이것은 당신이 살아 있다는 의미다
dev_rosieposie
로지포지의 성장 연대기