목록💡 백엔드 (121)
코딩마을방범대
Radius란 아래 포스트를 참고! Radius란? Radius (Remote Authentication Dial-In User Service) 원격 인증 및 사용자 접속 관리 서비스 네트워크 장치에서 사용자 인증 및 원격 접속 제어를 위해 사용되는 프로토콜이나 시스템 ( 사용자가 네트워크에 sweet-rain-kim.tistory.com FreeRadius 설정 테스트 (필수X) 1. Freeradius 설치 $ sudo apt update && sudo apt -y install freeradius 2. 인증받는 클라이언트 정보 입력 $ sudo vi /etc/freeradius/3.0/clients.conf client [장치이름]{ ipaddr = [ip주소] secret = [인증키] } ipa..
MobaXterm 동작 단축키 현재 탭 닫기 Ctrl + Alt + Q 이전 탭 Ctrl + Alt + LEFT 다음 탭 Ctrl + Alt + RIGHT 터미널 출력 저장 Ctrl + Shift + S 사이드바 표시/숨기기 Ctrl + Shift + B 탭 전환 Ctrl + TAB 탭 역 전환 Ctrl + Shift + TAB 현재 탭 복제 Ctrl + Shift + U 터미널에서 찾기 Ctrl + Shift + F 터미널에서 붙여넣기 Shift + INSERT (마우스 휠 클릭도 가능) 명령어 자동완성 TAB VI 편집기 명령 모드(command mode) 에서의 명령어들 명령어 동작 i 현재 커서 위치에 삽입 (입력모드로 넘어감) a 현재 커서 바로 다음위치에 삽입 (입력모드로 넘어감) o 현재 줄..
Docker 내에서 Docker를 사용하기 위해선 우분투를 베이스로 깔고, Docker을 설치하게 되는데 enable 등록을 해주지 않으면 이미지를 실행시켜도 도커가 자동으로 실행되지 않는다. 그렇지만 enable은 systemctl 권한이 필요하고, Dockerfile에선 systemctl 사용이 불가능하다. 따라서 우분투를 privileged 권한으로 실행 후 docker 등을 설치한 뒤 해당 컨테이너를 이미지화시키고, 그 뒤에 Dockerfile을 통해 필요한 명령어를 적은 뒤 이미지화 시키면 된다. 1. 우분투 이미지 파일 다운 $ docker pull ubuntu 2. 우분투 이미지 실행 ※ 원래 여기서 bash로 시작하는게 아닌 /sbin/init으로 시작해야 privileged 권한을 가질 ..
Docker에 대한 기본 상식과 기초 사용 방법은 아래 포스트를 참고! 컨테이너와 Docker란? 컨테이너와 Docker란? 컨테이너(Container)란? 애플리케이션을 환경에 구애받지 않고 실행하는 기술이다. 운영체제에서 실행되는 프로세스를 격리하여 별도의 실행 환경을 제공해주며, 해당 프로세스는 운영체제 상에 sweet-rain-kim.tistory.com 우분투에서 Docker 사용하기 우분투에서 Docker 사용하기 이전포스트 참고하여 Docker가 뭔지 알아봤고, 우분투에 Docker를 설치하여 사용 예정이다. https://sweet-rain-kim.tistory.com/146 컨테이너와 Docker란? 컨테이너(Container)란? 애플리케이션을 환경에 구애받지 sweet-rain-kim..
이전포스트 참고하여 Docker가 뭔지 알아봤고, 우분투에 Docker를 설치하여 사용 예정이다. https://sweet-rain-kim.tistory.com/146 컨테이너와 Docker란? 컨테이너(Container)란? 애플리케이션을 환경에 구애받지 않고 실행하는 기술이다. 운영체제에서 실행되는 프로세스를 격리하여 별도의 실행 환경을 제공해주며, 해당 프로세스는 운영체제 상에 sweet-rain-kim.tistory.com Docker 설치 1. 우분투 시스템 패키지 업데이트 $ sudo apt-get update 2. 필요한 패키지들 설치 $ sudo apt-get install \ ca-certificates \ curl \ gnupg \ apt-transport-https \ software..
@Configuration, XML 기반으로도 트랜잭션을 구성할 수 있지만 이번엔 어노테이션을 이용한 방법으로 알아볼 것이다. 어노테이션 방식은 선언적 트랜잭션이라고 불리고, 선언 시 트랜잭션 기능이 적용된 프록시 객체가 생성된다. 프록시 객체란 앞서 포스팅했던 '프록시(Proxy)란' 과 비슷한 개념을 갖고 있다. 객체와 DB 사이의 중간 다리 역할을 해주는 또 다른 객체라고 볼 수 있다. 만약 사용자가 객체의 get을 이용해 데이터를 조회했을 때, 프록시 객체의 Entity Target 값이 비어있다면 DB를 조회해 Entity 생성 후 프록시 객체의 타겟 값으로 저장한다. 이 프록시 객체의 타겟값을 이용해 데이터 조회에 대한 응답을 리턴한다. (JPA에서 지연로딩을 적용하면 프록시 객체가 생성된다...
순차 & 병렬 & 병행 처리의 차이점 순차 처리 ( Sequential ) 여러 작업을 순서대로 하나씩 처리 병렬 처리 ( Parallel ) 여러 작업을 동시에 처리 병행 처리 ( Concurrent ) 한 개의 업무를 어떠한 순서로 처리하든 상관없는 여러 개의 작업으로 분할하여 처리 ※ 멀티쓰레드 프로그램의 경우 병행 처리를 의미함 만약 CPU가 한 개라면 순차적으로, 여러개라면 병렬적으로 실행한다. CPU가 하나라면 복수의 쓰레드가 작동하고 있다 하더라도 여러 개의 작업으로 분할하여 순차적으로 실행한다. 즉, 동일한 시간 대에 실행되는 쓰레드는 오직 하나이지만, 여러 개의 쓰레드가 무작위로 번갈아가면서 실행됨으로써 결과적으로 동시에 처리되는 것처럼 보인다. ex ) 쓰레드 1 실행 -> 쓰레드 2 ..
Hashtable Hashtable 클래스를 살펴보면 메소드 전체에 synchronized 키워드가 적용되어 있는 것을 확인할 수 있다. 따라서 멀티쓰레드 환경에 적합하며, 쓰레드 세이프 하다는 특징이 있다. 하지만, 동시 작업을 실행하려할 경우 Lock을 하나씩 가지고 있기 때문에 동시 작업 시 병목 현상이 발생할 수 밖에 없다. ( 메소드에 접근하게 되면 다른 쓰레드는 Lock을 얻을 때까지 기다림 ) ※ Collection Framework가 나오기 이전부터 존재하는 클래스이기 때문에 최근에는 잘 사용하지 않는 클래스라고 한다. public class Hashtable extends Dictionary implements Map, Cloneable, java.io.Serializable { publ..