본문 바로가기

분류 전체보기202

실제 예시 : 금융상품 추천 service (인공지능 활용) 데이터 사이언스 -> 1. 통계학,머신러닝, 딥러닝, 심지어는 심리학 등의 2. 프로그래밍, 데이터 엔지니어링 등의 (데이터 웨어하우스는 수많은 데이터 보관)(개념적으로만) 3. 도메인 지식, 시각화, 스토리텔링 등의 사실 금융권은 비지니스 이해가 정말 중요하다 . 금융상품 -> 비지니스 영역 금융위원회에서는 금융 상품을 예금 . 대출, 보험상품, 카드 까지를 금융 상품이라 정의한다. 즉, 예금 및 대출, 금융 상품,보험 상품등이 있다. 추천 시스템 -> 특정 사용자가 관심을 가질만한 정보를 추천 AI OR 이가 생성한 알고리즘은, 상품 A뿐만 아니라 B를 위해서도 작동해야한다. 이 다양성을, 확장성이라고 한다. 그럼에도, 특정 개인을 위한 맞춤 상품을 제공할 수 있어야한다 (깨인화) 구현 알고리즘은, .. 2024. 1. 5.
2강 빅데이터와 인공지능 빅데이터의 개념 개념 : 오라클,구글 위키백과등이 모두 다르다. 기존 DBMS의 능력을 넘어서는 대량(테라바이트 급)의 정형, 혹은 비정형 데이터로부터 가치를 추출, 결과를 분석 oracle에선 거대한 규모, 빠른 속도, 높은 다양성 데이터 빅데이터 하면 무지하게 큰 데이터가 생각나지? 이런 수많은 데이터를 분석하여 유의미한 가치를 추출하고 결과를 분석하는 기술을 포함하자 많은 데이터 + 기술 (일반적으로 대량이라는 것은, 목적을 달성할 만한 크기 ) column에 딱딱 들어가는 정형적인 데이터 + 규칙과 패턴 데이터등이 없는 것을 포함한다. 빅데이터 특징 초기 빅데이터 - 규모가 매우 크고, 정형 + 비정형, (최근엔 반정형(로그등), 테라바이트 이상 데이터도 사용됨) + 속도가 빠른다. 현대 빅데이터.. 2024. 1. 5.
기타 기술 + JPA 기본 설정 1. Rest Repositories Repository부터 , 자동으로 REST API 를 만들어준다. REST라는 구조를 따르는 형태의 API (REST API ) (이런 개념은 나올때 복습하자) 다시 말하자면, 서버와 client가 요청을 보내고 주고 받기 위한 방법이다. 방법은 즉 코드를 의미한다. ex) db에서 웹툰을 뽑는 코드가 있다. 이 코드를 어떻게 client가 동작시킬 것인가? ex) app.get -> 이 url로 get을 요청한다면, 해당 웹툰뽑기 코드를 작동시킬것이다. 즉 api는 어떤 주소(url)로 오면 어떤 행동을 할지. + 그 METHOD는 무엇인지. 그렇다면 어떤 일을 할지 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있다. . 출처 - 내블로그. 그래서 .. 2024. 1. 4.
VIew, View template 특정 양식을 따르게 하여, 양식간 충돌 등을 방지하는 개념 자체를 템플릿이라고 한다. Thymeleaf. Html표현을 지향한다. 장점 : HTML5 웹 표준을 준수한다. .THYMELEAF가 아니라 .html이 변경되지 않는다. template code와 , 문법을 분리할 수도 있다 . (굉장히 신기하다 ) 3가지 문법 1. "th" : tag 2. "data-th" attribute (html5는 , 사용자가 정의 atrribute가 있다. 3. decoupled logic 문법을 통해 볼 수있고, 가장 많이 볼 것은 ${...}를 통해 값(variable을 표현한다) literal - Inline한 표현. ex) the name is ${name} if문 등도 가능하다 (if) ? (then) fr.. 2024. 1. 4.
properties 팁 ++ test의 종류들 logging 1. debug = True 2. trace = True(근데 양이 너무 많아서 자주 사용하진 x) 3. loggin.level.원하는.패키지.이름 = debug/trace 등등 -> 원하는 패키지에만 적용한다. 파일단위 로깅시, 정책이 적용될 수 있음에 유의하기 banner 이거 뜨는거 resource -> Banner.txt에 붙여넣고 사용 가능( 정보 등을 추가하기도 한다) spring.config.activate.on-profile = developer등의 기능있고, 버전이 높아지면서 변경되었다. main에서 banner끄지 -> spring.main.banner-mode 인스턴스 실행을 최대한 미뤄서, 실행 속도를 키운다 . = spring.main.lazy-initalizatio.. 2024. 1. 4.
오류 사용자 입력에 대한 오류 검증을, 진행해야 한다. 이를 계속해서 IF X>5 이런식으로 넣다보면, 관심사 분리를 침해하는 행위이다. -> ANNOTATION 기반으로, @Positive ,@SIze(min=2)등을 method 매개변수에 넣는다. (검증에 대한 특별한 코드가 필요없다) -> Validation 의존성을 추가해주어야 추가되는 기능이다. @Validated 를 class level에 -> 해당 class는, validation의 대상이된다. -> ConstraintViolationException 진행 @valid는 @validated 필요없이, MethodArgumentNotValidException 진행 . @Test void GivenException_WhengetMessage_Then.. 2024. 1. 4.
3주차 WSL 설치 -> 윈도우에서 가상환경으로 LINUX를 사용할 수 있게 되어있다. UBUNTU로 진행하는 이유? UBUNTU에서의 설치와 관리가 용이 대부분의 SERVER들은 현재 LINUX위에서 작동하기 때문이다. VM와의 비교? VM은 너무 느리고 껐다 키기도 불편 . WSL는 가상머신 -> 어플리케이션과 운영체제를 포함.(즉 , 가상머신의 원래 정의는 한개의 컴퓨터에서 다른 운영체제를 사용할 수 있게 설정해주는 기계) 운영체제 -> 하드웨어와 소프트웨어가 통신하고, 어플리케이션을 관리하낟. LOCAL에서 굳이 AWS를 사용하지 않는 이유? 비용 때문. AWS로 공부까지 하기에는 금액상 무리가 굉장히 크다. 초 단순 명령어 작성 - kubernets에서 program 생성 방법 apiVersion: v.. 2024. 1. 3.
TDD 정처기에서 배웠던 내용이네, 특히 그중에서도 테스트 중심으로 생각하는 새로운 개발 방법. 일단 test를 작성하고. 이를 통과하는 구현코드를 작성. 주로 애자일모델, 폭포수모델?(어떻게 가능한지는 잘 모르겠다.) 1. Red (실패하는 테스트를 짠다) 2. green(테스트를 성공시킨다) 구현 3. 구현코드를 리팩토링 . 반복한다. TDD까지 하는 이유가 뭘까? 스스로 지속적으로 눈앞에 당장 할일이 생긴다. 협업 코딩 환경에서 주로 사용하는 방식이다. 실질적으로 효율적인 TDD가 되기 위해서는, 설계 흐름에 익숙해야하낟. 사람의 요구사항을 프로그램이 할수 있는 기능으로 변환해야하고, 단위 기능으로 세분화하고. 기능의 관계와 상호작용 설계하는 모든것이 가능해야한다. 테스트 작성 또한 잘 해야한다. 발전 과.. 2024. 1. 3.
테스트 2 * 코로나 줄서기 프로젝트 활용 @SpringBootTest 기본 에플리케이션 context load(통합 test시 사용) bootstrap with + extendwith value와 properties = {}로 직접 설정. args -> 직접 실행하는 command . WebEnvironment.Mock,None(은 tomcat이 실제로 돌지 않음) .RANDOM_PORT,DEFINED_PORT는 직접 TOMCAT이 돈다. 스프링에서 제공하는 Auto-configured Test 한 가지 예시 @WebMvcTest . mockmvc 빈을 자동 설정하고 사용한다. (복습하자, mock mvc는 마치 http가 request한것처럼 따라하는 역할을 한다.) 일단 perform은, exception을 .. 2024. 1. 3.
1장 - 소프트웨어 설계of 꼭 주의!!gof 주의! 1. 생명주기 ** 생명주기란 개발 방법론의 바탕으로, 운용 유지보수등의 관계를 단계별로 나눈 것. 폭포수,프로토타입, 나선형, 에자일 모형이 있다. 폭포수모형 -> 다시는 돌아갈 수 없다. 각 단계를 확실히 매듭짓고 승인 후 다음단계 -> 타당성 검토, 계획, 요구분석, 설계, 구현, 시험 , 유지보수 (고전모델) 프로토타입 -> prototype(시제품을 만들어, 최종 결과물 예측 . 요구시집 ->빠른 설계- > 프로토타입 -> 평가 -> 조정 -> 구현 반복 나선형 모델 -> 둘을 합친 것 (요구사항이 이해하기 어려울떄) 유지봇 과정 x 계획 수립 -> 위험분석->개발검증->평가. 안정성을 위해 위험을 최소화 . (이를 반복) 에자일 모형 -> 민첩한 모형. 민첩하고 기민하게 . 전반에 걸쳐 사용 .. 2024. 1. 2.