개인공부/Web 9

MakeFile 인식/실행 에러

MakeFile 정의해둔 db-up을 찾지 못한다.. 플러그인을 설치해준다. 다시 도전! 잘 되나 싶다가.. 에러! 동작하고 있는 3306 포트를 죽여준다. netstat -ano | findstr :[port] taskkill /f /pid [pid] 엥.. 거부?????? 아! 관리자 모드로 실행하자! 다시 도전! 3306 포트가 죽었다. 잘 작동 되었다 ㅎㅎㅎㅎㅎㅎ 도커 컨테이너를 확인해 보자! batch_service 안에 mysql이 잘 생성 되었다 ㅎㅎㅎㅎ! 끝.

개인공부/Web 2023.04.11

[OS]프로세스 VS 스레드/ 멀티 프로세스 VS 멀티 스레드

1. 프로세스(process) 메모리에 적재되어 실행중인 프로그램(코드의 집합)을 의미한다. 프로세스는 한개 이상의 스레드를 가진다. 보통 (부연 설명 없는) 프로세스는 단일 스레드 프로세스를 의미한다. 예를 들면, 크롬과 카카오톡을 동시에 사용하고 싶지만 불가능하다. 크롬을 실행하여 사용한뒤 끄고 카카오톡을 실행하여 사용해야한다. (Context Switching) Context Switching? CPU에서 여러 프로세스를 돌아가면서 작업을 처리하는 과정을 의미한다. CPU는 한번에 한개의 프로세스만 실행 가능하다.동작 중인 프로세스가 대기를 하면서 해당 프로세스의 상태(Context)를 보관하고, 대기하고 있던 다음 순서의 프로세스가 동작하면서 이전에 보관했던 프로세스의 상태를 복구하는 작업을 말한..

개인공부/Web 2023.02.12

[Spring]MVC 패턴은 무엇인가?

1. MVC (Model - View - Controller) 패턴? 모델 - 뷰 - 컨트롤러로 애플리케이션을 세 가지 역할로 구분한 개발 방법론이다. Model: 데이터 관련 부분 Model은 View, Controller에 종속되지 않아야한다. View : 사용자한테 보여지는 부분 View는 Model에만 종속 되어야한다. Model에게 데이터를 받을 때 사용자마다 달라지는 부분에 대해서만 받아야한다. Model에게 데이터를 받을 때 반드시 Controller를 통해 받아야한다. Controller : Model과 View를 이어주는 부분 Controller 는 Model과 View와 종속될 수 있다.(중개인) 2. MVC 패턴을 사용하는 이유? 역할을 구분하면서 유지보수와 협업이 편해지기 때문이다...

개인공부/Web 2023.02.12

[Spring]Spring Framework의 3가지 특징

멘토님이 자주 하는 멘트로 ' 이건 스프링스럽지 않아! ' ' 이렇게하면 좀 더 스프링스러울거 같아! '라는 말씀을 자주하셨는데 이러한 특징들 때문이였구나 알게되는 시간이였습니다. 저도 스프링스럽다!를 외치는 그날이 오길 바라며 스프링에 대한 특징을 공부해보았습니다. 1. 제어의 역전(IoC,Inversion of Control) 스프링 IoC 컨테이너가 관리하는 객체들을 Bean이라고 한다. (스프링이 Bean 객체들을 관리한다.) 스프링이 실행될때 객체를 생성하고 , 필요한곳에 주입(DI)시켜준다.(싱클톤 패턴의 특징을 가진다.) 개발자는 객체관리에 신경쓰지 않고 다른 곳에 집중할 수 있다. 싱클톤 패턴? 디자인 패턴 중 한가지로 한개의 인스턴스만 생성하여 사용한다. 생성자가 여러번 호출되도, 실제로..

개인공부/Web 2023.02.11

[Spring] Spring/Framework/Library

