일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 가상면접사례로배우는대규모시스템설계기초
- Spring
- 시스템호출
- 알고리즘
- AWS
- 코딩테스트
- 구조체배열
- 카카오 코테
- python
- C언어
- @Autowired
- 파이썬
- nestjs auth
- spring boot
- git
- 해시
- 카카오
- TypeORM
- 카카오 알고리즘
- 스프링
- 컴포넌트스캔
- thymeleaf
- C++
- OpenCV
- nestJS
- nestjs typeorm
- Nodejs
- 코테
- 프로그래머스
- @Component
- Today
- Total
목록전체 글 (333)
공부 기록장 💻
안녕하세요. 6월 1일부터 7월 3일까지 약 한 달 간 NUCU (NAVER Cloud User Community) 에서 주최 및 주관한 [AI 막차탑승 : HyperCLOVA X 프로젝트 챌린지] 프로젝트에 참여하였습니다.해당 프로젝트는 Clova Studio 의 다양한 서비스들을 깊게 학습 및 실습하고 이를 활용해 팀원들과 협업하여 실제 서비스를 구현해보는 챌린지였습니다. 또한 제공되는 Credit을 통해 서버, 로드밸런서 등 NCP 인프라 서비스들을 활용할 수 있었습니다. 실습했던 내용들을 정리하고, J팀의 서비스 '점메추저메추' 산출물에 대한 소개, 그리고 참여 후기를 남겨보려 합니다. 1. 팀 소개 및 주제 선정제가 속한 J팀은 클라우드 엔지니어, 클라우드 아키텍트, 백엔드 개발자, 프리랜서 ..
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는 데이터베이스가 예기치 않게 삭제되는 것을 방지하기 위해 인스턴스 구성에 '삭제 방지 활..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
문제 상황 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..
보호되어 있는 글입니다.
보호되어 있는 글입니다.
자바 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..
유저 서비스 개발을 시작하기에 앞서 고민 시작.. 회원별 고유 ID를 어떤 방식으로 만들까? 최근 졸업 프로젝트로 작은 유저 모바일 앱 서비스를 개발하기 시작했다. 회원이 최초 가입 시 각 회원에게 부여할 고유 ID 값을 생성해야 하는데, 이 고유 ID 값을 어떻게 생성하느냐에 대한 고민을 하기 시작했다. 우선 생성하려고 하는 회원별 고유 ID 값의 역할부터 정의를 내려보자면, 많이들 서비스에서 사용해봤을 만한 "추천인 코드" 의 역할과 비슷하다. 추천인 코드처럼 각 유저를 식별하는 이 고유 ID값을 이용해 타 회원을 검색하고 친구를 맺게 하는데 사용할 문자열이다. 모바일 기반 플랫폼이기 때문에 회원이 주로 email 인증을 통한 회원 가입과 password를 통한 최초 로그인을 주로 하게 되기 때문에,..
전력망을 둘로 나누기 https://school.programmers.co.kr/learn/courses/30/lessons/86971 문제 설명 n개의 송전탑이 전선을 통해 하나의 트리 형태로 연결되어 있습니다. 당신은 이 전선들 중 하나를 끊어서 현재의 전력망 네트워크를 2개로 분할하려고 합니다. 이때, 두 전력망이 갖게 되는 송전탑의 개수를 최대한 비슷하게 맞추고자 합니다. 송전탑의 개수 n, 그리고 전선 정보 wires가 매개변수로 주어집니다. 전선들 중 하나를 끊어서 송전탑 개수가 가능한 비슷하도록 두 전력망으로 나누었을 때, 두 전력망이 가지고 있는 송전탑 개수의 차이(절대값)를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 2 이상 100 이하인 자연수입니다. wir..
네트워크 https://school.programmers.co.kr/learn/courses/30/lessons/43162 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자..
문제 설명 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","dog","lot","log","cog"]라면 "hit" -> "hot" -> "dot" -> "dog" -> "cog"와 같이 4단계를 거쳐 변환할 수 있습니다. 두 개의 단어 begin, target과 단어의 집합 words가 매개변수로 주어질 때, 최소 몇 단계의 과정을 거쳐 begin을 target으로..
보호되어 있는 글입니다.
나무 타이쿤 삼성 SW역량테스트 2021 상반기 오후 1번 문제이다. 문제 출처는 아래 코드 트리 링크이다. https://www.codetree.ai/training-field/frequent-problems/tree-tycoon 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai dx, dy techinque를 기반으로 한 시뮬레이션 문제로, 백준 기준으로 치면 Gold 5 등급 수준의 기출 문제이다. def get_nutrition(lib, r, c): arr = [] n = len(lib[0]) for i in range(r, r - 2, -1):..
보호되어 있는 글입니다.
인프런 - 스프링 핵심 원리 기본편 정리 빈 스코프란? 스프링 빈은 스프링 컨테이너의 시작과 함께 생성되어, 스프링 컨테이너가 종료될 때까지 유지된다. 이는 스프링 빈이 기본적으로 싱글톤 스코프로 생성되기 떄문이다. (이전에 싱글톤 패턴이 무엇인지, 그리고 스프링의 싱글톤 컨테이너에 대해 학습한 적이 있다.) 스코프란 빈이 존재할 수 있는 범위를 말하며, 싱글톤 스코프 외에 스프링에서 지원하는 다양한 스코프에 대해 알아보도록 하자. 스프링에서 지원하는 스코프 싱글톤 스코프: 기본 스코프로, 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프 프로토타입 스코프: 스프링 컨테이너가 프로토타입 빈의 생성, 의존관계 주입까지만 관여하고 더이상 관리하지 않는 매우 짧은 범위의 스코프 웹 관련 스코..