분류 전체보기205 2022년 정보처리기사 실기 - 데이터 입 출력 구현 1. 데이터 모델에 표시할 요소 3가지 구조 (Structure) -> 논리적으로 표현된 개체 타입들 간의 관계로서 데이터 구조 및 정적 성질을 표현한다. 연산 (Operation) -> DB에 저장된 실제 데이터를 처리하는 작업에 대한 명세로서 DB를 조작하는 기본 도구이다. 제약 조건 (Contraint) -> DB에 저장될 수 있는 실제 데이터의 논리적인 제약 조건 2. 개념적 데이터 모델 현실 세계에 대한 인간의 이해를 돕기 위해 현실 세계에 대한 인식을 추상적 개념으로 표현하는 과정이다. 대표적인 개념적 모델로는 E-R 모델이 있다. 3. 논리적 데이터 모델 개념적 모델링 과정에서 얻은 개념적 구조를 컴퓨터가 이해하고 처리할 수 있는 컴퓨터 세계의 환경에 맞도록 변환하는 과정이다. 4. 데이터 .. Self-Development/Study 2022. 4. 19. [Vue] 인스턴스 라이프 사이클(Life Cycle)이란? (개념 / 예제) 서론 Vue에서 인스턴스나 컴포넌트를 생성할 때 생기는 과정들을 라이프 사이클이라 하는데, 이 라이프 사이클 과정중 일어나는 일과 해당 개념들에 대해 알아보도록 하자. 인스턴스 라이프 사이클이란? 인스턴스의 상태에 따라 호출할 수 있는 속성들을 라이프 사이클 속성이라고 한다. 그리고 각 라이프 사이클 속성에서 실행되는 커스텀 로직을 라이프 사이클 훅(Hook)이라고 한다. 라이프 사이클 속성 종류 위의 그림은 인스턴스가 생성되고 나서 화면에 인스턴스가 부착된 후 소멸되기까지의 전체적인 흐름을 나타낸 뷰 인스턴스 라이프 사이클 다이어그램이다. 키워드를 보면 총 8개의 속성이 있다. 이 속성에 대해 하나씩 알아보면 다음과 같다. 1. beforeCreate 인스턴스가 생성되고 나서 가장 처음으로 실행되는 라.. Programming/Vue 2022. 4. 18. [Vue] MVVM 패턴이란? (개념 / 특징 / 장점) 서론 이번에는 마틴 파울러의 프레젠테이션 모델 디자인 패턴의 변형인 MVVM패턴에 대해 정리해보려한다. 바로 알아보도록 하자. MVVM 패턴이란 ? MVVM[모델 - 뷰 - 뷰 모델(Model - View - viewModel)]은 아래와 같은 패턴을 말한다. 마크업 언어나 GUI 코드를 비지니스 로직 또는 백엔드 로직과 분리하여 개발하는 소프트웨어 아키텍처 패턴을 말한다. 이 정의를 다시 정리해보면 화면 앞단(프론트엔드)의 화면 동작과 관련된 로직과 화면 뒷단(백엔드)의 DB 데이터 처리 로직을 분리하여 더 깔끔하게 코드를 구성한다는 말을 뜻한다. MVVM 패턴은 데이터를 가능한 순수한 응용 프로그램 모델에 가깝게 바인딩하는 데이터 바인딩과 프레임워크의 장점을 활용함과 동시에 MVC가 제공하는 기능 요.. Programming/Vue 2022. 4. 18. 2022년 정보처리기사 실기 - 요구사항 확인 서론 내용은 시나공 책 기준으로 정리합니다. 참고 바랍니다. [요구사항 확인] 예상 문제 은행 >> 내용 - 정답 내용 정답 sw 개발 방법론 중 프로토타입 모형에 대해 서술하시오. 개발될 sw의 견본품을 만들어 최종 개발물을 예측하는 모형이다. 1)sw를 개발하기 위한 설계, 운용, 유지보수 등의 과정을 각 단계별로 나눈 것. 2) 폭포수, 프로토 타입, 나선형, 애자일 모형 등이 있다. 소프트웨어 생명주기 고객의 요구사항 변화에 유연하게 대응할 수 있도록 일정한 주기를 반복하면서 개발과정을 진행한다. 애자일 XP(eXtreme Programming의 5가지 핵심 가치 의사소통, 단순성, 용기, 존중, 피드백 [XP 방법론] 1) 다른사람과 함께 프로그래밍을 수행함으로 개발에 대한 책임을 공동으로 나눠.. Self-Development/Study 2022. 4. 18. 클린코더스 강의 내용 정리 #004 - Correct Comment ? (올바른 주석 작성 방법) 서론 보통 개발을 할 때 유지보수를 위해 주석을 달거나 또는 잊어먹지 않기 위해 적는 경우도 있다. 이번 챕터에서는 이러한 주석들이 올바르지 않게 사용하는 방법에 대해 지적하고, 올바른 사용 방법에 대해 강의한다. 이 강의를 듣고 필요한 부분을 정리한다. Coding Standards에 대해 조직이 일정 수준의 크기가 되면 관료적인 문서화를 요구한다. >> 필요하다. 대신, 결국엔 그 문서를 보기보단 소스 안에 해당 내용을 더 잘 녹일 수 있느냐가 중요하다. 코드내에서 명확하게 작성되어있지 않으면 헤매는 것은 문서가 되어있다해도 매 한가지다. (문서의 양은 광대하다.) Coding Standards가 코맨트 작성을 강요하게 된다면 예시에서의 Comment 작성 부분을 보면, 메서드의 이름과 중복적인 내용.. Refactoring/Clean Coding Skill 2022. 4. 11. [Spring Boot] @SessionAttridutes, @ModelAttribute란? 서론 이번글에서는 타이틀에서 언급한 세션 관련된 애노테이션에 대해 학습해보려한다. 바로 알아보도록 하자. @ModelAttridute란? 사용자가 요청 시 전달하는 값을 오브젝트 형태로 매핑해주는 애노테이션이다. @SessionAttridutes란? 모델 정보를 HTTP 세션에 저장해주는 애노테이션이다. 1. 컨트롤러 메서드 중 @SessionAttridutes에 지정한 이름과 동일한 이름이 있다면 이를 세션에 저장시켜주는 역할을 한다. >> 뷰가 이 모델을 참조해서 기존 사용자 정보를 폼에 바인딩 시키기 위해서이다. 2. 여러 화면에서 사용해야 하는 객체를 세션에서 공유할 때 사용한다. 3. @ModelAttribute가 지정된 파리미터가 있을 때 해당 파라미터에 전달해줄 오브젝트를 세션에서 가져온다... Programming/Spring 2022. 4. 9. [Spring Boot] Thymeleaf Caching의 의미와 설정 (템플릿 캐싱) 서론 이번 글에서는 템플릿 엔진 중 하나인 타임리프의 캐시에 대해 알아보려한다. 기본적으로 템플릿은 최초 사용될 때 한 번만 파싱되는 성격을 갖고있다. 파싱된 결과는 향 후 사용을 위해 캐시에 저장되는데, 이것은 프로덕션에서 애플리케이션을 사용할 때 좋은 기능이다. 매번 요청을 처리할 때마다 불필요하게 템플릿 파싱을 하지 않으므로 성능을 향상시킬 수 있기 때문이다. 이러한 캐싱이 개발할 때는 오히려 불편한 요소로 작용된다. 애플리케이션을 시작하고 디자인 수정 후 새로고침을 하더라도 수정 전의 페이지만 나오는 것을 확인할 수 있는데 이를 보완하기 위해 해당 캐싱의 속성을 설정할 수 있게끔 지원해준다. 이번 글에서는 해당 내용을 설정하는 방법에 다뤄보려한다. 템플릿 엔진 캐싱 방법 필자같은 경우는 타임리프로.. Programming/Spring 2022. 4. 8. [Spring Boot] @Vaild 유효성 검사 하는 방법 (개념/ 예제) 서론 이번 글에서는 입력하는 부분에 대한 @Vaild 애노테이션을 이용하여 유효성 검사하는 방법에 대해 알아보려한다. 필자는 SpringInAction5 교재에 있는 내용을 활용하여 작성했다. 유효성 검사란? 1. 데이터의 값이 유효한지, 조건에 타당한지 확인하는 것을 말한다. 2. 올바르지 않은 데이터를 서버 또는 DB로 전송되는것을 막기 위함이다. @Vaild를 이용한 유효성 검사 방법 #01. Dependency 추가 @Vaild를 사용하기 전 pom.xml에 Dependency를 아래와 같이 추가해줘야 한다. org.springframework.boot spring-boot-starter-validation ** Validation 어노테이션 정리 Anotation 제약조건 @NotNull Nul.. Programming/Spring 2022. 4. 8. 클린코더스 강의 내용 정리 #003 - Function Structure 서론 이번 글에서는 함수들의 구조에 대한 내용을 듣고 정리하려고 합니다. 한번 알아봅시다. Function Structure ? Arguments 문제1 - 인자가 많아지면 복잡도가 증가한다. 상황에 따라 다르겠지만 보통은 인자 3개를 최대로 보고 설계한다. 이를 해결할 수 있는 방법은 뭐가 있을까? 1. 좋은 이름을 갖는 Setter를 쓰자. 2. Java Bean Pattern을 사용한다. 3. Builder Pattern을 적용한다. 가장 추천하는 방법은 Builder Pattern을 사용하는 것이다. 아래의 예로 보자. Builder Pattern 예시 Builder Pattern 적용 전 Builder Pattern 적용 후 적용 후 JUnit 테스트 Builder Pattern을 적용 후 확실.. Refactoring/Clean Coding Skill 2022. 4. 8. [Git] There isn’t anything to compare 해결 방법 서론 필자가 STS를 이용하여 git commit을 하는 과정 중에 새로 원격지를 생성하여 커밋을 한 후 GitHub에서는 Pull Request는 뜨는데 들어가면 아래와 같은 문구로 뜨는 문제가 발생하였다. 어떻게 해결하는지 알아보자. 발생 이유 필자는 STS에서 master로 push를 하였고 기본 브랜치가 master로 잡혀있어서 아직 main 브랜치에 미 적용 단계여서 위와 같은 문구가 나왔던 것이다. [여담] 이전엔 default가 master였는데 마스터 슬레이브라는 용어가 흑인 문화에서 인종차별적 발언이 될 수 있다는 문제로 master에서 main으로 바뀌었다고 한다! 해결 방법 Git Bash를 이용하여 아래와 같이 명령어를 입력해주면 된다. git checkout master git b.. Git 2022. 4. 7. [Spring Boot] DevTools는 무슨 역할을 할까? (기능 / 특징) 서론 Spring Boot 에서는 여러 도구를 제공하는데, 그 중 하나인 DevTools에 대해 알아보자. DevTool란? 이름에서 암시하듯, DevTools는 스프링 개발자들에게 편리한 도구를 제공한다. [제공 기능] 1. 코드가 변경될 때 자동으로 애플리케이션을 다시 시작시킨다. > DevTools는 변경을 감시하며, 뭔가 변경되었음을 알게 되면 자동으로 애플리케이션을 다시 시작시켜주는 속성이 있다. 변경이 감지되는 경우 DevTools는 우리 프로젝트 코드를 포함하는 클래스 로더만 다시 로드하고 스프링 애플리케이션 컨텍스트를 다시 시작시켜준다. 그러나 다른 클래스 로더와 JVM은 그대로 둔다. 따라서 애플리케이션이 시작하는데 걸리는 시간을 조금이나마 단축해준다. 2. 브라우저로 전송되는 리소스 (.. Programming/Spring 2022. 4. 7. [Spring Boot] JAR / WAR 배포는 무엇으로 결정할까? (개념 / 특징 / 차이점) 서론 이번 글에서는 jar와 war가 각자 갖고있는 특징이 있고 상황에 맞게 배포를 해야하는데 이 부분에 대해 정리를 해보려한다. ** 필자는 SpringInAction5의 책을 참고하여 작성했다. JAR는 언제 쓰일까? JAR 패키징은 클라우드를 염두에 둔 선택이다. WAR 파일은 기존의 자바 애플리케이션 서버에 애플리케이션을 배포할 때는 적합하지만 대부분의 클라우드 플랫폼을 구성하는데는 잘 맞지 않는다. 일부 클라우드 플랫폼에서는 WAR파일을 배포하고 실행할 수 있다. 그러나 모든 자바 클라우드 플랫폼은 실행 가능한 JAR파일을 사용한다. 따라서 Spring Initializer에서도 JAR 패키징을 기본값으로 사용하는 것이다. JAR의 특징을 정리해보면.. 1. JAR는 자바로 만든 어플리케이션의 .. Programming/Spring 2022. 4. 6. 이전 1 ··· 6 7 8 9 10 11 12 ··· 18 다음 💲 많이 본 글