[인실리코젠] 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,..
[인실리코젠] Programmers Lv2.JadenCase 문자열 만들기 리뷰 답변 및 BPM(Business Process Management) 프로세스 모델링
·
인실리코젠
더보기 해당 글은 (주)인실리코젠 이병준 주임님께서 작성해주신 리뷰에 대한 답변입니다. Programmers Lv2.JadenCase 문자열 만들기 문제를 접하고 가장 먼저 든 생각은 "split 함수와 subString을 사용하면 풀 수 있겠다!" 였다. 하지만 보다 나은 방법을 고민하다가 StringBuilder 와 StringTokenizer를 발견하였다. StringTokenizer는 C언어의 strtok()의 로직과 유사하지만 원본을 훼손하지 않는다. Split VS StringTokenizer StringTokenizer 클래스 문자열을 구분자를 이용해 분리할 때 사용 토큰은 분리된 문자열 조각으로, StringTokenizer 클래스는 하나의 문자열을 여러 개의 토큰으로 분리하는 클래스 St..
[인실리코젠] Apache POI 라이브러리를 이용한 Exel 데이터 읽기
·
인실리코젠
더보기 해당 글은 (주)인실리코젠 이수호 주임님께서 주신 문제에 대한 풀이입니다. 더보기 문제 : 2017-2018 K리그팀들의 규칙에 따른 승점과 순위를 구하시오. ※ 규칙에 따르면 경기에서 이긴 팀은 3점을 얻고 비기면 1을 지면 0점을 받는다. ※ (첨부된 2018K리그 엑셀 파일 리스트를 불러와서 구현)->API 활용(POI) 결과 예) 팀 = 대구 ,승점 = 101 순위= 1 팀 = 울산 ,승점 =94 순위= 2 팀 = 서울 ,승점 =68 순위= 3 팀 = 수원 ,승점 =48 순위= 4 팀 = 전북 ,승점 =41 순위= 5 ... 조건 정렬 알고리즘 구현할 필요 없음(원하면 해도 됨) 출력은 console에 찍히는 정도로 엑셀 파일 관련 라이브러리 : Apache POI 2018K리그.xlsx ..
[인실리코젠] 배열 vs 리스트
·
인실리코젠
더보기 해당 글은 (주)인실리코젠 조일흠 선임님께서 질문하신 내용에 대한 답변입니다. 배열 배열 - 여러 개의 데이터를 하나의 이름으로 그룹핑해서 관리하기 위한 자료구조 index는 값에 대한 유일무이한 식별자(마치 주민번호)(리스트에서 인덱스는 몇 번째 데이터인가 정도의 의미를 가짐) 논리적 저장 순서와 물리적 저장 순서가 일치 => index로 해당 원소에 접근할 수 있다. (O(1)의 시간복잡도를 가짐) 연속된 메모리의 공간으로 이루어져 있다 배열은 정의와 동시에 길이를 지정하며 길이를 바꿀 수 없다. 리스트 리스트 - 배열과 같이 데이터를 그룹핑해서 관리 리스트는 순서가 있는 엘리먼트의 모임으로 배열과는 다르게 빈 엘리먼트는 절대 허용하지 않는다. 리스트는 배열이 가지고 있는 인덱스라는 장점을 버..