전체 글 230

Bank App 만들기 - 화면 구현(템플릿 가져오기)

https://www.w3schools.com/bootstrap4/tryit.asp?filename=trybs_template1 W3Schools online HTML editorThe W3Schools online code editor allows you to edit code and view the result in your browserwww.w3schools.com  결과 확인하기간단하게 설명해서 우리가 생성한 서버에서 접근 방식을 호스트명:포트번호:자원의위치를 통해서 요청하였고 HTML 파일 형식으로 응답 받은 후 우리 로컬 프로그램인 웹 브라우저가 태그를 분석해서 렌더링 과정을 확인하였다. SSR 렌더링을 하기 위해 yml 설정 파일을 한 번 더 확인하자.SSR(Server-Side Rende..

Spring boot 2024.08.06

Bank App 만들기 - 모델링

모델링(modeling)현실 세계의 시스템이나 프로세스를 컴퓨터 시스템 내에서 표현하기 위해 추상화하는 과정을 의미한다. 이 과정에서 중요한 정보를 식별하고, 해당 정보 간의 관계를 정의하여 데이터 구조나 알고리즘 등을 설계한다. 모델링은 소프트웨어 개발 과정에서 요구사항 분석, 설계, 구현 전 단계에서 중요한 역할을 한다. 특히, 데이터베이스 모델링은 정보 시스템의 데이터 구조를 설계하는 데 중점을 둔다.DB에 존재하는 데이터 타입과 자바에서 사용하는 데이터 타입은 일치하지 않는다. DB 세상에 있는 존재들을 자바 세상에 존재할 수 있도록 모델링 해보자.  ORM (Object-Relational Mapping)ORM은 객체-관계 매핑을 의미하며, 객체 지향 프로그래밍 언어를 사용하여 생성된 객체와 관..

Spring boot 2024.08.06

REST API

REST API의 탄생REST는 Representational State Transfer라는 용어의 약자로서 2000년도에 로이 필딩(Roy Fielding)의 박사학위 논문에서 최초로 소개되었다. 로이 필딩은 HTTP의 주요 저자 중 한 사람으로 그 당시 웹(HTTP) 설계의 우수성에 비해 제대로 사용되어지지 못하는 모습에 안타까워하며 웹의 장점을 최대한 활용할 수 있는 아키텍처로써 REST를 발표했다고 한다. REST 구성쉽게 말해 RESP API는 다음의 구성으로 이루어져 있다.자원(RESOURCE) - URI행위(Verb) - HTTP METHOD표현(Representations)1) URI는 정보의 자원을 표현해야 한다. (리소스 명은 동사보다 명사를 사용)GET /members/delete/1..

Spring boot 2024.08.06

Bank App 만들기 - 코딩 컨벤션

