분류 전체보기

    [Eclipse] 웹 프로젝트 생성 (dynamic web project) (feat.JSP & Servlet)

    [Eclipse] 웹 프로젝트 생성 (dynamic web project) (feat.JSP & Servlet)

    📌웹 프로젝트 생성하기 💡JSP 1. 그림과 같이 Project Explorer 뷰에서 마우스 우측 버튼 클릭한 후 차례대로 선택해준다. 2. Project name을 각자 지정하고 ( ex) JspProject ) [Finish] 버튼을 클릭한다. 2-1. 만약 Project 생성 후에 WebContent 폴더가 있는 경우 2-1번은 스킵해도 된다. (WebContent 안보이는 경우) 2번 이미지에서 [Next] 클릭해준다. 그리고 [Next]로 넘기다가 ContentDirectory 입력 칸에 WebContent를 넣어주면된다. 3. [WebContent] > [New] > [JSP File] > File Name : Test로 생성 4. 생성된 Test.jsp 에서 " " 사이에 "테스트" 문자열..

    Spring 스프링(Spring) 설치하기 (feat. Eclipse)

    📌스프링(Spring) 이클립스에 설치하기 1. [이클립스(Eclipse)] 실행 > 상단에 있는 [Help] 클릭 > [Eclipse Marketplace] 클릭 2. [sts] 검색 > 아래 빨간 네모 박스 설치 Spring Tools 3과 아래에 있는 Spring Tools 4의 차이점은 무엇일까? Spring Tools 4은 Spring Boot만 존재한다. 때문에 나는 Spring을 배우는 입장이니 Spring Tools 3을 설치하였다. 3. [Confirm]을 눌러 설치하여 동의하고 [Finish]를 누른다. 4. [Select All] 클릭 > [Trust Selected] 클릭 5. 다 설치되면 [Restart Now] 클릭 하여 Eclipse 다시 시작 📌스프링(Spring) 프로젝트 ..

    Spring AOP(Aspect Oriented Programming) (+AOP 실습)

    Spring AOP(Aspect Oriented Programming) (+AOP 실습)

    AOP: 관점 지향 프로그래 AOP:Aspect Orented Programming는 관점 지향 프로그래밍이라고 말하는데 여기서 관점이란 관심사라는 말로 쓰인다. 이러한 관심사의 예로는 프로그램의 실행 시간이 얼마인지 측정하거나 트랜잭션을 적용하는 것 등이 있다. 이러한 관심사들은 '핵심 로직'은 아니지만, 코드를 완전하게 만들기 위해서는 필요한 것들이다. 과거에는 핵심 로직(비즈니스 로직)을 구현하면서 내부에 필요한 관심사를 두어 처리하는 방식을 사용했다면 AOP는 과거 개발자가 작성했던 '관심사 + 핵심로직(비즈니스 로직)'을 분리해서 별도의 코드로 작성하도록 하고(관심사의 분리) 실행할 때 이를 결합하는 방식으로 접근하였다. 관심사와 핵심로직은 코드를 컴파일 혹은 실행 시점에 결합이 된다. 실제 실..

    [Java] SOLID: 객체 지향 설계 5원칙

    📌SOLID: 객체 지향 설계 5원칙 https://yeo-computerclass.tistory.com/246 [Java] 객체 지향(OOP)의 4대 특성 📌객체 지향(OOP)의 4대 특성 캡슐화: 정보 은닉 상속: 재사용 추상화: 모델링 다형성: 사용 편의 💡추상화: 모델링 추상이란? 나에게 추상적이란 뜻은 구체적의 반대. 즉, 구체성이 없어서 무언 yeo-computerclass.tistory.com 바로 전의 객체 지향(OOP)의 4대 특성에 대해 설명을 하였다. 객체 지향의 4대 특성을 올바르게 사용하는 방법, 객체 지향 언어를 이용해 객체 지향 프로그램을 올바르게 설계해 나가는 원칙이 있다. 그것이 바로 객체 지향 설계 5원칙이며 5가지 원칙의 앞머리 알파벳을 따서 SOLID라 한다. SRP(..

    [Java] 객체 지향(OOP)의 4대 특성

    📌객체 지향(OOP)의 4대 특성 캡슐화: 정보 은닉 상속: 재사용 추상화: 모델링 다형성: 사용 편의 💡추상화: 모델링 추상이란? 나에게 추상적이란 뜻은 구체적의 반대. 즉, 구체성이 없어서 무언가로 표현하기 어려운 것이라는 뜻으로 받아들였다. 나처럼 추상적이란 정의를 이런 뜻으로 받아들이고 있으면 추상화란 의미를 이해하기 힘들 것이다. 정의를 다시 살펴보도록 하겠다. 추상이란 여러 가지 사물이나 개념에서 공통되는 특성이나 속성 따위를 추출하여 파악하는 작용이다. 여기서 공통되는 특성이나 속성 따위를 추출한다는 말에 주목을 하여야 한다. 왜 피카소의 그림을 추상화라 부르고 수학이 추상적인 학문이라 할까? 피카소의 추상화 경우, 눈에 보이는 그대로의 모습이 아닌 작가가 마음속에 느껴지는 그 사람의 특징을..

    [Java] 프로그램 메모리 저장 방식

    [Java] 프로그램 메모리 저장 방식

    📌프로그램이 메모리 사용하는 방식 데이터 저장 영역 = 스태틱 영역 + 스택 영역 + 힙 영역 💡main 메소드 실행될 때 데이터 저장 영역 JRE는 프로그램안에 main() 메소드가 있나 확인한다. main() 메소드 존재가 확인되면 JVM에 전원을 넣어 부팅한다. JVM은 목적 파일을 받아 목적 파일을 실행한다. JVM은 java.lang 패키지를 데이터 영역의 스태틱 영역에 가져다 놓는다. 개발자가 작성한 모든 클래스와 import 패키지를 스태틱 영역에 가져다 놓는다. main() 메소드 구동 위해 스택 프레임이 스택 영역에 할당된다. 정확히 말하면 클래스 정의를 시작하는 중괄호를 제외한 모든 여는 중괄호를 만날 때마다 스택 프레임이 하나씩 스택 영역에 할당된다. 메소드의 인자를 저장할 변수 공간..

    MyBatis 동적 SQL 사용 (예시. 항목 별 정렬)

    MyBatis 동적 SQL 사용 (예시. 항목 별 정렬)

    동적 SQL 필요성 MyBatis의 동적 SQL 기능 --1 select * from board; --2 select * from board where title = 'winter'; --3 select * from board where title = 'winter' and content = 'summer'; 위 쿼리 세 개는 게시판에서 SELECT문을 사용하여 데이터를 추출하고 있습니다. 위 세 쿼리들은 조건절만 다르기 때문에 MyBatis의 동적 SQL 기능을 사용하면 세 개의 SQL문을 한 개의 SQL문으로 구현이 가능합니다. 태그 SQL 문 SQL 문 태그 사용법 SQL 문 예제 --예제1 SELECT * FROM board title = #{title} and content = #{content..

    [mybatis] mybatis 설정 파일

    📌mybatis 설정 파일 mybatis 프레임워크 자체 커넥션풀(Connection Pool)을 구축할 수 있다. 여러 개의 DB 연결 정보를 설정해 두고 실행 상황(운영, 개발 등)에 따라 사용할 DB를 지정할 수 있다. 실행 성능을 높이기 위해 SELECT 결과를 캐싱해 둘 수 있다. SQL 맵퍼 파일에서 사용할 값 객체(VO)에 대해 별칭을 부여할 수 있다. 바로 이런 mybatis 프레임워크의 동작 환경을 설정하는 파일이 바로 mybatis 설정 파일이다. 💡 루트 엘리먼트 mybatis 설정 파일의 루트 엘리먼트는 configuration 이다. configuration의 자식 엘리먼트 엘리먼트 용도 properties 프로퍼티 파일이 있는 경로 설정 를 사용하여 개별 프로퍼티 정의도 가능하다..