일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 고 배열
- http 완벽가이드
- 자바
- MongoDB Realm
- 정렬
- 우분투
- 몽고디비 렘
- flask
- golang struct
- domain driven develop
- 백준 12761
- 백준 파이썬
- 도메인 주도 개발 시작하기
- http 개념
- golang
- 백준 12761번
- 도메인 주도 개발
- String 함수
- 백준
- go
- 트리 순회
- hadoop
- 12761 돌다리
- 파이썬
- 자바 디자인 패턴
- 자바 디자인패턴
- 백준 사이트
- ddd
- 하둡
- 12761번 돌다리
- Today
- Total
목록전체 글 (211)
개발바닥
몽고DB 란?몽고DB는 자바스크립트를 사용해서 명령어를 입력할 수 있으며, JSON을 간결한 방식으로 지원한다. 테이블과 행을 저장하는 SQL과 달리 컬렉션에 다큐먼트를 저장하는 구조이다. 데이터를 가능한 한 쉽게 표현하여 애플리케이션에서 사용하도록 만든다. 몽고DB는 다음과 같은 특징을 갖는다.1. BSON (Binary JSON) 형태로 데이터를 저장하여 다큐먼트와 객체를 자연스럽게 매핑시킨다. 내장된 다큐먼트의 배열은 JOIN 연산이 필요하지 않는다.2. 자동 샤딩을 사용한 수평 확장이 가능하므로 통신량이 늘어날 경우, 클러스터에 컴퓨터만 추가하여 확장할 수 있다. 3. 스키마가 없으므로 다형성을 쉽게 구현할 수 있다. 몽고DB JSON 다큐먼트몽고DB의 JSON 다큐먼트 안에는 key(키) 와 v..
패턴이란? 비슷하거나 동일한 양식 또는 유형들이 반복되어 나타난다는 의미이며, 문제와 해결책도 동일한 유형이나 양식을 통해 쉽게 찾을 수 있다.(커다란 큰틀 == 디자인 패턴) 디자인 패턴 구조는 3개의 필수적인 요소로 구성된다. - 콘텍스트 : 문제가 발생하는 여러 상황을 기술한다. 즉, 패턴이 적용될 수 있는 상황을 나타낸다. - 문제 : 패턴이 적용되어 해결될 필요가 있는 여러 디자인 이슈들을 기술한다. 이때 여러 제약 사항과 영향력도 문제 해결을 위해 고려해야 한다.- 해결 : 문제를 해결하도록 설계를 구성하는 요소들과 그 요소들 사이의 관계, 책임, 협력 관계를 기술한다. 디자인 패턴은 아래와 같이 3가지로 분류한다. - 생성 패턴 : 객체 생성에 관련된 패턴으로, 객체의 생성과 조합을 캡슐화해..
챗봇이란? 사용자의 의도를 파악하여, 답변/접수를 대화로 진행하는 Bot 서비스이다. 챗봇 맥락 사용자와 대화를 통해서 의도(Intent)와 핵심어(Entity)를 추출한다. 부족한 정보는 재질의를 통해서 필수 값들을 얻어 낸다. 필수 값들이 모두 채워지면 API를 통해 상기 대화에서 입력받은 질의 조건을 기반으로 쿼리를 날린다. 챗봇은 API를 통해 알아낸 여러가지 내용을 고객에게 제시한다. 챗봇 관련 용어들 용어 설명 유사 표현 자연어 (Natural Language) 한국어, 영어 등과 같이 인간이 일반적으로 의사소통시 사용하는 수많은 언어를 말한다. 사람이 쓰는 말 NLU (Natural Language Understanding) 자연어로 표현을 "이해"라는 관점으로 새롭게 분류/변환 하는 것을 ..
SOLID 원칙 1. SRP (Single Responsibility Principle) 단일 책임 원칙하나의 책임만 가져야 한다. 여기서 책임이란 객체가 "해야 하는 것"이나 "할 수 있는 것"으로 간주할 수 있다.즉 하나의 클래스에 여러 개에 책임을 가지고 있다면 책임을 분리해주어야 한다. 2. OCP ( Open-Closed Principle) 개방-폐쇄 원칙기존의 코드를 변경하지 않으면서 기능을 추가할 수 있도록 설계가 되어야 한다.클래스를 변경하지 않고도 대상 클래스의 환경을 변경할 수 있는 설계가 되어야 한다는 것이다. 3. LSP (Liskov Subsitution Principle) 리스코프 치환 원칙일반화 관계에 대한 이야기며 자식 클래스는 최소한 자신의 부모 클래스에서 가능한 행위는 수..
추상화란 어떤 영역에서 필요로 하는 속성이나 행동을 추출하는 작업을 의미한다. 일반적으로 추상화는 사물들의 공통된 특징, 즉 추상적 특징을 파악해 인식의 대상으로 삼는 행위이다. 자바에서 추상화란 공통된 행위나 필드를 모아서 클래스를 만드는 것이다. 캡슐화는 정보 은닉을 통해 높은 응집도와 낮은 결합도를 갖도록 한다.(응집도 : 클래스나 모듈 안의 요소들이 얼마나 밀접하게 관련되어 있는지를 나타낸다.결합도 : 어떤 기능을 실행하는 데 다른 클래스나 모듈들에 얼마나 의존적인지를 나타낸다.) 일반화 관계는 객체지향 프로그래밍 관점에서 상속 관계라 한다. 여러 개체들이 가진 공통된 특성을 부각시켜 하나의 개념이나 법칙으로 성립시키는 과정이다. 공통된 속성이나 행위를 하나에 클래스에 모아서 상속받아서 자식 클래..
소프트웨어에서 모델은 서로의 해석을 공유해 합의를 이루거나 해석의 타당성을 검토할 수 있을 뿐만 아니라 현재의 소프트웨어 시스템 또는 앞으로 개발할 소프트웨어의 원하는 모습을 가시화하는 데 도움을 준다. 또한 모델을 통해 소프트웨어 시스템의 구조와 행위를 명세할 수 있으며 시스템을 구축하는 틀과 구축된 소프트웨어의 문서화 기능을 제공할 수도 있다. 모델의 역할서로의 핵석을 공유해 합의를 이루거나 해석의 타당성을 검토한다.현재 시스템 또는 아픙로 개발할 시스템의 원하는 모습을 가시화한다.시스템의 구조와 행위를 명세할 수 있으며 시스템을 구축하는 틀을 제공한다. 모델은 추상화를 바탕으로 두고 만들어져야 한다. 특정 관점에서 관련이 있는 점은 부각시키고 관련이 없는 면은 무시하는 것이 필요하다. 시스템을 모델..
트리 순회 개념 전위 순회 : 루트 -> 왼쪽 -> 오른쪽 중위 순회 : 왼쪽 -> 오른쪽 -> 루트 후위 순회 : 왼쪽 -> 오른쪽 -> 루트 문제 테스트 케이스의 수 C(1> num; inorder.push_back(num); } printPostOrder( preorder, inorder); } return 0; } 예제 입력 1 7 27 16 9 12 54 36 72 9 12 16 27 36 54 72 예제 출력 12 9 16 36 72 54 27
웹 프로그램은 HTTP 요청을 받아 응답 결과를 반환하는 것이 주 임무이다. 종종 HTTP 요청을 실행하기 이전에 어떤 추가 작업을 실행하고자 한다면, 뷰 함수 안에 추가적으로 실행해야 할 로직을 기술하는 것이 일반적일 것이다. 그러나 이와 같은 처리가 한 개의 뷰함수에 해당하지 않고 여러 개에서 수십, 수백 개에 이른다면 사용하기 어렵다 그래서 Flask 는 HTTP 요청 전후에 사용할 수 있는 데코레이터를 제공해준다. before_first_request : 웹 애플리케이션 기동 이후 가장 처음에 들어오는 HTTP 요청에서만 실행된다. before_request : 매 HTTP 요청이 들어올 때마다 실행된다. after_request : 매 HTTP 요청이 끝나 브라우저에 응답하기 전에 실행된다. t..