목록Backend (19)
일단 씻고 나가자
MySQL 기준 재귀 함수 작성법을 소개한다. 재귀 함수는 일반 프로그래밍 언어에서의 재귀와 같은 개념으로,특정 조건의 달성까지 테이블을 지속적으로 갱신한다. 프로그래밍 언어에서의 재귀가 method 내의 같은 method라면,SQL 에서의 재귀는 하나의 가상 table 내에서 재귀 조건이 달성될 때까지 레코드를 늘려나간다. MySQL 기준, 재귀 함수는 CTE와 유사하게 작성되며, RECURSIVE 키워드를 사용한다.WITH RECURSIVE recursive_name AS ( -- 초기화 과정 SELECT * , 1 AS depth -- 그 외의 변수 FROM root_table -- 초기화에 참조할 테이블 WHERE [...] ..
(본 포스팅은 해당 영상의 정리 및 개인 공부의 목적 포스팅임을 밝힙니다.)널널한 개발자 TV. (2022, 03 01).네트워크 기초 이론 [비디오 파일].검색 경로 https://www.youtube.com/playlist?list=PLcXyemr8ZeoREWGhhZi5FZs6cvymjIBVe 데이터베이스 (Database)백엔드에 필요한 DB 지식들을 정리했어요~ :) 내용은 컴공과 수업에서 다루는 수준입니다www.youtube.com DB 관련 용어- DB : 전자적으로 저장되고 사용되는 관련 있는 데이터들의 조직화된 집합 - DBMS (DataBase Management System): 데이터베이스의 정의, 제작, 관리 등의 기능을 제공하는 소프트웨어 시스템 (쿼리 분석 등)(ex. MyS..

협업 프로젝트 시작 시 github의 organization(조직) repository 생성과 초기화 설정,그리고 해당 repository에 팀원들이 접근하여 코드를 가져오고 개발이 진행되는 시나리오에 대해 정리한다. 기본적으로 git flow (main - develop - feature) 규칙을 따른 예시로 설명하며,이슈 관련 및 branch 명명 혹은 규칙 등은 팀의 컨벤션(룰)에 따라 달라질 수 있음을 염두한다. 크게 다음과 같은 파트로 설명한다. (사용 툴 - Git, Github, IntelliJ) [ organization, repository의 생성, 업로드, 설정 (팀장) ] [ organization repository 연동 및 설정 (팀원) ] [ Git 활용 개발 방식 및 시나리오..

협업 프로젝트 시작 시 github의 organization(조직) repository 생성과 초기화 설정,그리고 해당 repository에 팀원들이 접근하여 코드를 가져오고 개발이 진행되는 시나리오에 대해 정리한다. 기본적으로 git flow (main - develop - feature) 규칙을 따른 예시로 설명하며,이슈 관련 및 branch 명명 혹은 규칙 등은 팀의 컨벤션(룰)에 따라 달라질 수 있음을 염두한다. 크게 다음과 같은 파트로 설명한다. (사용 툴 - Git, Github, IntelliJ) [ organization, repository의 생성, 업로드, 설정 (팀장) ] [ organization repository 연동 및 설정 (팀원) ] [ Git 활용 개발 방식 및 시나리오..

협업 프로젝트 시작 시 github의 organization(조직) repository 생성과 초기화 설정,그리고 해당 repository에 팀원들이 접근하여 코드를 가져오고 개발이 진행되는 시나리오에 대해 정리한다. 기본적으로 git flow (main - develop - feature) 규칙을 따른 예시로 설명하며,이슈 관련 및 branch 명명 혹은 규칙 등은 팀의 컨벤션(룰)에 따라 달라질 수 있음을 염두한다. 크게 다음과 같은 파트로 설명한다. (사용 툴 - Git, Github, IntelliJ) [ organization, repository의 생성, 업로드, 설정 (팀장) ] [ organization repository 연동 및 설정 (팀원) ] [ Git 활용 개발 방식 및 시나리오..

(본 포스팅은 해당 영상의 정리 및 개인 공부의 목적 포스팅임을 밝힙니다.)생활코딩. (2018, 08 06).WEB2-OAuth [비디오 파일].검색 경로 https://www.youtube.com/playlist?list=PLuHgQVnccGMA4guyznDlykFJh28_R08Q- WEB2-OAuth www.youtube.com 1. 수업소개OAuth란, 나의 애플리케이션 서비스를 이용하는 이용자에게, 다른 애플리케이션의 서비스를 연동해주는 기술이다.예를 들면, 내가 만든 애플리케이션에 어떤 이용자가 스케줄을 적으면 그것이 구글 캘린더에도 적히는 것,혹은 흔하게는 구글과 관련된 애플리케이션이 아님에도 구글 아이디로 로그인하기 같은 기능(Federated identity)이다. 가장 쉬운 방..

(본 포스팅은 해당 도서의 정리 및 개인 공부의 목적 포스팅임을 밝힙니다.) 장정우, 『스프링 부트 핵심 가이드 : 스프링 부트를 활용한 애플리케이션 개발 실무』, 위키북스, 2022 13. 서비스 인증과 권한 부여 회원가입 혹은 유저별 이용 구분에는 인증과 인가 등의 보안 기능이 필수이므로 이번 장에서는 보안 관련 용어, 개념 및 스프링의 보안을 담당하는 기능인 스프링 시큐리티(Spring Security)에 대해 알아본다. 단, 여태까지의 실습은 화면이 없는 REST 방식으로 진행하였기 때문에 로그인을 통한 일반적인 인증과 인가 방식이 아닌 요청마다 토큰값을 활용한 보안 기법에 대해 알아본다. 13.1 보안 용어 이해 스프링 시큐리티를 사용하기 이전에 보안과 관련된 용어를 살펴본다. 13.1.1 인증..

(본 포스팅은 해당 도서의 정리 및 개인 공부의 목적 포스팅임을 밝힙니다.) 장정우, 『스프링 부트 핵심 가이드 : 스프링 부트를 활용한 애플리케이션 개발 실무』, 위키북스, 2022 12. 서버 간 통신 최근 서비스들은 마이크로서비스 아키텍쳐(Micro Service Architecture)를 주로 채택하고 있다. 마이크로서비스 아키텍쳐란 모놀리식 아키텍쳐(Monolithic Architecture) 개념과 대응하는 개념인데, 모놀리식은 전통적인 단일 시스템에 모든 기능과 컴포넌트, 서버를 통째로 담아두고 운영하는 구조로 단순한 구조 덕에 운영환경이 용이하지만 규모가 커질수록 빌드와 배포에 시간이 소모되는 단점이 있는 구조이며 마이크로서비스 아키텍쳐는 하나의 애플리케이션을 작은 단위의 서비스 모듈로 나..

(본 포스팅은 해당 도서의 정리 및 개인 공부의 목적 포스팅임을 밝힙니다.) 장정우, 『스프링 부트 핵심 가이드 : 스프링 부트를 활용한 애플리케이션 개발 실무』, 위키북스, 2022 11. 액추에이터 활용하기 애플리케이션 개발의 단계를 지나 운영 단계에 접어들면 애플리케이션의 정상 작동에 대한 모니터링이 필요하다. 스프링 부트 액추에이터는 HTTP 엔드포인트나 JMX(Java Management Extensions)를 활용하여 애플리케이션을 모니터링하고 관리할 수 있는 기능을 제공하므로, 이번 장에선 해당 기능에 대해 학습과 실습을 진행한다. 11.1 프로젝트 생성 및 액추에이터 종속성 추가 이번 장의 실습을 위해 새로운 프로젝트를 생성한다. start.spring.io에 접속하여 다음과 같이 설정하고..

(본 포스팅은 해당 도서의 정리 및 개인 공부의 목적 포스팅임을 밝힙니다.) 장정우, 『스프링 부트 핵심 가이드 : 스프링 부트를 활용한 애플리케이션 개발 실무』, 위키북스, 2022 10. 유효성 검사와 예외 처리 유효성 검사(validation) 혹은 데이터 검증이란 애플리케이션의 비즈니스 로직 수행 중 각 계층에서 다른 계층으로 전달되는 데이터가 올바르게 전달되는지 사전 검증하는 과정이다. 자바에서 가장 중요하게 생각해야 할 유효성 검사의 일례로는 NullPointException 예외가 있다. 10.1 일반적인 애플리케이션 유효성 검사의 문제점 일반적인 데이터 검증 로직에는 몇 가지 문제가 있다. 계층별 유효성 검사는 검증 로직이 클래스별로 분산되어 있어 관리가 어렵고, 검증 로직에 중복이 많으며..