면접 질문중에 스프링은 무엇인가요?, 솔이씨가 생각하는 스프링은 무엇인가요? 라는 질문에 원하는 대답을 하지 못했다. 스프링을 공부했고, 백엔드 개발자가 되길 원하면서도 너무나도 기본적인 질문에 우물쭈물한 내 자신에게 실망했다.. 부족함을 인정하고 이번 기회로 정말 기초적인것들을 다시 한번 정리하면서 공부하고자한다. 머리로는 알고 있지만 설명하라고 했을때 말로 설명 못한다면..모르는거다! 라고 나는 생각하기 때문에! 1. Spring은 무엇인가? 공식 홈페이지를 들어가니 바로 답을 알려준다. https://spring.io/ Spring | Home Cloud Your code, any cloud—we’ve got you covered. Connect and scale your services, what..

개인공부/Web 2023.02.10

[spring]스프링 처음부터 공부하기(4)

스프링 빈을 등록하고, 의존관계 설정한다. 스프링 빈을 등록하는 2가지 방법이 있다. 1. 컴포넌트 스캔과 자동 의존관계 설정(@Autowired) @Component가 @Controller, @Service, @Repository을 포함하기 때문에 스프링빈으로 자동 등록된다. 스프링은 스프링 컨테이너에 스프링 빈을 등록할때 기본적으로 싱글톤으로 등록한다. (유일하게 하나만 등록해서 공유한다.) 따라서 같은 스프링 빈이면 모두 같은 인스턴스다. 특수한 경우 싱글톤이 아니게 설정이 가능하다. @Controller를 Ctrl+클릭해서 들어가보면 @Component가 포함되어 있다.(@Service, @Repository도 동일) @Autowired 를 사용하여 컨트롤러 -> 서비스 -> 레포짓토리를 연결해준..

개인공부/Web 2022.12.26

[spring]스프링 처음부터 공부하기(3)

비즈니스 요구사항 정리 데이터: 회원ID,이름 기능: 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) : 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계, 데이터 저장소는 RDB, NoSQL 등 다양한 저장소를 고민중인 사황으로 가정, 개발 진행을 위해 초기 개발 단계에서는 가벼운 메모리 기반의 데이터 저장소 사용 일반적인 웹 애플리케이션 계층 구조 컨트롤러: 웹MVC의 컨트롤러 역할 서비스:핵심 비즈니스 로직 구현 레포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인: 비지니스 도메인 객체 ex)회원,주문,쿠폰 등 주로 데이터베이스에 저장하고 관리됨 domain repository 인터페이스 생성 임플리먼츠 해주기! Test case 작성 main ..

개인공부/Web 2022.12.25

[spring] 스프링 처음부터 공부하기(2)

MVC 방식으로 작성해보도록하자! 동작방식 웹브라우저 (loclhost:8080/hello-mvc) -> 내장 톰캣 서버 -> helloController(retrun:hello-template ,model(name:solyiTest)) -> viewResolver(templates/hello-template.html 타임리프 템플릿 엔진처리) -> 내장 톰캣서버 ->웹브라우저(hello-template.html 변환후) 컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버가 화면을 찾아서 처리한다. - 스프링부트 템플릿엔진 viewName 매핑 - resources:templates/ + {viewName} + .html 참고: spring-boot-devtools 라이브러리를 추가하면, html 파일을..

개인공부/Web 2022.12.25

[spring] 스프링 처음부터 공부하기(1)

간단한 프로젝트를 직접 만들면서 스프링에 대해 공부하고자 한다.! 나는 스프링웹과 타임리프를 사용하여 만들것이다. Thymeleaf란? 타임리프(Thymeleaf)는 템플릿 엔진의 일종이며 웹과 웹 환경이 아닌 양쪽에서 텍스트, HTML, XML, JS, CSS 등을 생성할 수 있는 템플릿 엔진이다.타임리프(Thymeleaf)는 스프링 MVC와의 통합 모듈을 제공하고 Application에서 JSP로 만든 기능들을 대체할 수 있다.즉, JSP 처럼 HTML 태그에 속성을 추가하여 동적으로 값을 처리할 수 있다. ↓ ↓ ↓ START ↓ ↓ ↓ 스프링부트 스타터 사이트로 들어간다. https://start.spring.io/ Project Metadata Group에는 보통 기업명을 적는다고한다. Arti..

개인공부/Web 2022.12.25