일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Baekjoon
- 그리디
- 코딩
- Elasticsearch
- API
- Spring
- 읽기쉬운코드
- 엘라스틱서치
- 스프링
- framework
- cleancode
- 데이터베이스
- 백준
- 그리디알고리즘
- 프레임워크
- 자바
- 코드
- 알고리즘
- 애자일기법
- spring boot
- ES
- 개발
- mongoDB
- JPA
- database
- 코딩테스트
- Java
- 클린코드
- 애자일프로그래밍
- 개발자
- Today
- Total
목록API (10)
튼튼발자 개발 성장기🏋️

AWS에서 2018년 정식 출시한 AppSync를 사용하여 OpenSearch에서 데이터를 조회해본다. AWS AppSync with DynamoDB 를 통해 step 4까지 선행 후에 본 포스트를 참고하는 것을 권장한다. OpenSearch에서 데이터를 조회해야하므로 조회할 OpenSearch의 index와 조회해볼 데이터를 넣어둔다. step 1. schema 생성 아래와 같이 스키마를 생성한다. type Source { vseq: Int useripaddress: String sessioninit: Boolean } type Query { getSomeByUseripaddress(useripaddress: String!): [Source] getSomeByVseq(vseq: Int!): [Sourc..

AWS에서 2018년 정식 출시한 AppSync를 사용하여 DynamoDB에서 데이터를 조회해본다. GraphQL을 기반으로한 AppSync는 [그림 1]과 같이 AWS Lambda, DynamoDB, Elasticsesarch, Aurora 또는 HTTP를 이용해 브로드캐스팅하여 원본 데이터를 가지고 손쉽게 api를 제공해줄 수 있다. 이를 이용하여 운영 중에도 신규 api가 추가되거나 기존 api의 spec이 변경되거나 신규 앤드포인트가 생겨도 큰 변화 없이 간편하게 api를 제공하기 위함이다. AppSync API 생성 step 1. AppSync > APIs 우측 상단에 API 생성 버튼 클릭 step 2. API type 선택: GrapgQL APIs, Design from scratch [그림..

AWS AppSync란? AWS AppSync를 사용하면 개발자가 안전한 서버리스 고성능 GraphQL 및 Pub/Sub API를 사용하여 애플리케이션과 서비스를 데이터 및 이벤트에 연결할 수 있습니다. AppSync는 GraphQL을 기반으로 간소화된 데이터 액세스를 할 수 있고 쿼리를 사용할 수 있다. GrapghQL에 대한 내용은 공식 docs를 참고힌다. Pub/Sub을 위한 webSocket을 제공한다. 인메모리 캐시를 사용할 수 있다. js, ts를 지원한다. VPC를 통해 비공개 api 보안 API Key를 제공하여 IAM, Lambda 권한 부여를 지원하는 제어 기능이 있다. 그 밖에 AppSync의 기능은 공식 docs를 참고한다. GraphQL API 설계 스키마 각 GraphQL ap..
인덱스를 활용하기 위해서는 Document api를 사용할 수 있다. 엘라스틱서치에서는 인덱스 관리를 위해 Document api를 제공하는데 이를 이용해 문서를 조회하거나 추가/수정/삭제 등의 작업을 할 수 있다. 문서 파라미터 Document api에서는 다양한 파라미터를 지원한다. 이러한 파라미터는 Document api에서 공통적으로 사용할 수 있다. 문서 ID 자동생성 문서를 생성할 때는 각 문서를 구분하기 위해 ID가 반드시 필요하다. 만약 문서를 추가할 때 ID를 지정하지 않으면 엘라스틱서치가 자동으로 부여한다. 자동으로 생성되는 ID는 UUID 형태의 값으로 생성된다. 버전 관리 색인된 모든 문서는 버전 값을 가지고있다. 버전 정보는 색인할 때 결과에 포함된다. 최초 1을 갖게되고 문서를 ..

JPA(Java Persistence API)를 알기 위해서는 ORM(Object-Relational Mapping)을 알아야 한다. ORM은 객체와 관계형 데이터베이스를 맵핑해주는 녀석이다. 이전에 언급했듯이 자바의 객체와 관계형 데이터베이스간의 차이가 문제를 일으킬수 있다. 이 문제를 최소화 시키기 위해서 ORM이라고 하는 기술이 등장했다. JPA가 바로 자바 플랫폼의 ORM 표준 기술이다. JPA는 [그림 1]과 같이 동작하게 되는데, JPA가 자바 애플리케이션과 JDBC 사이에서 하는 일은 다음과 같다. 패러다임 불일치 해결 (DB 연동 시 유의할점 #2 참고) SQL query 생성 Entity 분석 (추 후에 이야기 하겠지만 여기서의 엔티티란 테이블을 객체화 시킨 것을 이야기 한다.) 우리는 ..

애플리케이션을 개발할 때 상용계 운영과 유지보수도 함게 생각하면서 개발해야 한다. 결국, 내부 로직이 복잡하면 복잡할 수록 유지보수가 어렵고 운영에도 영향을 미치기 쉬울 수 있다. 데이터베이스를 연동 할 때도 복잡해서는 안된다는 이야기이다. 이전 글에서 언급한 것 처럼 개발을 하게 된다면, 유지보수가 말도 못하게 힘들 수 있다. 그렇다고 데이터베이스 연동을 안할 수 없지 않는가. 데이터베이스는 객체지향 이야기 되는 추상화, 상속, 다형성의 개념이 없고, 구조 조차도 다르다. 즉, 객체와 RDB는 각각 지향하는 목적이 다르기 때문에 사용 방법과 표현방식에 차이가 있을 수 밖에 없다. 이 것을 패러다임 불일치 문제라고 이야기 한다. 이러한 문제때문에 객체 구조를 DB 테이블 구조에 저장하는데에 한계가 있을 ..
spring을 사용하려면 spring docs는 필수로 보아야하고, 어떤 라이브러리들이 있는지, 어떻게 가져다 사용하는지 정도는 기본으로 알고 있어야한다. 그래서 spring 관련 홈페이지를 끄적여본다. 1. spring docs : https://docs.spring.io/spring/docs/ 사용하는 버전에 맞는 docs 참고할 것. 2. MyBatis : https://mybatis.org/mybatis-3/ko/ 3. database reference : https://docs.oracle.com/cd/E11882_01/server.112/e41084/toc.htm 4. jQuery docs : https://api.jquery.com/ 5. W3C : https://www.w3schools.c..
달달달 외우는 것을 싫어하고 암기력도 좋지 않아서 이과를 선택했다. 뭘 외우고 있는가? 외울 시간에 이해를 하려고하고 적용을 해보려고 해보자. 이전 글을 참고하자. 꼭. #1 : RESTful API 개발자라면 RESTful에 대해 한 번이라도 들어 보았을 것이라 생각이 든다. 그러나 정작 "RESTful이 뭐야?"라고 물었을 때 진정으로 정답을 말하기 애매한 것 같다. 실제로 사내 프로젝트로 서버 개발을 했을 때 R.. dotori.ga 위 내용에 덧붙여 더 깊게 알아보자. REST의 구성 요소는 다음과 같다. 표현방식 : HTML 등 식별자 : URI 행위 : HTTP REST architecture style Server - Client 자원 제공을 server, 요청을 client가 한다. ser..