목록분류 전체보기 (27)
개발기록
- Bean이란 스프링 IoC Container에서 관리하고 있는 객체이다. 일반 객체와 bean의 차이는, IoC 컨테이너에서 관리하고 있느냐 여부에 따라 갈린다. Bean들만 DI(의존성주입)이 가능하다. - Bean 설정 방법 1) Component Scanning - @Controller, @Component등의 애노테이션 등록 -- @Repository, @Service, @Controller, @Configuration - @Repository 는 스프링 JPA에 의해 Repository를 상속하는 구현체를 내부적으로 만들어서 Bean으로 등록한다 2) 직접 Bean으로 등록 - xml파일혹은 자바설정파일을 통해 셋팅 @Configuration public class SomplcConfig{ ..
Java에서 영속적인 데이터 관리를 위해서는 Persistance Framework를 사용하고 있다. 이 프레임 워크는 크게 SQL Mapper와 ORM(Object-Relationship Mapping)으로 나눌 수 있다. 그럼 이 두 개의 차이점은 무엇일까? ORM은 데이터베이스 객체를 자바 객체로 맵핑함으로써 객체 간의 관계를 바탕으로 SQL을 자동으로 생성해주는데 반해, SQL Mapper는 직접 SQL을 명시해주어야 한다. 추가로, ORM은 관계형 데이터베이스의 '관계'를 object에 반영하자는 것이 목적이라면, SQL Mapper는 단순히 필드를 맵핑시키는것이 목적이라 지향 점의 차이가 있다고 볼 수 있다. 1. SQL Mapper SQL Object 필드 SQL Mapper는 SQL 문장으..
Webjar는 Web에서 사용하는 라이브러리들(jquery, bootstrap 등)을 jar 파일 형태로 maven 혹은 gradle의 관리 툴을 이용하여 다운받을 수 있도록한 것이다. 이렇게 하면 리소스와 라이브러리 코드를 별도로 관리 할 필요 없이 jar 파일로 다운받아 배포를 더 편리하게 할 수 있다.
브라우저는 HTML과 CSS를 렌더링 하는 도중, 자바스크립트를 만나게 되면 이에 대한 해석과 구현이 완료될 때 까지 브라우저 렌더링을 멈춘다. 그렇기 때문에 자바스크립트 코드 삽입 위치에 따라 브라우저 렌더링 속도에 영향을 끼치게 된다. 크게 아래 두가지 위치에 삽입할 수 있는데, 1) head - 문서를 초기화 하거나 설정하는 가벼운 스크립트 위주 - DOM 구조가 필요한 스크립트의 경우 document.onload와 같은 로드 이벤트가 추가되어야 함 2) 앞 - 브라우저가 렌더링이 완료된 상태에서 스크립트 실행, - DOM 구조가 완료된 시점에 실행됨 - 대부분의 스크립트 위치로 추천되는 위치
@Controller와 @RestController는 용도의 차이가 있으며, 주요한 차이점은 HTTP Response Body가 생성되는 방식이 다르다. @Controller는 주로 Model과 View를 전달하는데, 추가적으로 클라이언트에게 Json 형태로 데이터 반환을 원하는 경우 @ResponseBody를 사용한다. @RestController는 Spring MVC Controller에 @ResponseBody가 추가된 것이므로, 주 용도는 Json/XML형태로 데이터를 반환하는 것이다. 흐름 순서 : @Controller Client(Browser) -> Request -> Dispatcher Servlet -> Handler Mapping -> Controller -> View -> Dispat..

앱 강의를 들으면 종종 레이아웃 셋팅과 관련하여 MainAxisAlignment와 CrossAxisAlignment를 사용하게 된다. 강의만 보고 따라서 코딩하다보니 계속 헷갈리는 부분이 있어 이번 기회에 API를 보고 정리하게 되었다. 플러터 API 문서 안에 alignment에 관해서는 아래와 같이 설명하였다 : You control how a row or column aligns its children using the mainAxisAlignment and crossAxisAlignment properties. For a row, the main axis runs horizontally and the cross axis runs vertically. For a column, the main axi..
문제 You are given two non-empty linked lists representing two non-negative integers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list. You may assume the two numbers do not contain any leading zero, except the number 0 itself. 두개의 Null값이 아닌 정수의 값을 담고있는 linked List를 input값으로 주어진다.이 숫자들은 거꾸로 저장되어있으며 각 노드마다 한 개의..
Windows : 주석처리 ctrl + shift + / : 코드블럭 주석 처리 ctrl + shift + \ : 코드블럭 주석 해제 ctrl + / : 여러줄 주석처리 검색 ctrl + alt + H : 메서드 추적 자동완성 : ctrl + space Mac : 주석처리 ctrl + command + / : 코드블럭 주석 처리 ctrl + command + \ : 코드블럭 주석 해제 commend + / : 여러줄 주석처리 자동완성 : ctrl + command + space [preferences - keys - content assist에서 단축키 변환 필요]

1. 폴더 구성 프로젝트 폴더 : 스프링 프로젝트 Root java 폴더: .java파일 관리 resources 폴더 : 자원파일 관리 -스프링 설정 파일(xml) 또는 프로퍼티 파일 등이 관리됨 빌드시에 maven이 이 코드를 토대로 빌드하기 때문에, 개발자는 이대로 폴더를 구성해야 한다. 2. pom.xml pom.xml파일은 메이블 설정파일로 메이븐은 라이브러리를 연결해주고, 빌드를 위한 플랫폼이다. pom.xml에 의해 필요한 라이브러리만 다운받아서 사용할 수 있다. 역할 : 외부의 web repository에 있는 라이브러리를 내가 지금 개발중인 프로젝트에 삽입을 해주는 파일
1. 스프링 프레임워크 스프링 프레임워크는 주요기능으로 DI, AOP, MVC, JDBC(프로그래밍에 있어 어떠한 구조를 만들어가는 방법론)등을 제공한다. 스프링 프레임워크는 자바를 기반으로 만든 프레임워크이다. 주로 웹 어플리케이션 개발에 이용된다. * 여기서 프레임워크란? 어떠한 프로그램을 만들기 위한 기본 틀이라고 생각하면 된다. 개발자들이 개발을 하기위해 어떠한 업무를 추상적으로 사전 정의해놓은 틀이다. 개발자는 이 틀 안에서 구현하면 된다. 예를 들어, 내가 어떠한 작업을 해야할때, 아무 어시스트 없이 하게 된다면 처음부터 어떻게 작업해야할지 막막하지만, 틀이 이미 생성되어 있어 그 틀의 형태대로 개발하게 된다면 훨씬 수월할 것이다. 하나의 예 : 컴퓨터 본체를 조립하는 회사라고 가정할때, 1)..