분류 전체보기 89

[Net] HTTP Method

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

[Net] HTTP

Stateful, Stateless📌 클라이언트와 서버간의 통신 상태(state) 유지 여부에 따라 나뉘는 특성이다. Stateful(상태 유지)클라이언트의 상태를 유지한다.상담원은 수강생의 요청들을 기억(상태 유지)하여 다음 질문들에 대한 처리가 가능하다. Stateful 방식의 문제점같은 서버가 유지되어야 한다.상태를 유지하고 있던 서버가 종료된다면?서버는 다양한 이유로 동작하지 않을 수 있다.시스템 에러, 비지니스 로직 문제, 리소스 부족 문제 등요청 트래픽이 몰리게되면 상태를 유지하는것에 Resource가 많이 소모된다.리소스가 버티지 못하면 서버가 종료되거나, 다음 요청에 대한 처리가 느려진다. [1]  Stateless(무상태)클라이언트의 상태를 유지하지 않는다.클라이언트의 요청을 저장하지 ..

[Net] JSON

JSON📌 JSON은 클라이언트와 서버가 통신할 때 사용하는 데이터 양식이다. 클라이언트와 서버가 사용하는 언어에 관계 없이 통일된 데이터를 주고받을 수 있도록 만들어준다. 과거 웹 초기 시절부터 사용된 XML 은 헤더와 태그 등의 여러 요소로 가독성이 떨어지고, 불필요한 용량을 잡아먹는다는 단점을 항상 지적받았다. 이에 대응해 간결하고 통일된 양식으로 각광을 받고 있는 것이 JSON이다.키-값 쌍의 구조로 표현하는 텍스트 기반 데이터 형식이다.요약JSON은 사람, 기계 모두 이해하기 쉬우며 용량이 작다.XML을 대체해서 데이터 전송 등에 많이 사용한다.마치 전세계 공통어로 영어를 사용하는것처럼 Web의 세계에서는 JSON(JavaScript Object Notation)을 공통어로 사용한다. [1] ..

[AG&DS] 프로그래밍 명명규칙(Casing)

프로그래밍 명명규칙(Casing)📌 프로그래밍에서 변수, 함수, 클래스 이름 등을 작성할 때 일관성을 유지하기 위한 규칙입니다. 명명 규칙은 코드의 가독성을 높이고, 유지 보수를 쉽게 하기 위해 사용됩니다.[1] 주요 명명 규칙과 특징:카멜 표기법(Camel Case):첫 단어는 소문자, 이후 단어는 첫 글자 대문자로 작성합니다.주로 변수명이나 함수명에 사용합니다.예: myVariableName, calculateTotal.💡 비유: 단어가 마치 낙타(Camel)의 등처럼 올라갔다 내려가는 모양.파스칼 표기법(Pascal Case):모든 단어의 첫 글자를 대문자로 작성합니다.주로 클래스명이나 타입명에 사용합니다.예: MyClassName, EmployeeDetails.💡 비유: 낙타와 비슷하지만, ..

[Net] Web 기초

DNS(Domain Name System)📌 DNS는 도메인 이름과 IP 주소를 서로 매핑하는 역할을 수행한다. 즉, 사람이 읽을 수 있는 도메인 이름을 컴퓨터가 읽을 수 있는 IP 주소로 변환한다. DNS는 도메인 이름과 IP 주소를 매핑해주는 시스템입니다.사람은 이해하기 쉬운 도메인 이름(예: www.example.com)을 사용하고, 컴퓨터는 IP 주소(예: 192.168.0.1)를 사용합니다.DNS는 이를 전화번호부처럼 변환해주는 역할을 합니다.도메인 = IP는 기억하기 어렵고 변경되면 통신이 안된다. 그래서 그냥 IP에 별명을 붙인거다.DNS = IP 주소와 도메인 이름을 매핑매핑 = 키(key) 역할을 하는 데이터와 값(value) 역할을 하는 데이터를 짝 지어(=연결 지어) 저장하는 데이터..

[Net] 네트워크

인터넷(Internet)📌 인터넷(Internet)은 인터넷 프로토콜 스위트(TCP/IP)를 기반으로 하여 전 세계적으로 연결되어있는 컴퓨터 네트워크 통신망을 일컫는 말이다 대표적으로 해저에 직접적으로 깔려있는 광케이블과 인공위성을 통해서 모든 인터넷은 연결되도록 설계했는데이렇게 전세계를 연결한 통신망을 World Wide Web(WWW)이라 한다.  인터넷 프로토콜 IP(Internet Protocol)📌 인터넷 프로토콜은 인터넷이 통하는 네트워크에서 어떤 정보를 수신하고 송신하는 통신에 대한 규약()을 의미한다. 우리가 흔히 알고 있는 192.168.0.1를 IP라고 부르지만 이는 IP주소라고 한다. 즉 IP는 인터넷 통신법, IP주소는 전화번호라고 생각하면 된다. 전화번호를 제대로 입력하고 통화..

[JAVA] 키오스크

트러블 슈팅 1. 배경전에 했던 과제를 반복해서 좀더 현업에서 진행하는 것과 같은 형식의 코딩을 진행하였다.기본적으로 자바 기능을 재 학습하는 목적으로 사용된 프로젝트였다.2. 발단기본적으로 눈에 띄는 에러는 없었다.다만 코드가 요구사항이 길어짐으로서 복잡해지는 점이 문제가 되었다.3. 전개 기본적으로 코드가 길어지고 클래스가 늘면서 위와 같이 한 폴더에 7개의 파일이 생성되게 되었다.많은 수는 아닐지 모르지만 가장 중요한 점은, 이 파일이 100개가 넘어가면 한 폴더에서 다 처리하기엔 가시성이 너무 떨어질 수 있다는 점이다.두번째는 코드의 조건문의 형식으로 인해 가시성이 많이 떨어져 보인다.실제로 객체 지향적인 코딩을 진행했지만, 이것만으로는 부족한지 내용에 수정이 필요해 보인다. 4. 위기역시 폴더를..

Project/JAVA 2024.11.26

[ Spring ] 쇼핑몰 프로젝트 회고

★요구사항 분석과 기초 설계의 중요성코드가 정말 길어지고 나니, 처음에 설계를 잘못했을 때 너무너무 큰 대가를 치르게 되었다.맨 처음에 요구사항을 정확히 분석하고 완전한 설계를 해두어야 추후 문제가 없다.백엔드 프로젝트의 준비물자바, 스프링, JPA, 서버 사이드 템플릿(Thymeleaf), DB백엔드 프로젝트의 구성resources : 프론트엔드 + 애플리케이션 설정 파일Java : 백엔드 전반엔티티( Entity) & 빈(Bean)1. 엔티티(Entity)정의: 엔티티는 주로 데이터베이스 테이블에 매핑되는 객체입니다. 데이터베이스에서 특정 테이블과 일대일 매핑을 하여, 해당 테이블의 데이터를 객체로 다룰 수 있게 해줍니다.용도: 엔티티는 주로 **JPA(Java Persistence API)**와 함..

Project/Spring 2024.11.25

[OS] 프로세스와 쓰레드

프로세스📌 실행 중인 프로그램을 의미합니다. 프로그램을 실행하면 OS로부터 실행에 필요한 자원(메모리)를 할당받아 프로세스가 됩니다. 프로세스는 운영체제의 주요 관리 단위이며, 독립적으로 실행됩니다.  1. 프로세스의 구성 요소코드 영역(Code Segment) 실행할 프로그램의 명령어가 저장된 영역. CPU는 여기서 명령을 읽어 실행합니다.데이터 영역(Data Segment)전역 변수와 정적 변수가 저장되는 영역.힙 영역(Heap Segment)실행 중 동적으로 할당된 메모리가 저장되는 영역. 예: malloc()이나 new를 통한 메모리 할당. (객체, 변수등 저장)스택 영역(Stack Segment)ㄴ함수 호출 시 사용되는 메모리 영역으로, 지역 변수와 함수 호출 정보를 저장.(호출에 필요한 참조..