본문 바로가기
  • 오늘도 한걸음. 수고많았어요.^^
  • 조금씩 꾸준히 오래 가자.ㅎ

전체 글485

[Soap] xml 웹서비스, Soap 방식 총정리 SOAP(Simple Object Access Protocol)은 일반적으로 널리 알려진 HTTP, HTTPS, SMTP 등을 통해 XML 기반의 메시지를 컴퓨터 네트워크 상에서 교환하는 프로토콜이다. 지금은 Rest 방식 전송을 많이 선호하는 편이지만, Rest가 등장하기 전에는 SOAP이 사용되었다. SOAP 만의 장점이 존재하기도 하며, 기존의 SOAP 을 사용하는 곳은 Rest 로 전환하는데 드는 비용 문제도 있다보니 아직 사용되는 곳이 존재한다. 최근에 서비스개발을 진행할때도 rest로 개발하는데, 전송 용량이나 구현 방식이 더욱 간편하고 효율적이다보니 SOAP 방식을 굳이 구현해서 사용할 일이 많지 않다. 나는 회사에서 사용하다보니 어쩔 수없이 사용방법이나 개념을 정리해본다. 1. Soap 의.. 2023. 6. 9.
[Spring] 특수문자 변환 (html tag) html tag를 데이터베이스에 저장하기위해 특수문자를 변환해야 하는 경우가 발생합니다. DB에 저장을 했으니 웹 페이지에 뿌릴때는 반대의 작업을 해야 하는데(DB에서 가져온 후 변환해서 웹 페이지 출력) 이때 Spring을 사용한다면 특별히 라이브러리를 설치하지 않고도 변환이 가능합니다. 예제를 살펴 보면 레스 댄 특수문자 처리시 escape와 unescape를 사용해서 저장할 수 있습니다. 특히 에디터 같은걸로 꾸며진 데이터, 내용을 저장할 필요가 있을 때 유용합니다. import org.springframework.web.util.HtmlUtils; String tag =" &"; String esc = HtmlUtils.htmlEscape(tag); String uesc = HtmlUtils.ht.. 2023. 6. 8.
[spring] 예외처리 @ControllerAdvice, @ExceptionHandler를 이용한 예외처리 분리, 통합하기(Spring에서 예외 관리하는 방법, 실무에서 활용하는 방법) 예외 처리 과정 프로그래밍에서 예외 처리는 아주 중요하면서도 아주 어렵다. 과하다할 만큼 상세하고 다양하게 예외를 잡아 처리해준다면, 클라이언트도 그렇고 서버도 그렇고 더 안정적인 프로그램이 될 수 있게 도와준다. 예외 처리를 하는 경우와 방법은 다양하다. 메서드 내에서 예외 상황을 예측해서 처리하는 try-catch문을 이용하는 방법 요구사항에 의한 예외 처리 (ex. validation > 특정 값이 0~255범위가 아니면 유효하지 않은 값으로 판단하고 예외 처리) 스프링 시큐리티에서 인터셉터로 잡아서 UnauthorizedException 같은 예외 처리 기타 여러 예외 처리들을 적용하다보면 코드가 엄청나게 복잡해진다. if문으로 잡든 try-catch로 잡든 상위 메서드로 예외처리를 위임하든 코드.. 2023. 6. 8.
[JAVA] 자바의 다중상속 (인터페이스와 추상클래스) 알고 시작해야 할 내용 1. 자바에서 클래스의 다중 상속은 불가능하다. 2. 하지만 인터페이스의 다중 상속은 가능하다. 인터페이스와 추상 클래스를 사용하는 이유 설계시 인터페이스와 추상클래스를 미리 선언해두면 개발시 기능 구현에만 집중할 수 있다. 개발을 할 때, 패키지 명명 규칙이나 메소드 선언 등 기존에 생각해야할 부분들이 있는데, 인터페이스나 추상클래스대로 이용 하다보니, 개발자는 비즈니스 로직에만 집중할 수 있게 된다. 공통의 인터페이스와 추상 클래스를 선언해두면, 선언과 구현을 구분할 수 있다. 그럼 인터페이스만 있으면 되지, 추상 클래스는 왜 필요한가? 인터페이스를 선언하다보니 어떤 메소드는 미리 선언 해놓을 필요가 있다. 그럼 직접 클래스를 만들면 되지 않나 싶지만 해당 클래스까지 만들기엔 .. 2023. 6. 8.
[spring] logback 사용하기(slf4j 선언) logging 도구로써 최근에 자주 쓰이는 logback 을 사용하는 방법을 정리해보려 합니다. log4j에서 개선할 부분을 개선하여 만들어진 도구이며, 사용방법도 비슷합니다. spring boot에선 lombok으로 @Slf4j 선언해서 사용해도 됩니다. 그러나 처음 사용하는 입장에서 logger 객체를 선언해 사용하는 연습을 해보려 하기에 lombok을 이용하지 않고 직접 선언해서 사용하는 방식을 예시로 정리해봤습니다. logback의 특징을 간단히 정리해보면 다음과 같습니다. - 로깅과 동시에 파일로 로그 저장이 편리하다. - 로그레벨 관리를 appender 기준으로 할 수 있다. - 기존 log4j보다 성능, 로깅시간이 빠르다. 1. logger 선언 import org.slf4j.Logger; .. 2023. 6. 1.
[JAVA] 상속 (Inheritance), extends와 implements 개발에서 상속이라는 용어가 있다. 부는 되물림 되고, 이어지는걸 당연시하는듯 공교롭게도 상속이란 단어가 사용되는데, 부에서 사용하는 상속과는 다르다. 개발에서 상속이 무엇이고, 왜 쓰이고, 어떻게 쓰이는지 정리해보려 한다. - 개발에서 상속이 무엇인가? 누군가(보통 부모) 죽기전 가족, 자식에게 재산을 나눠준다. 이걸 받는것을 상속이라고 하는데, 개발에선 부모클래스가 가진 변수나 메소드를 물려받아 알아서 구현시키고, 사용하거나 변형시켜 사용할 수 있다. 능력의 되물림이라고 보면 된다. - 개발에서 상속을 왜 사용하는가? 개발하면서 상당히 많은 기능들이 만들어져 있는데, 이를 간단하게 불러오기 위함이다. 에러처리나, 입력, 그외 요구사항에 따라 만들어진 기능들을 직접 개발하지 않고 원하는 소스에서 상속받게.. 2023. 5. 26.
[Linux] 파일, 폴더 개수 확인하기 현재 위치에서의 폴더 개수 ls -l | grep ^d | wc -l 현재 위치에서의 파일 개수 ls -l | grep ^- | wc -l 현재 폴더의 하위 파일 개수 find . -type f | wc -l 2023. 5. 26.
[클라우드] edge-computing 엣지 컴퓨팅 에 대해서 클라우드 개발을 많이 접해보지 못한 나로썬, 엣지 컴퓨팅 이라는 단어가 낫설었는데... 그럼에도 알아둘 필요는 있을 것 같아 정리해봅니다. 별도 세미나를 통해서 엣지 컴퓨팅에 대해 강의를 들었는데, 클라우드 서비스와 연관되어 있으며 네트워크 지식이 많이 필요한 기술이었습니다. - 등장한 배경 4g, 5g 같은 무선 데이터 환경에 실시간 스트리밍 서비스, 대용량 파일 다운로드, 원격 접속으로 회의 진행 및 업무 진행 등 데이터를 점점 많이 사용하는 환경이 되어가는 시대입니다. 더군다나 서비스를 제공하는 인프라도 점점 클라우드 화 되어가는 추세에서 앞으로 추가되려하는 인공지능 기술이나, 자율주행 기술 등 데이터 전송/처리를 점점 더 많이 요구하게 되는데, 이를 데이터센터가 감당하는데 한계점에 다다를 수 있다.. 2023. 5. 26.
[OpenShift] redhat 에서 밀고있는 솔루션 OpenShift, 통합 관리 프레임워크. redhat에서 개발과 시스템 통합, 운영, 관리, 배포를 쉽게 할 수 있도록 여러 사양과 솔루션들의 호환을 제공하는 소프트웨어를 출시했습니다. 큰 기업에선 여럿 사용하고 있다고 하는 OpenShift에 대해 간단히 정리해두려 합니다. OpenShift란? 도커(Docker)와 쿠버네티스(Kubernetes)를 제공하는 컨테이너 애플리케이션 플랫폼 PaaS 솔루션으로 Infra와 software를 쉽게 제공해줌 enterprise-grade의 다양한 부가 기능이 추가되어, Web-UI, 소스 빌드 자동화, 라우터 등을 사용 가능하도록 제공 57개 이상의 프로젝트 템플릿을 제공하여 즉시 Docker용 애플리케이션을 빌드하여 실행 가능 일반적으로 PaaS 서비스는 잘 나오기 힘듭니다. 입맛에 맞는 비즈니스 .. 2023. 5. 26.