분류 전체보기205 [Spring] Could not get JDBC Connection 에러 해결 방법 에러메세지 SEVERE: 경로 []의 컨텍스트 내의 서블릿 [appServlet]을(를) 위한 Servlet.service() 호출이, 근본 원인(root cause)과 함께, 예외 [Request processing failed; nested exception is org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.exceptions.PersistenceException: ### Error querying database. Cause: org.springframework.jdbc. CannotGetJdbcConnectionException: Could not get JDBC Connection; nested .. Error Document/Spring 2022. 3. 19. C# DNS 또는 IP를 이용한 Socket IP 설정 방법 (IPAdrress / IPEndPoint 설정) 서론 이번 글에선 C#에서 tcp/ip 통신 간 Server, Client의 Socket ip를 dns를 이용한 IPEndPoint를 설정하는 방법에 대해 정리하려한다. 평소 사용했던 IPEndPoint 설정 방법 IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8000); 위 처럼 보통 Socket IP를 설정할 때 사용했던 소스인데, ip에 dns로 설정하니 IPEndPoint를 못찾는 에러가 발생했다. DNS와 IP를 둘다 호환할 수 있는 방법 string dns = "www.naver.com" //임시로 네이버로 잡았고 필요에 따라 dns 쓰면 됨. IPAddress bnetServerIP = Dns.GetHostAddresses(".. Programming/C# 2022. 3. 18. DNS, DDNS란 무엇일까? (개념 / 차이점 / 정리) 서론 이번 글에서는 TCP/IP로 구성된 일련의 프로토콜인 DNS와 DDNS에 대해서 알아볼려한다. 한번 알아보자. DNS(Domain Name System)란? 영어 뜻만 해석해도 알 수 있듯 말그대로 DNS는 도메인 이름 시스템을 말한다. 이것이 무슨 말일까? 이것은 우리가 인터넷을 편리하게 쓸 수 있는 도메인을 만들어 주는 것을 말하며, 우리가 사용하는 인터넷의 모든 사이트들은 모두 사실 IP로 이뤄져있다. 위 사진으로 보듯 www.naver.com으로 ping을 날려보면 223.130.200.104라는 ip를 반환해주는데 실제 naver는 저런 유동ip를 사용하고 있는 것이다. (실제로 223.130.200.104를 url에 입력하면 네이버로 들어가진다.) 요즘은 IPv6도 쓰고하지만 대중적으로 .. Computer Science/Network 2022. 3. 18. VAN, PG사란 무엇일까? (개념 / 차이점 / 프로세스 정리) 서론 요금정산 모니터링 프로그램을 담당하게 되어 결제관련 PG사와 VAN사의 개념들을 가볍게 정리해놓을려고한다. VAN(Value Added Network)이란 ? 카드사와 상점의 통신을 연결하는 부가가치통신망이다. 오프라인 상점에서 입력한 고객의 결제 데이터를 카드사가 안전하게 보내주는 역할을 한다. 다시 말해, 결제 정보를 주고받는 대행(파이프) 역할을 한다고 보면 된다. 쉽게말해, 매장(OFFLINE)에서 상품을 직접 구매할 때 카드로 계산할 때면 카드 단말기에 긁거나 꽂아서 정보를 읽고 결제하는 방식이다. 특징 1. 수수료가 없어 고정비를 줄일 수 있다. 2. 데이터를 안전하고 정확하게 연결해주는 역할만 하며, 매출 정산 등의 추가 서비스는 제공해주지 않는다. 그렇기 때문에 만약 매출 장부 서비스.. Self-Development/Study 2022. 3. 16. [JAVA] SOLID - 개방 폐쇄 원칙 OCP(Open Closed Principle) 서론 이번 글에서는 개방 폐쇄 원칙(OCP)에 대해 알아볼려한다. 바로 알아보자 :) 객체지향 설계 5대 원칙 SRP(Single Responsibility Principle): 단일 책임 원칙 OCP(Open Closed Priciple): 개방 폐쇄 원칙 LSP(Liskov Substitution Priciple): 리스코프 치환 원칙 ISP(Interface Segregation Principle): 인터페이스 분리 원칙 DIP(Dependency Inversion Principle): 의존성 역전 원칙 OCP(Open Closed Priciple) - 개방 폐쇄 원칙이란? 확장에는 열려있으나 변경에는 닫혀있어야 한다는 원칙이다. 이것이 무슨말일까 ? 우선 여기서 말하는 확장과 변경에 대해 알아보자.. Programming/Java 2022. 3. 15. [Spring] 전역 예외 처리 방법 (@ControllerAdvice, @ExceptionHandler) 서론 필자는 모든 예외사항을 고려하여 개발을 하는것은 불가능하다고 생각이 든다. 그래서 이 예외 처리는 정말 고마운 녀석이라는 생각이 든다. 이번 글에서는 Spring에서 예외처리 클래스를 생성하여 전역 또는 특정 패키지 별로 예외 처리를 할 수 있는 방법을 소개 하려한다. 예외 처리란 ? 우리는 항상 에러(Error)와 예외에 대해 나눠서 생각해야 한다. 여기서 에러는 "보통 발생 시 수습할 수 없는 심각한 오류"를 말하며, 예외는 "예외 처리를 통해 수습할 수 있는 덜 심각한 오류"를 말한다. 에러는 아예 발생하지 않게 처리를 해줘야 하는것에 반면, 예외는 try ~ catch문을 통하여 예외 발생 시 상황에 맞는 구현을 통해 예외 상황을 재활용 할 수 있게 해준다. [예외처리 예시] (예외처리 예시.. Programming/Spring 2022. 3. 13. [Spring] 쿠키와 세션의 차이점 서론 이번 글에서는 쿠키와 세션의 차이점에 대해 알아보려고한다. 각 개념은 이전 글에 작성해놓았으니 참고 바란다. 쿠키(Cookie) VS 세션(Session) 분류 쿠키(Cookie) 세션(HttpSession) 저장 위치 브라우저에 저장한다. 서버에 저장한다. 서버 부담 브라우저에 저장하여 서버에 부담이 없다. 서버에 저장하여 서버에 부담이 있다. 보안성 불리하다. (필요하면 암호화 사용) 유리하다. 서버 다중화 유리하다. 불리하다. 속도 빠르다. 느리다. 저장 형식 Text형식으로 저장된다. Object형식으로 저장된다. 만료 시점 쿠키 저장시 설정할 수 있다. (만료 시점 설정 가능) 브라우저 종료시 삭제한다. (기간 지정 가능) 용량 제한 총 300개 하나의 도메인 당 20개 하나의 쿠키당 4K.. Programming/Spring 2022. 3. 13. [Spring] 세션(Session)이란? (개념 / 특징 / 사용법) 서론 이번 글도 이전 글인 쿠키글과 마찬가지로 나 혼자 공부를 위해 작성하는것이니 지저분한 정리가 될 수 있다. 추 후 깔끔하게 정리를 꼭 해보도록 하겠다 :() 세션이란? 사용자가 웹 브라우저를 통해 웹 서버에 접속한 시점으로부터 웹 브라우저를 종료하여 연결을 끝내는 시점까지 같은 사용자로부터 오는 일련의 요청을 하나의 상태로 보고 그 상태를 일정하게 유지하는 기술이다. ---> 클라이언트 별로 각각의 상태 정보를 서버에서 저장하는 기술이다. 세션 특징 Browser마다 개별 저장소(Session객체)를 서버에서 제공(발급)한다. 각 클라이언트에게 고유한 ID를 부여한다. 웹서버에 컨테이너 상태를 유지하기 위한 정보를 저장한다. 세션 ID로 클라이언트를 구분하여 클라이언트 요구에 맞는 서비스를 제공한다.. Programming/Spring 2022. 3. 13. [Spring] 쿠키(Cookie)란? (개념 / 특징 / 사용법) 서론 쿠키에 대해 간략히 알아보려고한다. 이번 글에서는 정보 공유를 위한 정리보다는 일단 혼자 정리해보기위해 정리하는 글이기에 다소 보기에 지저분할 수 있다. (추 후 시간이 되면 더 자세한 내용으로 다듬어 보겠음) 쿠키란? 쿠키는 유저들의 효율적이고 안전한 웹 사용을 보장하기 위하여 웹사이트에 널리 사용되고 있다. 쿠키는 웹사이트 접속시 접속자의 개인장치에 다운로드 되고 브라우저에 저장되는 작은 텍스트 파일이다. 웹사이트는 쿠키를 통해 접속자의 장치를 인식하고, 접속자의 설정과 과거 이용내역에 대한 일부 데이터를 저장한다. 일반적으로 쿠키에는 만료일이 있다. 예를 들어, 브라우저를 닫는 경우 자동으로 삭제되는 쿠키도 있으며(세션 쿠키), 일부는 수동으로 삭제되기 전까지 남아있는 등 더 오랜기간 동안 컴.. Programming/Spring 2022. 3. 12. [JAVA] SOLID - 단일 책임 원칙 SRP(Single Responsibility Principle) 서론 최근 정보처리기사 공부를 진행하면서 오랜만에 해당 개념들을 접하게 됐는데 객체지향 언어를 개발하는 코더 입장에서 기본적인 설계 원칙도 잘 모르고 마구 개발을 한다라는 것이 얼마나 불운한 개발자로 성장할 것 인지 체감해볼 수 있었다. 이번 챕터에서는 SRP인 "단일 책임 원칙"에 대하여 정리해 볼 것이다. 객체지향 설계 5대 원칙 SRP(Single Responsibility Principle): 단일 책임 원칙 OCP(Open Closed Priciple): 개방 폐쇄 원칙 LSP(Liskov Substitution Priciple): 리스코프 치환 원칙 ISP(Interface Segregation Principle): 인터페이스 분리 원칙 DIP(Dependency Inversion Princi.. Programming/Java 2022. 3. 11. [JAVA] 문자열을 Reverse 하는 방법 서론 개발관련 웹 서핑을 하다가 String을 Reverse하는 방법을 질문하는 글을 접했다. 순간 String에서 기본적으로 reverse()라는 함수를 지원하지않을까? 라는 생각이 들어 입력해봤지만 그런 함수는 존재하지 않았다. 아래에서 해당 방법을 알아보자. 여러 방법이 있지만 가장 간단한 방법 한가지만 메모해두려고 한다. Stringbuilder 활용하기 public static void main(String[] args) throws NumberFormatException, IOException { String str = "abcdef"; StringBuilder sb =new StringBuilder(str); String reverse_str = sb.reverse().toString(); .. Programming/Java 2022. 3. 11. [JAVA] StringBuilder란? (개념 / 사용 이유 / 클래스 라이브러리 만들기 / 예제) 서론 해당 글의 내용은 굉장히 심플한 내용이고 기본적인 내용이기에 필자는 이 내용을 글로 정리를 할까 말까 고민을 했지만 이 시간에 정리 다 했겠다란 생각에 글쓰기 버튼을 눌렀다. 그럼 한번 알아보자. Stringbuilder 기능 String으로 되어있는 문자열을 합칠 수 있다. Stringbuilder 사용이유 우리는 String과 "+"를 이용하여 String을 합칠 수 있다. 그런데 StringBuilder를 사용하는 이유가 무엇일까? 그 이유는 아래와 같다. 우선 기존 방식인 String과 "+"을 사용한 방식을 살펴보자. String str = "안" + "녕"; //str 결과 : "안녕" StringBuilder sb = new StringBuilder(); sb.Append("안"); s.. Programming/Java 2022. 3. 8. 이전 1 ··· 8 9 10 11 12 13 14 ··· 18 다음 💲 많이 본 글