GitHub - SY97P/java-calculator: 자바 계산기 구현 미션 Repository입니다..gitignore 파일 써보기OOP 신경쓰면서 해보기build.gradle에 내가 원하는 걸 넣어보기다이어그램 그리면서 해보기테스트 코드 작성해보기
SpringCrud 깃 레포지토리 링크 프로젝트 생성 spring initializer로 Spring Boot 프로젝트 생성 MariaDB 스키마 생성 게시물 작성 MariaDB 에 Board 테이블 생성 게시물 작성 폼 생성 게시물 작성 처리 게시물 리스팅 게시물 리
백엔드 데브코스 커리큘럼이 벌써 3주차에 들었다.이번주 금요일을 기점으로 2주간 함께 했던 PRE팀이 해체되고, NEW팀으로 시작한다. 정신없이 흘러간 PRE팀 기간이었다. 무얼 했나 떠올려보면..계산기 과제 GITHUBPull Request도 처음 당겨보고, comm
3일 밖에 없던 1주차였지만 간단하게 적어보려고 한다. 강의 1 + 특강 1으레 개발강의가 그렇듯이 개발환경 구축하는 내용이었다.특강은 git 강의였다. github를 써봤다면 알 수 있는 내용이지만cherry-pick 처럼 자주 사용하지 않는 내용에 대해서 알 수
스프링 역사의존성다른 모든 spring 프로젝트들의 근간기능Core TechnologiesTestingData AccessSpring MVCintegrationLanguage시스템을 사용 가능한 상태로 만드는 것기능Spring Application 을 통한 손쉬운 실
Maven, Gradle 프로젝트 생성하기Spring Initializer스프링은 두 가지 빌드툴 중 택 1Maven (전통)Gradle (최신)필요한 라이브러리 다운 + classpath에 추가소스 코드 컴파일테스트 실행컴파일된 코드 packaging → jar /
기존 제어모든 작업을 사용하는 쪽에서 제어하는 구조Order entity가 사용할 Voucher 클래스를 결정하고, 객체를 생성역전 제어객체가 자신이 사용할 개체를 선택하지 않고, 생성하지도 않음.프레임워크가 흐름 주도하면서 개발자가 만든 애플리케이션 코드 사용 → H
Dependancy Injection(DI), Circular Dependency, 컴포넌트 스캔, Autowired, Beans Scope, Life CycleIoC 만드는 방법 중 하나객체를 주입받는 생성자 / setter 주입 패턴구현 패턴전략패턴서비스 로케이터
2023.06.22 목 내용Environment profieProfileYAML로 property 작성Resourceproperty + profile속성예를들어 개인정보같은 거는 외부 속성으로 만들어서 사용JVM 정보나, OS 정보 같은 속성을 코드로 가져올 수 있도록
LogginLogBackjava.util.logginApache Commons loggingLog4JLogbackSLF4J(Simple Loggin Facade for Java)logging framework 추상화한 것Facade Pattern 이용한 로깅 프레임워크
spring-boot-starter (Starter POMs)SpringApplication → 쉬운 실행Auto ConfigurationProperties, YAML, Command line 처럼 쉬운 외부 환경 설정프로파일을 통한 실행환경 관리Packaging Ex
Github 링크SpringbootApplication : MainPlatform : 유틸 클래스InvalidDataException : 예외 클래스Menu : 종료 / 생성 / 출력 메뉴 enumListMenu
Unit Test각 모듈 단위별로 테스트 수행하는거Domain 단위테스트, Repository 단위테스트, etcIntegration Test외부 (데이터베이스 등)와 연결하는 인터페이스 부분 테스트JDBC 테스트 같은 거Component Test내부 컴포넌트만 가지고
최신 SpringBoot에서는 Junit이 기본 내장되어 있으므로, 따로 의존성 설정을 해주지 않아도 됨.단위 테스트마다 테스트 클래스 인스턴스 생성독립적인 테스트 가능어노테이션 제공테스트 라이프 사이클 관리테스트 코드 간결테스트 러너 제공다양한 환경에서 테스트 코드
자바 어플리케이션이 관계형 데이터베이스와 연결할 수 있게 해주는 소프트웨어4개의 타입MySQL에서는 type4(Thin Driver -Fully Java Driver) JDBC Driver 제공DriverManager 를 통해 커넥션 객체 받아옴Connection 통해
DataBase Connection Pool (DBCP) 만들고 반환하는 녀석 SpringBoot에서 제공하는 아주 간단한 DataSource이거는 풀에서 가져오고 반환하는게 아니라 직접 생성하고 제거하는 녀석테스트용으로 많이 씀gradleimplementation
독립적인 테스트 환경 제공mavengradle뭔가 잘 못 될 때는 mysql 버전을 v5_7_latest로 바꾸기UUID_TO_BIN → UNHEX(REPLACE(?, ‘-’, ‘’)) 쿼리 함수변경전달되는 MysqldConfig 객체 통해 생성되는 Mysql 데이터베
JdbcTemplate을 쓸 때 매번 getter로 값을 가져오고, 넣어주는게 아니라<이름, 값> 쌍으로 된 맵을 이용해서 이름을 지어주고 넣어주면 좋지 않을까?이런식으로 공통부분을 따로 추출한 맵을 만들어서 전역으로 사용 가능NamedParameterJdbcTe
데이터베이스 관리 시스템에서 상호작용 단위ACID 특성원자성 (Atomic) : 트랜잭션이 모두 성공하거나, 모두 반영되지 않음을 보장해야 함일관성 (Consistency) : 트랜잭션은 데이터베이스 제약, 규칙을 준수해야함독립성 (Isolation) : 트랜잭션끼리
횡단 관심사(공통 관심사) 분리를 허용해서 모듈성을 증가시키는 것이 목적인 프로그래밍 패러다임코드 자체를 수정하지 않고 기존 코드에 추가 동작 (어드바이스)를 추가해서 작업 수행코드 더럽히지 않으면서 비즈니스 로직 추가 가능→ 핵심기능과 부가기능을 분리해서 관리 가능컴
전자메일처럼 인터넷 상에서 동작하는 서비스 중 하나인터넷에 연결된 컴퓨터 통해 사람들이 정보 공유할 수 있는 공간uri1 : http://blog.example.com/entries/1uri2 : http://psy:pass@devcourse.com:
서버 수용력을 확장하기 위한 자바 컴포넌트웹 서버에서 웹 어플리케이션을 호스팅하기 위한 웹 컨테이너 구현에 주로 사용서블릿 구동 위해선 WAS가 구동해야 함HTTP를 통해 웹 클라이언트의 요청을 수신하고, 반응함java에서는 interface로 구현WAS 가 동적 컨텐
DispatcherServlet의 HTTP 요청 수신DispatcherServlet에서 Contoller로 HTTP 요청 위임Contoller가 모델 생성 + 정보 등록Contoller 결과 리턴 → Model + View 반환DispatcherServlet의 View
ApplicationContext 상속한 클래스ServletContext에 접근할 수 있는 권한 추가여러 서블릿이 공유가 가능한 정보를 ServletContext에 담음ServletContainer가 생성될 때 서블릿 정보를 여기에 담음applicationContext
Representational State TransferWWW 같은 분산 하이퍼미디어 시스템 위한 소프트웨어 아키텍처 방식네트워크 아키텍처 원리 모음자원 정의, 자원 주소 지정 방법 = 네트워크 아키텍처 원리HTTP 상에서 SOAP, 쿠키, 세션 트래킹 같은 별도 전송
한 달5주숫자를 잘 못 새었나 싶을 정도로 시간이 빨리 갔다.5주간 느낀 점의 결론부터 말하자면배움의 기회를 온전히 얻어갈 방법을 다시 고민해야 함.얻은 게 많다.당장 한 달 전과 비교하더라도 나는 이전보다 아는게 많아졌고, 개발 관련 대화에서 못 알아듣는 내용도 많이
URL 변경 시 모든 페이지를 새로 로드서버에서 클라로 html 전송JS, CSS 다시 서버로 요청URL 변경 시 화면 일부분만 동적으로 렌더링AJAX 이용해서 대부분의 리소스(HTML, CSS, Script)는 한 번만 로드JSON 같은 데이터만 실행 중에 로드하고,
Cross Origin Resource Sharing동일한 출처가 아닌 경우 CORS 발생보안 강화http 헤더를 통해서 어플리케이션의 다른 출처의 리소스에 접근할 수 있도록 한 것예비요청(preflight)에 따라 구분단순요청이 아닌 경우 모두 예비요청을 보냄예비요청
직접 ServletInitializer를 생성해서 만드는 방식은 old fashion.우리는 SpringBootApplication (메인 클래스)를 이용해서 서블릿을 띄울 수 있다.그간 오지게 헤매게 하던 Spring MVC 설정을 SpringBoot 가 제공하는 A
커피 매니저 프로젝트커피 관리 프로젝트카페 관리자로서 Coffee Bean Package 온라인 판매 웹 사이트를 운영주문전날 14:00 ~ 금일 14:00 까지의 주문을 모아서 처리상품 4개콜롬비아 나리노브라질 세라 도 카파라오콜롬비아 퀀디오에티오피아 시드아모회원관리
wallet 기능 구현에 대해서 봐주셨으면 좋겠습니다.voucher 테이블에 customer 외래키를 추가했습니다.voucher 도메인 기존 기능에서 외래키에 대한 crud를 추가하면 된다고 생각해 voucher 도메인을 확장했습니다.테이블 간 관계를 최대한 단순하게
nullable 컬럼테이블에 null 값이 가능한 컬럼은 도메인 클래스에서 어떻게 관리하는지 궁금합니다.생각해본 해법입니다.로직에서는 Optinal로 처리, 컨트롤러 단에서 Optional.get() 으로 직렬화null 상태를 가리키는 무의미한 인스턴스 객체를 생성해서
JDBC API 이용해 자바 어플리케이션이 데이터계층과 통신Connection 획득Statement 이용한 질의ResultSet 이용한 질의 결과 사용Statement, Connection 반납기존 JDBC 이용했을 때 반복 작업을 JDBC Template이 대신 수행
EntityManagerFactoryEntityManager영속성 컨텍스트엔티티 생명주기영속성 컨텍스트 특징RDB table에 매핑되는 객체Entity 관리하는 EntityManager 생성 팩토리 클래스Thread SafeEntity CRUD (저장, 수정, 삭제,
Spring Security 5 부터 DelegatingPasswordEncoder 클래스가 기본 PasswordEncoder.DelegatingPasswordEncoder 클래스 안에 비밀번호 해시 알고리즘 별로 Map에 저장bcrypt, noop, sha256, e
해당 인증 필터에 도달할 때까지 사용자가 인증 미완(사용자 = null)이면, 익명 사용자로 처리SecurityContextHolder 에 인증 개체가 없는지 감지하고 필요한 경우 하나로 채웁니다.요청 처리 도중 발생 가능한 예외에 대한 라우팅, 위임 처리필터 체인 내
Remember-Me 인증 위한 Security Filter위치UsernamePasswordAuthenticationFilter 아래AnonymousAuthenticationFilter 위인증되지 않은 사용자의 HTTP 요청이 remember-me 쿠키를 갖고 있다면,
🍿 극장 관리 시스템 - Theatre Manager 🔗 Link PresentTodo 링크 Github 링크 🛎️ Summary 🧩 Requirements > 혜화동에 차린 나의 극장. > 시설 투자를 잘 했기 때문일까? > 내 극장에서 공연을 올리고
내 7월 돌려줘요!어디갔어 내 7월지난 1차 단위기간에서 아쉬웠던 것들에 대해서 이것저것 고민하고 시도한 것들이 많이 있다.이번엔 1차 단위기간에서 생각했던 문제점 대응책 분석프로젝트 과제하면서 느낀 레벨업 방향 분석을 중점으로 이야기 해보자.결론부터 말하면,크고 작은
https://github.com/SY97P/springboot-jpa.git페어프로그래밍 미션1 : 단일 엔티티(Customer)를 이용한 CRUD를 구현 미션2 : 영속성 컨텍스트 생명주기 실습 미션3 : 4-2. 연관관계매핑(order, order_ite
🔑 과제 소개 SprintBoot로 URL Shortener 구현 🚀 요구사항 [x] URL 입력폼 제공 및 결과 출력 [x] URL Shortening Key는 8 Character 이내로 생성 [x] 단축된 URL 요청 시 원래 URL로 리다이렉션 [