[인실리코젠] Spring CRUD 프로젝트 요구 사항 분석 및 데이터베이스 설계
·
인실리코젠
더보기 본 글은 (주)인실리코젠 이병준 주임님과 이수호 주임님께서 제공해주신 Spring CRUD 프로젝트 입니다. 요구사항 요구사항 세부내용 요구 기술 사용자 회원 가입 사용자 아이디는 중복 검사를 통해 유효성 검사 Front : jQuery validation Back : Hibernate validator 비밀번호는 숫자, 영문, 특수문자를 조합하여 최소 8자리 비밀번호를 찾기 위한 사용자 비밀번호 힌트 풀 제공 필수 입력사항 표시 항목 : 사용자 아이디, 사용자 이름, 비밀번호, 성별, 생년월일, 비밀번호 힌트 회원 비밀번호 찾기 회원 가입 시 선택한 비밀번호 힌트를 통해 비밀번호 찾기 새로운 비밀번호로 변경 가능하도록 구현 공지사항 게시판 게시판 등록은 관리자 권한 사용자만 등록 Tabulato..
[인실리코젠] Web Crawling - Finish
·
인실리코젠
더보기 본 글은 Web Crawling -2 에 이어서 작성하는 글입니다. 전체적으로 코드 리팩토링이 발생하였습니다. 문제 풀이는 완료되었으며 풀이에 대한 과정을 작성하는 글입니다. 백엔드 요구 사항 번호 기능 세부사항 R01 네이버 IT 뉴스 일반 크롤링 하여 DB에 저장 DB 정보 : 제목, 내용(요약), 언론사명, 업로드 시기, 이미지 R02 버튼 클릭 시 크롤링 진행 DB 초기화 및 재생성 필요 R03 Spring Boot 사용 Design Pattern: MVC R04 DB CRUD Java Persistence API (Hibernate) R05 페이지네이션 시 DB에서 작업 limit , offset으로 잘라서 가져오기 프론트엔드 요구 사항 번호 기능 세부사항 R01 초기페이지 버튼, 표(제..
[인실리코젠] WebCrawling - 2
·
인실리코젠
더보기 본 글은 WebCrawling- 1 에 이어서 작성하는 글입니다. 문제 풀이 과정을 기록하는 글이기에 완성된 코드가 없을 수 있고 부족한 부분이 있을 수 있다는 점을 미리 알립니다. Spring Boot + MVC 패턴 활용하여 크롤링한 정보 화면에 띄우기 해당 글에서 작성한 내용을 바탕으로 Spring Boot와 MVC 패턴을 활용하여 프로젝트를 이어서 진행하였다. https://minwook6457.tistory.com/22 [인실리코젠] Spring Boot + MVC 이론 정리 MVC (Model - View - Controller) 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴 모델 : 데이터와 비즈니스 로직 관리 뷰 : 레이아웃과 화면을 처리..
[인실리코젠] Spring : 용어 정리(기본)
·
인실리코젠
컨테이너 프레임워크 안에서 인스턴스들의 생명 주기를 관리하며, 생성된 인스턴스들에게 추가적인 기능을 부여 작성한 코드의 처리 과정을 컨테이너에서 수행 스프링 컨테이너는 스프링 프레임워크 핵심에 위치하며, DI를 통해 애플리케이션을 구성하는 컴포넌트를 관리 IOC 컨테이너 Inversion Of Control : 제어의 역전 인스턴스의 생성 및 소멸을 개발자 대신 컨테이너가 해줌 필요한 이유 컴포넌트 / 오브젝트가 자유로운 삽입이 가능하도록 하기 위해 서비스의 configuration이 일관성을 갖도록 하기 위해 단일화된 서비스의 접근 방법 제공 비지니스 오브젝트에 부가적인 enterprise service 제공 DI Dependency Injection : 의존성 주입 의존성이 있는 컴포넌트를 개발자가 ..
[인실리코젠] Spring Boot + MVC 이론 정리
·
인실리코젠
MVC (Model - View - Controller) 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴 모델 : 데이터와 비즈니스 로직 관리 뷰 : 레이아웃과 화면을 처리 컨트롤러 : 모델과 뷰로 명령을 전달 위 사진처럼 사용자가 controller를 조작하면 controller는 model을 통해서 데이터를 가져오고 그 정보를 바탕으로 화면에 비추는 View를 제어하여 사용자에게 전달한다. 모델 앱이 포함해야할 데이터가 무엇인지 정의 데이터 상태 변경 시 뷰에게 알리며, 다른 로직이 필요한 경우 컨트롤러에게도 알린다. 모델에서 가져야할 규칙 사용자가 편집하길 원하는 모든 데이터를 가지고 있어야 한다. 뷰나 컨트롤러에 대해서 어떤 정보도 알지 말아야 한다. 변..
[인실리코젠] WebCrawling - 1
·
인실리코젠
더보기 본 글은 (주)인실리코젠 이병준 주임님과 이수호 주임님께서 제공해주신 문제에 대한 풀이 과정입니다. 문제 [네이버 IT 뉴스 읽어서 출력 및 저장하기] -뉴스 범위 : 최근 1주일간 각각 1페이지 목록 1. 뉴스 정보(타이틀, 내용, 언론사명, 몇분전) cmd 출력하기 2. 뉴스 타이틀을 파일 제목으로 이미지 다운로드하기(경로 자유) 학습했으면 하는 내용 html 태그 selector 파일 입출력 Target URL : https://news.naver.com/main/list.naver?mode=LS2D&sid2=230&mid=shm 크롤링을 위해서 타겟 url의 개발자 도구를 열어 어떻게 구성되어 있는지 파악해 보았다. 각 태그를 열어 마우스를 가져다가 올려보니 해당 태그에 감싸지는 코드가 존..
[인실리코젠] Maven에 대하여
·
인실리코젠
Apache POI 라이브러리를 사용하여 주간 문제를 풀이하였었다. 풀이 시 프로젝트를 Maven을 통해서 생성하였는데 당시 구글링을 통해 넘어갔던 개념에 대해서 다시 한 번 짚고 넘어가기 위해 본 글을 작성한다. Maven에 대해 알아보기 전에 빌드 개념에 대해서 먼저 알아보자. 빌드란? 프로젝트를 위해 작성한 코드나 여러 자원들(.xml, .jar, .properties)를 JVM이나 톰캣 같은 WAS가 인식할 수 있는 구주로 패키징하는 과정 및 결과물 Maven Apache 사에서 만든 빌드 툴 pom.xml 파일을 통해 정형화된 빌드 시스템으로 프로젝트를 관리 프로젝트의 전체적인 라이프 사이클 관리 특징 간단한 프로젝트 설정 자동 업데이트, 종속성 폐쇄를 포함한 뛰어난 종속성 관리 종속성 관리 M..
[인실리코젠] Apache POI 라이브러리를 이용한 Exel 데이터 읽기 2
·
인실리코젠
더보기 이번 포스팅은 문제 조건에 따른 문제 풀이 설명입니다. Type 객체 사용하지 않음 여러 방면을 시도해본 끝에 Type 객체를 사용하지 않고 문제를 해결할 수 있었다. 생각해보면 너무 어렵게 접근한 것 같다. Team 클래스 수정! 먼저 코드부터 살펴보자 package sample; public class Team{ private String teamName; private int games; private int wins; private int draws; private int losses; private double score; // 기본 생성자 public Team() { } // 매개변수를 받는 생성자 public Team(String teamName, int games, int wins,..