프로그래밍 개관- 1

김태완·2024년 8월 14일

코딩을 배우고 있지만 프로그래밍에 대한 전반적인 이해가 필요하는 생각이 들었다. 아래의 내용들을 학습하면서 생소한 내용은 없었지만, 명확하게 텍스트로 정리해서 머릿속에 저장해본다.

코딩과 프로그래밍의 차이?

  • 코딩은 "컴퓨터에게 어떤 동작을 시키기 위해 명령을 내리는 것" 이다.
  • 그런데 그냥 명령을 하면 컴퓨터는 이해하지 못하기에 컴퓨터가 이해할 수 있는 명령어를 작성해서 동작을 시키는 것이다.
  • 주로 코드 작성 자체에 초점을 맞춘다. 그리고 프로그램을 실제로 구현하는 과정의 일부로, 프로그래밍의 일부분에 해당한다.
  • 프로그래밍은 논리적이고 구조적인 접근을 통해 소프트웨어를 설계하고 개발하고 테스트 및 유지보수하는 열련의 과정을 뜻한다.
  • 코딩을 포함한 문제분석, 설계, 디버깅 등등의 더 넓은 범위의 활동이다.

서비스가 동작하는 원리와 구현방법

  • 클라이언트: 사용자가 서비스를 이용하기 위해 사용하는 장치나 애플리케이션
  • 서버: 클라이언트의 요청을 처리하고, 데이터를 제공하거나 작업을 수행하는 컴퓨터
  • 서비스는 클라이언트가 서버에 요청을 보내고, 서버가 그 요청을 처리한 후 응답을 돌려주는 방식으로 동작한다. (아래 그림 참고)
  • 특히, 여러 작은 부분들로 나누어져있는데, 각각의 역할을 하면서 서로에게 영향을 주며 동작한다.
  • ex) 클라이언트가 특정 DNS에 접속하면 해당 DNS와 일치하는 ip의 서버에서 html, css, js 코드를 클라이언트로 넘겨주고, 클라이언트 단에서 구현해서 출력된다.
  • 구현하기 위해서는 다음과 같은 과정을 거쳐야한다.
    기획 - 개발 - 테스트 - 배포 - 유지/보수
  • 서비스가 제공해야할 기능과 목표 등 요구사항을 분석해서 명확하게 정의하는 기획 과정이 필요하다. 그리고 전반적인 구조를 설계하는데, 고려사항은 클라이언트와 서버 역할분담, 데이터 흐름, API 설계, 데이터베이스 구조, 네트워크 구성등이 포함된다.
  • 개발과정에서는 프론트엔드 단에서 사용자 인터페이스(UI)와 사용자 경험(UX)를 구현하면, 백엔드 단에서는 서버에서 동작하는 로직이나 데이터 처리, 비즈니스 로직을 구현한다.
  • 테스트 과정을 통해서 서비스가 예상대로 동작하는지, 사용자 테스트를 통해 피드백을 받는 과정과 이를 수정보완하는 작업이 필요하다.
  • 서비스 코드를 서버 또는 클라우드 인프라(AWS 등)에 배포하여 사용자가 접근할 수 있도록 배포를 수행한다.
  • 서비스가 운영되는 동안 성능 모니터링, 버그 수정, 보안 업데이트 등을 지속적으로 수행하며, 로그를 분석하고 사용자의 피드백을 바탕으로 서비스를 개선하는 유지/보수 과정을 수행한다.
profile
중고

0개의 댓글