본문 바로가기
320x100
728x90

Spring12

java,spring]twilio를 이용해서 전화솔루션 구축하기 (비상연락망) 현재 내가 다니는 회사는 24시간 라이브 서비스를 하는 곳이라 서버가 다운되거나 시스템에 장애가 생기면 이는 곧바로 매출로 직결된다. 그래서 이를 최소화하기 위한 솔루션 개발을 회사에서 요청받았다. 일단 우리의 목적은 이렇다. 기존에 서비스에 문제가 있음을 알려주는 API가 존재한다. 이는 알림,경고,위험 단계로 구분되며, 위험 단계에서 이 솔루션을 이용하여 항시 빠른 조치를 할 수 있도록 하기 위함이다. 메일 같은 알림 시스템은 Java Mail Sender로 쉽게 구현이 가능하지만, 전화만큼 피드백이 확실한 알림이 없다. 다른 솔루션도 많은 것 같기는 한데, 가장 유명한 twilio라는 서비스를 이용해서 구축할 것이다. 개발환경: JAVA 11 gradle 7.0.2 twilio 8.14.0 나의 A.. 2021. 6. 21.
WebSocket으로 실시간 채팅 구현하기.(springboot) 오늘은 웹소켓을 이용해서 실시간 채팅을 구현하면서 공부한 내용을 기록한다. 일단 웹소켓에 대해 잘 모른다면 여기를 참고하자 웹소켓은 클라이언트에서 주기적으로 서버 측에 데이터 확인 요청을 하는 polling 기법과 달리 새로운 데이터가 들어오면 먼저 서버가 클라이언트에게 데이터를 전송하는 기술이다. 기존에 client 와 server의 관계는 서버는 가동중이고 클라이언트에게 리소스를 줄 준비를 한다. 이후 클라이언트가 서버에 요청을 해서 html 등 여러 리소스를 받아 브라우저에 표시했다. 즉, 무조건적인 클라이언트의 요청이 먼저 있어야 서버가 그에 응답하는 방식이었다. 하지만 html5에서 등장한 웹소켓은 위에 언급했듯 서버가 클라이언트에게 먼저 데이터를 주는 역할을 한다. (데이터가 있으면) 이런 기.. 2021. 4. 13.
spring에서 파라미터를 받는 방법 spring을 사용하다보면 클라이언트에서 넘어오는 파라미터를 받아야한다. 받는 방법에는 다양한 방법이 있지만. 두 가지 방법을 소개하고 해당 방법의 차이를 소개한다. @PostMapping("/getparameter") @ResponseBody public Map getParam(@RequestParam(name="age",required=false)int age, @RequestParam(name="name")String name){ Map map =new HashMap(); map.put("age",age); map.put("name",name); return map; } 가장 일반적으로 쓰는 방법인 @RequestParam 어노테이션을 활용하는것이다. 위 방법을 사용하면 인자값으로 여러 속성들을 결.. 2021. 2. 18.
시스템에 로그(Log) 남기기.(SLF4J) 개발을 하다 보면 Error나 Exception이 발생할 가능성이 있는 곳에 System.out.println()을 통해 값을 찍어보거나 프로그램이 어디까지 실행이 됐는지 확인을 할 수 있다. 나 또한 이런 방법을 많이 써왔는데, 로거나 로그 관련 프레임워크를 써보지 않았다는 점에서 많이 부끄러웠고, 이 참에 제대로 알아보기로 한다. 일단. 앞서 언급한 System.out.println()도 콘솔에 로그를 찍을 수 있는 가장 간단하면서 쉬운 방법이다. 하지만 프로그램이 운영되는 데는 전혀 쓸모없고, 무조건 실행되고 단지 실행 단계에서만 확인하려고 적어놓는 경우가 대부분이고 실행 속도 또한 시스템에 의존적이고, 실행될 때, 다음 프린트 문을 기다리게 만들고 심한 경우 문자열 연산까지 더해진 경우도 있다. .. 2020. 12. 18.
300x250
320x100