안녕하세요 강정호입니다. 오늘은 도메인 분석설계에서 요구사항 분석에 대해 공부해 볼게요. 요구사항 분석 System Sequence Diagram이란?- Use case의 특정 시나리오에 대해 외부 Actor가 생성하는 이벤트, 순서 및 시스템 간 이벤트를 보여주는 그림 왜 SSD를 그려야 하는가?- 어떤 이벤트가 시스템에서 발생하는지 식별, 예측하기 위해서- 시스템 동작을 블랙 박스로서 정의하기 위해서. 즉 어떤 input이 들어오면 어떤 output이 나가는지 판단하기 위해서.- 외부 액터가 시스템에 요청을 했을 때, 시스템의 동작을 묘사하기 위해서. SSD의 역할은 무엇인가?1. 시스템과 액터의 역할 설명 : 소프트웨어 시스템과 시스템 외부의 액터가 어떻게 상호작용하는 가를 설명 2. 이벤트 핸들링..
안녕하세요 강정호입니다. 오늘은 Inner Join, Outer Join, Left Join, Right Join 에 대해 배워 보겠습니다. Inner JOIN, LEFT OUTER JOIN, RIGHT OUTER JOIN, FULL OUTER JOIN에 대해서JOIN에 대해 자세한 설명이 있어서 가져왔다 : JOIN 링크 Join(조인) - 조인이란 여러 테이이블에 흩어져 있는 정보 중 사용자가 필요한 정보만 가져와서 가상의 테이블처럼 만들어서 결과를 보여주는 것으로 2개의 테이블을 조합하여 하나의 열로 표현하는 것이다. 조인의 종류 1. INNER JOIN2. CROSS JOIN3. OUTER JOIN4. SELF JOIN 1. INNER JOIN(내부 조인)- INNER JOIN은 키 값이 있는 테..
안녕하세요 강정호입니다.오늘은 HandlerInterceptorAdapter에 대해 공부해 보겠습니다. 인터셉터란?클라이언트의 요청이 Controller로 가기 전에 중간에 요청을 가로채서 검사하는 모듈입니다. 예를 들어 클라이언트의 요청이 들어왔는데, 로그인을 하지 않아 Session이 생성되지 않았다면 Interceptor가 체크를 하고 로그인 페이지로 돌려보내주게 됩니다. 인터셉터 구현 HandlerInterceptorAdapter에서 제공하는 메서드는 4가지입니다. PreHandle(HttpServletRequest request, HttpServletResponse response, Object handler)컨트롤러(즉 RequestMapping이 선언된 메서드 진입) 실행 직전에 동작.반환 ..
안녕하세요 강정호입니다. 오늘은 도메인 모델의 연관관계를 추가하는 것에 대해 알아보겠습니다. 도메인 모델 연관관계1. 연관관계(Association)- 정의 : 클래스와 클래스 사이의 의미 있는 연결.- 기억할 필요가 있는 연관관계 : 일정 기간동안 연관관계가 보존되어야할 필요가 있는 것들이 있다.(뭔 솔?) 예제- Sales인스턴스들과 관계를 맺고 있는 SalesLineItem 인스턴스들을 기억할 필요가 있는가?- 현재 Sale과 매니저의 관계에 대한 메모리를 확보해야 하는가? UML Notation 1. 네이밍 방법- ClassName - 동사구 - ClassName format- 예시1 : Sale Paid-by Cash Payment- 예시2 : Player IsOn Square- 예시3 : Re..
안녕하세요 강정호입니다. 오늘은 데이터베이스의 관계 대수(Relational Algebra)와 관계 논리(Relational Calculus)에 대해 공부해 볼게요. 오늘 공부할 내용은 다음과 같습니다.- 단항 관계 연산- 집합 이론을 기반한 관계 대수 연산- 이항 관계 연산 단항 관계 연산관계대수란?(Relational Algebra)관계형 데이터베이스에서 원하는 정보와 그 정보를 어떻게 유도하는가를 기술한 절차적 정형언어 관계해석이란?(Relational Calculus)튜플관계 해석과 도메인 관계 해석을 하는 비절차적 언어. 단항 연산 : SELECT, PROJECT1. SELECT- 릴레이션에서 주어진 조건을 만족하는 튜플을 선택하는 연산자.- 결과 릴레이션의 차수 = 입력 릴레이션의 차수.- 결..
안녕하세요 오늘은 Spring 프레임워크에서 사용하는 매개변수 타입에 대해 알아볼게요. 이 포스팅은 잘 정리된 다른 분의 글이 있어서 가져왔습니다. - 머루의 개발 블로그- 컨트롤러 메서드의 파라메터 타입 이 포스팅의 출처는 머루의 개발 블로그입니다. 오늘 소개할 내용은 Spring의 Controller에서 사용할 수 있는 파라미터 타입들을 알아보도록 하자. . Spring에서 Controller로 받을 수 있는 파라미터들이 다양한 타입들이 존재하는데 이는 Object 혹은 어노테이션등으로 선언하면 자동으로 Spring이 그에 맞게 변환해주고 있다. 다 알아볼 수 는 없겠지만 자주 사용하는 부분 위주로 최대한 많이 살펴보도록 하자.필자의 경우에는 Controller에서 servlet API를 거의 사용하..
안녕하세요 강정호입니다. 오늘은 스프링의 HandlerMethodArgumentResolver에 대해서 알아볼게요 HandlerMethodArgumentResolver HandlerMethodArgumentResolver 인터페이스의 역할은 컨트롤러에서 파라미터를 바인딩 해주는 역할을 한다. 예를 들어 특정 클래스나 특정 어노테이션등의 요청 파라미터를 수정해야하거나, 또는 클래스의 파라미터를 조작 혹은 공통적으로 써야하는 파라미터들을 바인딩 해주는 역할이다.아래 소스를 보며 설명 드릴게요. 위의 코드에서 보면 @GetMapping으로 파라메터를 받는다. 하지만 ServerInfo 파라메터는 뷰 페이지로부터 받은 파라메터가 아니다. 그럼 어디서 받은 것일까?? ServerInfo 클래스는 다음과 같이 구성..
안녕하세요 강정호입니다. 오늘은 도메인 분석 설계에서 Domain Model의 역할에 대해서 알아보겠습니다. 도메인 모델링을 하는 이유 Domain Model : 컨셉의 시각화(Visualizing Concept) 1. 도메인 모델은 소프트웨어 구성요소(Software Component)가 아니다- 개념적 클래스(즉 도메인)은 아이디어와 객체로 구성.- 현실 세계의 객체를 시각화 한 것이다.- 다음 구성요소들은 도메인 모델의 구성요소로서 적합하지 않다.1) 윈도우, 데이터베이스와 같은 소프트웨어2) 메서드- 도메인 모델과 디자인 모델의 표현상의 갭을 줄이기 위한 목적으로 사용1) Lower representational gap(LRG) : Use case 모델만으로는 바로 설계하기가 어렵다. 왜냐하면 U..
안녕하세요 강정호입니다. 오늘은 VIEW 테이블에 대해서 알아볼게요. VIEW 테이블이란? - 뷰란 하나의 가상테이블이라고 생각하면 된다. - 뷰는 실제 데이터가 하드웨어에 저장되는 것은 아니지만 뷰를 통해 데이터를 관리할 수 있다.- 뷰는 복잡한 Query를 얻을 수 있는 결과를 간단한 Query로 얻을 수 있게 한다.- 한개의 뷰로 여러 테이블에 대한 데이터를 검색할 수 있다.- 특정 평가 기준에 따른 사용자 별로 다른 데이터를 액세스할 수 있도록 한다. VIEW의 사용 목적? - 보안관리를 목적으로 활용한다.(보안성) - 사용상의 편의를 목적으로 활용한다.(편의성)- 수행속도의 향상의 목적으로 활용한다.(속도 향상)- SQL의 성능을 향상시킬 목적으로 활용한다.(활용성)- 임시적인 작업을 위해 활용..
서브쿼리안녕하세요 강정호입니다. 오늘은 서브쿼리에 대해 실습 위주로 알아보겠습니다.주요 용어 설명은 잘 정리되어 있는 링크로 대신 하고 오늘은 주로 쿼리문 위주로 공부해 볼게요! 1. NULL을 포함하는 쿼리문 SELECT Fname, Lname FROM EMPLOYEE WHERE Super_ssn IS NULL;- EMPLOYEE 테이블에서 Super_ssn이 NULL인 직원의 Fname, Lname 값을 구하여라. 결과는 다음과 같이 나왔습니다. 2. 서브쿼리문(Nested Query) 서브쿼리란? 서브쿼리 정의- 서브쿼리가 다 같은 서브쿼리로 알고 있었으나 쿼리가 위치한 곳에 따라 다르게 불리어진다. SELECT 문 뒤(스칼라 쿼리문), FROM 절 뒤(인라인 뷰), WHERE 절 뒤(서브쿼리) 라..
Spring Bean Container 안녕하세요 오늘은 스프링 빈 컨테이너에 대해서 알아보겠습니다. 스프링 빈 컨테이너 역할 - 스프링 객체를 관리한다 : 컨테이너가 스스로 객체를 생성한다 1) @ComponentScan : @Component가 붙은 클래스들을 읽어서 객체로 생성한다2) @Bean : @Bean을 이용하여 개발자가 생성하는 코드를 작성한다. Java Configure - 이전 버전의 스프링에서는 XML로 설정을 하였으나, 현재 스프링 버전에서는 어노테이션으로 지원한다. 그렇다면 우리가 메인 실행파일에서 보는 @SpringBootApplication이란 무엇일까?웹 어플리케이션을 실행할 때 자주 보지만 그 의미에 대해서는 깊이 생각한 적이 없었다. @SpringBootApplicatio..
Spring Boot를 이용한 개발 준비 - JDK 8을 설치 : java -version - Maven or Gradle 빌드도구 설치 : Intellij에 내장되어 있다. 설치를 안해도되지만 설치하는게 편리함1) Maven - CoC(Convention over Configuration) : 이미 정해져 있는 폴더, 빌드 규칙에 따라 빌드 해주는 것. 2) 메이븐이든 그래들이든 디렉토리 구조는 동일하다. - Git 설치, Github 계정 생성. - Intellij : https://www.jetbrains.com/idea/download/ - Spring Boot 프로젝트 생성- https://start.spring.io/ : Spring 프로젝트 사이트- Intellij1) Open : 인텔리제이..
객체 지향 프로그래밍 Bus b= new Bus(); --> Bus 인스턴스를 Heap 메모리에 올라간다Bus : 레퍼런스 타입b : 참조변수 레퍼런스Bus() : 생성자객체지향 : 메모리에 올라가 있는 인스턴스를 객체라고 한다. 어떤 객체는 1개만 필요한 것도 있고, 여러개가 필요할 수 있다.- 초보자 : 객체가 아니라 클래스에 대해 집중한다. 라이브러리 vs 프레임워크차이 : 사용 주체가 누구인가?1. 라이브러리 : 내가 다른 사람이 작성한 클래스를 사용.2. 프레임워크 : 내가 만든 코드를 다른 주체가 사용하는 것.- Spring Framework : 스프링이 나의 코드를 사용해서 어플리케이션을 구동한다. 디자인 패턴- 객체 생성, 구조, 행위에 대한 내용을 정리한 것- UML : 클래스와 클래스간..
Java, Spring 학습 로드맵 [Spring을 공부하기 전에 알야할 지식]- Java ( JDK 8) : JDK 8 기본 문법은 알고 있어야한다 - Servlet / JSP : JEE 웹 프로그래밍1. 서블릿 : 라이프 사이클, 서블릿이 제공해주는 객체2. JSP : EL과 JSTL을 공부하기3. WAS : Servlet/ JSP를 구동할 수 있는 Mini WAS를 만들어볼 필요가 있다.(미니 서블릿, 정적 DATA) - SQL, DB1. DBMS : 데이터베이스 설치하고 연동하는 것에 대해서 알아야함.2. 데이터베이스 기본 이론3. JDBC 프로그래밍 : DB 프로그래밍. [Spring 학습]- Spring Core : DI, AOP, Bean 컨테이너 개념 - Spring MVC : Web 개발..
1. ubuntu 한글 버전 설치- $ vi Dockerfile : Dockerfile 생성. - Docker 파일에 코드입력 : https://goo.gl/xd1rz2 이곳에서 도커파일 관련 코드 복사해서 붙여넣고 wq! - $ docker-machine restart : 도커 머신을 다시 시작 - $ docker build --tag ko_ubuntu:latest ./ : 이렇게해서 최신 우분투 버전 가져온다 - !! 데몬 뭐시기 나오면 : eval $(docker-machine env 이미지이름) 실행 - $ docker images : 새로 생긴 ko_ubuntu 이미지를 확인할 수 있다. - $ winpty docker run -it --name ko_ubuntu ko_ubuntu //bin//..
docker container를 실행하기 위한 환경Docker란 무엇인가?도커는 로컬 노트북, 데스크탑에 별도의 운영체제를 설치할 수 있는 공간을 만드는 가상화 머신이다. 이 가상화 머신은 자기만의 IP 주소를 가지고, 여러 운영체제를 설치할 수 있다.1. Docker Tool Box 설치링크 : https://docs.docker.com/toolbox/toolbox_install_windows/설치 : 윈도우 운영체제는 DockerToolbox.exe를 실행한다. 디폴트 설정으로 인스톨 하면된다 내 노트북에는 D 드라이브->Programfiles 폴더에 Toolbox를 설치하였다.명령어docker-machine : 물리적인 가상화 PC를 제어할 때 사용하는 명령어docker : 해당 가상 머신 안에서 ..
회원과 질문간의 관계 매핑 및 생성일 추가1. Question 객체와 User 객체 관계 매핑User 관점: User 1명은 여러개의 Question을 할 수 있다. --> @OneToMany 관계Question 관점 : 반대로 Question은 여러개이면서 1개의 User와 맵핑된다 --> @ManyToOne Question 클래스는 User 객체를 멤버변수로 가지면서 @ManyToOne 관계를 맺는다.@JoinColumn(foreignKey = @ForeignKey(name = "fk_question_writer")) : Question에 참조되어 있는 User 아이디를 외래키로 가진다.2. LocalDateTime 이용하여 질문 일시 작성하기LocalDateTime 객체를 다음과 같이 Questio..
문자열 분석문제링크 : 문자열 분석정답 링크 : 정답
- Total
- Today
- Yesterday
- 월부닷컴
- 항해플러스후기
- push_back
- 열반스쿨기초반
- Spring boot
- pop_back
- 인셉션
- 내년은 빡세게!!
- 깃
- front
- 개발자 회고
- 월급쟁이부자들
- 도커
- ```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````
- 재테크공부
- 유즈케이스
- 부동산공부
- github
- 항해플러스백엔드
- 2023년
- Inception
- GIT
- docker
- 파라메터
- Use case
- 관계대수
- resize
- 깃허브
- 폭포수
- 항해솔직후기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |