분류 전체보기

Spring

Spring :: IntelliJ Spring MVC 게시판 프로젝트 - 01 기본설정

프로젝트 생성Archetype을 webapp으로 지정한다.프로젝트 세팅기본적인 폴더 구조는 다음과 같다.다음으로 pom.xml 파일이다. pom.xml은 Maven의 빌드 정보를 담고 있고, POM(Project Object Model)을 설정하는 부분으로 프로젝트 내 빌드 옵션을 설정하는 부분이다.Maven이란 자바 프로젝트를 관리하는 툴로, 미리 작성된 xml 파일을 이용하여 라이브러리를 자동으로 다운로드하거나 프로젝트를 빌드한다. 즉 자바 소스를 컴파일하고 패키징하여 deploy까지 자동화 해준다.아래 코드는 기본 pom.xml에 properties만 추가한 것이다. 4.0.0 com.example spring_board war 1.0-SNAPSHOT spring_board Maven W..

Spring

Spring :: Session 적용 간단 로그인

화면1. 로그인 화면 - login.jsp아이디 및 비밀번호 입력 폼, 아이디 기억하기 체크박스, 로그인 버튼 존재로그인 id password 아이디 기억하기 2. 유저 정보 화면 - user_info.jsp유저가 입력한 아이디, 비밀번호 노출로그인 유저 정보id : ${id}password : ****${password}로그인하러 가기Controllerpackage com.fastcampus.ch2;import javax.servlet.http.HttpSession;import org.springframework.stereotype.Controller;import org.springframework.ui.Model;import org.springframework.we..

사이드 프로젝트

사이드 프로젝트 :: 모의투자 서비스 기본 설정

1. 서론본 글은 개인적인 이야기를 많이 담고 있습니다. 학생들을 대상으로 하는 모의투자 서비스에 flutter 개발자로 합류하게 된지 어느덧 4개월이 훌쩍 넘었다.그동안 회의에만 가끔 참여하고 가끔 figma에서 진척도를 엿보곤 했었는데, 드디어 디자인 작업이 얼추 마무리되어 프론트쪽도 개발을 착수하기로 했다.요즘 백엔드 교육을 듣고 있어서 시간이 부족한 건 사실이지만, 주말에 쉴 때 드라이브 할 겸 카페도 들리고 또 내가 잘하는 거(그나마) 하면서 힐링을 하려고 한다. 디자인이 너무나도 내 취향이라 아주 행복하게 개발할 수 있을 것 같다.회사 다닐 때는 언젠가 디자인도 공부해보고 싶었는데 갑자기 백엔드 공부라니.. 사람 일 정말 어떻게 될지 모른다.한가지 걱정되는 것은 교사 플랫폼을 데스크탑 앱이나 ..

우당탕탕 이슈

이슈 :: java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener

💣 이슈STS에서 톰캣을 실행하려고 하니 무시무시한 에러가 발생했다. 🔧 해결 방법정신을 부여잡고 중간의 `java.lang.NoClassDefFoundError: javax/servlet/ServletContextListener`에 집중하여, 검색해보니 톰캣 10.0.0 버전 이후에는 수정해야 할 부분이 있다고 한다.9.0.0으로 변경 후 정상적으로 동작한다.

Design

디자인패턴 :: Singleton Pattern

Singleton 패턴인스턴스가 하나만 존재하는 것을 보증하는 패턴`singleton`이란 요소가 하나뿐인 집합을 말한다. Singleton 클래스package singleton;public class Singleton { private static Singleton singleton = new Singleton(); private Singleton() { System.out.println("인스턴스를 생성했습니다."); } public static Singleton getInstance() { return singleton; }}인스턴스를 하나만 만들 수 있다.Singleton은 static 필드로 정의되고 Singleton 클래스의 인스턴스에서 초기..

Design

디자인패턴 :: Factory Method Pattern

