본문 바로가기

전체 글141

Spring Mybatis 간단 설명 Spring을 사용하면서 Mybatis를 이용하면DB를 연동하는 것은 기존 방식에 비해 수월하게 할 수 있다. Mybatis를 매뉴얼을 따라 만들다 보면 개념보다는 사용법만 익히게 되니 개념을 정리해 보는 것도 좋다. 국내 대부분 프로젝트는 XML만을 이용해서 SQL문을 작성하고, 별도의 DAO로 만드는 방식을 선호하기 때문에 Mybatis를 XML을 사용해 작성하는 경우가 많다. Mybatis는 무엇인가? ORM(Object Relation Mapping) : 객체와 관계형 데이터 베이스 간의 매핑을 지원하는 것 개발자가 지정한 SQL, 저장프로시저,몇가지 고급 매핑을 지원하는 프레임워크 기존 JDBC를 이용하여 프로그래밍을 하면 소스안에 SQL문을 작성했지만, Mybatis에서는 SQL을 XML 파일.. 2019. 6. 13.
모델 2 방식과 스프링 MVC (개발자 면접 단골 질문) 스프링으로 웹프로젝트를 진행하면 스프링 MVC 패턴으로 진행하게 된다. 스프링 MVC는 모델 2 방식 구조를 이용한다. 자바로 개발을 하는 경우 스프링 MVC를 주로 사용한다. 그렇다 보니 자바 관련한 면접을 가는 경우 단골로 들을 수 있는 질문이다. 특히, 스프링으로 프로젝트를 해봤다고 이야기 하는 경우 MVC 패턴에 대해 물어보는 경우가 많다. (그것도 상세하게...!) 스프링 MVC에 대해 자세히 알아보자! MVC는 무엇인가? Model mybatis와 Dao 등과 같은 데이터를 처리하는 영역 View jsp 같은 결과 화면을 만들어 내는데 사용하는 자원 Controller 클라이언트의 요청(request)을 처리하고, view와 model 사이의 중간 통신 역할 기본적으로 모든 요청은 기본적으로 .. 2019. 6. 13.
Spring MVC 프로젝트 템플릿 구조(면접 참고) 간혹 스프링 개발자를 뽑는 면접에서 Spring 기본 환경설정을 할수 있는지 확인하기 위해서 스프링 mvc 프로젝트 폴더에 기본 파일명 빈칸을 뚫어 놓고, 파일명과 어떤 환경설정을 하는 파일인지 쓰라고 하는 경우가 있다. 평상시에 STS를 사용하면 자동으로 spring MVC 패턴 구조로 폴더를 만들어주기 때문에 제대로 안 보기 때문에 기억이 나기 어렵다. 한번씩 살펴보고 가는 것이 좋다. 특히 신입개발자에게 바라는 것이 많지 않다고는 하나 기본 설정, 환경 설정 정도는 할줄 알아야 한다. 스프링 MVC 기본 세팅 폴더 및 파일별 기능 [폴더] src/main/java : 개발되는 java 코드의 경로, 각 기능별로 패키지를 만들어서 자바파일을 관리하게 된다. [폴더] src/main/resources .. 2019. 6. 12.
spring framework, 자바 스프링 개발자 면접 질문 한국에서 웹 개발자로 취업을 하는 경우 가장 많이 사용하는 프레임워크가 spring이다. 채용자리를 찾다보면 자바와 스프링을 사용할 줄 아는 사람을 뽑는다는 곳을 가장 많이 보게 된다. 정부표준프레임워크로도 사용되고, 국내에서 워낙 자바를 많이 사용하다 보니 스프링은 거의 자바 웹 개발자에게는 필수 처럼 되어 있다. 스프링은 프로그램의 복잡함에 반해서 만들어진 경량급 프레임워크라고 하지만 처음 개념을 배우면이게 왜 복잡하지 않다는 것인지, 무엇이 가벼운 것인지 이해가 되지 않는 나와 비슷한 사람도 많지 않을까 생각해 본다! 개발을 배우면서 취업을 하기 위해 배우지만, 어려워서 보고 싶지 않은 애증의 스프링. 그래도 면접을 준비하기 위해서 알고 있어야 하는 주요 질문 위주로 정리를 해 보고자 한다. 프레임.. 2019. 6. 12.
JAVA 개발자, 기초 개념 면접 질문 모음 자바 개발자 면접을 보는 경우 이론 개념에 대해서 물어보는 경우가 있다. 프로그램을 만들면서 수 없이 클래스를 만들고, 객체를 생성했지만, 갑자기 '클래스와 객체'에 대해서 설명하라고 하면, 개념 보다는 클래스는 만드는 방법이 먼저 떠오르고 아무런 말이 떠오르지 않는 경우가 있다. 그렇기 때문에 면접 전 기본 개념에 대해서는 2~3줄 정도로 설명할 수 있도록 알고 있는 것이 좋다. 객체지향 프로그래밍이 무엇인지 설명하시오. 객체지향 프로그래밍의 특징을 설명하시요. 클래스는 무엇인가? 상속과 다형성에 대해 설명하시오. 추상클래스와 인터페이스를 비교하시오. 메소드 오버라이딩과 오버로딩을 비교하시오. 접근제어자에 대해 설명하시오 Wrapper 클래스는 무엇인가요? 컬렉션 프레임워크란 무엇이고, 왜 사용하는지 .. 2019. 6. 12.
IT 개발자 기본 면접 질문 기본 면접 질문은 사실 정답이 있기 보다는 아이스브레이킹 같은 느낌의 질문이라고 생각하면 좋다. 깊은 내용을 물어 보기 전에 물어보는 간단한 질문 정도, 허나 너무 막연한 느낌이 들다 보니 생각해 보지 않으면 당황 할 수 있다. 정답이 있는 것은 아니기 때문에 본인이 준비한 내용으로 명료하게 답변하는 것이 좋다. 기본 면접 질문 자기 소개를 2분 내외로 해보세요 자기 성격의 장단점을 무엇인가요 왜 우리 회사에 지원하게 되었나요 우리 회사가 무엇을 하는 회사로 알고 있나요 본인이 한 프로젝트에서 맡은 부분을 말해 보세요 개발자로 일하고 싶은 이유는 무엇인가요 취미는 무엇인가요? 스트레스 해소는 어떻게 하나요 관심을 가지고 공부하고 있는 분야는 무엇인가요 프로그래밍은 무엇인가? 프로그래머는? 프로그램을 만드.. 2019. 6. 5.
자바스크립트 작성 방식 : inline / internal / External Inline JavaScript 인라인 자바스크립트 태그 내에 직접 자바스크립트 명령어를 작성하는 방법을 인라인 자바스크립트라고 한다. 이벤트 핸들러 속성을 지정해서 자바스크립트를 실행하도록 하는 고전적인 방식으로 onclick이 인라인 자바스크립트 방식이다. 허나 HTML 문서와 분리하는 것을 권장하기 때문에 onclick을 사용하는 inline JavaScript 방식은 자주 사용하지 않는다. ㅇ 해당 h1 태그 클릭 시 알림창에 ok!가 텍스트가 보이게 하는 것 인라인 방식 자바스크립트 내부 자바스크립트 Internal JavaScript 내부 자바스크립트 HTML 문서 내 별도의 영역에 자바스크립트를 작성하는 방식 태그 내에 작성, 외부 자바스크립트 2019. 5. 31.
모든 요청을 파악하는 front Controller Front Controller 웹 어플리케이션의 정문 앞에 서서 모든 요청을 파악하는 controller 사용자의 요청을 파악하여 요청에 따른 일처리를 위한 일처리 담당자(action, service, controller) 에게 일을 맡기고 처리된 결과를 상태유지 시킨 다음 결과를 보여주기 위한 viewpage를 결정한 다음 viewpage로 이동한다. front controller 만드는 방법 서블릿을 만든다. 서블릿 맵핑에 *.do라고 쓴다(모든 .do 파일로 접속하는 경우 해당 서블릿으로 온다) get과 post인 경우 동일하게 처리를 하기 위해서는 서블릿에 메소드를 하나 만들어야 한다. proRequest(이름은 아무거나 상관 없음) 라는 메소드를 만들어서 doGet과 doPost에서 불러준다. .. 2019. 5. 18.
JSP, MVC 패턴이 무엇인가? 보통 JSP, Spring 등을 배우다 보면 MVC 패턴을 사용하게 된다. 헌데, MVC가 무엇인지 물어보면 명확히 대답하기 어려운 경우가 있다. 간혹 면접에서도 물어보는 경우가 있으니 명확히 이해를 하고 있으면 좋다. MVC 패턴 전통적인 JSP는 jsp 문서 안에 자바문법과 html태그와, 사용자 요청에 대한 정보가 하나의 jsp문서 안에서 모두 처리 되었다. 이런 방식은 jsp 문서에 너무 많은 정보가 혼합되어 있고, 프로그램 개발자와 웹디자이너가 같은 페이지에서 작업을 하게 되다 보니 협업이나 유지보수 등이 어려웠다. 이것을 해결하기 위하여 기능을 하기 위한 자바 문법과 보여주는 HTML을 분리하는 개념을 MVC 패턴이라고 한다. M : Model 어떤 일처리를 위한 자바클래스들 V : View .. 2019. 5. 18.
JSP 서블릿 한글 세팅(한글 깨짐 해결 하기) 프로그래밍을 하다 보면 영어로 만드는 경우는 문제가 없는데, 한글로 데이터가 전송 되거나 하는 과정에서 한글이 자주 깨지는 현상이 발생한다. 이런 경우에는 아래와 같이 처리하면 된다. 1. 파일의 인코딩 속성을 "UTF-8"으로 변경 2. response.setContentType("text/html;charset=UTF-8"); 예시를 통해 세팅하는 방법을 보면 쉽게 한글 깨짐을 해결 할 수 있다. 영어로 hello 서블릿으로 출력( 한글 깨짐 ) - 만약 아래 코드 hello 라는 문자열을 한글 안녕으로 바꾸면 아래와 같이 깨져서 보여진다. package com.servlet; import java.io.IOException; import java.io.PrintWriter; import javax... 2019. 5. 18.
JSP filter 흐름제어( + 로그인 유지 ex ) filter 흐름을 제어하기 위한 것 클라이언트와 서버 사이에 필터가 존재해서 들어오는 request와 response를 필터가 먼저 받아 사전 작업/사후 작업 등 공통적으로 수행되는 부분 작업할 수 있는 기능 사용자의 특정 요청 가로채어 먼저 어떤 기능을 수행시키기 위한 기술 필터 파일 사용 법 필터를 사용할 때 특정 페이지에서만 필터를 적용해야 동작이 제대로 된다. 그렇기 때문에 분류가 필요한데, 폴더를 분류해서 지정 가능 @WebFilter("*.jsp") 이렇게 쓰면 모든 jsp파일에 적용하겠다는 것 @WebFilter("/member/*") 이렇게 쓰면, member 폴더에 있는 모든 jsp에 필터를 적용하겠다고 하는것 @WebFilter(urlPatterns= {"/member2/*","/me.. 2019. 5. 18.
JSP session, 사용자 상태유지( 로그인 유지 ) 상태유지를 확인하기 위한 session 사용자의 현재 상태를 유지시키기 위하여 JSP가 제공하는 내장 객체 쿠키 방식과 달리 정보를 모두 저장하지 않고 id만을 웹 브라우저에 저장하고 서버측의 id와 브라우저의 id를 비교해 같은 값이면 서버측의 정보를 실행 예를 들어 진짜 로그인을 하고 있는지 판단하고 싶은 경우 사용 session 사용 법 사용하는 방법은 마치 map과 유사 session 객체의 값을 담는 법 setAttribute(key, value); session 객체에 담긴 값을 읽어 오는 법 Object 변수명 = session.getAttribute(key); 반환을 오브젝트로 하기 때문에 변수에 담는 경우 해당 객체로 캐스팅이 필요하다. 로그인 기능 ( session ) - DB연동 체크.. 2019. 5. 18.
반응형