본문 바로가기
반응형

전체 글1073

Stomp 이란? Stomp란? Stomp는 Simple Text Oriented Messaging Protocol의 약자로, Websocket 위에서 동작하는 텍스트 기반 메세징 프로토콜이다. Stomp는 Publish-Subscribe 매커니즘을 제공하고, Broker를 통해 다른 사용자들에게 메시지를 보내거나 서버가 특정 작업을 수행하도록 메세지를 보낼 수 있다. WebSocket이란 단일 TCP 연결을 통해 클라이언트와 서버 간의 전이중양방향 통신(Full Duplex 2-way Communication) 채널을 설정하는 표준화된 프로토콜이다. HTTP와 다른 프로토콜이지만 80,443 포트를 사용하며 기존 방화벽 규칙을 재사용할 수 있도록 HTTP기반으로 설계 되었다. 기존 WebSocket은 각 connecti.. 2023. 4. 9.
[eclipse] 글자 색상 바꾸기 eclipse 테마를 변경하고 보니 일반 글씨체랑 주석문의 글씨체의 색상이 비슷해서 구분이 잘 안갔다. 그럴땐 아래와 같이 설정이 가능하다. window -> preference -> java -> Editor -> syntax Coloring 에서 설정한다. 2023. 4. 8.
Spring security 설정으로 인한 401 Unauthorized 에러 새롭게 springboot 프로젝트를 만들고 restapi 통신을 해보니 에러도 안뜨고 통신도 안되었다. 그리고 상태값 하나를 뱉어내었다. (401 Unauthorized 발생) 그러면서 추가적으로 header 에 Access-Control 관련된 에러들이 발생하였다. 모두 공통점은 security 관련 에러이다. 허용되지 않은 곳에서 호출이 되기에 리턴을 못해주는 경우이다. 해결책은 간단하다. security 를 cors로 값을 맞춰주거나 test환경이라면 spring security 관련을 pom.xml 에서 제거해주면 해결이 된다. cors란 아래 참고 포스팅 참고 바란다. 참고 포스팅 https://thenicesj.tistory.com/329 CORS 란? 한가지 극단적인 예를 들어본다면, 만약.. 2023. 4. 7.
[vscode] 에서 chat GPT 사용법 요즘 IT 업계에서 가장 핫한것은 바로 chatGPT이다. 자동으로 코드를 짜주는것은 물론, 제안이나, 더 효율적으로 최적화 작업까지도 이루어진다. 이 chatGPT를 사용하기 위해서는 별도의 가입이나. 특정 사이트를 들어가곤 했는데, 만약 원하는 답이 코드를 짜는것을 원한다면 결국 해당 코드를 가져와서 IDE에서 돌려야한다. 이 모든 작업을 하나에서이루어지게 할수 있다. vscode에서 marketplace 로 들어가서 easycode를 검색하고 아래 그림과 같은 기능을 받는다. 그리고 설치 후 왼쪽 부분에서 선택을 해서 검색을 하면된다. 영어는 물론이고 한국어 까지 지원하니 많이 도움이 된다. 2023. 4. 6.
git 명령어 이전 포스팅에서 git 에 대한 설명과 기본 명령어에 대해 알아봤었다. 자세한 내용은 참고 포스팅에 존재한다. 이번 포스팅에서는 git에 올리기 위한 기본적인 명령어 들을 알아볼 예정이다. 프로그램이 아닌 터미널에서 코드로 올리는 법을 다룰것이다. 순서 git init 먼저 프로젝트를 생성했다면 해당 폴더에서 터미널로 git init 을 하여 저장소 초기화 작업을 해줘야한다. git status git의 현재 상태를 보는 명령어이다. 꼭 순서가 중요한건 아니고 로딩하면서 종종 사용하며 현 상태가 괜찮은 상태인지 계속 확인해줘야한다. git add . 다음으로는 해당 폴더에 있는 ( . 이 현재 위치를 말한다) 모든 파일을 add로 로컬 저장소에 올리는 바구니 리스트에 넣는다. add 개념은 아래 참고 포.. 2023. 4. 5.
java 에서 동적 메서드 (reflection) Reflection 이란? 자바에서 메서드를 사용할때 대부분 구체적인 메서드를 가지고 개발을 하지만 동적으로 작업을 하던가, 구체적인 클래스 타입을 알지 못하더라도 해당 클래스의 메서드, 타입, 변수들에 접근을 해주는 자바 API 이다. 디버깅 단계에서가 아닌 런타임 시에 클래스를 가져오는 경우 해당 API를 자주 사용하게 된다. 예제는 아래와 같다. class Member { String id; Member() { this.id = "name"; } Member(String id) { this.id = id; } int getId() { return this.id; } } 이렇게 Member 클래스가 존재한다. 생성자 찾기 getDeclaredConstructor()를 이용해 클래스로부터 생성자를 가져.. 2023. 4. 4.
PSM 이란? PSM 이란? 먼저 위키백과에서 소개하는 설명은 아래와 같다. SQL/PSM(SQL/Persistent Stored Modules)은 주로 저장 프로시저에 사용하기 위해 절차적 언어로 SQL 확장을 정의해둔 ISO 표준이다. https://ko.wikipedia.org/wiki/SQL/PSM SQL/PSM - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. SQL/PSM(SQL/Persistent Stored Modules)은 주로 저장 프로시저에 사용하기 위해 절차적 언어로 SQL 확장을 정의해둔 ISO 표준이다. 1996년에 SQL-92(ISO/IEC 9075-4:1996, 가끔은 PSM-9 ko.wikipedia.org 좀더 부가 설명을 더하면 SQL에 프로그래밍 언어 설계 기능을.. 2023. 4. 3.
[error] javassist.tools.web.Webserver <port number> eclipse 내에서 자바 버전을 변경후 새롭게 run을 하니 javassist.tools.web.Webserver 이런 에러가 나왔다. 이유는 이미 자바가 다른 버전으로 프로세스가 실행 되고 있거나 혹은 톰캣서버가 실행되고 있을 이유인 경우가 많다. 에러 문구를 보니 webserver라고 되어있어서 톰캣 오류일 듯 싶다. 해결법은 사용중인 프로세스를 죽이고 다시 실행하면 되지만, 더 간단한 방법은 eclipse를 재실행 하거나(자바 프로세스 재실행) 피시를 재 기동 하면 프로세스들이 새롭게 로드 되기에 해결할수 있다. 2023. 4. 2.
[Oracle] procedure 조회 전 포스팅에서 procedure와 function에 대해서 차이와, 선언하는법을 다뤘다. 자세한 내용은 아래 참고 포스팅 참고바란다. 이번 포스팅에서는 만든 프로시져를 조회하는 방법이다. 간단하니 한번 따라해보는것을 추천한다. 프로시저 목록 조회 SELECT * FROM ALL_PROCEDURES WHERE 1=1 AND OWNER = 'owner 명' AND OBJECT_NAME = ' 명'; 프로시저 내용 조회 SELECT * FROM ALL_SOURCE WHERE 1=1 AND OWNER = 'owner명' AND NAME = '명' ; SELECT * FROM ALL_SOURCE WHERE 1=1 AND OWNER = 'owner명' AND NAME ... -- 조건을 통해 필터 AND LINE .. 2023. 4. 1.
반응형