목록Web (20)
공부하는 스누피
Nginx란? nginx는 경량 웹 서버로 비동기 이벤트 기반 구조이다. 쓰레드 기반의 Apache보다 성능이 좋아 2021년 기준 점유율이 상승세에 있다. HTTP 서버, 리버스 프록시 서버 등으로 활용되는데, 응답 속도나 캐싱 성능 덕분에 주로 리버스 프록시 서버로 사용된다. Nginx가 요청을 처리하는 방법 (아래 공식 docs를 의/번역하였음) http://nginx.org/en/docs/http/request_processing.html How nginx processes a request How nginx processes a request Name-based virtual servers nginx first decides which server should process the request..
JUnit5란? JUnit은 자바 Unit Testing 프레임워크로, JUnit5는 이전 버전과는 다르게 3개의 서브 프로젝트로 구성되어 있습니다. JUnit 5 = JUnit Platform + JUnit Jupiter + JUnit Vintage JUnit Platform JVM에 테스트용 프레임워크를 실행시키는 기반 역할을 하며, JUnit4 베이스의 테스트 환경(Test Engine)을 제공한다. JUnit Jupiter JUnit5에서 쓰이는 프로그래밍 모델과 확장 모델을 제공합니다. Jupiter 베이스의 테스트 환경(Test Engine)을 제공한다. JUnit Vintage JUnit3, JUnit4 베이스의 테스트를 지원한다. 환경 요구사항 Java 8 이상 (테스트 대상이 되는 코드는..
1. 개요 Testcontainers는 JUnit test를 지원하는 Java 라이브러리로, Docker로 작동시킬 수 있는 일반 DB, 셀레니움같은 인스턴스들을 간편하게 테스트용으로 사용할 수 있게 한다. Testcontainers의 장점은 다음과 같다. * 데이터 액세스 레이어 통합 테스트: MySQL, PostgreSQL, Oracle 데이터베이스의 컨테이너화된 인스턴스를 사용해 데이터 액세스 레이어 부분의 코드를 테스트할 수 있다. * 통합 테스트 : 데이터 액세스 레이어뿐만 아니라 전체 애플리케이션 통합 테스트를 지원한다. * UI/인수 테스트 : 셀레니움을 지원해 각 테스트가 독립된 인스턴스의 브라우저에서 실행된다. dev 데이터베이스는 주로 테스트용으로 쓰이지만, 테스트 데이터가 격리되지 않..
API 통합 테스트 JUnit에서 제공하는 mockMvc는 api 호출을 통해 테스트를 수행합니다. 예상되는 응답을 설정할 수 있고, 실제 응답이 예상과 다를 경우 assert를 던져 테스트가 실패하도록 합니다. Test Context 설정 @ExtendWith(SpringExtension.class) @SpringBootTest(classes = SpringApplication.class, properties = { ".../application-test.yaml", ".../application.yaml" }) @ActiveProfiles("test") public abstract class TestSupport{ } - 테스트 클래스가 이 클래스를 상속 받게 하면 클래스 별로 Test Context..
Gradle 설정 // https://mvnrepository.com/artifact/mysql/mysql-connector-java implementation 'mysql:mysql-connector-java:8.0.16'application.properties 설정 # datasource config spring.datasource.url=jdbc:mysql://localhost/tobyspring spring.datasource.username=integer spring.datasource.password=1234 spring.datasource.driver-class-name=com.mysql.cj.jdbc.DriverDao에 DataSource import import javax...
let num = [1, 2, 3]; let str = '' + `${num[0]}` + `${num[1]}` + `${num[2]}` + ''; - ${...} 안에 변수명을 넣는다. 배열 참조도 가능하다. - 이때 감싸는 따옴표는 반드시 backtick(`)으로 한다.
변수 선언 scope 변수 재선언 변수 재할당 특징 var function scope 가능 가능 let block scope 불가능 가능 ES6에서 추가됨 const block scope 불가능 불가능 ES6에서 추가됨 변수 재선언 var num = 100; var num = 200; // 에러 안남 let num2 = 100; let num2 = 200; // 에러!! 변수명 규칙 - 변수명, 함수명은 카멜 케이스 (ex. helloWorld) - 상수는 영문 대문자로 (ex. HELLOWORLD) - 생성자 함수는 대문자로 시작하는 카멜 케이스 (ObjectConstructor) - 지역변수는 언더바로 시작 (ex. _localVariable) - 전역변수를 사용하지 않는다. 자료형 리스트 데이터를 ..
jQuery CDN 사이트 code.jquery.com/ jQuery CDN The integrity and crossorigin attributes are used for Subresource Integrity (SRI) checking. This allows browsers to ensure that resources hosted on third-party servers have not been tampered with. Use of SRI is recommended as a best-practice, whenever libr code.jquery.com 부트스트랩 - 버전 주의!! getbootstrap.com/ Bootstrap The most popular HTML, CSS, and JS lib..