728x90
반응형

개념 3

HTTP, Web Server, WAS

모든 것이 HTTP 거의 모든 형태의 데이터는 HTTP 프로토콜로 서로 데이터를 주고받음 Web Server - HTTP 기반으로 동작 - 정적 리소스 제공, 기타 부가기능 - 정적 리소스 : HTML, CSS, JS, 이미지, 영상 - NGINX, APACHE -> 특정 사용자 별로 다양한 페이지 보여주기는 힘듦 WAS(웹 애플리케이션 서버, Web Application Server) - HTTP 기반으로 동작 - 웹 서버 기능 포함 + (정적 리소스 제공 가능) - 프로그램 코드를 실행해서 애플리케이션 로직 수행 -> 동적 HTML, HTTP API(REST API, JSON) -> 서블릿, JSP, 스프링 MVC - Tomcat, Jetty, Undertow -> 사용자에 따라 이름도 다르게 보여주..

프로그래밍 2023.12.11

컴파일(Compile)과 런타임(Runtime)

1. 컴파일 타임(Compile time)이란? - 우리가 작성한 소스코드가 컴파일(compile)이라는 과정을 통해 기계가 읽을 수 있는 형태로 변환되는 과정을 컴파일 타임이라고 한다. - JAVA의 경우 컴파일을 하면 바이트 코드가 생성되며 이는 컴퓨터(HW)가 이해할 수 없는 언어 -> JAVA가 컴파일한 언어를 이해할 수 있는 기계가 바로 JVM(Java Virtual Machine) -> 즉, JAVA 언어를 컴파일한 바이트 코드를 이해할 수 있는 기계는 바로 JVM을 의미 ex) .exe 파일 컴파일 에러(Compile error)란? - 컴파일 중 발생되는 에러를 의미한다. - 일반적으로 컴파일 에러 발생시 컴파일러는 문제를 일으킨 소스코드 라인을 지적해 줌 ex) syntax error :..

프로그래밍 2023.12.06

[OOP] 객체 지향 프로그래밍의 5가지 설계 원칙

OOP? - Object-Oriented Programming - 객체 지향 프로그래밍 - 컴퓨터 프로그램을 명령어의 목록으로 보는 시각에서 벗어나 여러 개의 독립된 단위, '객체'들의 상호작용(메시지 주고받기, 데이터 처리 등)으로 프로그램 로직을 구성하는 프로그래밍 패러다임 SOLID 원칙 - 객체지향 설계에서 지켜줘야 할 5개의 소프트웨어 개발 원칙 - SRP / OCP / LSP / ISP / DIP => 코드를 확장하고 유지 보수 관리가 더 쉬워지며, 불필요한 복잡성을 제거 -> 리팩토링에 소요되는 시간을 줄임으로써 프로젝트 개발의 생산성을 높일 수 있음 => 이걸 지키면 시간이 지나도 변경이 용이하고 유지보수와 확장이 쉬운 소프트웨어를 개발하는데 도움이 됨 => 표준화 작업에서부터 아키텍처 설..

프로그래밍 2023.11.29
728x90
반응형