분류 전체보기 88

Clean Cord

클린 코드 📌 클린 코드는 단순히 잘 동작하는 코드가 아니라, 가독성, 유지보수성, 확장성이 뛰어난 코드를 의미합니다. 이는 협업과 장기적인 코드 품질을 유지하기 위한 필수적인 개발 철학 입니다. Dirty Code는 폭탄이다. A를 수정하니 B가 터지는 연쇄반응이 수시로 나온다.협업의 필수 조건으로, 사실 본인이 혼자해도 이 규칙을 어느정도 지켜야한다.기술 부채가 쌓이면 나중에는 결국 리펙토링이 아니라 재개발하는게 더 좋을 수도 있다.프로그래머는 가뜩이나 이직이 많아 에일리언코드(담당자가 없어져서든 버전의 변화로든 알 수 없는 코드를 말한다.)가 많이 생성될 가능이 높다.  리팩터링 📌 결과의 변경 없이 코드의 구조를 재조정하는 것을 말합니다. 주로 가독성을 높이고 유지보수를 편하게 하기 위해 추후..

기본기 2024.12.05

이름 짓기 규칙

이름 짓기 규칙항목규칙/원칙예시클래스(Class)- 파스칼 케이스(PascalCase) 사용: 단어 첫 글자를 대문자로 시작.- 명사 또는 명사구로 작성.- 객체나 개념을 표현.UserManager, OrderProcessor인터페이스(Interface)- I로 시작하거나 클래스와 구분할 수 있는 명확한 이름 사용.- 추상적인 동작을 나타냄.IUserService, Orderable메서드(Method)- 카멜 케이스(CamelCase) 사용: 소문자로 시작.- 동작을 나타내는 동사형으로 작성.- 명확하고 구체적인 동작을 표현.getUser, calculateTotalPrice변수(Variable)- 카멜 케이스(CamelCase) 사용.- 의미가 명확한 명사형으로 작성.- boolean은 is로 시작.u..

기본기 2024.12.05

[Net] Rendering

