전체 글 221

02. 개발에 앞서 알면 좋은 기초 지식 - REST API

REST API REST API는 대중적으로 가장 ㅁ낳이 사용되는 애플리케이션 인터페이스입니다. 이 인터페이스를 통해 클라이언트는 서버에 접근하고 자원을 조작할 수 있습니다. REST란? REST란 Representational State Transfer의 약자로, 월드 와이 웹과 같은 분산 하이퍼미디어 시스템 아키텍처의 한 형식입니다. 주고 받는 자원에 이름을 규정하고 URI에 명시해 HTTP 메서드를 통해 해당 자원의 상태를 주고 받는 것을 의미합니다. REST API란? API는 Application Prgramming Interface의 약자로, 애플리케이션에서 제공하는 인터페이스를 의미합니다. API를 통해 서버 또는 프로그램 사이를 연결할 수 있습니다. REST API란 REST 아키텍처를 따..

BACKEND/SPRING 2023.07.22

02. 개발에 앞서 알면 좋은 기초 지식 - 레이어드 아키텍처 및 디자인 패턴

레이어드 아키텍처(Layered Architecture) 레이어드 아키텍처(Layered Architecture)는 소프트웨어 시스템을 여러 개의 레이어(layer)로 분리하여 구축하는 아키텍처 패턴입니다. 각 레이어는 특정한 역할과 책임을 갖고 있으며, 서로 상위 레이어에서 하위 레이어로만 직접적으로 의존합니다. 이러한 분리된 레이어들은 시스템의 구조를 유연하고 관리하기 쉽게 만들어줍니다. 즉, 애플리케이션의 컴포넌트를 유사 관심사 기준으로 레이어로 묶어 수평적으로 구성한 구조이며 어떻게 설계한냐에 따라 용어와 계층의 수가 달라집니다. 프레젠테이션 레이어(Presentation Layer) 사용자와 시스템 사이의 상호작용을 처리하는 레이어입니다. 사용자 인터페이스(UI)를 담당하며, 클라이언트 요청을 ..

BACKEND/SPRING 2023.07.22

02. 개발에 앞서 알면 좋은 기초 지식 - 서버간 통신 및 스프링 동작 방식

애플리케이션이 어떻게 동작하는지, 왜 이렇게 구성되는지 생각하며 실습하기 위한 배경 지식을 알아봅시다. 서버 간 통신 단일 서비스 아키텍처와 마이크로서비스 아키텍처는 둘 다 소프트웨어 시스템을 구축하는 방법에 대한 접근 방식을 나타내는 용어입니다. 단일 서비스 아키텍처 (Monolithic Architecture) 단일 서비스 아키텍처는 하나의 큰 애플리케이션으로 구성되는 전통적인 아키텍처입니다. 모든 기능과 로직이 단일 애플리케이션 내에 포함되어 있으며, 모놀리식(모노리딕) 애플리케이션으로도 불립니다. 주로 모노리딕 애플리케이션은 단일 코드 베이스로 구성되며, 코드의 모든 부분이 하나로 통합됩니다. 애플리케이션의 규모가 커지면 코드 베이스가 점점 복잡해지고 유지보수가 어려워질 수 있습니다. 마이크로서비..

BACKEND/SPRING 2023.07.22

01. 스프링 부트란? - 스프링 프레임워크 vs. 스프링 부트

스프링 부트 공식문서를 보면 다음과 같은 내용이 안내되어 있습니다. Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run". We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need minimal Spring configuration. 스프링 부트를 이용하면 단독으로 실행 가능한 상용 수준의 스프링 기반 애플리케이션을 쉽게 만들 수 있습니다..

BACKEND/SPRING 2023.07.22

프로그래머스 고득점 Kit - 스택/큐 프로세스

풀이. - prioirities 배열의 인덱스와 배열의 요소를 갖는 Process 클래스 생성 - 생성된 Process 객체를 큐에 담기 - 큐가 비어있을 때 까지 while문 돌리기 - 큐 poll() 한 process 객체를 만들고 - for each문을 돌며 process의 priority 와 큐에 존재하는 prioirity를 비교 - process의 priority가 큐에 남아있는 priority 작다면 다시 큐에 offer(process) - process null 변경해주고 for each문 멈춤 - process가 null 이 아니라면 가장 우선순위에 있는 프로세스가 실행되고 종료됨을 의미하기에 - answer++ 하면서 process의 idx와 location을 비교해 일치한다면 answe..

CODING TEST 2023.07.22

230721 STUDY LOG.

