프로그래밍
-
도커 두번째프로그래밍/Docker 2024. 1. 2. 21:27
도커 주의사항 동작 중인 컨테이너를 exit하면 컨테이너가 꺼진다. 그렇지만 일반적인 종료가 아닌 강제종료 이기 때문에 exit는 권장하지 않음 컨트롤키를 꾹 누른 상태에서 P Q를 누르면 컨테이너가 계속 동작하는 채로 밖으로 나가진다 그리고 만약 exit를 하여 컨테이너를 꺼버렸다면 docker start 컨테이너ID 또는 컨테이너이름으로 다시 실행 시킨 후 docker exec -it 컨테이너ID 또는 컨테이너 이름 bash mysql을 예로 들면 /etc/init.d/mysql start mysql -uroot -p 이렇게 다시 접속 가능 Virtual Ethernet 은 docker0 과 컨테이너 사이에 존재하는 터널 LXC가 가진 네트워크 기술 중 하나로 네임스페이스가 있는데 그 네임스페이스에 ..
-
도커프로그래밍/Docker 2023. 12. 31. 23:43
CICD. 더 나아가 쿠버네티스까지의 학습을 위해 패캠 강의를 구매하여 도커를 공부하기 시작했다. 첫 글은 도커의 기초를 작성하였다. 도커의 코어 5가지 1. 이미지 2. 컨테이너 3. 네트워크 4. 리소스 매니지먼트 5. 볼륨 컨테이너 어플리케이션을 언제든 실행 가능 하도록 필요한 요소를 하나의 런타임 환경으로 패키징한 논리적인 공간 어플리케이션과 필요 요소를 하나로 패키징하여 실행하게 만든 운영시스템을 가상화한 경량의 격리된 프로세스 -> microVM 이라고도 함 -> OS 수준의 가상화 제공 -> 독립성을 갖기 때문에 다른 컨테이너에 영향을 주지않는 stateless 환경 특징 1. 컨테이너는 최소한의 이미지를 통해 실행되므로 경량이다. 2. 어떤 환경에서든 동작가능하기에 이식성을 갖고 있다. 컨..
-
[MVC] Model은 어디로 갔을까?프로그래밍/Spring 2023. 11. 22. 19:01
스프링 기초강의를 보면 항상 나오는 것이 Model 이다. 하지만 여기서 본 이후로 지금까지 단 한번도 본 적도 없으며, 사용해 본적도 없는데 스프링에서 가장 중요하다고 할 수 있는 MVC 패턴 그 중 하나임에도 왜 쓰이지 않는 것일까? MVC란? MVC C 요청받음 -> Model 에서 비즈니스로직을 사용하여 데이터 저장 -> V 로 전달 현재 많이 쓰이는 3계층 아키텍처는 C 요청받음 -> service에서 비즈니스로직을 굴리고 repository를 통해 DB 활용 -> http 응답으로 전달 으로 변하였다. View는 프론트엔드로 넘어가고 프론트엔드에게 데이터전달을 위해 Http를 사용하여 데이터를 보내주는 것이다. Model이 안보이는 이유 최근에는 MVC 패턴이 더 구체화되고 발전하였기 때문에 ..
-
스프링 TMI. 영속성컨텍스트에서 준영속상태가 누적된다면?프로그래밍/Spring 2023. 11. 15. 15:37
영속성컨텍스트를 복습하던 중 이러한 의문이 들었다 . 준영속상태에서 merge를 할 경우 복사된 데이터가 반환된다. 그러면 기존의 데이터는 어떻게 되는가? 기존 준영속 상태의 엔티티 이 엔티티는 여전히 준영속상태를 유지하며, 새로운 영속성 컨텍스트에는 속하지 않는다. 새로운 영속 상태의 엔티티 merge 메소드의 반환값으로 들어온 엔티티. 그렇다면 이러한 merge가 계속 반복되면 준영속상태의 엔티티가 쌓일텐데 데이터의 누적으로 인한 문제가 생기지 않게 하려면 저데이터들을 지워줘야하는게 아닐까? 어떻게 지우지? 사고의 흐름 em.close를 해서 영속성컨텍스트를 닫아버리면 지워지나? 실행결과 close를 해도 지워지지 않았다. 하지만 나의 궁금증은 쓸모없는 궁금증이었다. 요약해서 말하자면 준영속상태의 데..
-
깔끔한 코드 작성에 관한 의문 (과 해결)프로그래밍/Java 2023. 11. 14. 21:14
소트웍스 앤솔러지 라는 책을 읽은 사람의 책을 보며 이러한 궁금증이 생겼다. 메소드 분리 규칙1. 한 메소드에 오직 한 단계의 들여쓰기만 한다. 규칙2. else 예약어를 쓰지않는다. 객체 분리 규칙3. 모든 원시값과 문자열을 포장한다. 규칙7. 일급 컬렉션을 쓴다. 볼드 처리한 3개의 규칙이 무엇인지 궁금증이 생겼고 튜터님을 통해 이 궁금증을 해결하였다. 첫번째 규칙2. else 예약어를 쓰지않는다. 간단히 말하면 else를 쓰면 분기가 생긴다. 그래서 코드가 깔끔하게 읽히지 않으며, 규칙1인 들여쓰기를 줄이기 위함도 있다. public ~~~~~~~~~{ int chooseMenu = sc.nextInt(); sc.nextLine(); if (chooseMenu == 1) { System.out.pr..
-
스프링 입문 + 웹프로그래밍/Spring 2023. 11. 8. 21:39
Spring Framework 모델-뷰-컨트롤러 아키텍처: MVC 모델(model) : 컨트롤러와 데이터를 연결하고 비즈니스 로직이 작성된다. @Service 뷰 (view) : 사용자 인터페이스 담당. FE가 전담 컨트롤러 (controller) : 사용자의 요청을 처리하고 모델과 뷰 사이를 연결 @Controller MVC를 기반으로 모든 스프링 프레임워크가 짜여져있다. Bean 관리 싱글톤 (singleton) 패턴 기본적으로 스프링은 각 빈 정의에 대해 하나의 객체 인스턴스만을 생성한다. 이것이 싱글톤 디자인 패턴을 따르는 것으로, 같은 빈 ID나 이름으로 컨테이너에 요청을 하면, 스프링은 항상 동일한 객체 인스턴스를 반환한다. @컨트롤러, @서비스 라고 되어있는 부분에서는 내부 프로퍼티를 사용하..