Blocking, Non-Blocking 너무 헷갈린다. 심지어 동기, 비동기라는 비슷한 개념까지 너무 같이 나와서 헷갈리기에 이번 글을 통해 정리해보기로 하였다.Sync(동기): 서버에서 요청을 보냈을 때 응답이 돌아와야 다음 동작을 수행할 수 있다. A, B작업이
위 2개의 코드만 보면 둘 다 lxxjn0라는 문자열을 만든 것이다. 그렇지만 표현 방법에서부터 다르게 된다면 분명히 뭔가가 다를 거다.위 코드는 애초에 메모리의 heap 영역에 저장이 된다. 그러면 도대체 어떻게 저장이 되길래 서로 다른 형태를 띄는 것일까?위 그림처
이번 장에서 뷰에서 입력한 값을 서버로 보내고 컨트롤러가 받는 방법에 대해 설명한다.서버에서 전송되는 값을 '요청 파라미터'라고 합니다.@RequestParam 어노테이션은 스프링이 쿼리, 양식 데이터 또는 임의의 사용자 정의 데이터로 전달될 수 있는 입력 데이터를 추
최근 어느 커뮤니티에서 대화를 나누는 도중 ci/cd에 대해서 어떻게 구현한 것인지에 대한 질문이 있었는데 그에 대한 답변에 대해서 스스로 바로 떠오르지 못했기 때문에 이번 글을 작성하게 되었다. 고민에 빠지게 된 질문 > 무중단 배포가 뭘까요? 그래서 여러가지
Template Engine 템플릿 엔진이란? > 데이터를 미리 정의된 템플릿에 바인딩해서 뷰의 출력을 도와주는 것이다. 이렇게 책에서는 나와있는데 사용자에게 보여줄 내용을 처리 결과 데이터를 가지고 HTML 생성해서 클라이언트에 응답을 돌려주는 역할을 한다.
{userName} : 윈도우의 환경변수{user} : ec2에서 ec2-user라는 값만 나오게 됨.userName, user라는 이름으로 안 만들고 다른 이름으로 해서 사용자 이름을 표시하는게 좋다.jar 파일 실행시 ec2에서 프리티어로 제공하는 RAM은 1GB라
항상 고민을 하곤 한다. Java 11을 쓸 지 Java 17을 사용할 지 왜냐하면 기본적으로 17이 더 최신으로 나오기도 하였고 LTS라고도 하기도 하고 하지만 결국엔 나중에 프로젝트를 대부분 시작하려고 하면 Spring 2.x 대에서는 거의 다 Java11을 사용하
MVC 모델이란 프로그램의 처리 역할을 나누어서 프로그램을 작성하는 방법 이라고 흔히 부른다.M(Model)V(View)C(Controller)풀어서 구체적으로 말하자면,MVC( Model -View-Controller)는 애플리케이션을 모델 , 뷰 및 컨트롤러의 세
뭐 일단 이런 코드였다. 그런데 내가 너무 궁금했던 것은 @Value(${ttkey}) 왜 안들어가냐? 였다. 여러가지 찾아보기도 하였고 하였다. 그래서 계속 @Service가 있던 TmdbApiClient에서 오류를 찾고 있었지만 보이지 않았다. 그러다 크나큰 오류를
아래 글은 스프링 프레임워크 첫걸음 책을 기반하여 작성한 글입니다.데이터베이스: 데이터를 보관하기 위한 상자관계형 데이터베이스? : 데이터를 표 형식으로 표현하고, 여러 표에서 항목의 값 사이에 관계를 맺고 있는 DBOracleOracle Database는 관계형 모델
영한님의 강의를 보며 진행을하면서 초기 설정을 하다가 Gradle로 해보고 싶어서 찾아보게 되었다.현재 사용하는 버전 및 잘 확인해야 한다!나는 spring initializer로 사용한 후 spring 부분은 주석처리한 후 필요한 hibernate 라이브버리만 추가시
이 글은 스프링 프레임워크 첫 걸음을 보고 정리한 글입니다.DI에 대해서 보기전에 우선 의존성이라는 단어에 대해서 생각해 볼 필요가 있다. 객체의 관점에서 보게 되면 A, B클래스가 있다고 할 때 A클래스에서 B클래스를 사용한다고 하면 다음과 같을거다.위 경우 처음엔
아래 글은 스프링 프레임워크 첫걸음 책을 기반하여 작성한 글입니다.인터페이스는 추상 메서드만을 가질 수 있고 구현메서드는 가질 수 없는 일종의 추상 클래스이다.인터페이스는 객체를 어떻게 구성해야 하는지 정리한 설계도이다.인터페이스는 객체의 다형성을 높여준다.인터페이스는
오늘 수업을 듣다가 교수님께서 다음과 같은 언급을 하셨다. 여러가지 언급들도 많았지만 Functional Overloading, Functional Overriding관련 얘기를 하셨다. 그러고 나서 들어보니 결국 자바에서 사용하는 메서드 오버로딩, 메서드 오버라이딩이
멀티 스레딩이라는 것에 대해서 알아보려고 하는데 그 전 스레드가 뭔지부터 보자.프로세스 내에서의 실행 흐름의 단위이다.한 프로세스는 여러개의 스레드를 가질 수 있다!경량 프로세스라고도 불린다.프로세스는 여러개의 스레드로 나뉠 수 있는데 예시로 MS word를 들 수 있
가정 : 1대인데 프로세서는 2개 이상이다.여러 개의 프로세서가 서로 협력적으로 일을 처리하는 것대표적으로 멀티 프로세스 구조를 웹 브라우저들이 가지고 있다. 그런데 왜? 멀티 프로세스로 구성이 되어있을까?싱글 프로세스로 했다면 브라우저의 탭이 여러 개일 경우 하나의
가정 : CPU가 싱글 코어일 경우를 말한다.컨텍스트 스위칭은 프로세스의 컨텍스트 또는 상태를 저장하여 필요할 때 다시 로드하고 이전과 동일한 지점에서 실행을 재개할 수 있도록 한다.멀티 코어인 경우에는 문맥 교환을 최소화하여 두 프로세스를 나눠서 실행할 수 있기 때문
프로세스(process)는 컴퓨터에서 연속적으로 실행되고 있는 컴퓨터 프로그램을 말한다. 종종 스케줄링의 대상이 되는 작업(task)이라는 용어와 거의 같은 의미로 쓰인다.즉 컴퓨터에서 실행되고 있는 프로그램을 프로세스라고 부른다.프로그램이 메모리에 올라가면 프로세스가
메모리는 기억을 위한 장치이다.라고 이전 시간에 컴퓨터의 구성요소를 알아보면서 공부했었다. 오늘은 그 메모리를 집중적으로 알아보자.메모리 계층은 레지스터, 캐시, RAM(주 기억장치), 저장장치(HDD,SSD), 보조기억장치 순으로 구성된다.메모리 계층 구조(Memor
용어를 보다가 기본적으로 듣지 못했던 개념이라 작성해본다. 일반적으로 알고있는 우리 SW는 2가지로 크게 나눌 수 있다.운영체제 (OS)응용 프로그램 (Application)운영체제는 크게 보면 관리자의 입장이라고 볼 수 있다. 그것은 어떤 역할을 하는지 확인하면 알