일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- exclusive lock
- 지연로딩
- eager
- 연결리스트
- BOJ
- PS
- 즉시로딩
- 다대일
- CHECK OPTION
- SQL프로그래밍
- 낙관적락
- 이진탐색
- 연관관계
- 데코레이터
- fetch
- 백트래킹
- 힙
- JPQL
- 스토어드 프로시저
- 스프링 폼
- execute
- 일대다
- querydsl
- 유니크제약조건
- shared lock
- 동적sql
- 다대다
- dfs
- FetchType
- 비관적락
- Today
- Total
목록All (557)
흰 스타렉스에서 내가 내리지
CPU (Central Processing Unit) 컴퓨터의 "두뇌"로, 모든 명령어의 실행과 데이터의 처리를 담당한다. 이는 프로그램의 명령어를 해석하고, 산술 및 논리 연산을 수행하는 장치이다. 주 메모리 :: RAM (Random Accesss Memory) CPU가 현재 실행 중인 프로그램과 해당 데이터를 일시적으로 저장하는 곳 RAM 은 빠른 접근 속도를 가지고 있어, CPU 가 필요로 하는 데이터와 명령어를 신속하게 제공한다. 그러나 전원이 꺼지면 그 내용이 사라지는 휘발성 메모리이다. 보조 메모리 HDD, SSD 와 같이 데이터를 영구적으로 저장하는 장치이다. 주 메모리보다 느린 접근 속도를 가지지만, 전원이 꺼져도 데이터가 유지된다. 보조 메모리는 운영체제, 애플리케이션 프로그램, 사용자..
문제 원인 파악 Github Actions 로, 도커 이미지를 빌드한 후, ECS 에 자동 배포를 하고 있다. ECS 는 EC2 t2.micro(프리티어) 를 기반으로 동작중이다. CD 중에 memory 부족 에러가 발생하여 배포에 실패하였다. 해결 전에는 CPU 부족이 아닌 메모리 부족이라고 에러 메시지가 떴었다 why?? - (Rolling Update) 나는 ECS 에서 "롤링 업데이트 (Rolling Update)" 라고 불리는 업데이트 전략을 사용하고 있다. 롤링 업데이트 전략은, 서비스를 업데이트할 때 ECS 가 자동으로 새 버전의 태스크 인스턴스를 시작하고, 새 인스턴스가 정상적으로 시작되고 서비스에 트래픽을 성공적으로 수용할 수 있음을 확인한 후에 기존 버전의 태스크 인스턴스를 순차적으로 ..
pytesseract 는 Python 에서 사용할 수 있는 OCR (광학 문자 인식) 도구이다. Tesseract-OCR 엔진을 기반으로 하며, 이미지에서 텍스트를 추출하는 데 사용된다. 설치하고 사용하기 위해서는 먼저 Tesseract-OCR 엔진이 시스템에 설치되어 있어야 한다. Mac 에서는 Homebrew 를 사용하여 Tesseract-OCR 엔진을 설치한다. brew install tesseract Tesseract-OCR 엔진이 설치되었다면, Python 환경에 pytesseract 를 설치한다. pip 명령어를 사용한다. pip3 install pytesseract pip3 install pillow from PIL import Image import pytesseract import cv2..
프롤로그 : 블로그를 처음 열었을 때 보이는 화면 프롤로그 관리로 들어간다. 1. 글 강조 2. 이미지 강조 를 선택할 수 있다. 카테고리 생성- 계층구조 가능 이게 뭐냐면, 이거 보여주냐 마냐 이다.
결과물 총 10개의 위젯을 넣어줄 건데, 이전 글에서는 위젯 한 개당 하나의 링크를 넣어주는 형태여서 위젯 코드에 a 태그와 img 태그를 사용했었다. 오늘은 사용하지 않는 위젯도 생기기 때문에 여백 위젯코드를 만들어본다. 이런 식으로 하면, 내가 원하는 높이로 빈 위젯을 넣기가 수월해진다. 높이가 600짜리 5개, 170짜리 5개 위젯을 만들어서 넣어 보겠다. 위젯 소스를 넣어주고, 높이 부분을 600으로 한다. 이걸 5개 만든다. 그리고 상단에 5개 배치 이제 아래쪽에는 높이가 170 인 위젯을 5개 만들어본다. 그리고 높이 600 짜리 위젯 아래 배치를 해준다. 적용을 누르고 블로그로 돌아가보면, 아래와 같이 위젯이 적용되어 있는 것을 볼 수 있다. 이제 이전 글에서 했던것..
결과물 위쪽에 내 메뉴에서 스킨 변경을 클릭하면 다양한 스킨으로 바꿀 수 있다. 여기서 '하이라이트' 스킨을 적용한다. 스킨은 우리가 디자인해서 바꿀거라 아무거나 설정해도 된다.초기 세팅 그대로 있어도 상관없다.그러나 레이아웃은 바꿔줘야 한다.왼쪽 탭에서 '레이아웃-위젯 설정을 누른다.' 홈페이지형 블로그를 만들기 위해 레이아웃을 오른쪽에서 두 번째 있는 걸로 설정을 해준다. 남겨두고, 블로그에 글쓰기 하러간다. 제목은 투명위젯이라 하고, 저장해둔 투명위젯 두 가지를 사진으로 첨부해둔다.구분하기 쉽게 사진 설명에 사이즈도 적어두었다. 글을 발행할때는, 비공개로 해서 나만 볼 수 있게 한다. 우리는 여기에 올려둔 투명위젯에 이미지 주소를 사용할 것이다. 우리는 여기에 올려둔 투명위젯에 이..
테이블에서 데이터를 랜덤으로 10개 추출해야 하는 상황. JPQL 에서는 LIMIT 키워드를 지원하지 않는다. 그래서 나는 지금껏 Native Query 로 작성해왔다. JPQL 로 할 방법이 없을까 탐색하던 중, JPQL 로 구현하는 방법을 찾았다. 우선, 1. RAND() 부분과 2. LIMIT 부분으로 나누어 구현해야 한다. 1. RAND() JPQL 의 FUNCTION 을 이용한다. 2. LIMIT N JPQL 에서는 LIMIT 키워드를 제공하지 않기 때문에, JPA query method 의 결과를 제한하는 방식으로 구현한다. 이를 위해 Pageable 을 인자로 넘겨주는 방식을 택했다. Pageable 인스턴스는 PageRequest.of() 메서드를 이용하여 생성했다. pageNumber 는..
응답시간(Response Time) 클라이언트가 서버에 요청을 하고 그 요청에 대한 응답을 받을 때까지 걸린 시간을 의미한다. 응답 시간은 아래의 두가지로 분류 가능하다. 처리 시간(Processing Time) : 실제 서버가 요청을 처리하는데 걸린 시간 대기 시간(Latency Time) : 클라이언트와 서버간에 데이터를 주고 받는데 걸리는 시간 응답시간(Respose Time) = [동시 사용자 수 / 초당 요청 수(TPS)] - 인지시간(Think Time) TPS(Throughput) 서버가 초당 처리할 수 있는 요청의 개수를 나타낸다. TPS 가 높을 수록 초당 처리할 수 있는 요청의 수가 많다. 초당 요청 수(TPS) = 동시 사용자 수 / 응답시간(Response Time) + 인지시간(T..
해결 방법 : sudo rm /usr/local/bin/docker-credential-osxkeychain sudo vi ~/.docker/config.json "credsStore": "" 으로 수정 후 도커를 재시작한다.
들어가며 API 하나에 쿼리가 너무 많이 발생하여, 이를 어떻게 하면 한 두번으로 줄일 수 있을까? 하고 8시간 동안 삽질한 후기다. ERD Folder 에는 Term 이 여러개 들어있다. Convert 해서 Folder 의 컬럼에 리스트 문자열로 저장했기 때문에, 직접적으로 연관관계는 없다. Term 은 Comment 들을 가지고 있고, Comment 와 Comment_like 가 1대다 관계이다. 구현하고자 하는 API : 1. FolderId 를 통해 Folder 에 들어있는 TermId 들을 불러온다. 2. 각각의 Term 에 대해서, Term 세부 정보와 Comment 들, 그리고 각각의 Comment 는 Comment_Like 와 Join 하여 좋아요 여부를 불러와야 한다. 처음에 대충 짜본 ..