Build필요한 라이브러리를 다운받고 classpath에 추가함.소스코드를 compile한다.테스트를 실행한다.컴파일된 코드를 packing해서 jar / war / zip 등으로 만든다.packing된 파일은 artifacts라고 부름.서버나 레파지토리에 배포한다.
제어의 흐름이 역전되는 것.객체가 자신이 사용할 객체를 스스로 선택하지 않고, 스스로 생성하지도 않음. 제어의 권한이 객체 자신에게 없고 프레임워크에 있게 됨.라이브러리를 사용하는 어플리케이션 코드는 어플리케이션 코드를 직접 제어하지만, 프레임워크는 거꾸로 어플리케이션
스프링이 직접 클래스를 검색해서 빈으로 등록해주는 기능. 직접 구성파일에 @Bean을 붙여 빈을 만들어 사용했지만, 관리할 빈이 많아지면 번거로워진다. @Component Scan을 이용하면 설정 클래스에 빈으로 직접 등록하지 않아도 원하는 클래스를 빈으로 등록할 수
여기서 말하는 Environment 어플리케이션이 처한 상황을 말하는 것이다. ex) 테스트 환경, 개발 환경, 운영 환경스프링 환경은 Profile과 Properties로 제공됨. 프로파일에 따라 환경이 바뀌고, 그 환경에 따라 프로퍼티가 바뀜. 즉, 환경에 따라 프
시스템을 작동할 때 시스템의 작동 상태의 기록과 보존, 이용자의 습성 조사 및 시스템 동작의 분석 등을 하기 위해 작동중의 각종 정보를 기록해둘 필요가 있다. 이 기록을 만드는 것을 로깅이라 한다.즉 로그 시스템의 사용에 관계된 일련의 「사건」을 시간의 경과에 따라 기
정의. 위키피디아소프트웨어의 결함이 있는지 찾는 테스트. 소프트웨어 테스트(영어: software test)는 주요 이해관계자들에게 시험 대상 제품 또는 서비스의 품질에 관한 정보를 제공하는 조사 과정이다. 소프트웨어 테스트는 또한 소프트웨어에 대한 객관적이고 독립적인
데이터베이스에 SQL문을 사용하려면 별도의 툴을 사용해야 함. JDBC는 자바 애플리케이션에서 DB에 연결해서 쿼리를 요청하고, 결과를 DB로부터 받아오는 것이 목적.즉, 자바 애플리케이션과 데이터베이스의 다리 역할을 해주는 것.데이터베이스에 연결하고 작업을 할 수 있
Java Spring으로 만든 프로그램을 실행할 때 항상 같은 조건에서 실행시키기란 쉬운 일이 아니다. 외부 환경에 영향을 받는다면 자동화가 되기 어렵고, 때로 DB가 없는 환경에서 실행하거나 테스트 해야할 수 있을수도 있다. 스프링에서는 DB와의 테스트를 위해서 Em
하나의 프로그램 패러다임aspect는 '관점'보다는 기능이나 부가기능, 혹은 관심(concern)이라고 생각하는 것이 더 유사한 해석인 것 같다. 부가기능이 여러군데에 흩어져 있다면 리소스가 많이 할애된다. 수정할 것이라도 하나 있다면 일일이 찾아서 수정해줘야 하기 때
위키백과인터넷에 연결된 컴퓨터를 통해 사람들이 정보를 공유할 수 있는 전 세계적인 정보 공간. 간단히 web이라 부르는 경우가 많음. 인터넷과 동의어로 쓰이는 경우가 많으나 엄밀히는 다른 개념. 웹은 인터넷 상에서 동작하는 하나의 서비스. 그러나 웹은 인터넷 구조의 절
서블릿은 클라이언트로부터 요청을 받아 실제로 비즈니스 로직이나 서비스를 처리하거나 받은 내용을 갖고 JSP에 모델을 생성하거나, 또는 다운로드나 파일을 반환하거나.. 해야하는 일이 많음.매번 서블릿을 생성하지 않고 통합적으로 해주거나, 템플릿화 해놓고 변경이 필요한 부
REST API를 이용해 만드는 단일페이지 웹 어플리케이션REACT라는 자바 스크립트 어플리케이션과 연동CORS에러에 대해서 알아보자. JSP, 타임리프와 다르게 화면에서 그려지는 내용을 서버에서 처리하지 않고, 브라우저에서 처리. 다이나믹한 랜더링을 브라우저에서 처리
스프링 웹 어플리케이션의 데이터 저장 계층에 대해 이해.JDBC 템플릿 이용.Mybatis이용.ORM 프레임워크인 JPA이용.JPA에 대해 이해.스프링데이터 JPA에 대해 이해.스프링데이터 JPA를 이용한 REST API 서버 구축.1일차.JPA 소개Applicatio
2일차영속성 컨텍스트EntityManagerFactory, EntityManager에 대해 학습.영속성 컨텍스트에 대해 학습.엔티티의 생명주기에 대해 학습.영속성 컨텍스트의 특징에 대해 학습.실습을 통해 영속성 컨텍스트에 대해 이해.
3일차.엔티티 매핑엔티티 매핑 실습.엔티티 간의 연관관계 매핑을 실습.고급 매핑 전략에 대해 소개.프록시와 연관관계프록시에 대해 학습.즉시 로딩(Eager fetct), 지연 로딩(Lazy fetch)에 대해 학습.영속성 전이에 대해 학습(CASCADE, 고아객체)
4일차스프링데이터 JPA스프링데이터 JPA에 대해 소개.Native Query (QueryDSL)
5일차REST API 웹 어플리케이션 개발엔티티(주문관리 vs 게시판)API 개발(JUnit, Lombok, OSIV)API 문서화(레스트 닥스, 스웨거)
인증(Authentication)은 인가(Authorization)와 함께 보안 관련 핵심 개념 중 하나사용자의 신원을 확인하는 과정아이디/패스워드 기반 로그인OAuth2.0 프로토콜을 통한 Social 인증보통 어플리케이션은 인증영역과 인증되지 않은 영역(익명영역)으
거시적인 관점에서 Spring Security는 스프링 시큐리티는 결국 사용자의 인증과 관련된 처리를 담당함. 웹 요청을 가로챈 후 사용자를 인증하고, 인증된 사용자가 적절한 권한을 지니고 있는 확인.AuthenticationManager 사용자 인증 관련 처리(인증
Thread Per Request : Tomcat 같은 servlet 컨테이너 위에서 전통적으로 사용되던 병렬처리 기법.Spring WEB MVC도 서블릿 컨테이너 위에서 동작하기 때문에 Thread Per Request을 사용한다.WAS는 ThradPool을 생성함
: 어플리케이션 보안을 이해하는데 두 번째로 중요한 핵신 개념으로(다른 하나는 인증) 권한이 부여된 사용자들만 특정 기능 또는 데이터에 접근을 허용하는 기능이다. 이를 위해 인가 처리는 두 개의 작업으로 구분된다.인증된 사용자와 권한을 매핑해야 함 > Spring Se
인증 성공 또는 실패가 발생했을 때 관련 이벤트(ApplicationEvent)가 발생하고, 해당 이벤트에 관심있는 컴포넌트는 이벤트를 구독할 수 있다.🙏 주의해야 할 부분은 Spring의 이벤트 모델이 동기적이라는 것이다. 따라서 이벤트를 구독하는 리스너의 처리 지
앞에서 배운 Spring Security 내용을 곧바로 실제 서비스에 적용할 수 있을까?사용자 로그인 정보를 Java Configuration을 통해 관리한다는 것은 현실적이지 않으며, 따라서 사용자 로그인 정보를 데이터베이스에서 관리할 수 있도록 변경해야한다.JDBC
데이터 베이스를 활용하면 IT서비스를 만드는데 필요한 다양한 정보, 사용자 정보들을 기록할 수 있다.이러한 정보(회원, 구매, 서비스이용, 리뷰 등)들이 기록되어야 서비스를 운영하고 발전시킬 수 있다.장기적으로는 머신러닝 인공지능 등에 활용도 가능. 관계형 데이터베이스
가장 인기 있는 관계형 데이터베이스. 1995년 스웨덴 회사였던 MySQL AB에 의해 개발. 오픈 소스(무료)로 시작됨.Sun microsystems 인수 > Oracle이 sun을 인수하는 과정에서 MySQL도 Oracle의 제품이 됨.(유료화 소문이 나서 인기 좀
테이블(들)에서 레코드(들, 혹은 레코드 수)를 읽어오는데 사용. WHERE을 사용해 조건을 추가해줄 수 있음.SELECT 필드이름 1;데이터의 위치 표시. FROM 테이블이름;추출할 데이터의 조건.모든 레코드를 읽는 것이 아닌, 관심 있는 레코드만 찾아올 수 있음.예
INTEGER, INT, TINYINT, SMALLINT, MEDIUMINT, BIGINTDECIMAL(돈 관련), NUMERICFLOAT, DOUBLE(큰 숫자 잘 표현, 용량 더 큼), BITDATE, DATETIME, TIMESTAMP(대부분 이것으로 충당), T
테이블 내용을 변경하는 SQL들이 연달아 실행되며, 이들이 마치 하나의 SQL처럼 다 같이 성공해야 하며 일부의 실패가 엉뚱한 결과로 연결될 경우에 사용. 작업 중 일부의 실패도 허용될 수 없다면 차라리 작업 이전의 상태로 되돌리기 위해서 사용. Atomic하게 실행되