전체 글 44

ajax로 다운로드가 안될 때 : Uncaught InvalidStateError: Failed to read the 'responseText' property from 'XMLHttpRequest': The value is only accessible if the object's 'responseType' is '' or 'text' (was 'blob').

파일 다운로드를 하는 방법은 여러가지가 있는데, 가장 간단하게는 location.href = 'api 주소'; 로 구현할 수 있다.  제이쿼리를 쓰고 있는 프로젝트였고, 파일의 크기가 클 수 있기 때문에 사용자들이 기다리는 것을 위해서 spinner 를 다운로드 받는 중에 노출 시키도록 변경 하려고 했다. 단순히 링크만 보내는 것은 파일이 다운로드가 완료 된 후에 spinner를 끄는 것이 불가하기 때문에 ajax를 사용하기로 한다.  일반적으로 Ajax 요청은 JSON,XML,HTML과 같은 텍스트 데이터를 처리하지만, 파일 다운로드의 경우 바이너리데이터(blob)으로 응답이 전달된다. 그렇기 때문에 xhrFields: { responseType: 'blob'} 와 같은 설정이 필요하다.  $.a..

Backend · Infra 2024.10.22

rocky 9 linux 초기 셋팅

회사에서 윈도우에 배포되어 있는 프로젝트를 리눅스로 옮기는 작업이 필요했다. 새로운 서버를 받아서 리눅스를 설치 한 후 아무 것도 없는 서버에서 셋팅부터 작업 하게 되었다. 네트워크 설정RHEL/CentOS/Fedora 같은 RedHat 계열에서는 아래와 같이 파일로 네트워크를 설정한다.sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0 // 설정할 네트워크 ifconfig로 확인 후 실제 네트워크가 연결된 곳으로 설정 BOOTPROTO=staticONBOOT=yesIPADDR=192.168.1.10 // 부여할 ip주소NETMASK=255.255.255.0GATEWAY=192.168.1.1 // 보통 GATEWAY는 1번DNS1=8.8.8...

Backend · Infra 2024.10.17

[Windows] 특정 포트 사용 프로세스 종료하기

문제상황 🤔개발 중 인텔리제이에서 서버 종료를 했음에도 불구하고 해당 포트가 여전히 사용중이라 종료해야 했다.  해결방법 🛠️ 1. 명령 프롬프트 실행 - 단축키: Win+R 입력 후, cmd 입력하여 실행 2. 현재 사용중인 포트 확인netstat -ano | findstr: 8080 - 8080 : 확인하려는 포트 번호 - 출력 예시 TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 1234 - 1234 : 해당 포트를 사용중인 프로세스 ID(PID) 3. pid를 확인하여 프로세스 종료taskkill /f /pid 1234 - /F : 강제 종료 옵션- 1234 : 종료하려는 프로세스의 PID 위 방법을 통해 해당 프로세스..

Backend · Infra 2024.08.08

[Error] No SLF4J providers were found.

잘 돌아가던 프로젝트가 갑자기 로그가 안보였다.SLF4J: No SLF4J providers were found.SLF4J: Defaulting to no-operation (NOP) logger implementationSLF4J: See https://www.slf4j.org/codes.html#noProviders for further details.SLF4J: Class path contains SLF4J bindings targeting slf4j-api versions 1.7.x or earlier. pom.xml을 다 뒤져봤더니, dependency에 2. 버전이 있었다.   org.slf4j slf4j-api ${slf4j.version} SLF4J 2.x 버전과 SLF4J..

Backend · Infra 2024.08.06

[Jenkins] 빌드로 가는 과정

📌 이 글은 Docker & 배포 자동화 시리즈 중 하나입니다.회사 프로젝트는 셋팅 된 값들이 많아서 build.sh로 스크립트 기반 빌드 시스템으로 되어있었다. 또한 svn으로 형상관리를 하고 있었다. svn으로 형상관리를 하는 경우 svn 계정을 Jenkins에 연동해야 한다. Svn 계정 등록#Jenkins browser > Jenkins 관리 > Plugins Available plugins 탭을 클릭한 뒤 Subversion Plug-in을 받아준다. Dashboard> Jenkins관리 > Creditials> System > Global credentials 에 svn 계정의 아이디와 비밀번호를 등록해준다. 새로운 item 을 등록할 때, 혹은 configuration 할 때 소스코드 ..

Backend · Infra 2024.07.30

[Jenkins] Linux에 jenkins 설치 2

📌 이 글은 Docker & 배포 자동화 시리즈 중 하나입니다.기존 java가 8버전으로 설치되어있어서 이전 버전 jenkins로 설치는 완료했으나,플러그인 호환문제가 발생하였다. JAVA_HOME을 바꾸지 않고 jenkins에서만 java 17버전을 설정해서 사용하는 방법으로 재설치 하였다. 기존 jenkins 삭제 # jenkins 서버 중지systemctl stop jenkins# 서비스 제거 systemctl disable jenkins# jenkins 삭제yum remove jenkins# 관련 파일 모두 삭제 rm /etc/init.d/jenkinsrm -rf /var/lib/jenkinsrm -rf /etc/yum.repos.d/jenkins Open JDK 17 설치CentOS7 에서..

Backend · Infra 2024.07.29

[Jenkins] Linux에 jenkins 설치

📌 이 글은 Docker & 배포 자동화 시리즈 중 하나입니다.자동 배포를 위해 jenkins를 도입하려고 했다.우선 개발 서버에 jenkins를 셋팅 해보았다. 현재 운영체제 확인cat /etc/redhat-release위 명령어를 입력하면 현재 OS의 정보를 알 수 있다.서버 OS : CentOS Linux release 7.9.2009 (Core)공식 문서jenkins docs linux install권장 사항4GB 이상의 RAM50GB 이상의 드라이브 공간RAM 확인free -h 를 한 뒤 Mem 항목의 total 확인드라이브 공간 확인df -h 를 한 뒤 Mounted on이 / 인 항목의 Size 확인자바 지원 버전jenkins 설치Jenkins 패키지 저장소를 추가 및 GPG키 추가sudo..

Backend · Infra 2024.07.26

[ElasticSearch] Paging

1. from 과 size 파라미터를 사용한 페이징 from : 검색 결과의 시작점. 기본값은 0 size : 한 번 검색 쿼리로 반환될 최대 문서 수. 기본값은 10 간단한 페이징을 위해 사용된다. 각 페이지마다 새로운 검색 요청을 보내야 한다.import org.elasticsearch.action.search.SearchRequest;import org.elasticsearch.action.search.SearchResponse;import org.elasticsearch.client.RestClient;import org.elasticsearch.client.RestHighLevelClient;import org.elasticsearch.index.query.QueryBuilders;import ..

Backend · Infra 2024.07.22

[Error Log] Java High Level REST Client 6.3

ES에서 Search 쿼리를 연습해보던 중기존 프로젝트에  Java Low Level REST Client 6.3이 셋팅 되어 있었지만, LowLevel에서는 Query DSL을 직접 JSON형식으로 작성하여 요청해야 하기 때무에 불편함이 있었다.  Java High Level REST Client 6.3 를 셋팅 해보고 싶다는 생각이 들어, 기존 프로젝트에서 branch를 하나 따서 High Level을 셋팅 해봤다. High Level vs Low Level  Java High Level REST Client Java Low Level REST Client REST 요청을 추상화하여 간단한 인터페이스를 제공하여 간편한 사용이 가능하다.ElasticSearch의 REST API와 직접적으로 상호작용하..

Backend · Infra 2024.07.17