일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Spring
- vm
- 스프링 배치
- 스프링
- 데이터베이스
- spring batch
- 도커
- 자바
- 컨테이너
- ORM
- Java
- CS
- spring cloud
- CI/CD
- computer science
- 백엔드
- 웹 서버
- Container
- JPA
- mysql
- 영속성 컨텍스트
- 가상화
- virtualization
- 스프링 부트
- Spring Security
- 스프링 시큐리티
- spring boot
- 배포
- web server
- Today
- Total
목록전체 글 (140)
개발 일기

우리가 흔히 사용하는 HTTP 통신은 무상태성(Statelessness) 및 비연결성(Connectionless) 이렇게 두가지 특징을 가진다. 그러나 채팅기능이나 주식/코인 시세를 실시간으로 조회하는 기능들과 같이 실시간 업데이트가 필요한 경우 서로의 통신이 주기적으로 이루어져야 한다. 이러한 양방향 통신(주기적인 통신) 방법으로 4가지를 정리해보겠다.Polling클라이언트가 일정한 주기로 서버에 데이터를 요청하는 방식HTTP 통신을 기반클라이언트는 특정 주기마다 서버에 새로운 데이터가 있는지 요청(Ajax)하고, 서버는 해당 요청에 대해 응답(장점) 단순한 로직으로 구현이 쉽고 무상태성을 유지할 수 있다.(단점) 요청 주기가 길어지면 데이터가 실시간으로 업데이트 될 수 없으며 요청 주기가 짧아지면 그..

채팅 데이터를 저장하기 위해 NoSQL을 사용해야겠다는 판단이 들어 Dynamo DB는 유료라 래퍼런스가 많은 Mongo DB를 한번 부트 프로젝트와 연결하기 위해 Mongo DB에 대해서 정리해보게 됐다.Mongo DB 대용량 데이터를 처리할 때 우수한 성능을 발휘하는 고성능, 고가용성 및 쉬운 확장성을 제공하는 NoSQL 데이터베이스이다.Document-Oriented 지향➜ 데이터를 배열 및 중첩 Document와 같은 복잡한 데이터 유형을 효율적으로 저장할 수 있는 유연한 JSON과 유사한 형식인 BSON(Binary JSON)으로 저장하여 각 문서는 고유의 스키마를 가지므로, 서로 다른 구조의 문서를 하나의 컬렉션에 저장Schema-less관계형 데이터베이스와 같이 트랜잭션(roll-back, ..

파이썬으로 개발하다보니 나는 생성한적도 없던 __pycache__라는 폴더가 각 디렉토리마다 각각 다 생기는 것을 확인할 수 있었다.그래서 이게 뭔가해서 정리하게 됐다.__pycache__ 폴더란?__pycache__ 폴더는 파이썬 인터프리터가 바이트코드를 저장하는 디렉토리다. 파이썬은 스크립트 언어로, 코드를 실행할 때 먼저 소스 코드를 바이트코드로 변환한 후, 이 바이트코드를 실행한다. 이 과정에서 변환된 바이트코드를 매번 새로 생성하는 대신, 변환한 결과를 파일로 저장해 두면 이후 실행 시 시간을 절약할 수 있다. 바로 이 바이트코드 파일이 __pycache__ 폴더에 저장된다.바이트코드 파일의 확장자__pycache__ 폴더 안에는 .pyc 확장자를 가진 파일들이 들어 있다. 이 .pyc 파일이 ..

하나 디지털 파워온에서 'OCR과 머신러닝 기술을 활용한 전세사기 예방 경고 서비스'라는 주제로 최종 프로젝트를 진행하게 됐다. 해당 서비스를 구현하는데에 있어서 머신러닝 모델을 돌리고, 파인튜닝 모델을 처리하며, GPT API와 Clova OCR API를 다루는 데 있어 Python이 Spring Boot(Java)보다 더 유리하다고 판단하여 Flask 서버를 구성하게 되었다. 이전에 https://ai-back-end.tistory.com/84 이 대회에서 플라스크 서버를 구축했을 때는 API가 딱 2개만 나올 것같아서 server.py에 모든 코드를 집어넣고 처리 했었다. 그러나 조금 더 다양한 비즈니스 로직과 데이터베이스 연동 등이 필요했고 하루만에 끝내는 해커톤이 아닌 3개월 간 개발이 필요한 ..
https://www.examtopics.com/exams/amazon/aws-certified-solutions-architect-associate-saa-c02/view/ AWS Certified Solutions Architect - Associate SAA-C02 Exam - Free Exam Q&As, Page 1 | ExamTopicsA company's application runs on Amazon EC2 instances behind an Application Load Balancer (ALB). The instances run in an Amazon EC2 Auto Scaling group across multiple Availability Zones. On the first day o..

OAuth2.0+JWT에서 Refresh Token을 백엔드 단에서 소유하고 있기 위해 Redis에 저장했다. 그냥 다들 그렇게하니까 그렇게 처리해봤는데 정확히 알고 쓴다는 느낌이 없어서 이번 기회에 Redis에 대해 이해해보고자 한다. Redis란?Redis는 Remote Dictionary Server의 약자로 Key - Value 기반의 비관계형(NoSQL) 오픈소스 DBMS다양한 데이터 타입을 제공하여 다양한 기능에 활용할 수 있다. 예를 들어 sorted sets 타입을 활용한 랭킹 시스템도 구현 가능하다.별도의 SQL 쿼리문이 필요하지 않다.mysql, oracle과 같이 디스크에 데이터를 저장하는 데이터베이스와 달리 redis는 주기억장치인 RAM에다가 데이터를 저장하는 인메모리(In-me..

JDBC(Java Database Connectivity)란?JDBC(Java Database Connectivity)는 Java에서 데이터베이스에 접속할 수 있도록 하는 Java 표준 API이다.즉, JDBC API를 통해 자바 코드로 데이터베이스를 연결할 수 있고, SQL 쿼리문을 보내서 쿼리를 실행하며 결과 값을 받아올 수 있다. JDBC는 Java 애플리케이션 내에서 JDBC API를 사용하여 데이터베이스에 접근하는 단순한 구조이다. JDBC를 통한 DB 연동 흐름 1. 드라이버 로딩JDBC 드라이버를 사용하여 Java 애플리케이션이 데이터베이스와 통신할 수 있도록 하는 첫 번째 단계.DriverManager 클래스는 JDBC 드라이버를 관리하는 역할을 한다.그러나 JDBC 4.0부터는 드라이버가..

H2 데이터베이스가 소규모 서비스나 단위 테스트에서 주로 사용되어 종종 개발자분들께서 사용하시는걸 본적이 있다.그래서 H2 Database에 대해 간단하게 정리하는 시간을 가져봤다.H2 Database에 대해H2는 Java로 구현된 작고 가벼운 경량형 오픈소스 관계형 데이터베이스 관리 시스템(RDBMS)이다.테스트 환경이나 임베디드 데이터베이스로 많이 사용Server Mode/In-memory Mode/Embedded Mode 이렇게 3가지 모드가 있다.3가지 모드에 대해 하나씩 들여다 보자In-Memory ModeH2 데이터베이스 엔진을 직접 설치하지 않고 애플리케이션 내부의 엔진을 사용하는 방식메모리 기반으로 동작하게 되는 모드로 데이터가 RAM에 저장RAM을 사용하다 보니 Server Mode에 ..