전체 글

조금씩 지식을 쌓는 중입니다.
· 개발/Cloud
학교에서 진행하는 프로젝트에서 비디오를 조회하는 기능을 넣다 보니 자연스레 썸네일을 어떻게 다룰지에 대해 생각해 보게 되었다.
1편에서 이어집니다. [Spring] Spring Boot에서 Google Cloud Storage(GCS)에 파일 업로드하기 - 1프로젝트를 하다 보면 항상 파일을 다룰 때가 발생한다. 이미지 등 파일을 다룰 때에는 주로 RDBMS가 아닌 S3와 같은 오브젝트 스토리지에 저장을 하게 되는데 그 이유는 다음과 같다. 1. 오브젝트kmicety1.tistory.com 이번 게시글에서는 REST API로 Multipartfile 이미지를 입력받아 GCS에 업로드하고, Image 엔티티를 생성해 DB에 저장하는 방법을 다루려고 한다. 이전 글에서 이어서 회원 정보의 프로필 사진을 업로드하는 것을 구현해 보자. Member.java@Entity@Getterpublic class Member { @I..
프로젝트를 하다 보면 항상 파일을 다룰 때가 발생한다. 이미지 등 파일을 다룰 때에는 주로 RDBMS가 아닌 S3와 같은 오브젝트 스토리지에 저장을 하게 되는데 그 이유는 다음과 같다. 1. 오브젝트 스토리지가 훨씬 저렴함2. 이미지 등 파일 접근 방식이 간단함3. 대용량 파일 입출력에 최적화 따라서 파일을 다룰 때에는 주로 클라우드 오브젝트 스토리지에 업로드를 하고, 해당 객체의 URI를 DB에 저장하는 방식을 주로 사용한다. Spring JPA에서 엔티티로 관리하면서 동시에 오브젝트 스토리지에 업로드된 객체를 조회할 수 있기 때문. 이번 게시글에서는 Spring Boot에서 GCP의 S3에 해당하는 GCS(Google Cloud Storage)에 파일을 업로드하는 방법에 대해 다루고자 한다.  먼저 ..
2편에서 이어집니다. [Spring] Spring Boot에서 SendGrid로 이메일 전송하기 - 21편에서 이어집니다. [Spring] Spring Boot에서 SendGrid로 이메일 전송하기 - 1현재 학교에서 진행 중인 프로젝트에서 알림 기능으로 카카오 알림톡과 이메일을 사용하기로 했다. 카카오 알림톡 설정kmicety1.tistory.com 이번에는 저번 글에서 구현한 내용을 확장해서 SendGrid의 Dynamic Template을 활용한 템플릿 기능을 사용해 보자! SendGrid는 단순 이메일 전송 기능뿐 아니라  포괄적인 메일링 서비스를 제공한다. Dynamic Template은 이메일 템플릿 기능으로, 전송하는 이메일을 디자인하기에 아주 좋다. 웹 상에서 템플릿 에디터를 이용해 편집할..
1편에서 이어집니다. [Spring] Spring Boot에서 SendGrid로 이메일 전송하기 - 1현재 학교에서 진행 중인 프로젝트에서 알림 기능으로 카카오 알림톡과 이메일을 사용하기로 했다. 카카오 알림톡 설정은 다른 게시글에서 다루기로 하고, 이번 게시글에서는 이메일 알림 기kmicety1.tistory.com 회원가입이 완료되면 로그인해서 Dashboard로 넘어온다.좌측 사이드바 Settings > API Keys > Create API Key 선택해서 API Key를 만든다. 권한을 잘 설정해야 하는데 일단 Full Access를 주었음. 프로젝트마다 설정이 다를 수 있으니 적절한 권한을 선택하면 된다. API Key를 생성하면 반드시 그 자리에서 저장해야함. 그 이후에는 Key를 다시 확인..
현재 학교에서 진행 중인 프로젝트에서 알림 기능으로 카카오 알림톡과 이메일을 사용하기로 했다. 카카오 알림톡 설정은 다른 게시글에서 다루기로 하고, 이번 게시글에서는 이메일 알림 기능을 구현한 내용을 다루어보고자 한다. 먼저 현재 개발 중인 환경은 다음과 같다.- Google Cloud Platform 사용- Java 17, Spring Boot 3.2.4 이미 Spring Boot와 Gmail을 활용한 이메일 전송 구현에 관한 글이 많이 있지만, 그럼에도 이 글을 쓰는 이유는 해당 방법이 통하지 않을 때가 있기 때문이다. Google Cloud Platform은 Compute Engine이라 하는 AWS의 EC2와 동일한 VM 인스턴스 서비스를 제공한다.하지만, GCP는 Compute Engine의 S..
[실버 1] 1743 음식물 피하기 1743번: 음식물 피하기 첫째 줄에 통로의 세로 길이 N(1 ≤ N ≤ 100)과 가로 길이 M(1 ≤ M ≤ 100) 그리고 음식물 쓰레기의 개수 K(1 ≤ K ≤ N×M)이 주어진다. 그리고 다음 K개의 줄에 음식물이 떨어진 좌표 (r, c)가 주어진다 www.acmicpc.net [알고리즘 분류] 그래프 이론 그래프 탐색 너비 우선 탐색 깊이 우선 탐색 2 초 128 MB 15782 7371 5838 46.775% 문제 코레스코 콘도미니엄 8층은 학생들이 3끼의 식사를 해결하는 공간이다. 그러나 몇몇 비양심적인 학생들의 만행으로 음식물이 통로 중간 중간에 떨어져 있다. 이러한 음식물들은 근처에 있는 것끼리 뭉치게 돼서 큰 음식물 쓰레기가 된다. 이 문제를 출제한..
Makefile (메이크파일) 이란 무엇일까? C언어로 소스코드를 작성하고 나서, 실행하기 위해 우리는 컴파일이라는 과정을 거친다. 컴파일러를 호출하여 대상 소스파일을 넘겨주고, 실행파일을 생성한다. gcc -c main.c// main.o 라는 object file (목적파일) 생성 gcc main.c// 자동으로 a.out 이라는 실행파일이 생성됨 (기본값) gcc main.c -o b.out// b.out 이라는 이름의 실행파일 생성 그런데, 이렇게 일일이 파일이름을 나열하여 컴파일하는 과정은 소스파일이 적을 때는 가능하겠지만, 규모가 큰 프로젝트 같은 경우에는 굉장히 비효율적인 작업이 된다. SRCS=ft_itoa.c ft_split.c ft_strtrim.c ft_calloc.c ft_strdu..
· 42서울
라 피신이 끝나고 길고 긴 한 달간의 기다림도 드디어 끝이 났다. 이 메일을 받기 전까지 얼마나 오랜 기간 동안 마음 졸이며 기다렸는지 모른다. 정말 감사하게도, 라피신을 무사히 통과하여 42 서울 9기에 카뎃으로 합류하게 되었다!! 사실 그렇게까지 실감은 나지 않지만, 그래도 무언가 이루었다는 성취감과, 2023년도 시작을 42 서울 카뎃으로 할 수 있어 좋았다. 라 피신 후기를 합격 발표가 나면 써야지 써야지 하며 미뤘는데, 드디어 마저 작성할 수 있었다. 피신에서 하루 평균 10시간가량을 클러스터에 보낸 것 같다. 유튜브에서 봤을 때 다들 하루 평균 10시간을 한다고 듣기도 했지만, 실제로 클러스터 현장에서 다들 코딩에 열중하는 모습을 보고 차마 집으로 갈 생각이 들지 않아서 그렇기도 하다. 새벽 ..
https://blog.encrypted.gg/923 [실전 알고리즘] 0x02강 - 기초 코드 작성 요령 II 안녕하세요, 바킹독입니다. 이전 단원에서 오지고 지리게 고통받으셨을텐데 이번에는 훨씬 쉬우니까 걱정을 덜어내시고 마음 편하게 보시면 됩니다. 저 아직 0x18살이니까 급식체 써도 되는거 blog.encrypted.gg 기초 코드 작성 요령 II 1. cin / cout 사용하기 2. vector 사용하기 3. 함수로 vector를 넘길 때 단순 값 비교, 참조 등만 할 경우 & 붙여서 주소 값 넘겨주기 -> 일반적으로 변수처럼 값을 넘기게 되면 vector의 모든 인덱스가 복사되어서 넘어가기에 O(N) 시간복잡도 발생 4. endl 쓰지 않기! 무조건 개행문자로 대체하기
kmicety1
켜켜이 쌓이다