오늘 공부. [FE] HTML + 자바스크립트 HTML 튜토리얼 - HTML Lists JavaScript 튜토리얼 - JavaScript Variables [BE] 스프링 강의 수강 및 정리 [코딩테스트] 프로그래머스 풀기 / 큐 관련 문제 풀기 및 정리 오늘 후기. 덥다. 코테는 점점 어렵고 전반적으로 속도를 못내는 주간인것 같다. 내일과 모레는 쉬니까 하루종일 달려야겠다. 오늘은 중복인만큼 보양식 먹으러 갑니다ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ

STUDY LOG 2023.07.21

JavaScript 튜토리얼 - JavaScript Variables

JavaScript Variables JavaScript 변수(Variables)는 데이터를 저장하고 나중에 참조하거나 조작하는 데 사용되는 이름이 붙은 메모리 공간입니다. 변수는 값을 보관하며, 값은 문자열, 숫자, 불리언 등 다양한 데이터 유형을 가질 수 있습니다. 즉, 변수는 데이터 저장을 위한 컨테이너/보관함 입니다. 자바스크립트 변수는 4가지 방법으로 선언할 수 있습니다. - 암시적 변수 선언 (권장하지 않음) - var - let - const // 암시적 선언 // 사용하기 전에 항상 변수를 선언하는 것이 좋은 프로그래밍 습관입니다. x = 5; y = 6; z = x + y; // var // var 키워드는 1955~2015년까지 사용되었지만 // 2015 이후 let, const가 추가..

FRONTEND/JAVASCRIPT 2023.07.21

HTML 튜토리얼 - HTML Lists

HTML Lists HTML Lists는 웹 페이지에서 항목들을 순서대로 나열하기 위해 사용되는 HTML 요소의 집합입니다. 리스트는 정보를 구조화하고 시각적으로 정돈된 방식으로 표시하는 데 사용됩니다. 크게 순서가 있는 목록과 순서가 없는 목록 등 두 가지 경우로 사용합니다. HTML Lists는 웹 페이지의 정보 구조화에 유용하며, 목차, 항목 목록, 버튼 목록 등 다양한 형태로 사용될 수 있습니다. An Unordered HTML List Coffee Tea Milk An Ordered HTML List Coffee Tea Milk HTML 삽입 미리보기할 수 없는 소스 Unordered HTML List 순서가 없는 목록은 태그로 시작하며 각 목록의 아이템은 태그를 이용합니다. 목록 항목은 기본적..

FRONTEND/HTML 2023.07.21

230720 STUDY LOG.

오늘 공부. [BE] 스프링 북스터디 정리 + 스프링 강의 수강 및 정리 01. 스프링 부트란? - 스프링 프레임워크 [코딩테스트] 주간 코테 응시 / 큐 관련 문제 풀기 및 정리 - 요세푸스 순열 오늘 후기. 주간 코딩테스트.. 아직 어려운 문제는 풀지 못하고 오늘은 정확도를 해결하지 못해 생각보다 낮은 점수 받음 코딩테스트는 조급해하지말고 천천히 공부하며 기존 풀었던 유형은 틀리지않도록 노력하자. 큐는 요세푸스 순열 관련 문제 정리하면서 풀었는데 그래도 처음 봤던때 보단 빠르게 풀 수 있었다. 스프링 너무 어렵다ㅏㅏㅏㅏㅏㅏㅏㅏ 아직도 개념이 잘 이해가 안되고 흐름 또한 낯설다. 반복만이 살길인가 싶다가도 공부하다보면 쉽게 지치는것 같다. 모르니까 더 하기시루다ㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏㅏ DI, IoC, A..

STUDY LOG 2023.07.21

01. 스프링 부트란? - 스프링 프레임워크

스프링 프레임워크(Spring Framework) 스프링 프레임워크는 자바 기반의 애플리케이션 프레임워크로 엔터프라이즈급 애플리케이션을 개발하기 위한 다양한 기능을 제공합니다. 스프링은 목적에 따라 다양한 프로젝트를 제공하며 그 중 하나가 스프링 부트 입니다. 또한 자바에서 가장 많이 사용하는 프레임워크로 국내 전자정부 표준 프레임워크의 기반 기술로 채택되어 공공기관 웹 서비스를 개발할 때도 사용됩니다. 스프링의 핵심가치는 "애플리케이션 개발에 필요한 기반을 제공해서 개발자가 비즈니스 로직 구현에만 집중할 수 있게끔 하는 것" 엔터프라이즈급 개발 : 기업 환경을 대상으로 하는, 대규모 데이터를 처리하는 환경을 대상으로 하는 개발 프레임워크 : 소프트웨어 개발을 위한 기반 구조나 틀을 제공하는 도구나 환경..

BACKEND/SPRING 2023.07.21