| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 코테
- thymeleaf
- 해시
- 카카오
- 컴포넌트스캔
- Spring
- 파이썬
- Nodejs
- 구조체배열
- nestjs typeorm
- @Component
- @Autowired
- 프로그래머스
- 가상면접사례로배우는대규모시스템설계기초
- OpenCV
- TypeORM
- AWS
- nestjs auth
- C언어
- 스프링
- C++
- 알고리즘
- spring boot
- 코딩테스트
- nestJS
- 시스템호출
- 카카오 코테
- 카카오 알고리즘
- python
- git
- Today
- Total
목록전체 글 (344)
공부 기록장 💻
Docker 컨테이너가 서버의 KST 시간대를 상속하지 않고 UTC로 나오는 이유는 Docker의 설계 특성 때문이다.서버가 KST 시간대를 따라도, 컨테이너는 항상 기본 UTC이다. 그렇기에 docker 환경에서 배포된 애플리케이션 서버 로그를 grafana로 확인 할 때,9시간 이전의 시간으로 나타나는 경우가 종종 있었다. 이를 해결해보자! docker 컨테이너 내부로 이동하여 시간대를 확인해보면, UTC 2025 시간대를 따르고 있는 것을 확인.$ docker exec -it 4130fe1aac69 /bin/bashroot@4130fe1aac69:/opt/program# dateTue Dec 2 04:44:52 UTC 2025 아래와 같이 docker 실행 명령어에 -e, -v 파라미터 값을 추..
DAN24 실시간 라이브 인코딩 https://tv.naver.com/v/67 네이버 TV tv.naver.com Dan25https://tv.naver.com/v/87882294 네이버[팀네이버 컨퍼런스 DAN25] Keynote 03: 입체적 경험이 가능한 콘텐츠 플랫폼tv.naver.com ncloud Media Intelligence Platform https://www.ncloud.com/product/media/mediaAIUnderstanding#detail NAVER CLOUD PLATFORMcloud computing services for corporations, IaaS, PaaS, SaaS, with Global region and Security Technology Cer..
안녕하세요. 6월 1일부터 7월 3일까지 약 한 달 간 NUCU (NAVER Cloud User Community) 에서 주최 및 주관한 [AI 막차탑승 : HyperCLOVA X 프로젝트 챌린지] 프로젝트에 참여하였습니다.해당 프로젝트는 Clova Studio 의 다양한 서비스들을 깊게 학습 및 실습하고 이를 활용해 팀원들과 협업하여 실제 서비스를 구현해보는 챌린지였습니다. 또한 제공되는 Credit을 통해 서버, 로드밸런서 등 NCP 인프라 서비스들을 활용할 수 있었습니다. 실습했던 내용들을 정리하고, J팀의 서비스 '점메추저메추' 산출물에 대한 소개, 그리고 참여 후기를 남겨보려 합니다. 1. 팀 소개 및 주제 선정제가 속한 J팀은 클라우드 엔지니어, 클라우드 아키텍트, 백엔드 개발자, 프리랜서 ..
1. Docker Engine 설치https://docs.docker.com/desktop/ Docker Desktop docs.docker.com 2. MySQL Docker Image 다운로드$ docker pull mysql/mysql-server:8.0 Docker Image 생성 3. 다운로드 받은 Docker Image로 Docker Container 실행$ docker run --name=mysql_container --restart on-failure -d mysql/mysql-server:8.0(컨테이너 이름 : docker_container) Docker container 생성 $ docker ps 현재 컴퓨터에서 실행하고 있는 모든 Docker Container 확인 4...
보호되어 있는 글입니다.
https://dublin-java.tistory.com/56 JUnit 5 Parameterized Tests 사용하기혹시 테스트 코드를 작성할 때 아래와 같은 중복되는 코드를 작성하고 계신가요? @Test @DisplayName("User 생성 name 2자 미만 예외처리") void createUserException01() { IllegalArgumentException e = assertThrows(IllegalArgudublin-java.tistory.com
https://jaehoney.tistory.com/112 Java - Atomic Variable (+ 동시성 제어 비교 with volatile, synchronized)동시성 제어 in 자바 자바에서 Multi Thread 환경의 동시성을 제어를 위한 방법은 대표적으로 3가지가 있습니다. volatile synchronized Atomic variable 3가지 방법은 모두 쓰임새가 다른 데 같이 살펴보겠습니jaehoney.tistory.com
전략 패턴(Strategy Pattern) 이란? 전략 패턴이란, 실행 중에 알고리즘을 선택할 수 있게 하는 행위 소프트웨어 디자인 패턴 (Behavior Design Pattern) 이다. 특정한 계열의 알고리즘들을 정의하고, 각 알고리즘을 캡슐화 하여 이 알고리즘들을 해당 계열 안에서 상호 교체가 가능하게 만든다.각 객체들이 할 수 있는 행위(알고리즘) 각각에 대해 전략 클래스를 생성하고, 유사한 행위들을 캡슐화하는 인터페이스를 정의하여, 객체의 행위를 동적으로 바꾸고 싶은 경우 직접 행위를 수정하지 않고 전략을 바꿔줌으로써 행위를 유연하게 확장하는 방법을 말한다. 여기서 포인트는?유사한 행위에 대한 알고리즘을 각각 정의하여 캡슐화 한다.객체의 행위(알고리즘, 전략)를 동적으로 바꿀 수 있는데, ..
gitignore에 새로운 파일명을 적고 적용을 하려고 했을 때,제대로 작동하지 않는 경우가 발생한다. 이는 원격 저장소에 이미 저장되어 있는 파일에 대해,로컬에서 삭제 혹은 gitignore에 적용한다고 해서 원격 저장소에서 삭제가 이루어지지 않기 때문이다.이러한 경우 캐시 되어 있는 파일들을 모두 삭제 후, 다시 적용을 해주어 해결할 수 있다. 다음의 명령어를 사용하면 된다. git rm -r --cached .git add .git commit -m "fixed untracked files" 예를 들어, application.yml 의 파일을 새로 아래 .gitignore에 추가해주었다.application.yml에 중요한 aws 관련 정보들을 추가한 후에 이를 git에 업로드되지 않도록 유의해야..
문제 상황 최근 교내 축제 웹사이트 백엔드 Admin 서버를 Elastic Beanstalk으로, MySQL DB를 RDS로 배포한 후 서비스를 출시한지도 어느덧 약 일주일이라는 시간이 지났다. AWS로부터 점점 RDS 인스턴스 프리티어 만료에 따른 과금 메일이 지속해서 오고 있고 AWS Billing 청구서를 보니 점점 사비로는 감당하기 어려울 정도의 요금이 청구되고 있었다. 결국에 스냅샷을 저장하고 RDS 인스턴스를 삭제하기로 결정하였다. 아래와 같이 삭제를 눌렀는데, 이슈 발생 다음과 같은 이슈가 발생하였다. 삭제 방지 옵션이 활성화되어 있어 곧바로 인스턴스 삭제를 할 수가 없었다. 문제 해결 찾아보니, AWS는 데이터베이스가 예기치 않게 삭제되는 것을 방지하기 위해 인스턴스 구성에 '삭제 방지 활..
보호되어 있는 글입니다.
1. Code Build 2. Pipeline https://potato-yong.tistory.com/80 [CI/CD] Git과 연동하여 AWS Pipeline 생성하기이번에 해볼 실습은 AWS에서 제공하고 있는 실습이다. aws.amazon.com/ko/getting-started/hands-on/create-continuous-delivery-pipeline/ AWS에서 지속적 전달 파이프라인을 생성 아래의 다이어그램은 이 자습서에서 사potato-yong.tistory.com https://www.red-gate.com/simple-talk/blogs/deploying-a-nodejs-application-from-github-to-aws-elastic-bea..
문제 상황 AWS에서 Elastic Beanstalk 환경을 구성하여 Spring Boot 프로젝트를 배포한 후, 배포된 URL로 접속했을 때 아래와 같이 502 Bad Gateway 오류가 나타나는 문제가 발생했다. HTTP 502 상태 코드 (Bad Gateway)는 CloudFront가 요청한 리소스들을 서빙할 수 없음을 나타내는 에러 코드인데 왜 발생하는 것일까? 원인 파악 아래 스택 오버플로에 명쾌한 답이 나와있었는데, ELB의 로드 밸런서의 nginx 가 기본적으로 포트 5000을 가리키고 있는 것이 원인이었다. https://stackoverflow.com/questions/54612962/502-bad-gateway-elastic-beanstalk-spring-boot 502 bad gat..
Route 53 에서 도메인을 등록해보자.delimo-server.com 를 사용하고자 한다! 먼저 도메인의 가용성을 먼저 확인해보자. 검색 결과로 사용 가능을 확인했고, 결제 진행을 누르면 된다.개인 정보들을 입력하고 나면,아래와 같이 Route 53 > 요청에서 도메인 등록이 진행중인 것을 확인할 수 있다. 호스팅 영역 레코드를 생성해보자. AWS Certificate Manager에서 SSL 인증서 발급 가비아에서 구매한 도메인.. 너무 오래 걸리는 검증 대기중 !!! https://omty.tistory.com/47 AWS Route53 으로 도메인(https) 연결하기기존에 AWS ElasticBeanstalk으로 배포한 웹앱에 구입한 도메인을 연결할 필요가 있어 AWS ..
많은 스프링 부트 프로젝트들은 아직 2.9.X 버전을 사용하곤 하는데 이때 Swagger을 적용하기 위해 Springfox 라이브러리가 사용되는데, Spring Boot 3.0.0 이상부터는 spring-doc-openapi-ui 라이브러리를 사용해야 한다. 결론적으로는bulid.gradle 의 종속성에 다음과 같이 implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.4'을 추가해주도록 하자 dependencies { // implementation 'org.springdoc:springdoc-openapi-starter-webmvc-ui:2.0.4'} https://velog.io/@kjgi73k/Sprin..
보호되어 있는 글입니다.
자바 ORM 표준 JPA 프로그래밍 - 기본편(인프런) 참고 Flush란? 플러시란, 영속성 컨텍스트의 변경 내용(Insert, Update, Delete 등)을 데이터베이스에 반영하는 것을 말한다. Flush 발생한 경우에는, 1) 변경을 감지하고 2) 수정된 엔티티를 쓰기 지연 SQL 저장소에 등록하고, 3) 쓰기 지연 SQL 저장소의 쿼리들을 데이터베이스에 전송하게 된다. Flush를 수행하는 방법들 em.persist(memberA); em.persist(memberB); em.persist(memberC); // JPQL 실행 query = em.createQuery("select m from Member m", Member.class); List members = query.getResultL..
자바 ORM 표준 JPA 프로그래밍 - 기본편(인프런) 참고 JPA에서 가장 중요한 2가지 JPA 기술을 사용할 때 중요한 2가지는 다음과 같다. 1. 객체와 관계형 데이터베이스 매핑하기 정적인 설계의 관점에서 객체를 생성하고, 관계형 DB와 매핑하는 것이 첫번째로 고려해야 할 점이고, 2. 영속성 컨텍스트 다음으로 JPA의 내부 동작 원리에 대한 이해를 바탕으로 영속성을 관리하는 것이 두번째로 고려해야 할 점이다. 영속성 컨텍스트가 무엇이고, 영속성을 관리한다는 개념이 무엇인지 살펴보자! EntityManagerFactory와 EntityManager EntityManagerFactory룰 통해 고객이 요청이 올 때마다 EntityManager 객체를 생성하고, EntityManager은 내부적으로 C..
자바 ORM 표준 JPA 프로그래밍 - 기본편(인프런) 참고 JPA란? JPA는 Java Persistent API의 줄임말로, Java 진영의 ORM 기술 표준이다. 여기서 ORM (Object Relational Mapping) 이란, 객체와 관계형 데이터베이스를 매핑해주는 기술이다. 객체 지향 프로그래밍에서 객체는 객체대로 설계하고, 관계형 DB에서서는 DB, Table 대로 설계했을 때, ORM 프레임워크가 중간에서 이 둘을 연결하는 역할을 한 것이다. JPA와 JDBC JPA는 Java 어플리케이션이 DB와 SQL 문을 통해 연결되는 Connection 기술인 JDBC API와 JVM 사이에서 JDBC API를 보다 더 간단하게 사용할 수 있게 도와주는 중간다리의 역할을 한다. JPA를 왜 사용..
간단하게 클라이언트의 Request Body로부터 요청받은 UserDTO를 그대로 Repository로 전달한 후 Post 요청을 하는 과정에서 Serialization 오류가 발생했다. 상황 우선 요청 시 Request Body에 담는 UserDTO는 다음과 같다. @AllArgsConstructor을 사용해 userEmail, userPw 두 필드를 인스턴스 생성시 필수적으로 넣는 arugment로 설정해주엇다. POST method를 이용해 새로운 회원 가입을 하는 Controller은 다음과 같다. RequestBody의 UserDTO 값을 통해 새로운 User 객체를 생성하여 DB에 저장한다. 오류 이후 Post 요청 시 오류가 발생했다. 2023-04-17T10:07:03.601+09:00 E..