[CS] CS지식-2

아임펭·2024년 7월 5일

CS

목록 보기
2/3

📤 웹 서버, 웹 애플리케이션 서버

웹 서버

클라이언트와 웹 애플리케이션 서버 사이에서 클라이언트의 요청을 받고, 응답하는 역할

  • 정적인 콘텐츠(HTML, CSS) → 클라이언트에 제공, 동적인 요청 → 웹 애플리케이션 서버로 보내 웹 애플리케이션 서버에서 처리한 결과를 받아 클라이언트에 전달

웹 애플리케이션 서버

웹 서버를 통해 들어온 요청에 맞게 데이터를 추출 및 가공해 결과를 웹 서버에 반환

웹 애플리케이션 동작과 관련된 기술 프로그램

  • 클라이언트 : 웹 브라우저, 모바일 앱
  • 웹 서버 : Apache(아파치), Nginx(엔진엑스), IIS
  • 웹 애플리케이션 서버 : Apache Tomcat(아파치 톰캣), JBoss(제이보스), IBM WebSphere(IBM 웹스피어), WebLogic(웹로직)
  • DBMS : MySQL, Oracle, MongoDB

⚙ 웹 애플리케이션 개발

- 서버 개발

클라이언트의 요청을 접수하고 이를 처리한 후 적절한 응답을 보내는 서버를 개발,
백엔드 개발 언어와 프레임 워크를 사용해 웹 애플리케이션 핵심 로직 구현

- 데이터베이스 설계 및 관리

웹 애플리케이션의 데이터를 효율적으로 저장 및 관리하기 위한 데이터베이스를 설계하고 관리

- API 개발

프론트에서 특정 데이터나 기능에 접근할 수 있는 API 개발

- 보안 및 인프라 관리

외부 공격으로부터 서버와 데이터를 지키기 위해 보안 정책 수립하고 관련 기술 적용, 인프라(하드웨어 기기, 서버 장치, 스토리지, 네트워크 장비 등) 관리 업무수행

- 네트워크 설정

네트워크 설정을 통해 서버와 클라이언트 간의 효율적인 통신을 보장, 로드 밸런싱, 캐싱, 네트워크 보안 설정 등 사용자 경험과 서버의 성능 향상


📚 프로그래밍 패러다임

프로그래밍에서 일반적인 문제를 해결하는데 사용하는 기본적인 철학이나 접근 방식을 가리킵니다.

명령형 프로그래밍

데이터와 상태를 변경 시키는 관점에서 연산을 설명하는 프로그래밍 패러다임입니다.
프로그램의 상태를 변경하는 명령어를 순차적으로 실행하고, 상태를 변경하여 메모리에 저장합니다.
"어떻게"(과정) 해야하는지를 명시하는 것이 명령형 프로그래밍의 중점입니다.

  • 절차적 프로그래밍
    함수의 절차를 사용하여 프로그램의 논리적 흐름을 제어합니다.
    종류 : C, Pascal, Fortran

  • 객체지향 프로그래밍
    데이터와 그 데이터를 조작하는 방법을 '객체'라는 단위로 묶어 프로그램을 구조화합니다.
    종류 : Java, C++, Python, Ruby

선언형 프로그래밍

명령형 방식이 추상화 되어있으며, "어떻게" 해야하는지는 명시하지 않고, "무엇"(결론)을 해야하는지를 명시하는 것이 선언형 프로그래밍의 중점입니다.

  • 함수형 프로그래밍
    수학적 함수의 조합을 이용하여 프로그램을 구성합니다. 순수 함수, 고차 함수 등을 사용하여 상태와 가변 데이터를 피합니다.
    종류 : Haskell, Lisp, Erlang, F#

  • 논리 프로그래밍
    논리적 사실과 규칙을 기반으로 문제를 해결합니다.
    종류 : Prolog

  • 데이터 중심 프로그래밍
    데이터의 상태에 따라 동작이 결정됩니다.
    주로 데이터베이스 질의 언어에서 사용됩니다.
    종류 : SQL, XQuery

멀티 패러다임

JavaScript는 멀티 패러다임 언어로 다양한 프로그래밍 패러다임을 지원합니다.

  • 명령형 프로그래밍, 객체 지향 프로그래밍, 함수형 프로그래밍, 이벤트 기반 프로그래밍, 비동기 프로그래밍

profile
I'm peng

0개의 댓글