본문 바로가기

Total

(185)
[Spring Boot] 비즈니스 요구사항과 설계 (2) 강의 순서상 스프링 프레임워크와 관련된 내용 없이 객체지향에 대한 학습이 먼저 이루어짐. 회원 도메인 설계 회원 도메인 요구사항 회원 가입 및 조회 가능 회원은 일반과 VIP 두 가지 등급이 있음 자체 DB를 구축할 수 있고 외부 시스템과 연동할 수 있음 (미확정) 이 저장소는 미확정이기에, '회원저장소'라는 역할의 인터페이스 생성 구현체의 예시는 세 가지의 경우가 존재할 수 있음 (1) 메모리 회원 저장소 (2) DB 회원 저장소 (3) 외부 시스템 연동 회원 저장소 앞서 이야기했듯 회원 저장소는 미확정임. 그렇기에 개발에서 테스트하고 쓸 수 있도록 자바를 활용한 메모리 회원 저장소로 일단 구현 수행. 회원저장소 역할의 인터페이스를 만들면 나중에 확정시 구현체를 갈아끼우기 용이해짐. ~ Impl : 이..
[Spring Boot] 비즈니스 요구사항과 설계 (1) 요구사항 요구사항에는 경우의 상황이 있음 기능 확정 기능 미확정 (예시) 회원 데이터는 자체 DB 구축할수도 있고, 외부 시스템과 연동할 수도 있음 할인 정책의 변경 가능성은 높음. 회사의 기본 할인 정책을 아직 정하지 못했고, 오픈 직전까지 고민을 미루고 싶음. 최악의 경우 할인을 적용하지 않을 수 있음. 나중에 변경될 수 있는 기능 할인 정책은 모든 VIP는 1천원을 할인해주는 고정 금액 할인 적용 (나중에 변경될 수 있음) - 미확정된 내용들이 결정될때까지 기다릴 수 없음. - 그렇기에 앞서 학습한 객체 지향 설계 방법 ( 역할과 구현의 분리 )을 통해 문제 해결이 가능함. 즉, 인터페이스를 통한 설계.
[Spring Boot] 프로젝트 생성하기 1- 프로젝트 생성 https://start.spring.io - 위 링크를 통해 스프링 부트 프로젝트를 간편하게 생성할 수 있음 - SNAPSHOT이나 Mn 버전은 정식 릴리즈된 버전이 아님 (강의에서는 2.3.3 버전을 사용했으나, 강의를 듣는 현 시점에서는 2.7.2가 정식 릴리즈된 최신 버전이기에 해당 버전 사용) - Project Metadata : Artifact - 프로젝트 빌드명 - Dependenies 설정시 라이브러리들을 불러오나, 위 캡처본과 같이 둘 경우 코어 라이브러리만 가져옴 - 원하는 설정 후 하단에 Generate 클릭하면 설정된 zip 파일을 받아올 수 있음 - 압축 해제 후 IntelliJ로 오픈. 이때 build.gradle을 클릭해 오픈해야 함. 1-2. build.g..
[JS] 자바스크립트 기초 정의 - 웹페이지에 생동감을 넣기 위해 만들어진 프로그래밍 언어. 한 마디로 웹 페이지를 동적으로 표현하기 위한 프로그래밍 언어. - 자바스크립트로 작성한 프로그램을 스크립트(script)라 칭함 - 스크립트는 웹페이지의 HTML 안에 작성 가능하며, 웹페이지를 불러올 때 스크립트가 자동으로 실행됨. - 특별한 컴파일 없이 보통의 문자 형태로 작성 및 실행이 가능함 - 이런 관점에서 자바스크립트는 자바와 매우 다른 언어임 자바와 자바스크립트 밈. ??? : 자바랑 자바스크립트랑 둘이 이름이 비슷하니 친구네용? 꺄르륵! 자바, 자바스크립트: (정색) 지나가는 설명자: 자바와 자바스크립트는 코끼리와 바다 코끼리 처럼. 둘이 완전 다른 애임. (옆에서 본 남자친구가 이거 보더니 아싸가 인싸되고 싶어하는 글같다..
[Java10] Var 키워드의 사용 (타입 추론) > 복기 목적으로 개인 학습 내용을 정리한 글로 굉장히 가독성이 떨어질 가능성과 문맥이 매끄럽지 않을 가능성이 높습니다. java 10부터 지역 변수 선언시 변수의 타입 대신 var 키워드 사용 가능 기존 전형적인 변수 선언 예시와 비교해보겠음 변수 타입 변수명 = 초기값; 위와 같이 선언하였으나, java 10 부터는 var 키워드를 사용하여 특정 데이터 타입에만 의존하지 않고 타입 추론이 가능함. 아래와 같이 말임. java 8로 업무를 보는 나의 입장에서 먼저 들었던 생각은 오잉. 유지보수하고 운영하는 입장에서는 변수가 어떤 데이터 타입을 가지는지 명확하게 아는게 좋지 않나? 라고 먼저 생각이 들었으나, 활용 범위와 특징을 좀 더 공부한 뒤 생각이 바뀌었음. var을 타입으로 사용할 경우 지역 변수..
[일기] 서버 진영의 언어 선택, 자바 vs 코틀린 고인 물이 썩은 물이 되기 싶다고 생각해 가급적 추가 공부를 하려 했다. [ JAVA 11 x Spring Boot 5 ]를 하려 했는데, 코틀린 포지션이 늘어나는 것이 굉장히 많아 좀 고민스럽다.. 자바 수준이 중급 수준이라 하기는 조금 부족한 실력이긴 하나, 코틀린의 매력도도 꽤 높아서.. 자바를 어느정도 할 줄 아니, 이에 코틀린까지 겸하면 좋지 않을까? 하는 생각이 잠깐 들었다. 처음엔 대세라는 생각에 혹했지만 막상 알고보니 코틀린 꽤 매력적이드라. 코틀린의 가장 매력적이라 느꼈던 포인트는 간결한 구문 무슨 말이냐 코드로 보여주자면. switch(day) { case MONDAY: system.out.println("월요일"); break; case TUESDAY: system.out.printl..
진정한 REST API 사용하기 (HATEOAS) https://wonit.tistory.com/454 HATEOAS를 모르면 당신이 알고 있는 REST API는 REST API가 아니라고 장담할게요. 이 글은 그런 REST API 로 괜찮은가? 의 이응준 개발자님의 발표 자료에 여러 부분을 차용하였습니다. REST API란 무엇일까 난 지금까지 REST API에 대해서 상당 부분을 오해하고 있었다. REST API라고 함 wonit.tistory.com 사용해보기 ---------------------------------------------------------------------------------- https://bamdule.tistory.com/247 [SpringBoot] HATEOAS 적용하기 1. hateoas란 hateoas는 H..
[백엔드가 이정도는 해줘야 함] 시리즈 https://velog.io/@city7310/백엔드가-이정도는-해줘야-함-1.-컨텐츠의-동기와-개요 백엔드가 이정도는 해줘야 함 - 1. 컨텐츠의 동기와 개요 필자가 고등학교 1학년 말에 처음으로 백엔드 포지션에서 프로젝트를 진행하며, 멍청했던 과거 이야기와 이 컨텐츠를 기획한 동기를 공유합니다. velog.io