분류 전체보기
-
[Spring] 스프링 DI 지시서 작성하기 (Spring Bean Configuration)프로그래밍 공부/Spring 2021. 4. 29. 20:41
뉴렉처 강사님의 동영상 강의를 정리한 글입니다. 전 글에서 Java만을 이용하여 DI 한 것을 스프링을 통해 작성해보자. 우선 Java EE가 설치되어 있어야 한다. Help > Eclipse Marketplace > Spring Tools 3 Add-On for Spring Tools... 를 설치한다. spring.di 패키지에 New > Other > Spring Bean Configuration File 을 선택하여 setting.xml 파일을 생성한다. NewlecExam과 InlineExamConsole을 객체를 생성하고 두 객체를 DI 하는 것을 setting.xml을 통해 작성한다. 객체 생성방법 bean 태그를 이용하여 객체를 생성한다. 형태로 작성하고 id는 생성된 객체의 이름, cla..
-
[JAVA] Dependency를 직접 Injection 하기프로그래밍 공부/Spring 2021. 4. 28. 12:42
뉴렉처 강사님의 동영상 강의를 작성한 글입니다. Spring을 사용하지 않고 Dependency를 직접 Injection 해보는 실습 Program.java package spring.di; import spring.di.entity.Exam; import spring.di.entity.NewlecExam; import spring.di.ui.ExamConsole; import spring.di.ui.GridExamConsole; import spring.di.ui.InlineExamConsole; public class Program { public static void main(String[] args) { Exam exam = new NewlecExam(); ExamConsole console = ..
-
[Spring] IoC 컨테이너프로그래밍 공부/Spring 2021. 4. 28. 12:13
뉴렉쳐 강사님의 동영상 강의를 정리한 글입니다. IoC Container (Inversion of Control) : 역순으로 부품을 생성하고 조립하는 컨테이너 컨테이너 : 큰 객체를 생성하기 위해 필요한 부품들을 생성하여 담는 그릇 A를 만들기 위해 B가 필요하고, B를 만들기 위해 C가 필요, C를 만들기 위해 D가 필요한 경우 DI의 순서 - Composition 일체형: 가장 큰 A객체를 생성할 때 자동으로 작은 부품들이 만들어지게 됨 즉, A -> B -> C -> D 순으로 생성되어 컨테이너에 담김 - Asocciation 조립형: 가장 작은 부품먼저 만들어 조립하여 큰 부품을 만들게 됨 즉, D -> C -> B -> A 순으로 생성되어 컨테이너에 담김 (역순) => 이 컨테이너가 IoC C..
-
[Spring] DI(Dependency Injection)프로그래밍 공부/Spring 2021. 4. 28. 11:58
뉴렉쳐 강사님의 동영상 강의를 정리한 글입니다. 스프링 프레임워크의 코어기능 Spring의 가장 기본적인 능력 객체를 생성하고 조립하는 것 - DI(Dependency Injection) - IoC Container DI(종속성 주입, 부품 조립) - Composition has a (일체형, 붙박이형) class A { private B b; public A(){ b = new B(); } } - A가 B를 일체형으로 가졌다. - B는 A의 dependency(부품)이다. - A의 객체 생성시 부품이 같이 생성됨 - A의 부품이 뭐가 있는지 잘 알 수 없음 - A의 부품 교체 어려움 - Association has a (조립형): setting을 해야 사용 가능, 업데이트시 유용 class A { pr..
-
[Spring] 느슨한 결합력과 인터페이스프로그래밍 공부/Spring 2021. 4. 28. 11:16
뉴첵쳐 강사님의 동영상 강의를 정리한 내용입니다. 엔터프라이즈 애플리케이션을 만들 때 사용하는 기본적인 레이어 - UI: 사용자에게 보여지는 화면 - Service: 사용자의 요구에 맞는 서비스를 담당하는 부분 - Dao(Data access object): 순수하게 java를 이 용하여 데이터를 접근할 수 있게 해주는 부분 코드 수정 없애고 DI를 위한 설정 Dao의 한 클래스의 수정이 필요할 때, 기존 클래스(B1)의 내용을 수정하지 않고 새로운 클래스(B2)를 만든 경우 Service의 코드 수정 없이 B2 객체 생성이 가능한가? 인터페이스(B)를 사용하여 결합력을 낮추고, service와 Dao를 결합시키는 작업을 UI 단에서 해준다. UI에서 소스 코드 수정 없이 외부 파일, 외부 설정(XML,..
-
[Spring] spring 소개프로그래밍 공부/Spring 2021. 4. 28. 10:22
뉴렉쳐 강사님의 동영상 강의를 듣고 정리한 내용입니다. 스프링 사용 이유 : 엔터프라이즈 애플리케이션을 제작하는 것에 중요한 특징 두가지를 포함하고 있음. - dependency injection (-> 모듈 결합을 쉽게 해줌) - transaction management JAVA EE(Enterprise Edition)도 위의 기능을 지원하지만, 스프링에 비해 복잡도가 높아 스프링을 대신 사용하게 됨 추가로.. spring이 나오면서 EE가 유료화됨. 엔터프라이즈 애플리케이션이란.. - 지속적 데이터(persistent data)를 처리 - 막대한 양의 데이터를 처리 - 여러 사람이 동시에 데이터에 접근 - 많은 데이터를 처리하기 위한 사용자 인터페이스 화면의 수도 많음 - 단독으로 운영되는 경우가 거..
-
[Node.js] 회의 분석 성능 개선 (node.js에서 파이썬 스크립트 실행하는 다양한 방법)졸업프로젝트 2021. 4. 10. 21:00
프로젝트 주제를 간략하게 소개해 보자면, 회의록 자동 작성과 분석을 제공하는 그룹형 화상 회의 플랫폼이다. 화상 회의가 종료되면 작성된 회의 스크립트를 기반으로 태그 추출, 요약, 워드 클라우드 정보를 제공해준다. 회의록 분석과 관련한 코드는 파이썬에서 이용 가능한 오픈 소스와 라이브러리를 이용하였기 때문에 웹 서버를 작성한 자바 스크립트로 수정하거나 코드 자체를 개선하기에는 한계가 있었다. 따라서 분석에 걸리는 시간을 줄이기 위해서 node.js에서 파이썬 스크립트를 호출하는 방식과 파이썬 함수의 실행 구조를 수정하는 것을 고려하게 되었다. Python-shell 이용 가장 먼저 'nodejs에서 python 스크립트 실행'을 검색해보면 나오는 것이 python-shell을 이용하는 것이다. 사용하는 ..
-
[Node.js] child-process 이용하기졸업프로젝트 2021. 4. 10. 19:32
모듈을 설치한다. >> npm install child-process spawn에서 python을 사용한다는 정보와 실행 스크립트, 인자를 함께 넘겨주고 stdout.on('data', 콜백함수) 통해 실행 결과가 반환됨을 캐치하고 콜백 함수를 이용하여 데이터를 처리한다. 나의 경우 받은 데이터의 한글이 깨져서 들어와 utf-8로 변환해 주었다. const spawn = require('child-process').spawn; const python = spawn('python',["test.py", argv]); python.stdout.on('data', function(chunk,error){ if(error) console.log("에러발생 ::: ",error) var textChunk = ch..