본문 바로가기

[개발] 프로그래밍/Web, Spring, Java9

[Spring Boot] Junit Test 오류 (org.junit.platform.launcher.core.EngineDiscoveryOrchestrator lambda$logTestDescriptorExclusionReasons$7) 새로운 PC에 프로젝트 import해서 진행하는 도중 아래와 같은 오류가 발생했습니다. org.junit.platform.launcher.core.EngineDiscoveryOrchestrator lambda$logTestDescriptorExclusionReasons$7 INFO: 0 containers and 7 tests were Method or class mismatch 테스트는 성공했는데, 빨간 색 글씨가 매우 거슬립니다. 테스트는 성공했기때문에 크게 문제는 없습니다. 하지만 빨간 색 글씨를 없애고 싶다면 아래와 같이 해결하시면 됩니다. 문제의 원인은 빌드, 테스트를 Gradle 기준으로 해서 그렇습니다. 빌드와 테스트가 Junit으로 되야하는데 Gradle로 잡혀서 그런 것이죠. 해결 방안은.. 2021. 12. 10.
[Spring Boot] 데이터베이스 연결 오류 (pgjdbc: autodetected server-encoding to be ISO-8859-1) ★표시는 비공개 정보입니다. 오류내용 * What went wrong: Execution failed for task ':dams-common:flywayBaseline'. > Error occurred while executing flywayBaseline Unable to obtain connection from database (jdbc:postgresql://localhost:★/★) for user '★': ?����???��?��?: ??��??? "★"?? password ★?????? ��?����?����?��?��? (pgjdbc: autodetected server-encoding to be ISO-8859-1, if the message is not readable, please c.. 2021. 6. 8.
[Spring Boot] application.properties 설정을 jar 파일 외부에서 주입 Spring Boot에서 application.properties 설정을 jar 파일 외부에서 설정하는 방법입니다. application.properties 설정은 우선순위가 존재합니다. 우선순위는 다음과 같습니다. 홈 디렉터리(개발 도구가 활성화된 경우 ~/.spring-boot-devtools.properties)의 개발 도구 전역 설정 프로퍼티 테스트의 @TestPropertySource 어노테이션. 테스트의 properties 애트리뷰트. @SpringBootTest와 애플리케이션의 특정 부분을 테스트하기 위한 테스트 어노테이션에서 사용 가능. 커맨드 라인 인자. SPRING_APPLICATION_JSON의 프로퍼티(환경 변수나 시스템 프로퍼티에 삽입된 인라인 JSON). ServletConfig.. 2021. 5. 21.
백엔드 면접 기초 질문 답변(51~60) 51. ==과 equals() 차이 == : 비교하고자하는 대상의 주소 값을 비교 equals() : 비교하고자하는 대상의 내용 자체를 비교 52. 패스워드 암호화 방법 - 단순 텍스트 - 단방향 해시함수의 다이제스트 - 솔팅 - 키 스트레칭 53. 대칭키와 비대칭키 차이 - 대칭키 암호화 방식(비밀키 암호화 방식)은 하나의 비밀키를 이용한 암호화 방식 - 비대칭키 암호화 방식(공개키 암호화 방식)은 공개키와 개인키를 이용한 암호화 방식 54. web server와 was차이 web server : HTTP 프로토콜을 기반으로 하여 웹브라우저의 요청을 서비스하는 기능을 담당합니다. 예를들어 'apach server', 'Nginx'가 있습니다. was : DB조회나 다양한 로직 처리를 요구하는 동적인 컨.. 2021. 2. 5.
백엔드 면접 기초 질문 답변(36~50) 36. 자바스크립트란? 스크립트언어란? 스크립트 언어란 소스코드를 컴파일 하지 않고도 실행할 수 있는 프로그래밍 언어입니다. C와 자바는 개발자가 작성한 코드를 컴파일러를 통해 기계어로 변경해야하지만 스크립트 언어는 컴파일 과정 없이 내장된 번역기에 의해 실행됩니다. 자바스크립트를 한마디로 요약하자면 웹을 풍부하게 만들어주는 작고 가벼운 언어입니다. 웹 브라우저에서 실행하는 스크립트 언어를 기술하며 작고 빠르기 때문에 동적인 웹 문서를 꾸밀 때 널리 사용합니다. 객체 기반의 언어이지만, 상속과 클래스 개념은 없고 HTML에 연산제어 등 프로그래밍적 요소가 추가된 것이 장점입니다. 37. JQurey란? 특징은? JQuery는 자바스크립트 라이브러리입니다. 자바스크립트를 좀 더 쉽게 사용하기 위해 만들어졌.. 2021. 2. 5.
백엔드 면접 기초 질문 답변(21~35) 21. 람다식이란 무엇인가? 식별자 없이 실행이 가능한 함수입니다. 함수인데 함수를 따로 만들지 않고 코드한줄에 함수를 써서 그것을 호출하는 방식입니다. 자바 8부터 지원하고 코드가 간결해 가독성이 좋다는 것이 장점입니다. 그러나 람다식으로 만든 함수는 재사용이 불가하고 디버깅이 까다롭다는 단점이 있습니다. 자바 8부터 지원하는 것 : 람다식, Optional, Stream 22. 힙과 스택의 차이점 스택은 정적메모리를 사용하여 컴파일 시 크기가 정해져있습니다. 힙은 동적메모리를 사용하여 런타임시에 메모리영역을 원하는 크기로 잡을 수 있다는 점이 큰 차이점 입니다. 23. TCP와 UDP 차이점 TCP는 연결형 서비스를 지원하는 전송계층 프로토콜이며 인터넷환경에서 주로 사용됩니다. 호스트간 신뢰성있는 데.. 2021. 2. 5.
백엔드 면접 기초 질문 답변(1~20) 1. 컴포넌트와 모듈의 차이 모듈과 컴포넌트는 비슷하지만 모듈이 컴포넌트보다 큰 단위라고 생각합니다. 컴포넌트는 하나의 부품입니다. 보통 작은 영역에서 서로 관련되어 있고 다용도로 사용이 가능하게 만듭니다. UI를 제어하는 타이머같은 Back단에서 스레드를 보조하는 컴포넌트를 예로 들 수 있습니다. 모듈은 조금 작은 범위의 조각입니다. 외부 인터페이스가 없는 복합적인 수요기능에서 실행될 수 있는 단위 입니다. 데이터베이스나 이메일 같은 통합적인 기능을 제공하면서 라이브러리처럼 사용될 수 있는 것들 입니다. 그리고 호환성이 더 좋습니다. 2. 자바란 무엇인가 자바는 객체지향프로그래밍 언어로서 보안성이 뛰어나며 컴파일한 코드는 다른 운영체제에서 사용될 수 있도록 클래스로 제공됩니다. C++언어의 객체지향적인.. 2021. 2. 5.
백엔드 면접 기초 질문 리스트 안녕하세요. 백엔드 직무를 준비하며 외웠던 질문과 답변을 공유해드립니다. 질문 클릭 시 답변페이지로 이동됩니다 ^^ ※ 개인적으로 공부하며 작성했던 내용이라 오탈자가 있을 수 있습니다. 참고바랍니다. 틀린 내용이 있다면 댓글 부탁드립니다. 감사합니다. ※ 블로그에 작성한 내용보다 [필기 원본]에 상세하게 적힌 내용이 며몇개 더 있으니, [필기 원본]도 참고바랍니다. 1. 컴포넌트와 모듈의 차이 2. 자바란 무엇인가 3. 자바의 구동원리 4. JVM의 특징 5. 객체지향과 절차지향의 차이점 6. 객체지향 언어의 특징 7. 상속과 구현의 차이점과 특징 및 장단점 8. 오버라이딩과 오버로딩의 차이점과 특징 9. 기본형 변수와 참조형 변수는 무엇이 있나? 10. 스택 오버플로우가 왜 일어나는가? 11. 메모리 .. 2021. 2. 5.
웹의 동작 원리 ①② 사용자가 웹 브라우저를 통해 찾고 싶은 웹 페이지의 URL 주소를 입력함. ③ 사용자가 입력한 URL 주소 중에서 도메인 네임(domain name) 부분을 DNS 서버에서 검색함. ④ DNS 서버에서 해당 도메인 네임에 해당하는 IP 주소를 찾아 사용자가 입력한 URL 정보와 함께 전달함. ⑤⑥ 웹 페이지 URL 정보와 전달받은 IP 주소는 HTTP 프로토콜을 사용하여 HTTP 요청 메시지를 생성함. 이렇게 생성된 HTTP 요청 메시지는 TCP 프로토콜을 사용하여 인터넷을 거쳐 해당 IP 주소의 컴퓨터로 전송됨. ⑦ 이렇게 도착한 HTTP 요청 메시지는 HTTP 프로토콜을 사용하여 웹 페이지 URL 정보로 변환됨. ⑧ 웹 서버는 도착한 웹 페이지 URL 정보에 해당하는 데이터를 검색함. ⑨⑩ 검색.. 2020. 3. 16.