분류 전체보기
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/v48hu/btsC4pH1zac/lDH4s6sIWivlJLY1dbKkRk/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
데이터 변환¶ML을 위해서는 원천데이터는 그대로는 사용하기 어렵고, 타겟으로 하는 모델의 입력으로 어떻게든 변환되어야 한다. Label과 features를 가지고 있는 Labeled Point로 구성해보자 해당 Jupyter Notebook에서는 다음 내용들을 다룬다. Vector와 Metrix Label Point(Label과 Features) Dataframe 단어 빈도(TF-IDF) 연속데이터의 변환 VectorAssembler와 Pipeline In [2]: import os, sys import pyspark myConf=pyspark.SparkConf() spark = pyspark.sql.SparkSession.builder\ .master("local")\ .appName("myApp")\..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/Q5hT9/btsBQwA9ict/Qxh9wwOkkFDKwtoKOJ5Zu0/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
통계¶해당 Jupyter Notebook에서는 데이터를 분석하기 위한 기초적인 통계에 대해서 다룬다. 변수의 성격 샘플링, 히스토그램 평균, 분산, 표준편차, Z-score, CDF(누적확률), 중심극한정리 Windows Function 추론, 빈도 분석, 상관관계 분석 In [1]: import os, sys import pyspark myConf=pyspark.SparkConf() spark = pyspark.sql.SparkSession\ .builder\ .master("local")\ .appName("myApp")\ .config(conf=myConf)\ .getOrCreate() Setting default log level to "WARN". To adjust logging level us..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/Uq7Ou/btsHUNLFve8/sF32tx3XolbU1e1AosEpak/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
MVC Pattern 비즈니스 로직 및 데이터와 보이는 부분을 분리하는 디자인 패턴.사용자 인터페이스 로직이 비즈니스 로직보다 더 자주 바뀐다면 MVC를 사용하는 것이 바람직하다.화면을 포함하는 사용자 인터페이스와 업무 처리 부분을 분리해서 동작할 수 있도록 한다.MVC는 원래 Smalltalk 언어에서부터 시작되었으나 현재 GUI를 지원하는 프로그램과 웹 프레임워크에서 많이 사용됨 모델(Model) : Application의 데이터를 관리하는 부분 또는 로직뷰(View) : 데이터가 화면에 보이는 부분을 관리컨트롤러(Controller) : 사용자의 입력을 처리하고, Model과 View 사이에서 상호작용 할 수 있도록 지원 MVC와 웹 모델(Model)데이터와 비즈니스 로직을 관리하는 부분. 데..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/n9jdW/btsHUFAkjRi/Ph3uVgDDgev8Uv88Si2771/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
Composite Pattern Composite Pattern은 객체들을 트리 구조로 구성하여 단일 객체처럼 다룰 수 있도록 하는 디자인 패턴이다.이 패턴은 개별 객체와 복합 객체를 동일한 방식으로 처리하여, 클라이언트 코드에서 객체를 일관된 방법으로 다룰 수 있습니다. 예제 : 도형과 도형 그룹 Componentpublic interface Shape { void draw();} 모든 도형의 공통 인터페이스를 나타낸다. 이를 Component로서 사용한다. Leafpublic class Circle implements Shape{ @Override public void draw() { System.out.println("원 그리기"); }}public clas..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/RNzK1/btsHV9zYPgb/iMeoRTSbp2D0YA4pcWGly0/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
Template Method Pattern 템플릿 메서드 패턴은 알고리즘의 구조를 정의하면서 일부 단계를 서브클래스로 미루는 패턴이다. 알고리즘의 뼈대를 상위 클래스에서 정의하고, 일부 단계를 서브클래스에서 구현하도록 한다. 이렇게 함으로써 알고리즘의 구조를 재사용할 수 있으면서도 일부 단계를 서브클래스에서 변경할 수 있게 한다. 음료수 템플릿 메서드 // AbstractClassabstract class BeverageTemplate { // 템플릿 메소드 final void prepareBeverage() { boilWater(); brew(); pourInCup(); addCondiments(); } abstract void..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/tkmWK/btsBiuLSUFQ/ufsWSdpclCD5lIaSDkX060/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
이전 포스팅에서는 Microservice들의 설정을 일괄적으로 할 수 있는 Config Server를 구축해 보았었다. 이번에는 분산된 Microsevice들 간의 통신에 대해서 다루어 보려고 한다. MSA 간의 통신의 필요성 다음 마이크로서비스의 경우를 생각해보자. 만약 User를 ID를 기반으로 조회할 때, 해당 유저가 주문한 주문내역을 함께 응답으로 주고 싶다고 생각해보자. 이럴 경우, Order Service와의 통신이 이루어져야 한다. 전통적인 Monolithic 아키텍쳐는 단일 데이터베이스 아래에서 외래키 참조와 Join을 통해 다른 도메인의 데이터를 가져오곤 했었다. 그렇지만 MSA라는 개념이 도입된 이후로, 같은 서비스 내에서 참조 가능한 데이터는 외래키와 Join을 통해서 가져오면 되지만..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/bcpAaI/btsBfL1znqu/5KU6BAu4yIKk9udIo8DnpK/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
이번 포스팅에서는 스프링의 프레임워크로서의 핵심 작동 원리인 의존성 주입(DI) 및 제어의 역전(IoC) 및 Bean에 대해서 살펴볼 것이다. 다룰 내용은 아래와 같다. 의존성 주입 (DI), 제어의 역전(IoC)의 개념 Spring Boot에서 Bean을 등록하는 방법 2-1. Configuration + Bean 2-2. Component Spring Boot에서 의존성 주입(DI)을 수행하는 방법들 Autowired 생성자 주입 RequiredArgsConstructor Qualifier와 Primary 1. 의존성 주입 (DI), 제어의 역전(IoC)의 개념 DI (Dependency Injection, 의존성 주입) 객체가 의존하는 다른 객체를 직접 생성하는 것이 아닌 외부로부터 받는 것을 뜻한..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/kRyX7/btsHVUC3kpz/IN6Kfp3qDGTVpSiyz13l40/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
Command Pattern 요구사항(요청, 명령)을 객체로 캡슐화시키는 디자인 패턴. 이를 이용해서 다른 요구사항을 지닌 클라이언트를 매개변수화 시킬 수 있고, 요구사항을 큐에 넣거나 로그로 남길 수 있으며 작업 취소(undo) 기능을 지원할 수도 있다. Command: Receiver를 알고 있고, Receiver의 메소드를 호출, Receiver의 메소드에서 사용되는 파라미터들은 Command에 저장됨 Receiver: 실제 명령(command)을 수행한다.Invoker: 요청을 받아서, 요청을 실행하기 위해 Command 인터페이스 연결, Command 가 실제 어떻게 실행되는지 모른다.Client: 무엇을 요청할지 결정하고, 요청 Command를 Invoker에 넘긴다. STEP 1 : ..
![](http://i1.daumcdn.net/thumb/C400x400/?fname=https://blog.kakaocdn.net/dn/bjWicj/btsHVKUYSp7/K1pOVPs1uS4T7citbKgRC1/img.png)
![](https://tistory1.daumcdn.net/tistory/5364105/skin/images/no-image.jpg)
State Pattern State Pattern(상태 패턴)은 객체의 내부 상태가 변경될 때 객체의 행동을 변경할 수 있도록 하는 디자인 패턴. 객체의 행동이 그 객체의 상태에 따라 다르게 변하게 하기 위해 사용된다. 주로 상태 전이가 복잡하고 상태에 따른 행동이 많은 경우에 적합할 수 있다. Context : 상태를 가지고 있는 객체로, 상태에 따라 다른 행동을 수행한다. Context는 State 인터페이스를 구현한다.객체가 가질 수 있는 State들을 멤버변수로 가지며, 현재 State를 유지한다.State : 상태에 대한 인터페이스를 정의한다. Context의 상태에 따라 다른 동작을 수행하기 위한 메서드를 선언한다.ConcreteState: State 인터페이스를 구현하여 객체의 실제 상..