Spring Boot: Gradle 버전 5 이상에서 롬복 설치 + 단위 테스트

스프링 부트 버전: 2.3.1 Gradle 버전: 6.4.1 1. Gradle 버전 확인 Gradle 버전이 5 이상인 경우 아래와 같이 진행하고, 4 이하라면 다른 방법으로 진행해야 합니다.   2. build.gradle에 롬복 부분 추가 dependencies { … // lombok annotationProcessor(“org.projectlombok:lombok”) compileOnly(“org.projectlombok:lombok”) … }   3. 롬복 플러그인 설치 (인텔리제이 아이디어 기준)   4. 더보기…

Spring Boot: JUnit 단위 테스트 기초 (GetMapping 테스트, 인텔리제이 기준)

스프링 부트(Spring Boot) 버전 2.3.1, Gradle 6.4.1 기준입니다. 1. 패키지를 생성 (예: com.example.awsboard.web) 2. 컨트롤러 및 GetMapping 예제 작성 package com.example.awsboard.web; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class BasicController { @GetMapping(“/hell”) public String hello() { return “Hell”; } }   3. 동일한 패키지를 src > test > java 에 패키지 더보기…

macOS 인텔리제이(IntelliJ) 커뮤니티 버전 설치 + 스프링 부트 프로젝트 생성

원래 인텔리제이 프로그램은 유료로 구독해야 하지만 커뮤니티 버전은 인텔리제이 정품의 일부 기능을 제거하고 무료로 제공합니다. 인텔리제이 (IntelliJ) 커뮤니티 버전 설치 젯브레인 툴박스 설치 – https://www.jetbrains.com/ko-kr/toolbox-app/ 젯브레인 툴박스 실행 후 타이틀바에 있는 아이콘 클릭 후, 인텔리제이 커뮤니티 버전을 설치합니다. 테마 선택 등 초기 설정을 진행합니다. 스프링부트 프로젝트 만들기 (인텔리제이 커뮤니티 버전) spring 더보기…

자바스크립트: TTS(Text-to-Speech) 라이브러리 없이

자바스크립트에서 TTS 기능을 사용하는 방법입니다. TTS(Text-to-Speech)는 텍스트를 음성 합성을 통해 컴퓨터가 읽어주는 것으로 트위치 영상등에 있는 음성 도네이션이 TTS 를 사용합니다. 음성합성으로 읽을 내용, 언어, 음성의 속도 높낮이 등을 <span class="pl-k">new</span><span> </span><span class="pl-v">SpeechSynthesisUtterance</span><span class="pl-kos">(</span>) 로 설정하고 재생은 speechSynthesis.speak()를 사용합니다. speechSynthesis는 window 객체 내에 있기 때문에 그냥 사용하면 됩니다. 재생중인 음성합성을 중지할때는 speechSynthesis.cancel()을 사용합니다. 더보기…

자바스크립트: 배열 Array.reduce

MDN 문서 바로가기 자바스크립트에서 배열의 reduce 기능은 배열을 순회하면서 누산기(accumulator)에 값을 계속 쌓아놓고 최종적으로 누산기의 값을 반환하는 reducer의 기능을 수행합니다. reducer의 사전적 의미와 매칭이 잘 안되는데 어떤 물질에서 원액(누산기의 값)만 추출한다는 의미로 생각하면 될 것 같습니다. 누산기의 값은 줄어들지 않으며 리턴식은 누산기에 합산됩니다. 그리고 마지막까지 순회한 후 최종적으로 누산기의 값만을 더보기…

자바스크립트 예제: 마이크 테스트

출처 바로가기 자바스크립트에서 마이크를 사용하려면 먼저 사용자로부터 마이크 사용 권한을 획득해야 합니다. 여기서 사용자가 허용 버튼을 눌러야 이후 녹음 작업이 진행이 됩니다. 이 부분은 navigator.mediaDevices.getUserMedia(constraints).then(…)을 사용합니다. if (navigator.mediaDevices) { const constraints = { audio: true } navigator.mediaDevices.getUserMedia(constraints) .then(stream => { …………….. }) .catch(err => { console.log(‘The following error occurred: ‘ 더보기…

자바스크립트: 다국어 지원 (국제화 Internationalization) 1

국제화(Internationalization)는 홈페이지의 내용을 다국어로 지원하는 것을 뜻합니다. 백엔드 측에서 하는 방법이 있고 프론트엔드 측에서 하는 방법이 있는데 백엔드에 대한 국제화 작업은 스프링 부트, Thymeleaf 기준으로 한 다음 글을 참조해주세요. Spring Boot: 국제화(Internationalization) 제이쿼리에서도 국제화 지원을 위한 기능이 있고 이러한 라이브러리(i18n)도 있는데 처음에는 라이브러리 없이 진행해보도록 하겠습니다. 먼저 자바스크립트에서 브라우저의 언어를 알아내는 더보기…

IT 기술면접(일반) 예상문제: CS 일반, 개발 상식, 네트워크 (작성중)

IT 기술면접(일반) 예상문제: CS 일반, 개발 상식, 네트워크 개발 이론 요약 깃허브   OOP의 특징 추상화 – 각 객체들의 공통된 특성을 뽑아내는 것을 의미합니다. 캡슐화 – 데이터를 은닉하고 데이터의 기능을 노출시키지 않는 의미입니다. 상속성 – 하나의 클래스가 가진 특징(데이터, 함수)을 그대로 다른클래스에 물려줄 수 있는 특성입니다. 다형성 – (상위 클래스로부터) 더보기…

자바스크립트: JSONP (JSON Padding) 사용법

JSONP(JavaScript Object Notation Padding)이란? 웹 브라우저에서 CORS 문제를 회피하기 위해 <script> 태그를 이용한 꼼수를 사용하여 JSON을 가져오기 위한 방법입니다. 참고: CORS(Cross-Origin Resource Sharing, 교차 출처 리소스 공유) 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. CORS의 예시로 https://domain-a.com의 더보기…

IT 기술면접(일반) 예상문제: 웹개발 프론트엔드 (작성중)

IT 기술면접(일반) 예상문제: 웹개발 프론트엔드 개발 이론 요약 깃허브 프론트엔드 면접 문제은행 리스트 웹에서의 SPA (Single Page Application) 단일 페이지로 구성된 웹 어플리케이션을 뜻하는 단어입니다. 서버사이드 렌더링을 배제하고, 필요한 데이터만 JSON 등의 형태로 받아 동적으로 렌더링합니다.   기존 웹 환경에 비해 SPA가 부각되는 이유? 기존 어플리케이션은 화면이동 시에 화면 이동에 더보기…