코딩 컨벤션(coding convention)은 특정 프로그래밍 언어로 코드를 작성할 때 따르는 스타일 가이드 또는 규칙 세트 이다. 이는 변수명, 메서드명, 클래스명의 네이밍 규칙, 들여쓰기, 주석 작성 법, 파일 구조, 코드 정렬 방식 등 프로그램의 가독성, 유지보수성, 일관성을 향상시키기 위한 방법론을 포함한다. 코딩 컨벤션 정의1. 정적 파일 (CSS, XML, JS)규칙 : 소문자 사용, 단어 간 구분은 스네이크 케이스 (_)로 한다.예시 : style_sheet.css, config_file.xml, main_script.js2. JSP 파일규칙 : 카멜 케이스(CamelCase)를 사용하여 첫 글자는 소문자로 시작한다.예시 : home.jsp, accountPage.jsp3. 자바 파일 (클..

Spring boot 2024.08.06

Bank App 만들기 - 패키지 설정

패키지 및 폴더 구조 잡기패키지(Package)는 관련된 클래스, 인터페이스, 서브패키지 등을 그룹화 하여 정리하는 방법이다.Java에서 패키지는 네임스페이스를 제공하여 클래스 이름 간 충돌을 방지하고, 보다 체계적으로 코드를 조직화할 수 있게 한다. 패키지는 물리적으로 파일 시스템의 디렉토리에 해당하며, 패키지 내의 클래스나 인터페이스는 이 디렉토리 내에 위치한다.즉, 우리는 주 언어 파일들을 모아두는 폴더를 패키지라 부른다. Spring Boot WEB MVC 프레임 워크에서는정적 자원을 두는 패키지 src/main/resource/static(정적 자원 루트 폴더) : css, js, image 파일 등을 넣어 둘 수 있다.동적자원(JSP 활용) : 이 예제에서는 webapp/WEB-INF(보안폴더..

Spring boot 2024.08.06

Bank App 만들기 - yml 파일 설정하기

yml 파일과 문법 이해 및 설정Spring Boot 프로젝트 설정을 yml 형식의 문법을 사용할 것이다.설정파일 기본 확장자 properties 에서 yml 형식의 파일로 변경한다.이는 보일러플레이트 코드를 줄이기 위함과 좀 더 간편한 진행을 위한 과정이다. : 파일 확장자명을 수정 참고application.properties 파일은 Spring Boot 애플리케이션의 설정을 관리하는 핵심 요소 중 하나로, 스프링 레거시 프로젝트에서 사용되는 XML 기반의 설정 파일들과 비교할 때 몇 가지 중요한 차이점과 역할을 가지고 있다.Spring Boot의 application.properties의 역할설정의 단순화 : Spring Boot는 "convention over configuration" 원칙을 따른..

Spring boot 2024.08.06

Bank App 만들기 - 프로젝트 설정

Bank App 만들기 프로젝트프로젝트 목표- Spring Boot 프레임워크 기반 : Spring Boot의 기본 동작 원리를 이해하고 활용한다. 이를 통해, 개발자는 Spring Boot를 사용하여 빠르고 효율적으로 어플리케이션을 구축할 수 있다.- MVC 패턴 구현 : JSP(JavaServer Pages) 템플릿 엔진을 사용하여 MVC(Model-View-Controller) 패턴을 구현한다. MVC 패턴을 통해 어플리케이션의 구조를 명확하게 분리함으로써, 유지보수성과 확장성이 향상된다.-비즈니스 로직 생성 : 프로젝트 내에서 필요한 비즈니스 로직을 설계하고 구현한다. 이 과정에서 Spring Boot의 다양한 기능을 활용하여, 요구 사항을 충족하는 비즈니스 로직을 개발한다.-DB 접근 기술 활용..

Spring boot 2024.08.06

JDK 21 설치 메뉴얼

JDKJDK는 Java Development kit의 약자로, 자바 언어를 이용한 소프트웨어 개발을 위한 프로그래밍 도구들의 모음이다.이것은 자바 컴파일러(javac), 자바 런타임 환경(JRE), 문서 생성 도구(javadoc) 등 다양한 도구를 포함하고 있다.JDK를 통해 개발자들은 자바 언어로 작성된 코드를 컴파일하고, 실행하며, 디버깅할 수 있다.과거에는 많이 사용되었던 OracleJDK 하지만2023년 기준 아마존 JDK인 corretto가 이 점유율을 넘어섰다.자료 출처https://zdnet.co.kr/view/?no=20230503065956 AWS, JDK 점유율 오라클 넘었다아마존웹서비스(AWS)의 자바개발키트(JDK)인 아마존 코레토가 사용자 점유율 1위를 기록했다. 공식 자바 제공업..

설치메뉴얼 2024.08.02

JS 이벤트 처리 - Ajax 와 Fetch

AJAXAJAX (Asynchronous JavaScript and XML)AJAX는 웹 페이지에서 서버와 비동기적으로 데이터를 주고받기 위한 기술이다.전통적인 방식의 문제점 - 웹 페이지에서 데이터를 서버로 전송하면 새로운 페이지를 로드해야 했다.- 이로 인해 화면이 깜빡이거나, 데이터 양이 많을 경우 웹 사이트가 느려지는 문제가 발생AJAX의 장점- 웹 페이지의 특정 부분만을 동적으로 업데이트하여 전체 페이지 리로드 없이 데이터 갱신 가능- 사용자 경험이 향상되며, 서버 부하 감소로 웹 애플리케이션의 성능 개선 가능기술적 세부 사항- 원래 XMLHttpRequest 객체를 이용하여 서버와 비동기 통신- 최근에는 더 간편한 fetch API가 많이 사용됨  Fatch API웹 브라우저에서 제공하는 인터..

JS 2024.08.02

JS 이벤트 처리 - Promise

Promise 타입자바스크립트 Promise는 비동기 작업을 처리하기 위한 객체이다. Promise는 어떤 작업의 결과를 반환하는 객체로서, 이를 통해 비동기적으로 실행되는 작업을 처리하고 그 결과를 콜백 함수 등을 이용해 처리할 수 있다. Promise는 총 세가지 상태를 갖는다. 대기(pending) : Promise 객체가 생성되었으나 아직 처리가 진행되지 않은 상태이행(fulfilled) : Promise 객체가 처리를 완료하여 결과를 반환한 상태거부(rejected) : Promise 객체가 처리를 실패하였거나 오류가 발생한 상태웹 브라우저 안에 자바스크립트 엔진은 싱글 스레드로 동작하며, 이벤트 루프를 통해 비동기 작업을 처리한다.  사전 기반 지식 - 자바스크립트 엔진(v8)JS 엔진 내부만..

JS 2024.08.02