기술 창고/정보 창고(11)
-
CentOS 에 MySQL 8.0 설치
CentOS 운영체제에서 MySQL DB를 사용하기 위해 설치하는 과정에 대해서 정리해보겠습니다. (1) yum install https://dev.mysql.com/get/mysql80-community-release-el7-6.noarch.rpm yum install 명령어를 통해 MySQL 8.0 커뮤니티 버전의 저장소 설치 파일 주소를 넣어 y를 눌러 진행해줍니다. complete! 구문이 나오면 정상적으로 설치하고자 하는 MySQL 버전의 설치 저장소가 설치된 것입니다. (2) yum install mysql-server 이제 본격적으로 mysql-server를 설치해줍니다. 에러 발생 시! 더보기 이 때! 이와 같은 에러 메세지가 발생하면, gpgcheck 옵션을 확인하고 수정해주어야 합니다...
2024.02.20 -
CentOS 에 JDK 17 버전 설치
CentOS 운영 체제에서 자바 및 Spring 프로젝트를 배포하여 사용하기 위해 JDK 를 설치하는 방법에 대해서 정리해보겠습니다. # CentOS는 더 이상 페키지 업데이트를 지원하지 않아 Yum으로 설치 가능한 OpenJDK는 11버전이 최대라고 합니다. (1) sudo yum -y install wget curl yum 을 통해 wget curl 패키지를 설치합니다. (2) cd /tmp ### Linux 64-bit ### wget https://download.java.net/java/GA/jdk17.0.2/dfd4a8d0985749f896bed50d7138ee7f/8/GPL/openjdk-17.0.2_linux-x64_bin.tar.gz tmp 경로로 들어가 wget 패키지로 설치할 Open..
2024.02.20 -
외부 프로젝트를 정상적으로 import 하는 방법 (npm install)
가끔 외부 프로젝트를 visual studio code 에 import 할 때 그 프로젝트의 dependency나 gitIgnore 처리되거나 혹은 따로 프로젝트에 제외 처리가 되어있는 파일들이 있을 경우 import 하여 프로젝트를 실행하려고 해도 제대로 실행이 되지 않는 경우가 많습니다. 완벽한 모든 상황을 해결할 수는 없겠지만 이를 해결하기 위해서 간단한 방법을 알아보자면, 컴퓨터에 node가 설치되어 있는 경우 visual studio의 터미널에서 import 한 프로젝트에 들어간 뒤 터미널에서 npm install 명령어를 입력하면 기존에 제외 처리 되어있거나 프로젝트 파일에 포함되지 않았던 시스템 파일들이 새롭게 설치되어 정상적으로 프로젝트를 실행할 수 있게 됩니다.
2024.01.04 -
포트 포워딩 적용 / 해제
배포 서버에 배포 후 ip 주소를 입력하여 접근할 때 기본적으로 마지막에 포트 번호가 붙습니다. 이것을 명시하지 않고 접근할 수 있도록 포트 포워딩을 해줍니다. 포트 포워딩 적용 sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport {포워딩 시킬 포트 번호 : 보통 80} -j REDIRECT --to-port {현재 실행 포트 : 보통 8080} 리눅스 혹은 우분투 터미널에서 해당 명령어를 입력하여 현재 실행 포트를 리다이렉트 시켜 포워딩 시킬 포트에 매핑 시키도록 합니다. 적용이 되었으면 이제 url 주소창에 맨 뒤의 포트 번호를 제외하고 접속하면 정상적으로 접근되는 것을 확인할 수 있습니다. 포트 포워딩 해제 sudo iptables -t nat -..
2024.01.02 -
transferTo 사용 시 중복 업로드 불가 (+ 해결 방법)
흔히 Spring에서 transferTo를 사용하여 파일들을 업로드하는데 단일 경로에 업로드시키는 것은 가능합니다. 그러면 궁금증이 생깁니다. 다른 경로에도 동시에 업로드할 수 있을까? 결과적으로 말하면 불가능합니다. 한 파일에 tranferTo 함수를 적용하여 업로드 하게 되면 해당 파일은 업로드 시킨 해당 경로가 고정으로 지정됩니다. 백문이 불여일견이니 코드를 실행하면서 확인해보겠습니다. 우선 음악 파일을 업로드하고 해당 음악에 따른 1분 짜리 preview 음악을 또 업로드한다고 가정해보겠습니다. 상황 1. transferTo 중복 사용으로 다중 업로드 경로 지정 Controller @PostMapping("/test/transfer") public ResponseEntity testTransfer..
2023.11.13 -
Non-Blocking IO / Blocking IO
Blocking IO Blocking IO 란 IO 프로세스가 시작한 작업이 진행되는 동안 다른 작업은 중단한 상태로 진행 중인 IO 작업이 끝날 때까지 대기하는 방식을 뜻한다, Blocking IO 에 관한 자료를 찾다보니 가장 흔한 이미지가 위의 사진이였다. 사진을 보면, Read() 함수가 호출이 되면 해당 함수가 완전히 끝날 때까지 다른 작업을 수행하지 못한다. Non-Blocking IO Non-Blocking IO 는 한 프로세스가 IO 작업을 호출했을 때 IO 작업이 완료될 때까지 작업을 중단하지 않고 IO 호출에 대해 즉시 리턴한 뒤, 해당 프로세스가 이어서 다른 IO 작업을 수행할 수 있도록 하는 방식을 뜻한다. Non-Blocking IO 는 한 프로세스가 작업을 진행할 때 즉시 커널 ..
2023.02.10