Factory Method Pattern인스턴스 생성 방법을 상위 클래스에서 결정하되, 구체적인 클래스 이름은 결정하지 않는다.인스턴스 생성을 위한 뼈대(프레임워크)와 실제 인스턴스를 생성하는 클래스를 나누어 생각할 수 있다. Factory Method Pattern 예제신분증 카드를 만드는 공장`Product` 추상 메서드 use만 정의한 추상 클래스`Factory` 메서드 create를 구현한 추상 클래스`IDCard` 메서드 use를 구현한 클래스`IDCardFactory` 메서드 createProduct, registerProduct를 구현한 클래스`Main` 동작 테스트용 클래스 Product 클래스package factory_method.framework;public abstract class..

Java

Java :: 객체지향 II

1. 상속기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것코드의 재사용성을 높이고 중복을 제거한다.자손 클래스의 변경은 조상 클래스에 영향을 주지 않지만, 조상 클래스의 변경은 자손 클래스에 영향을 미친다.자손 클래스의 멤버 개수는 조상 클래스보다 항상 같거나 많다.생성자와 초기화 블럭은 상속되지 않고, 멤버만 상속된다. class Tv { boolean power; int channel; void power() { power = !power; } void channelUp() { channel++; } void channelDown() { channel--; }}class SmartTv extends Tv { boolean isSmart; void displa..

Java

Java :: 객체지향 I

1. 객체지향언어객체지향이론은 실제 사물의 속성과 기능을 분석하고, 이를 데이터와 함수로 정의하여 가상세계를 구현하는 것이다.코드 간에 서로 관계를 맺어줌으로써 보다 유기적인 프로그램 구성이 가능해졌다.주요 특징은 코드의 재사용성이 높고, 관리가 용이하며, 신뢰성이 높다는 것이다. 2. 클래스와 객체클래스객체를 정의한 것제품의 설계도객체클래스에 정의된 내용대로 메모리에 생성된 것설계도로 제작한 제품속성과 기능으로 이루어져 있으며, 이들을 멤버라고 한다. class Tv { String color; boolean power; int channel; void power() { power = !power; } void channelUp() { channel++; } void ..

Design

디자인패턴 :: Template Method Pattern

Template Method Pattern상위 클래스에서 처리의 뼈대를 결정하고 하위 클래스에서 그 구체적 내용을 결정하는 패턴템플릿이란 구멍이 난 얇은 플라스틱 판으로, 템플릿 구멍을 보면 어떤 형태인지 알 수 있지만 실제로 어떤 문자가 될지는 구체적인 필기 도구가 정해지기 전까지는 모른다. 사인펜, 연필 등 어떤 도구를 사용하는가에 따라 달라지기 때문이다. Template Method Pattern 예제문자나 문자열을 5번 반복해서 표시하는 프로그램`AbstractDisplay` 메서드 display만 구현된 추상 클래스`CharDisplay` 메서드 open, print, close를 구현하는 클래스`StringDisplay` 메서드 open, print, close를 구현하는 클래스`Main` 동..

Design

디자인패턴 :: Iterator Pattern

Iterator 패턴일련의 데이터 집합에 대하여 순차적인 접근을 지원하는 패턴for문에서 사용되는 변수 `i`의 기능을 추상화하여 일반화한 것iterator를 '반복자'라고도 한다.for(int i=0; i Iterator 패턴 예제책장에 책을 넣고, 책 이름을 차례대로 표시하는 프로그램`Iterable` 집합체를 나타내는 인터페이스`Iterator` 처리를 반복하는 반복자를 나타내는 인터페이스`Book` 책 클래스`BookShelf` 책장 클래스`BookShelfIterator` 책장 검색 클래스`Main` 동작 테스트용 클래스 Iterable 인터페이스package Iterator;// Iterator를 만들기 위한 것// iterator() 메서드를 사용해 Iterator() 인터페이스를 구현한 클..

seonhannn
'분류 전체보기' 카테고리의 글 목록