검증 요구사항 타입 검증 가격, 수량에 문자가 들어오면 검증 오류 처리 필드 검증 상품명: 필수, 공백 X 가격: 1000원 이상 100만원 이하 수량: 최대 9999 특정 필드의 범위를 넘어서는 검증 가격 * 수량의 합은 10...
Validation (검증)
Git 커밋 메시지 규칙
팀원과의 소통과 편리한 과거 기록의 추적을 위해 커밋 메시지는 규칙에 맞게 잘 작성하는 것이 좋다. 팀에서 정한 규칙이 따로 있다면 그것을 따르는 것이 좋다. 커밋 메시지의 7가지 규칙 제목과 본문을 빈 행으로 구분한다. 제목은 50글자 이내로 제한한다. 제목의 첫 글자는 대문자로 작성한다. 제목 끝에는 마침표를 넣지 않는다. ...
메시지, 국제화
메시지, 국제화? 메시지 만약 기획자가 화면에 보이는 문구가 맘에 들지 않는다고 “상품명” 이라는 단어를 모두 “상품 이름” 으로 고쳐달라고 하면 어떻게 해야할까? 각각의 화면 label에 있는 “상품명” 이라는 부분을 하나하나 다 고쳐주어야한다. HTML 파일에 메시지가 하드코딩 되어있기 때문이다. 이런 다양한 메시지를 한 곳에서 관리하...
static 키워드
static 키워드 클래스를 설계할 때, 멤버변수 중 모든 인스턴스에 공통적으로 사용해야 하는 것에 static을 쓴다. 인스턴스를 생성하면 각 인스턴스들은 서로 독립적이기 때문에 서로 다른 값을 유지한다. 각 인스턴스들이 공통적으로 같은 값이 유지되어야 하는 경우 static을 붙인다. stat...
자바 코딩 규칙 (Java Code Conventions)
코딩 규칙의 필요성 소프트웨어를 개발하는 일련의 모든 과정에 들어가는 비용 중 80%는 유지보수에 쓰인다. 소프트웨어를 직접 개발한 개발자가 그 소프트웨어의 유지보수를 담당하는 경우는 생각보다 적다. 코딩 규칙을 지키면 다른 개발자가 그 소스 코드를 처음 보았을 때, 더 빠른 시간안에 완벽하게 이해할 수 있도록 도와준다. 즉 가독성이 높...
메모리 할당 및 기타 정리
메모리 할당 프로그램에 필요한 메모리를 할당할 때 시작 메모리 위치, 메모리 할당 크기를 기반으로 할당한다. 이는 연속 할당과 불연속 할당으로 나뉜다. 연속 할당 메모리에 연속적으로 공간을 할당하는 것을 말한다. 사용 가능한 모든 메모리 공간이 같은 위치에 함께 있다. 즉, 메모리 파티션이 전체 메모리 공간에서 여기저기서 분산되어 있지...
타임리프 + 스프링 및 타임리프 폼 기능
타임리프는 크게 2가지의 메뉴얼을 제공한다. 이전 포스트에서 다루었던 기본 메뉴얼, 그리고 스프링 통합 메뉴얼이다. 기본 메뉴얼 스프링 통합 메뉴얼 타임리프는 스프링 없어도 동작하지만, 스프링과 통합을 위해 다양한 기능을 편리하게 제공한다. 스프링 통합으로 추가되는 기능들 스프링의 SpringEL 문법 통합 스프링 빈 호출 지원 ...
CPU 스케줄링 알고리즘, 캐시
CPU 스케줄링 알고리즘 CPU가 어떤 프로세스를 선택할 것인지는 스케줄링 알고리즘을 통해 선택되며 효율적으로 선택하는 것이 중요하다. 효율은 아래와 같은 기준으로 정해진다. CPU 사용률이 높은가? 단위 시간당 작업을 마친 프로세스의 수(처리량)가 높은가? 작업을 요청한 프로세스가 작업을 시작하기 전 대기하는 시간이 짧은가? 그리...
첫 문제풀이
우테코를 지원해보려고 검색하다가 우테코 합격한 분들이 만든 사이트를 보게되었다. 바톤 이라는 사이트였다. 어떤 미션이 주어지고 그 미션을 받아와 작성 후 pr하면 내용을 바탕으로 코드리뷰를 해주는 사이트였다. 어느정도 우테코 프리코스와 비슷한 방식이라고 들어 한 번 풀어보기로 했다. 내 풀이 첫 pr 최근 CS와 스프링을 공부하다가 순수 자바...
타임리프 기본기능
타임리프 소개 타임리프 공식사이트 기능 사용 docs 서버 사이드 HTML 렌더링 (SSR) 백엔드 서버에서 HTML을 동적으로 렌더링 하는 용도로 사용된다. 네츄럴 템플릿 순수 HTML을 최대한 유지한다. HTML을 유지하기 때문에 브라우저에서 파일을 직접 열어도 되고, 서...