Rendering📌 웹 애플리케이션에서 콘텐츠를 화면에 표시하는 과정을 의미합니다. 이 과정은 주로 웹 브라우저에서 일어나며, HTML, CSS, JavaScript 코드가 결합되어 최종적으로 사용자가 볼 수 있는 페이지로 변환됩니다.  [1]  렌더링의 주요 과정HTML 파싱 (Parsing):브라우저가 웹 페이지를 로드하면 먼저 HTML 파일을 받아들입니다. 이 HTML 파일은 **DOM(Document Object Model)**으로 변환됩니다. DOM은 웹 페이지의 구조를 트리 형태로 나타내는 객체입니다.CSS 파싱:HTML이 파싱되면서 CSS 파일도 함께 로드됩니다. CSS 파일은 페이지의 스타일을 정의하며, 이 스타일은 HTML 요소에 적용되어 화면에 표시됩니다. CSS는 **CSSOM(CS..

[Spring] 웹 개발의 흐름

웹 프로젝트 개발 단계 (쇼핑몰 프로젝트 예시)1. 프로젝트 계획 및 기획목표 정의:쇼핑몰의 주요 기능과 목표를 정의합니다.(예: 상품 검색, 장바구니, 결제 시스템 등)사용자 요구사항 분석:고객이 원하는 기능과 서비스를 파악합니다.(예: 반응형 디자인, 빠른 검색, 다양한 결제 수단 제공)와이어프레임 작성:웹사이트의 레이아웃 및 사용자 인터페이스를 설계합니다.(Figma, Sketch 등을 활용)기술 스택 결정:사용할 기술 스택을 선정합니다:프론트엔드: React백엔드: NestJS데이터베이스: RDS MySQL클라우드: AWS (EC2, S3, RDS, Nginx)CI/CD: GitLab2. 개발 환경 설정GitLab 프로젝트 생성:프론트엔드와 백엔드 코드를 저장할 레포지토리를 생성.AWS 계정 설정..

[Net] Servlet

Servlet📌 Servlet은 자바(Java) 언어로 작성된 서버 측 프로그램으로, 주로 웹 애플리케이션에서 클라이언트의 요청을 처리하고 동적으로 응답을 생성하는 데 사용됩니다. JAVA에서 Sevlet은 HttpServlet 클래스를 상속받아 구현되며, Java EE (Enterprise Edition)**의 중요한 구성 요소로, 웹 서버나 웹 애플리케이션 서버에서 실행되며, HTTP 요청을 처리하는 동적 웹 애플리케이션을 만들 수 있게 해줍니다. Servlet은 HTTP 프로토콜 기반 요청(Request) 및 응답(Response)을 처리하는데 사용된다.   [1] Servlet의 주요 기능HTTP 요청 처리클라이언트의 요청(GET, POST 등)을 받아들이고, 이를 처리하여 적절한 응답을 생성..

[Net] Web Application

Web Server📌 클라이언트(보통 웹 브라우저)의 요청을 받아 정적 리소스(HTML, CSS, JavaScript) 같은 정적 파일 또는 동적 콘텐츠를 제공하는 소프트웨어 또는 하드웨어를 말합니다.웹 서버는 HTTP 또는 HTTPS 프로토콜을 사용하며, 주로 사용자와 웹 애플리케이션 사이에서 데이터를 주고받는 역할을 합니다. 정적 리소스란 리소스가 이미 완성된 채로 서버에 존재하여 원본 그대로 응답하는 데이터를 의미한다.= 다른 데이터는 가공을 처리해서 보내는 것에 반에 정적 리소스는 요청 시 서버에서 따로 데이터를 수정하거나 변형하지 않기 때문에, 서버와 클라이언트 간 추가 작업 없이 바로 사용 가능합니다. [1] 웹 서버의 주요 기능HTTP 요청 처리클라이언트가 보낸 요청(GET, POST 등)..

[Net] Restful API

Restful API📌 REST(Representational State Transfer) 아키텍처 스타일을 준수하여 설계된 API입니다. 주로 HTTP 프로토콜을 기반으로 클라이언트와 서버 간에 리소스를 주고받기 위해 사용되며, 간결하고 확장 가능한 웹 서비스 설계를 제공합니다. REST를 잘 준수하는 API로 HTTP 프로토콜을 사용하여 클라이언트와 서버 간의 통신을 통해 자원(Resource)을 관리한다. 원은 고유한 URI로 식별되며, HTTP 메서드(GET, POST, PUT, DELETE 등)를 통해 다양한 작업을 수행하며 요청과 응답은 일반적으로 JSON 또는 XML 형식으로 이루어진다. REST(Representational State Transfer)란?자원(Resource)을 이름(..

[Net] HTTP 요청 데이터

Client에서 Server로 Data를 전달하는 방법📌 Client에서 Server로 Data를 전달하는 방법은 Query Parameter, HTTP Form Data, HTTP Request Body 크게 세가지가 있다.  GET + Query Parameter(=Query String)URL의 쿼리 파라미터를 사용하여 데이터 전달하는 방법http://localhost:8080/request-params?key1=value1&key2=value2HttpServletRequest 사용@Slf4j@Controllerpublic class RequestParamController { @GetMapping("/request-params") public void params( ..

[Net] HTTP Header

HTTP Header📌 클라이언트(웹 브라우저 등)와 서버 간의 요청 또는 응답에 대한 추가 정보를 전달하는 데이터입니다. 요청(Request)과 응답(Response) 메시지의 헤더는 각각의 목적에 맞는 다양한 필드를 포함합니다. Header 구조field-name: OWS field-value OWS (OWS : 띄어쓰기 허용)field-name은 대소문자 구분을 하지 않는다.HTTP 전송에 필요한 모든 부가정보를 표현할 수 있다.임의의 Header를 추가할 수 있다. 단, 서버가 값을 알고있어야 함텍스트 (plain text)로 이루어져 있다.각각의 헤더는 하나의 줄로 구분된다. [1] HTTP 헤더의 역할클라이언트 요청: 브라우저가 서버에 요청할 때 추가 정보를 전달.서버 응답: 서버가 클라이언..

[Net] HTTP Method

HTTP Method📌 클라이언트 - 서버 사이에 이루어지는 요청, 응답 데이터를 전송하는 방식을 뜻한다.  [1]  POST 리소스 생성 요청 데이터 처리, 메시지 바디를 통해 서버로 요청 데이터 전달요청 데이터 처리 방식은 요청마다 다르므로 여기거 코딩하는 부분 메시지 바디를 통해 들어온 데이터를 처리하는 모든 기능을 수행한다. 주로 전달된 데이터로 신규 리소스 등록, 프로세스 처리에 사용더보기POST 요청 데이터를 어떻게 처리한다는 뜻일까? 예시• 스펙: POST 메서드는 대상 리소스가 리소스의 고유 한 의미 체계에 따라 요청에 포함 된 표현을 처리하도록 요청합니다. (구글 번역)• 예를 들어 POST는 다음과 같은 기능에 사용됩니다. • HTML 양식에 입력 된 필드와 같은 데이터 블록을 데이..