본문 바로가기

전체 글

(65)
데이터 베이스 연동시 오류 DBeaver에 DB를 연결하려던 도중 위와 같이 Unknown database 'Database명' 에러가 뜨는 경우가 있는데 에러의 발생원인은 DB 세팅하는 과정에서 Server Host 아래의 Database에 잘못된 값을 입력한 경우인데 Database는 DB 연결 시 기본 스키마를 뜻해서 사용할 스키마를 입력해줘야 하는데 해당 DB에 존재하지 않는 스키마를 입력했으니 Unknown database 에러가 떨어지는 것이다 해결방법은 존재하는 스키마를 Database에 입력하거나 혹은 Database를 빈칸으로 두고 연결해주면 된다 빈칸으로 만든후에 No database selected 에러가 떨어지는데 그럴때는 CREATE DATABASE ( 디비이름 설정 ) 하이폰이 먹히지않는다. 이렇게 만들고..
Nginx: Failed to start A high performance web server and a reverse proxy server 에러 Nginx: Failed to start A high performance web server and a reverse proxy server 에러 1. 원인 80번 포트를 물고있어서 사용을 못한다 라고 나온다 2. 해결방법 sudo fuser -k 80/tcp 이 코드로 80포트를 죽이면 사용이 가능하다.
nginx에서 웹소켓이랑 sse 뚫기 1. 오류내용 Handshake failed due to invalid Upgrade header: null? 웹소켓 통신중 저 오류가 나면서 통신이 안된다. 2. 원인 주의 할점은 웹소켓은 기본적으로 HTTP 프로토콜을 이용하여 그 연결을 끊지 않고 유지시켜주는 방식으로 동작하기 때문에 반드시 header에 websocket으로 upgrade한다는 것을 명시해야한다. 조금 더 위의 내용을 정리해보자면, 클라이언트와 서버 간의 연결을 HTTP / 1.1에서 WebSocket으로 전환 하기 위해 HTTP / 1.1에서 사용 가능한 프로토콜 스위치 메커니즘이 사용된다고 한다. 그러나 업그레이드는 hop-by-hop 헤더이기 때문에 클라이언트에서 프록시 서버로 전달되지 않는다고 한다. 정방향 프록시(Forwa..
sse 사용 이유 처음에 웹소켓으로 알림하려 했는데 페이지에 접속하자마자 연결하는 것은 서버 메모리 낭비였다. 다른 방법을 찾아보니 polling, long polling, streamin,sse 많은 통신 방식이 있었다. 거기서 SSE는 웹소켓과 달리, 클라이언트는 서버로부터 데이터만 받을 수 있게 된다. SSE는 웹소켓과 달리 별도의 프로토콜을 사용하지 않고 HTTP 프로토콜만으로 사용이 가능하기에 훨씬 가볍다. 알림 기능만을 고려했을 때, 웹소켓보다 가벼운 SSE를 선택하는 것이 더욱 좋은 선택이라 생각했고 이를 통해 알림 기능을 구현하였다. 결과적으로 sse로 알림을 구현함으로써 서버에 부담도 없고 실시간으로 알림 전달이 수월해졌다. 요구 사항 채팅 알림 기능 구현 의사 결정 과정 알림 기능 구현을 위해 필요한 통..
nginx 에서 https 뚫기 맨처음 가비아에서 도메인을 하나 구매를한다 , 구매후에 구입한 도매인을 클릭한후 '관리' 까지 들어가서 저 버튼을 클릭한다 그후 설정을 클릭한 후에 이 부분에서 레코드 수정을 누른후에 이 화면이 나오면 진짜 반이상 성공 저기서 파란 동그라미 버튼중에 레코드 추가를 먼저 누르시고 호스트에 ' www ' 을 추가한뒤 값/위치 쪽에 ec2 퍼블릭 주소를 넣어주면 된다 . 호스트 @ 는 디폴트로 존재함으로 수정버튼만 눌러서 값/위치 만 바꿔주면 완성 . 더이상 가비아는 손볼것이 없다 aws ---> ec2 ---> 보안그룹 ---> 인바운드 편집 들어간후에 규칙추가를 누르고 HTTPS 두개를 개통해주면 ec2까지 완성 gitbash 접속후에 $ sudo apt-get update $ sudo apt-get in..
스프링 영국 시간 바꾸 1. 오류 발생 시간을 보면 다르다 ( 뒤에 분은 시간이 지나서 캡처를 하였기에 시간만 보면 9시간차이가 난다 딱봐도 영국시간 ) 우분투 시간이 문제인가해서 $ date 로 확인을 해보니 우분투 시간은 정상이였다. 2. 스프링 서버시간이랑 우분투 서버시간이랑 달랐다 3. 해결 2. Timezone 변경하기 Etc/UTC 를 아래의 명령어를 통해서 변경해 보도록 합니다. ? 1 $ sudo dpkg-reconfigure tzdata Asia/Seoul 로 변경을 위해서는 메뉴에서 Asia > Seoul 을 검색해 보시면 됩니다. 이제 변경이 된 것을 확인하실 수 있으시고 date를 통해서 KST로 변경된 것을 확인하실 수 있을 것입니다. 출처: https://www.deok.me/entry/Ubuntu-에..
우분투 시간 바꾸기 첫번째로 명령어 $ date 를 친다. 그럼 지금 설정되어있는 시간과 날짜가 나오는데 이것이 한국시간이 아니면 바꾸면 된다 세가지 방법이 있는데 그중에 한가지 방법이 잘 안돼서 다른 방법을 찾아보다가 성공하였다. 우분투에서 Timezone 변경하기 - 1 타임존(Timezone) 선택 아래에 나오는 /usr/share/zoneinfo/에 보면 대륙과 대륙에 해당하는 국가들이 나와 있습니다. 원하시는 국가를 선택해서 경로를 기억합니다. 타임존(Timezone) 변경 아래는 Asia/Seoul로 변경하는 예제입니다. $ sudo ln -sf /usr/share/zoneinfo/Asia/Seoul /etc/localtime 우분투에서 Timezone 변경하기 - 2 timedatectl 다음과 같이 timed..
[Spring Error]cannot deserialize from Object value (no delegate- or property-based Creator) "cannot deserialize from Object value (no delegate- or property-based Creator)" 이라는 에러가 발생했다 👉SOLUTION DTO 에 @NoArgsConstructor 를 추가해주면 해결 @NoArgsConstructor : 파라미터가 없는 생성자를 생성. 필드들이 final로 생성되어 있는 경우, 필드를 초기화 할 수 없기 때문에 생성자를 만들 수 없고 에러가 발생하게 된다. ⭐️⭐️⭐️ NoArgsConstructor(force = true) final 필드 초기화를 강제로 시켜 생성자를 만들어준다. @NonNull 처럼 필드에 제약조건이 설정되어 있을 때 , 생성자내 null-check 로직이 생성되지 않는다. 참고 블로그 https://..