어플라이언스랑 어플리케이션이랑 부르는 것이 비슷하여 비슷한줄 알았는데 많이 차이가 있음을 알고 정리한다.

 

> appliance vs application
* • appliance
하드웨어와 소프트웨어가 통합된 전용 장비
플러그 앤 플레이 방식 (장비 연결만 하면 추가적인 설정, 드라이버 설치 없이 즉시 작동)
특정 기능 (보안, 네트워크 관리)를 효율적으로 안정적으로 수행하기 위해 설계된 전용 하드웨워
예시 - 원격 접속 제공 장비, 대용량 데이터 저장을 위한 장비 EMC 
* • application
소프트웨어 프로그램
운영체제 위에서 동작
예시 - instagram, Spotify

단방향 방화벽 오픈을 요청할 경우 DB쪽 ip, Port는 필요하지만 클라이언트쪽 Port는 필요없고 ip만 필요한 사실은 알았지만 왜 필요가 없는지에 대해 알지 못해 이번 기회에 알아보았다.


 • 단방향 방화벽 요청하는 db쪽 port 불필요 이유
클라이언트 서버 (애플리케이션 서버)가 요청할 경우 사용하는 port가 요청할때마다 달라져서 방화벽 오픈할때 port 정보가 필요 없으며,
데이터베이스 (DB)서버는 고정된 포트를 사용하므로 방화벽 오픈 할때 port 정보 필요

 • TCP 통신할 경우 소스 포트, 목적지 포트 2개 사용

클라이언트 서버에서 요청할때 동적으로 포트를 할당 받는데
소스 포트는 시스템이 자동으로 빈 포트중 하나를 선택하여, 클라이언트가 요청을 보낼 때마다 달라짐
방화벽에서는 클라이언트의 소스 포트를 미리 알 수 없음

 • 동적으로 port를 할당 받는 이유 ?
   - 포트 충동 방지
     하나의 시스템에서 여러 어플리케이션이 네트워크 연결을 시도할 경우, 각각의 애플리케이션이
     같은 포트를 고정적으로 사용한다면, 포트가 이미 사용중일 때 새로운 연결 못함
    - 동시 연결 지원 위해
      포트 충돌을 피하고 여러 개의 연결을 동시에 하기 위해
    - TCP/IP 프로토콜의 설계 발식  
      설계에 맞춰 효율적인 네트워크 통신 가능


 

'인프라' 카테고리의 다른 글

[용어] appliance vs application 차이  (1) 2024.11.14

-문제 설명

정수 number n, m이 주어집니다. number n의 배수이면서 m의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요.

 

-입출력 예

입출력 예 #1

  • 60은 2의 배수이면서 3의 배수이기 때문에 1을 return합니다.

입출력 예 #2

  • 55는 5의 배수이지만 10의 배수가 아니기 때문에 0을 return합니다.

- 문제 풀이

false일 경우를 기본 값으로 주어 성공시에만 값이 변경해주었다.

class Solution {
    public int solution(int number, int n, int m) {
        int result = 0;
        if(number % n == 0 && number % m == 0 ){
             result = 1;
         }
        return result;
    }
}

 

- 다른 사람 문제 풀이

class Solution {
    public int solution(int number, int n, int m) {
        return number % n == 0 && number % m == 0 ? 1 : 0;
    }
}

 

여러 DB를 연동하면서 JDBC driver 명과 URL형식이 매번 필요해

자주 쓰는 JDBC driver를 정리해둔다

 

- Oracle

   Ddriver [oracle.jdbc.driver.OracleDriver]

   URL [jdbc:oracle:thin:@localhost:1521:DBNAME]

 

- MS-SQL

   Driver [com.microsoft.sqlserver.jdbc.SQLServerDriver]

   URL [jdbc:sqlserver://localhost:1433;DatabaseName=DBNAME]

 

- MySQL

   Driver [com.mysql.jdbc.Driver]

   URL [jdbc:mysql://localhost:3306/DBNAME]

 

- MariaDB

Driver [org.mariadb.jdbc.Driver]

URL [jdbc:mariadb://localhost:3306/DBNAME]

+ Recent posts