섹션0 강의 소개 강의 소개 - 섹션1 객체 지향 설계와 스프링 이야기 - 자바 진영의 추운 겨울과 스프링의 탄생 - 스프링이란? 스프링 생태계 필수 스프링 프레임워크 핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트, 기타 웹 기술: 스프링 MVC, 스프링 WebFlux 데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원 기술 통합: 캐시, 이메일, 원격접근, 스케줄링 언어: 코틀린, 그루비 최근에는 스프링 부트를 통해서 스프링 프레임워크의 기술들을 편리하게 사용 스프링 부트 스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성 Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨 손 쉬운 빌드..
섹션7 AOP AOP가 필요한 상황 모든 메서드의 호출 시간을 측정하고 싶다면? 아래처럼 시작 시간과 끝난 시간을 계산해야 한다 이는 메서드마다 정형화될 수 없기 때문에 일일이 처리하기 번거롭다 public Long join(Member member) { long start = System.currentTimeMillis(); try { // 중복 회원 이름 검증 validateDuplicateMember(member); memberRepository.save(member); return member.getId(); } finally { long finish = System.currentTimeMillis(); long timeMs = finish - start; System.out.println("jo..
🎯 목표 💡 나는 최고의 프로그래머당! 🖋️ 수업 내용 ※ 요약 주의 📆 230728 🌸Spring 도서관리시스템 📆 230731 🌸Spring 도서관리시스템 📆 230801 Practical 자바 유틸리티 - 9장 젠킨스를 이용한 지속적 통합 구축 지속적 통합(Continuos Integration): 빈번하게 반복적으로 개발 주기(코드→컴파일→패키징→테스트→검사→배포→코드→...)를 진행하는 것. 지속적 통합은 소프트웨어에 대한 통합을 반복적으로, 그리고 수시로 수행하고 테스트하는 것을 강조한다. 젠킨스를 설치할 때 두가지 경우 중 하나를 선택할 수 있다. 하나는 젠킨스에 내장된 서블릿 엔진을 이용해서 실행하는 것이고 다른 하나는 개별 WAS에 배포해서 실행하는 것이다. 전자도 충분히 활용가능하지만 ..
섹션5 회원 관리 예제 - 웹 MVC 개발 회원 웹 기능 - 홈 화면 추가 스프링 부트가 스프링 컨테이너 내에 루트 관련 컨트롤러가 없으면 static 폴더의 index.html 파일을 보여주는데 만약 관련 컨트롤러가 있으면 static 폴더의 파일은 무시된다 실습함 회원 웹 기능 - 등록 form태그에서 인풋 태그의 name을 지정하면 action의 url을 따라 이동하는데 name에 지정한 값(ex. name=name)과 같은 이름의 필드를 찾고 그 필드에 자동으로 값을 대입한다 @GetMapping와 @PostMapping에 같은 url을 지정할 수 있는데 form태그의 메서드가 post일 경우 submit하면서 @PostMapping이 지정된 메서드를 동작시킨다 회원 웹 기능 - 조회 @GetMa..
🎯 목표 💡 나는 최고의 프로그래머당! 🖋️ 수업 내용 ※ 요약 주의 📆 230720 🌸Spring JSTL(JSP Standard Tag Library): 개발자들이 자주 사용하는 패턴을 모아놓은 집합. 컨트롤러에서 보내준 데이터를 뷰에 표현하도록 도와줌 servlet-context.xml static folder 설정: css, images, upload, js 등 서버에서 앞서 처리될 필요가 없는 정적 리소스 파일을 처리하는 역할을 수행함. 웹 애플리케이션의 물리적 경로 이름을 설정하고 이 경로에 정적 리소스 파일들을 저장하면 소스 코드나 웹 브라우저의 주소창에서 해당 리소스의 경로를 사용하여 직접 접속할 수 있음. 정적 리소스란 클라이언트에서 요청이 들어왔을 대 요청 리소스가 이미 만들어져 있어 ..
섹션0 강의 소개 강의 소개 ❗️순서❗️ 스프링 프로젝트 생성 스프링 부트로 웹 서버 실행 회원 도메인 개발 웹 MVC개발 DB연동 - JDBC, JPA, 스프링 데이터 JPA 테스트 케이스 작성 ⭐️ 학습 방법 ⭐️: 처음부터 끝까지 직접 코딩 섹션1 프로젝트 환경설정 프로젝트 생성 스프링 프로젝트를 만들 때 start.spring.io에서 만드는 것을 권장함 start.spring.io 설명 Project → Gradle-Groovy Language → Java Spring Boot → 괄호 없는 버전 중 택1 Project Metadata Group → 기업명 등 작성 Artifact → 빌드 후 결과물 Name → 프로젝트명 Description → 필요 x Dependencies Spring W..
🎯 목표 💡 나는 최고의 프로그래머당! 🖋️ 수업 내용 ※ 요약 주의 📆 230713~230714 코로나 걸림; 📆 230717 📃 웹기반 애플리케이션 수업 열심히 들음 📆 230718 📃 웹기반 애플리케이션 수업 열심히 들음 🌸 Spring 디자인 패턴: 프로그램 개발에서 자주 나타나는 과제를 해결하기 위한 방법 중 하나로, 소프트웨어 개발 과정에서 발견된 노하우를 축적하여 이름을 붙여 이후에 재사용하기 좋은 형태로 특정 규약을 묶어서 정리한 것. 프레임워크: 비기능적 요구사항(성능, 보안, 확장성, 안정성 등)을 만족하는 구조와 구현된 기능을 안정적으로 실행하도록 제어해주는 잘 만들어진 구조의 라이브러리 덩어리. 애플리케이션들의 최소한의 공통점을 찾아 하부 구조를 제공함으로써 개발자들로 하여금 시스템..
🎯 목표 💡나는 최고의 프로그래머당! 👊 빡공 🖋️ 수업 내용 ※ 요약 주의 📆 230511 🎈웹 프로그래밍(프엔) Math DOM: Html문서를 객체로 표현 BOM: 웹브라우저를 객체로 표현 Window ☕️ Advanced Java JDBC 📆 230512 🎈웹 프로그래밍(프엔) Location: url의 정보를 가져오거나 설정(어려움) DOM: W3C의 표준. 문서를 액세스하기 위한 표준을 정의한다 ☕️ Advanced Java.,// 머 라이브러리들 발표 JDBC 📆 230515 🎈웹 프로그래밍(프엔) jquery ☕️ Advanced Java .properties: 키값과 밸류값과 같은 형식으로 저장되는 파일로, 환경을 설정하는 내용을 변경할 때 properties의 내용만 바꾸면 된다. 문장..
🎯 목표 💡 나는 최고의 프로그래머당! 💡 자바의 정석 주말동안 뿌수겠읍니다 👊 빡공 🖋️ 수업 내용 ※ 요약 주의 📆 230504 🎈웹 프로그래밍(프엔) javascript 스크립트는 함수 오버로딩이 불가능함 스크립트 함수 정의 방법 // 1. 매개변수O, 반환값O 함수명 = (매개변수1, 매개변수2, ...) => { 내용 return 반환값; } // 2. 매개변수O, 반환값X 함수명 = (매개변수1, 매개변수2, ...) => { 내용 } // 3. 매개변수X, 반환값O 함수명 = () => { 내용 return 반환값; } // 4. 매개변수X, 반환값X 함수명 = () => { 내용 } 함수 호출하기 그냥 수업 열심히 들었음.. ☕️ Advanced Java 수업에 집 중 📆 230505 아무..
🎯 목표 💡 나는 최고의 프로그래머당! 💡 자바의 정석 많이 쉬었으니까 열심히 읽기 👊 빡공! 🖋️ 수업 내용 ※ 요약 주의 📆 230427 🎈웹 프로그래밍(프엔) CSS font-family: 브라우저가 해당 폰트를 지원하지 않는 경우를 대비한 대체 글꼴 letter-spacing: 자간 조절 line-height: 줄간격 조절 text-decoration: 밑줄처럼 데코를 줄 수 있음 text-indent: 들여쓰기 조절 text-shadow: 텍스트의 그림자 지정. x y blur color 순서로 값을 지정해야함 direction: 텍스트의 입력방향을 지정 rtl(right to left, 오른쪽에서 왼쪽으로), ltr(left to right, 왼쪽에서 오른쪽으로) text-transform: ..