본문 바로가기

분류 전체보기

(188)
RESTful API, 관심사 분리, @Setter 지양 RESTful API RESTful API는 두 컴퓨터 시스템이 인터넷을 통해 정보를 안전하게 교환하기 위해 사용하는 인터페이스 RESTful API는 안전하고 신뢰할 수 있으며 효율적인 소프트웨어 통신 표준을 따름 API(Application Programming Interface) 다른 소프트웨어 시스템과 통신하기 위해 따라야 하는 규칙을 정의, 개발자는 다른 애플리케이션이 프로그래밍 방식으로 애플리케이션과 통신할 수 있도록 API를 표시하거나 생성 웹 API는 클라이언트와 웹 리소스 사이의 게이트웨이 클라이언트 웹에서 정보에 액세스하려는 사용자, 클라이언트는 API를 사용하는 사람이거나 소프트웨어 시스템일 수 있음 리소스 리소스는 다양한 애플리케이션이 클라이언트에게 제공하는 정보, 리소스는 이미지,..
Git Commit Convension, gitignore, application.properties 암호화 Git Commit Message Convension 필요한 이유 사용하지 않은 경우 Commit Message가 누적될수록 가독성이 매우 떨어짐 협업 시에 유지, 보수성이 떨어짐 제목과 본문을 빈 행으로 구분 제목은 50글자 이내로 제한 제목의 첫 글자는 대문자로 작성 제목 끝에는 마침표를 넣지 않는다 제목은 명령문으로 사용하며 과거형을 사용하지 않는다 본문의 각 행은 72글자 내로 제한 어떻게 보다는 무엇과 왜를 설명 Commit Message 구조 제목/본문/꼬리말로 구성 type(옵션): [#issueNumber-]Subject // 제목 body(옵션) // 본문 footer(옵션) // 꼬리말 type : 어떤 의도로 커밋했는지를 type에 명시 (ex. feat, fix, docs) Subj..
프로젝트 세팅 - UCD, API 명세서, ERD, Git 연동 UseCase Diagram 그리기 서비스(System)와 사용자(Actor)간의 상호작용을 다이어그램으로 표현한 것 사용자 관점에서 개발하려는 서비스의 기능 및 요소들을 한 눈에 확인 가능 구성요소 시스템(System) 개발하고자 하는 것 그 자체, 시스템의 범위를 정의하며 흐름이 일어나는 영역의 경계를 정의 사격형의 형태로 표시, 상단에 시스템의 이름을 정의 액터(Actors) 시스템 외부에서 시스템과 상호작용하여 특정한 목적을취하는 객체(사람, 회사, 타 시스템, 외부 장비 등) 반드시 하나 이상의 Use Caes와 상호 작용해야 함, 액터의 이름은 개인적이거나 무언가를 특정해서 지정 x Primary Actor : 시스템을 사용하고, 직접 이득을 보는 액터 졸라맨으로 표기(보통 시스템 왼쪽에 위치..
Spring - 입문 2 3 Layer Architecture 서버의 처리과정을 Controller, Service, Repository 3개로 분리 1. Controller Client의 요청을 받고 요청에 대한 로직 처리는 Service에 전담 Request 데이터 있을 시 Service에 같이 전달 Service의 처리 완료 결과를 Client에 응답 2. Service 요구사항을 처리(비즈니스 로직)하는 실세 현업에서는 서비스 코드가 계속 비대해짐 DB 저장 및 조회 필요 시 Repository에 요청 3. Repository DB 관리(연결, 해제, 자원 관리) DB CRUD 작업 처리(생성, 읽기, 수정, 삭제) 역할 분리 Controller - Service 분리 : Controller package com.spar..
Spring - 입문 학습 내용 정리 Git SSH 키 생성 private 저장소는 권한이 있는 사람만 접근 가능 - SSH Key 발급 후 GitHub에 Public Key 등록 시 private 저장소 클론 가능 순서 Git Bash에서 ssh-keygen 입력 후 enter 3회 cd ~/.ssh 입력 후 enter ls -al 입력 후 enter cat (key name).pub 입력 (key name에는 .pub 앞 문장을 입력) 후 enter 아래의 공개키 복사(ctrl + Inst , 우클릭 paste) 깃허브 프로필 사진 클릭 후 Settings 클릭 SSH and GPG keys에서 New SSH Key 클릭 Key에 복사한 SSH 키 붙여넣기 Add SSH key 클릭 private 저장소 SSH 주소 복사..
프로그래밍 테스트 및 IDE 프로젝트 빌드 오류 해결 인텔리제이 프로젝트 빌드 오류 해결방법 에러 코드 Module 'week' production: java.lang.ClassCastException: class org.jetbrains.jps.builders.java.dependencyView.TypeRepr$PrimitiveType cannot be cast to class org.jetbrains.jps.builders.java.dependencyView.TypeRepr$ClassType (org.jetbrains.jps.builders.java.dependencyView.TypeRepr$PrimitiveType and org.jetbrains.jps.builders.java.dependencyView.TypeRepr$ClassType are in ..
Java - 모던 자바 모던 자바_Java8 Java 8에서 새로 추가된 개념 함수형 프로그래밍(lambda) 객체지향 프로그래밍의 핵심 아이디어 코드의 재사용성 높아짐 유지보수 및 확장하기 쉬워짐 신뢰성 있게 사용하기 쉬워짐 함수형 프로그래밍의 핵심 아이디어 수학의 함수처럼, 특정한 데이터에 의존하지 않고, 관련없는 데이터를 변경하지 않으며, 결과 값이 오직 입력 값에만 영향을 받는 함수(순수 함수) 프로그램을 순수한 함수의 모음으로 바로보고 구현 효용 검증이 쉬움(검증이 필요한 부분만 검증 가능) 성능 최적화가 쉽다(특정 input에 대한 output을 재사용할 수 있음 - 캐싱) 동시성 문제를 해결하기 쉽다(함수는 다른 값의 변경을 야기하지 않음) 자바 함수의 변화 함수를 일급 값으로 일급 값(일급 객체) 특징 함수에 인..
Java - 프로세스, 쓰레드 프로세스(Process) , 쓰레드(Thread) 프로세스 : 운영체제로부터 자원을 할당받는 작업의 단위 쓰레드 : 프로세스가 할당받은 자원을 이용하는 실행의 단위 프로세스는 "실행 중인 프로그램"을 의미 프로세스 구조 Code : Java main 메서드와 같은 코드 Data : 프로그램 실행 중 저장할 수 있는 저장공간 전역 변수, 정적 변수, 배열 등 초기화된 데이터를 저장하는 공간 Memory (메모리 영역) Stack : 지역 변수, 매개변수 리턴 변수 저장하는 공간 Heap : 프로그램이 동적으로 필요한 변수를 저장하는 공간(new( ), mallock( )) 쓰레드는 프로세스 내에서 일하는 일꾼 쓰레드 생성 프로세스가 작업 중인 프로그램에서 실행요청이 들어오면 쓰레드를 만들어 명령을 처리 쓰..