반응형

Knowledge 35

[Knowledge] 기본 면접 질문사항들

OOP란? 객체 지향 프로그래밍이란 현실 세계를 프로그래밍으로 옮겨와 프로그래밍하는 것을 말합니다 현실세계의 사물들을 객체라고 말하고, 그 객체로부터 개발하고자 하는 APP에 필요한 특징들을 가져와 프로그래밍 하는 것입니다. 대표적으로 캡슐화, 추상화, 상속, 다형성이 있습니다. 캡슐화 하나의 객체에 대해 그객체가 특정한 목적을 위해 필요한 변수 및 메소드로 묶는것을 의미합니다. 이때 실제구현 한 내용 일부를 외부에 감추어 은닉화 합니다. 추상화 구체적인 내용은 감추고, 보여주고 싶어하는 특성은 드러내는것을 말합니다. 예를 들어 인터페이스로 보여주고 싶은것들을 표현하고, 해당 인터페이스를 구체적으로 구현하는 것은 숨겨놓는 방식입니다. 상속 부모클래스가 가지고 있는 것들을 자식클래스가 물려받아 같이 공유하..

[Knowledge] MVC , MVP, MVVM 디자인 패턴 개념

궁금했던것들을 좀 찾아보며 견문을 넓혀야겠다라는 생각이 들었다. 기존 SpringFramework로 개발한것만 생각하면 MVC Model2패턴이 다인가 라는 생각에 검색을 해본적도 있었지만 정리는...ㅎ; 오늘 정리를 좀 해봐야겠다. 1). MVC Model2 정의 : Model + View + Controller 세가지를 합친 용어 Model : App에서 사용되는 데이터 + 데이터를 처리하는 로직을 담당 View : Client에 보여지는 UI 담당 Controller : Client의 요청을 받고 반응 처리 담당 동작 : 사용자의 Action들은 Controller로 보내진다. Controller는 사용자의 Action를 확인 => Model을 업데이트 Controller는 Model을 나타내줄 V..

[Error] 오류 org.apache.catalina.LifecycleException: Failed to  start component StandardEngine[Catalina].StandardHost[localhost].StandardContext[/controller]

해결(이클립스 기준) 1. 메이븐 저장소 문제이므로 Preferences > Maven > User Settings > Local Repository 경로의 모든 파일 삭제. 2. Servers > Tomcat > Clean & Clean Tomcat Work Directory 3. Menu > Project > Clean 4. Project Explorer > 프로젝트 우클릭 > Maven > Update Project 또는 프로젝트 클릭하고 Alt+F5

[Knowledge] Transaction이란? 속성

1). 정의: 데이터베이스의 상태를 변환 시키는 하나의 논리적인 기능의 작업 단위이다. 데이터 베이스 관리 시스템이나 비슷한 시스템과 상호 작용하는 작업 단위. 2).트랜잭션의 성질 1. 일관성(Consistency) - 트랜잭션은 언제나 일관성 있는 데이터 베이스 상태를 유지하는 것을 의미. 2. 원자성(Atomicity) - 하나의 트랜잭션의 속한 작업들이 모두 실패인지 성공인지 보장을 의미 즉 하나로 간주 3. 고립성(lsolation) - 트랜잭션을 수행 시 다른 트랜잭션의 작업이 끼어들어들지 못하게 보장하는 것을 의미 4. 지속성(Durability) - 트랜잭션을 성공적으로 마치면 결과가 영원히 반영 되어야 하는걸 의미 3). 설정방법 4). 속성 속성 속성 디폴트 설명 transaction-..

[Knowledge] Tomcat 배포시 스케쥴러 중복 실행 해결방안

상황 본인은 local - eclipse 환경에서는 데몬을 띄웠을때 문제없이 하나만 실행됬었는데 본 프로젝트를 war로 배포했을때 데몬이 중복되어 2개가 실행되었다. Tomcat이 webapps에서 한번 실행시키고, test프로젝트 war를 unpackaging 할때 한번더 실행한다고한다. 그렇다고 프로젝트가 이중으로 뜨는것은 아니다! 두번 띄워지지만 둘중 하나는 죽게 되지만 스케쥴러는 죽지않는다고 한다..! 조금더 자세히 조사해봐야겠다. 해결 Tomcat에 conf폴더에 보면 server.xml 파일이 있다. server.xml 파일을 열어보면 Host 쪽에 docBase, appBase가 있는것을 볼수 있다. 대략 이런식.. appBase : 여러 webapp들이 들어가는 부모 디렉토리 docBase..

