전체 글

전체 글

    [독서 기록] 스프링5 프로그래밍 입문 - 최범균 저

    https://search.shopping.naver.com/book/catalog/32458958626 스프링5 프로그래밍 입문 : 네이버 도서 네이버 도서 상세정보를 제공합니다. search.shopping.naver.com 지난 한 주 동안 최범균님의 스프링 5 프로그래밍 입문을 완독했다. 해당 책을 읽으며 느낀 점을 기록하고자 한다. [ 배경지식 ] 위 책은 스프링 프레임워크를 처음 접하는 개발자를 위한 책이지만, Java 입문자를 위한 책은 아니다. 또한, Java 기반 웹 기발의 기초인 Servlet과 JSP에 대한 설명이 없기 때문에 이 책을 읽기 위해선 다음과 같은 배경지식이 요구된다. Java 기초 문법 Servlet과 JSP(EL 등) - 유튜브 '뉴렉처'님의 Servlet 강의 추천 ..

    [Java] JVM, Java 환경변수 설정(Mac, 기본 zsh 쉘)

    ※ 본문은 혼자 공부한 내용을 기록한 글입니다. 오개념이 있다면 댓글로 알려주세요! [ 1 ] JVM이란? JVM이란 Java Virtual Machine을 줄인 것으로 'Java를 실행하기 위한 가상 기계'이다. - Java의 정석(남궁성) 컴퓨터의 성능이 향상됨에 따라 많은 하드웨어들이 '소프트웨어화'되어 컴퓨터 속으로 들어오고 있다. 그 예시로 TV를 소프트웨어화한 '윈도우 미디어 플레이어' 등이 있으며 우리는 이처럼 소프트웨어로 구현된 하드웨어를 '가상 기계(Virtual Machine)'라고 한다. JVM은 결국 Java를 실행하는 '가상 컴퓨터'이며, 이는 실제 컴퓨터(하드웨어)가 아닌 소프트웨어로 구현된 컴퓨터를 의미한다. 즉, 컴퓨터(하드웨어) 속의 Java를 실행하는 컴퓨터(소프트웨어)가..

    [기록] 1월 둘째 주 질문 정리

    코딩 공부를 하다보면 '왜 이것을 사용할까?', '이 메소드는 어떤 방식으로 작동하는 것일까?'와 같은 질문들을 자주 하게 된다. 이러한 궁금증을 해결하기 위해 매주 스스로에게 했던 질문들을 정리하고 해소하는 시간을 가지고자 한다. [ 1 ] EL의 작동 원리 처음 EL을 접했을 때 굉장히 신기했다. 멤버 변수를 private로 설정하고, getter/setter를 둔 객체에 멤버 변수가 마치 public인 것처럼 접근할 수 있었기 때문이다. (EL의 표현식 자체가 신기했다) 검색 결과 "EL은 JavaBean의 값을 JSP의 코드블록 이나 액션 태그 을 사용하는 것보다 쉽고 간결하게 꺼낼 수 있는 기술"임을 알 수 있었고, 자연스럽게 JavaBean에 대해서도 공부할 수 있었다. JavaBean이란 J..

    [MySQL] CRUD 명령어

    [ 1 ] Create Create는 데이터를 데이터베이스에 넣어주는 작업이다. [ 1-1 ] 삽입할 column을 직접 지정하는 경우 INSERT INTO table_name (column1, column2, column3 ...) VALUES (value1, value2, value3 ...); 지정한 column에는 value가 들어가고, 지정하지 않은 column에는 default 값이 들어간다. [ 1-2 ] 모든 column에 데이터를 넣는 경우 INSERT INTO table_name VALUES (value1, value2, value3 ...); 모든 column에 데이터를 넣는 경우에는 따로 column을 명시할 필요가 없다. ※ 단, 각 column에는 부합하는 타입의 데이터를 넣어야..

    [Servlet & Jsp] MVC 패턴, Model 1, Model 2

    ※ 본문은 혼자 공부한 내용을 기록한 글입니다. 오개념이 있다면 댓글로 알려주세요! [ 1 ] MVC 패턴 MVC(Model - View - Controller)는 UI, 데이터 및 논리제어를 구현하는 데 사용되는 소프트웨어 디자인 패턴이다. [ Model ] 비즈니스 영역의 상태 정보 처리, 데이터 가공 등 데이터 및 비즈니스 로직을 관리한다. [ View ] 사용자에게 실제적으로 보여지는 부분, 즉 UI를 의미한다. [ Controller ] Model과 View 사이를 이어주는 브릿지 역할을 하며 사용자의 입력 및 흐름을 제어한다. 즉, Model을 통해 알맞은 비즈니스 로직을 처리한 후 사용자에게 보여줄 적절한 View를 선택한다. [ MVC 패턴을 사용하는 이유 ] 만약 MVC를 구분하지 않고,..

    [MySQL] MySQL 서버 실행 및 종료

    [ Mac 에서 MySQL 서버 실행 및 종료 ] (1) 서버 실행 mysql.server start (2) root로 접속 mysql -uroot -p비밀번호 (3) 서버 종료 mysql> \q mysql.server stop

    [Servlet & Jsp] Jsp 구조, 코드블록

    ※ 본문은 혼자 공부한 내용을 기록한 글입니다. 오개념이 있다면 댓글로 알려주세요! [ 1 ] JSP란? Servlet은 자바 코드 내에 HTML 코드가 있기 때문에 HTML 출력이 많은 결과 페이지를 나타내는 데 적합하지 못하다(모든 HTML 코드를 out.write()로 감싸줘야 하기 때문). 이와 달리 JSP는 HTML 코드 내에 자바 소스코드가 들어가기에 HTML 코드를 작성하는 데 간편하다는 장점이 있다. 그렇다면 간편한 JSP만 사용하면 될텐데, 지금까지 왜 Servlet을 학습했던 것일까? 그 이유는 JSP는 결국 Servlet으로 변환되기 때문이다. 클라이언트가 JSP를 요청하면, JSP 컨테이너는 JSP를 Servlet으로 변환하는 작업을 수행한다. 실제로 간단한 JSP 파일 생성 후 변..

    [Servlet & Jsp] Servlet 생명주기, service, doGet, doPost

    ※ 본문은 혼자 공부한 내용을 기록한 글입니다. 오개념이 있다면 댓글로 알려주세요! [ 1 ] Servlet 생명주기 Servlet은 Servlet Container에 의해 관리되며, Servlet Container는 Servlet의 생명주기 관리, 멀티스레딩 관리 등의 기능을 수행한다. Servlet의 생명주기는 다음과 같다. (1) WAS가 서블릿 요청을 받으면 해당 서블릿의 객체가 메모리에 있는지 확인 (2) 만약 메모리에 없다면 → 해당 서블릿 클래스를 메모리에 올림 → init() 메소드를 호출 → service() 메소드를 호출 만약 메모리에 해당 서블릿 객체가 존재한다면 → service() 메소드를 바로 호출 (3) WAS 종료 시 혹은 init() 메소드 수정 등 객체 삭제해야 할 때 d..