본문 바로가기
320x100
728x90

Java44

SpringBoot,React]스프링 실행시 리액트 서버 자동 실행 , 빌드시 같이 빌드하기 나는 지금 SpringBoot와 React를 통해 백엔드, 프런트엔드를 구성해서 샘플 프로젝트를 만들고 있다. 이 두 환경에서 프로젝트를 진행하다보니 spring boot 실행시키고 react에서 npm run start를 두 번에 거쳐서 실행시켜야 하는 게 정말 정말 매우 너무너무 귀찮았다. 난 스프링이 실행이 되면서 리액트 서버도 자동으로 켜지는 방법이 없을까 하다가 gradle의 build script를 작성하기로 마음먹었다. 일단 사전 준비는 다음과 같다. Spring boot gradle react 딱 이 3개면 된다. 그리고 package.json에 "proxy": "http://localhost:8080",를 추가하여 프록시 설정을 해줬다. 일단 내 프로젝트 구조는 이와 같다. fronten.. 2021. 8. 6.
java,spring]twilio를 이용해서 전화솔루션 구축하기 (비상연락망) 현재 내가 다니는 회사는 24시간 라이브 서비스를 하는 곳이라 서버가 다운되거나 시스템에 장애가 생기면 이는 곧바로 매출로 직결된다. 그래서 이를 최소화하기 위한 솔루션 개발을 회사에서 요청받았다. 일단 우리의 목적은 이렇다. 기존에 서비스에 문제가 있음을 알려주는 API가 존재한다. 이는 알림,경고,위험 단계로 구분되며, 위험 단계에서 이 솔루션을 이용하여 항시 빠른 조치를 할 수 있도록 하기 위함이다. 메일 같은 알림 시스템은 Java Mail Sender로 쉽게 구현이 가능하지만, 전화만큼 피드백이 확실한 알림이 없다. 다른 솔루션도 많은 것 같기는 한데, 가장 유명한 twilio라는 서비스를 이용해서 구축할 것이다. 개발환경: JAVA 11 gradle 7.0.2 twilio 8.14.0 나의 A.. 2021. 6. 21.
람다를 간단하게 써보자 자바스크립트 ES6에서 지원하는 Arrow function(화살표 함수) 익명 함수 등, 많은 의미로 불리지만 람다라고 하는 익명 함수를 간단하게 사용해보려고 한다. 자바에서는 8버전 이후, 도입된 함수형 프로그래밍에서 많이 쓰이던 방식이며, 간단하게 풀어 설명하면 간략화된 메서드 선언 및 사용 방식이다. 대부분의 메서드는 이름을 가지고 고유의 기능을 수행하는데, ex) "Hello World!".equals("something"); String 클래스의 equals라는 이름을 가진 메서드처럼 말이다. 람다는 이런 이름이 없이 사용하는 함수라 익명 함수라고 불리고, 선언부 및 블록이 없기 때문에 비교적 간단해 보이기는 한다. 긴 말 필요 없이 바로 장단점에 대해서 알아보자. 장점 1. 코드의 간결성 - .. 2021. 6. 13.
if,else or switch,case 오늘 개발을 진행을 하면서 상당히 많은 경우에 수에 따라 분기 처리를 해야 하는 경우가 생겼다. 나는 여느 날과 다름없이 if else를 떡칠했고, 코드도 상당히 보기 안좋았다. 그리고 성능도 if else가 더 좋다고 생각했다. 그 근거는 배타적인 if else문에서 1번째 조건이 아니면 2번째, 2번째 조건이 true라면 조건문을 빠져나가 다음 블록으로 코드가 실행되는 줄 알았다. 그러나 결과는 달랐다. 구글링을 해보니까 if else문은 조건에 대한 경우를 iterator 방식으로 순회한다. 즉, 조건에 일치하는 블록이 있어도 모든 if else를 순회한다는 이야기다. 나름의 이유를 생각해보면 and or 조건을 통해 추가적으로 부합하는 조건이 있을 수도 있어서 다 순회하는 것 같았다. (물론 조건.. 2021. 5. 21.
300x250
320x100