[Node.js] Node.js란? -1

1). Node.js 정의 위키백과 => 더보기 Node.js는 확장성 있는 네트워크 애플리케이션(특히 서버 사이드) 개발에 사용되는 소프트웨어 플랫폼이다. 작성 언어로 자바스크립트를 활용하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다. 내장 HTTP 서버 라이브러리를 포함하고 있어 웹 서버에서 아파치 등의 별도의 소프트웨어 없이 동작하는 것이 가능하며 이를 통해 웹 서버의 동작에 있어 더 많은 통제를 가능케 한다. 2). Nodejs를 어디에쓸까? 간단한 로직. 대용량(동시에 여러 request를 처리) 빠른 응답시간 요구 빠른 개발 요구 비동기방식에 어울리는 서비스(네트워크 스트리밍 서비스, 채팅 서비스 등) 쓰레드 기반 동기방식(Blocking I..

[Knowledge] Thread와 Process 차이점

1. 프로세스 : 프로세스는 CPU로부터 시스템 자원을 각각 할당받아 독립적으로 실행중인 프로그램 CPU로부터 각각 독립된 Code, Data, Stack, Heap 영역을 할당받는다. 각각의 프로세스는 독립적인 메모리 영역을 가지고 있기 때문에 다른 프로세스의 자원에 접근하기 위해서는 IPC (Inter Process Communication)를 사용해야 한다. (메일슬롯, 파이프, 파일, 소켓 등을 이용하여 통신) 2. 쓰레드 : 쓰레드는 프로세스 내부의 작업 단위 프로세스 내부에 있는 일부 자원을 스레드끼리는 공유 한다. 대표적인 힙 영역을 서로 공유하면서 사용함으로써 sibling 스레드가 변경한 자원을 특정 통신없이 바로 확인할 수 있다. 그러나 스택 영역은 서로 공유하지 않는다. 스택 영역을 ..

[Knowledge] AOP(Aspect Oriented Programming) 관점지향프로그램 란?

AOP란? Aspect-Oriented-Programming의 약자로 관점 지향 프로그래밍이란 뜻을 내포한다. 기본개념은 핵심 기능에 공통 기능을 삽입하는 방식이다. 예를 들어 log나, 사용자 확인 등등 관점 : 사용되는 cc(core concern주관심사)와 주관심사외 나머지ccc(cross cutting concern)을 분리하겠다 CC(Core Concern) CCC(Cross Cutting Concern) Application이 중심이 되는 것들 로직, Dao, Service, Controller등 없으면 안돌아가는 것들 log, tranjaction, 예외처리 등 IoC 이기 떄문에 가능 Spring bean을 통해서 미리 선언 및 작성을 해놔야 한다 용어 설명 Joinpoint Advice를..

[Knowledge] iBatis & myBatis 사용 개념-2

Mybatis JDBC 6단계는 코드가 반복되고, 재사용성이 떨어지며, 가독성이 좋지않아서 Mybatis를 사용 Persistance Layer (Database Layer와 Business Layer사이에서 DB를 실행하고 값을 전달하는 부분 SqlDaoSupport.java : SQLMapClient객체 SqlMapConfig.xml : mybatis 환경설정값 SqlMap.xml : 쿼리문만 갖고있음 Mybatis가 2.x이면 ibatis문법을 사용해야 한다. Mybatis가 3.x이면 Mybatis문법을 사용해야 한다. JDBC에서 PrepareStatement를 사용한 Persistance Layer Presentation Layer(PL) Application Business Layer(BL)..

[Knowledge] iBatis & myBatis 사용 개념-1

Maven Project : jdk1.8, Dynamic web-module3.1, tomcat 8.5 plugins 설정 (배포관련) 필요 라이브러리 dependencies를 통해 가지고 온다. ojdbc6.jar, iBatis 2.x, myBatis 3.x, log4j.jar(1.2.17이상버전) (mvn repository에서 검색해서 다운) iBatis myBatis 로그처리 log4j log4j 1.2.17 ojdbc6 두개 공통 oracleORACLE JDBC Repositoryhttp://maven.jahia.org/maven2 com.oracle ojdbc6 12.1.0.2 라이브러리 org.apache.ibatis ibatis-sqlmap service -> interface(dao) -..

반응형