[CS공부] 프로그래밍 공통

탄니야·2024년 7월 15일

cs공부

목록 보기
5/8

1. RESTfulAPI란?

REST: 네트워크 상에서 Client와 Server 사이의 통신 방식 중 하나입니다.
REST API는 이를 표현하기 위해 Resource(자원, URI), Method(요청방식, GET or POST 등), Reperesntation(자원의 형태, JSON or XML) 3가지를 사용합니다.

RestfulAPI란 아래규칙에 맞게 설계한 API를 말합니다.

  • 동일한 URI(End point)의 행위에 맞게 POST, GET, DELETE, PATCH등의 메소드를 사용한다.
  • 명사를 사용한다. 리스트를 표현할 때는 복수형을 사용한다.
  • URI Path에 불필요한 파라미터를 넣지 않는다. 즉, 단계를 심플하게 설계한다.

2. 프레임워크의 특징과 프레임워크와 라이브러리 차이점

라이브러리: 사용자가 흐름에 대한 제어를 하며 필요한 상황에 가져다가 쓸 수 있다.
프레임워크: 전체적인 흐름을 자체적으로 제어한다.

프레임워크와 라이브러리는 실행 흐름에 대한 제어 권한이 어디 있는지에 따라 달라집니다. 프레임워크를 사용하면 사용자가 관리해야 하는 부분을 프레임워크에 넘김으로써 신경써야 할 것을 줄이는 제어의 역전(IoC, Inversion Of Control)이 적용됩니다.

3. Oracle, MySql, MsSql차이

  • Oracle
    대량의 정보관리를 할때 MySQL, MSSQL보다 성능이 좋다.
    하지만 조작 난이도가 있음
  • MSSQL
    윈도우 서버와 궁합이 잘 맞고 쉽게 DB를 만들고 삭제할 수 있다.
    하지만 윈도우 외의 운영체제에서는 100% 성능을 발휘하기 힘들다.
  • MySQL
    무료로 이용이 가능하며 용량 차지가 적다.
    하지만 트랜잭션 지원이 완벽하지 않고 다른 DB에 비해 성능이 떨어진다.
    대량의 정보를 관리한다면 Oracle을 사용하고 Window 환경을 주로 사용 시 MSSQL을 사용하며 작은 프로젝트라면 MySQL을 사용할 것이다.

4. 동기와 비동기의 차이

  • 동기(Synchronous) 방식
    요청을 보내고 실행이 끝나면 다음 동작을 처리하는 방식
  • 비동기(Asynchronous) 방식
    요청을 보내고 해당 동작의 처리 여부와 상관없이 다음 요청이 동작하는 방식

5. Call By Value와 Call By Reference 차이

Call By Value
인자로 받은 값을 복사하여 처리하는 방식
Call By Value에 의해 넘어온 값을 증가시켜도 원래의 값이 보존된다.
값을 복사하여 넘기기 때문에 메모리 사용량이 늘어난다.
Call By Reference
인자로 받은 값의 주소를 참조하여 직접 값에 영향을 주는 방식
값을 복사하지 않고 직접 참조하기 때문에 속도가 빠르다.
원래의 값에 영향을 주는 리스크가 존재한다.

6. MSA란?

MSA는 1개의 시스템을 독립접으로 배포가능한 각각의 서비스로 분할합니다.
각각의 서비스는 API를 통해 데이터를 주고받으며 1개의 큰 서비스를 구성합니다.

  • 장점
    -일부 서비스에 장애가 발생하여도 전체 서비스에 장애가 발생하지 않는다.
    -각각의 서비스들은 서로 다른 언어와 프레임워크로 구성될 수 있다.
    -서비스의 확장이 용이하다.
  • 단점
    -서비스가 분리되어 있어, 테스팅이나 트랜잭션 처리 등이 어렵다.
    -서비스 간에 API로 통신하기 때문에 그에 대한 비용이 발생한다.
    -서비스 간의 호출이 연속적이기 때문에 디버깅 및 에러 트레이싱이 어렵다.

출처:
https://wooaoe.tistory.com/51 [개발개발 울었다:티스토리]
https://mangkyu.tistory.com/88 [MangKyu's Diary:티스토리]

profile
반갑습니다

0개의 댓글