들어가기 전에.. intellij 내에서 datagrip을 사용하려면 Ultimate 버전이어야 합니다. community 버전에서는 사용할 수 없어요.. DataGrip이 그렇게 좋다던데...? IntelliJ 학생 계정을 사용하고 있다고하니, 팀원이 지나가면서 이야기해줬다. 그래서 한번 써보려고 설정방법을 알아봤다. 우선 JetBrains에서는 DataGrip을 아래와 같이 소개했다. DataGrip은 개발자를 위한 데이터베이스 관리 환경입니다 . 데이터베이스를 쿼리, 생성 및 관리하도록 설계되었습니다. 데이터베이스는 로컬, 서버 또는 클라우드에서 작동할 수 있습니다. MySQL, PostgreSQL, Microsoft SQL Server, Oracle 등을 지원합니다. 평소에는 Dbeaver를 주로..
갑자기 DB 접속이 안돼요.. DB 접속이 갑자기 안되서, MySQL을 띄워둔 AWS EC2에 접속해보니 MySQL Docker가 내려가 있었다. 원인은 알 수가 없어서 일단 Docker를 재시작했다. 그런데 기존에 만들어놓은 테이블이 날아가서 다시 만들어주려고 하니까 아래와 같은 에러가 발생했다. 분명 루트로 접속했는데, 테이블 생성부터 아무것도 안된다. 그냥 권한이 없다는 에러메시지만 반복된다. 이럴 때는 권한을 다시 지정해주면 된다. 일단 사용자 확인. mysql> select user, host from mysql.user; +------------------+-----------+ | user | host | +------------------+-----------+ | root | % | | ..
DB가 필요해... 이직을 하기 전에는, 사내 DB를 개인용 프로젝트에 써먹었었다. 이직이 결정된 이후에 인프라를 만지작 거리려니까 DB가 문제가 됐다. 어떻게 써야할까 고민하다가 그냥 인프라 구축을 위해 띄워놓은 EC2에 MySQL 서버를 띄우기로 했다. 아쉬운 점은, 난 그동안 오라클만 써왔다는 것이다. 하지만 오라클은 유료라 과감히 버린다. (Oracle 이미지는 Docker Hub에서도 내려버렸다...) AWS EC2 / Docker 설정 및 설치 멈춰버린 인프라 관련 글에 잘 써놨다. MySQL Docker 설치 Docker Hub에 저장된 공식 이미지를 사용하면, 별도의 설치파일 없이 편하게 사용할 수 있다. docker pull mysql:latest 설치 후 아래와 같이 뜨면 정상적으로 설..
RestTemplate이란? 이 전에 썼던 글을 참고 다른 매서드에서도 반복적으로 RestTemplate을 사용한다면? RestTemplate 예시를 보면 아래와 같이 매번 객체를 새로 생성해서 사용한다. RestTemplate restTemplate = new RestTemplate(); String url = "http://example.com/users/{id}"; Map params = new HashMap(); params.put("id", "123"); User user = restTemplate.getForObject(url, User.class, params); 이렇게 사용하게 되면 모든 매서드에서 new를 써서 RestTemplate 객체를 생성해서 사용해야 한다. 트래픽이 작은 작업들에..
이직 전 마지막 작업.. 이 작업이 이직 전 마지막 작업이다. 슬프게도 성공적으로 마무리된 것을 보고 나오진 못했다. Harbor 앞에 별도의 reverse proxy를 두고 내부적으로 redirect해서 사용하는 방식으로 인프라를 구축하는 건데 문제가 생겼기 때문이다. Harbor의 reverse proxy Harbor는 reverse proxy가 nginx를 사용한다. nginx 쪽에서 외부 연결을 받아주고 내부의 component들에게 전달한다. 문제는 사내 서버는 Apache Httpd를 별도의 reverse proxy를 사용하고 있다는 점이다. 그래서 아래와 같은 구조로 동작하도록 구성해야했다. Apache Httpd에서 Redirect 설정을 하고 nginx에서 다시 뿌리도록 구성해야했다. 이..
Private Registry 매번 Docker 이미지를 만들기 위해서 Dockerfile을 빌드하는 건 너무 오래걸린다. 때문에, 만들어 놓은 Docker 이미지를 docker registry에 저장(push)해놓고 다운로드(pull)해서 사용할 일이 생긴다. 그런데 내가 담당하고 있는 프로젝트가 외부로 노출되지 않게(private하게) 사용해야 할 경우 어떻게 해야할까? 기본적으로 사용되는 Docker Registry인 Docker Hub는, 아쉽게도 public Registry만 Free tier로 제공한다. 또한, Docker Hub에서 제공하고 있는 저장소는 로컬에 저장하는게 아니라 외부 저장소기 때문에 무작정 사용하기에는 너무 불안하다. 이러한 문제를 해결하기 위해 Private Contain..
데이터 분산? 데이터를 한 곳에 보관하면 정보 관리 측면에선 좋을 수 있지만, 여러 가지 문제가 발생할 수 있다. 데이터가 늘어나면 데이터 베이스의 용량 이슈도 생기고, 느려지는 CRUD는 자연스레 서비스 성능에 영향을 주게 된다. 때문에 전략적으로 데이터를 분산화해서 관리해야한다. 데이터베이스 분산 전략은 몇 가지 있다. 복제(Replication) : 전체 데이터베이스 또는 그 하위 집합을 여러 서버에 복사하여 각 서버가 읽기 요청을 독립적으로 처리할 수 있도록 분산. 한 서버의 데이터에 대한 모든 변경 사항은 다른 서버로 전파하여 처리한다. 페더레이션(Federation) : 사용자 기반의 서로 다른 부분을 제공하는 여러 개의 작은 데이터베이스로 구성된 데이터베이스 생성 파티셔닝(Partitioni..
robots.txt ? web 서버를 뒤적이다가 robots.txt란 파일을 발견했다. 파일을 열어보니 별 내용이 없었는데 User-agent: * Disallow: / 이런식으로 단 두줄만 작성되어 있었다. 대체 무슨 의미일까? 로봇 배제 표준(robots exclusion standard), 로봇 배제 프로토콜(robots exclusion protocol)은 웹 사이트에 로봇이 접근하는 것을 방지하기 위한 규약으로, 일반적으로 접근 제한에 대한 설명을 robots.txt에 기술한다. 이 규약은 1994년 6월에 처음 만들어졌고, 아직 이 규약에 대한 RFC는 없다. 이 규약은 권고안이며, 로봇이 robots.txt 파일을 읽고 접근을 중지하는 것을 목적으로 한다. 따라서, 접근 방지 설정을 하였다고..
- Total
- Today
- Yesterday
- 람다
- AWS
- ChatGPT
- EKS
- 스프링부트
- awskrug
- elasticsearch
- GIT
- OpenFeign
- 코딩테스트
- Log
- cache
- MySQL
- docker
- AWS EC2
- Elastic cloud
- OpenAI
- S3
- Spring
- serverless
- Kotlin
- chat GPT
- terraform
- java
- 인프런
- springboot
- openAI API
- lambda
- AOP
- JWT
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |