본문 바로가기

분류 전체보기383

AWS S3 스프링에 적용하기 - 1 AWS S3란?- Amazon Simple Storage Service로 객체 스토리지 서비스이다.- 업계 최고의 확장성, 데이터 가용성 및 보안과 성능을 제공한다.- 사용자가 원하는 만큼의 데이터를 저장할 수 있기에, 다양한 타입의 데이터를 저장할 수 있다. AWS S3를 프로젝트에서 사용데이터를 S3에 저장할 때에, 해당 데이터에 대한 S3 URI를 제공한다.예시) s3://master-car-application/de8265e3b2984913bbe01cd53733317f_1607146775.jpg위의 뒷부분은 객체의 key라고 볼 수 있다.해당 key를 통해 프로젝트에서 S3에 저장된 이미지를 찾을 수 있다.기본 로직 (DB에 저장)클라이언트에서 MultipartFile을 통해 파일을 가지고 온다해.. 2024. 5. 27.
AWS S3 스프링에 적용하기 - 2 AWS S3란?- Amazon Simple Storage Service로 객체 스토리지 서비스이다.- 업계 최고의 확장성, 데이터 가용성 및 보안과 성능을 제공한다.- 사용자가 원하는 만큼의 데이터를 저장할 수 있기에, 다양한 타입의 데이터를 저장할 수 있다. AWS S3를 프로젝트에서 사용데이터를 S3에 저장할 때에, 해당 데이터에 대한 S3 URI를 제공한다.예시) s3://master-car-application/de8265e3b2984913bbe01cd53733317f_1607146775.jpg위의 뒷부분은 객체의 key라고 볼 수 있다.해당 key를 통해 프로젝트에서 S3에 저장된 이미지를 찾을 수 있다.기본 로직 (DB에 저장)클라이언트에서 MultipartFile을 통해 파일을 가지고 온다해.. 2024. 5. 27.
스터디 질문 20240214 스터디 질문 20240214 Access Token으로 회원 인증, 인가 방식을 설명해주세요. + spring security Access Token은 JWT Token이다. 즉 JWT 토큰의 Payload에, 해당 유저에 대한 정보를 저장할 수 있다. 여기서 비밀번호와 너무 디테일한 정보를 넣는 것은 권장하지 않는다. 여기서 회원 인증은 로그인을 할 때에, 유저가 입력한 ID와 비밀번호 토대로 유저가 유효한 유저인지 확인을 한다. 즉 회원 인증은 Spring Security를 통해서 한다. AuthenticationFilter에서는 UserPasswordAuthenticationToken을 통해, 입력한 유저ID와 비밀번호에 대한 토큰을 발행한다. 인증을 위해 AuthenticationManager에 .. 2024. 2. 14.
한 길만 걷자 (제로베이스 백엔드취업 스쿨 14기 수강 후기) 한 길만 걷자 (제로베이스 백엔드 취업 스쿨 14기) - 백엔드 스쿨? - 제로베이스 - 프로젝트! - 성장! - 마무리 백엔드 스쿨? 비전공자로서 풀스택 개발 국비를 들으면서, 내 자신이 성장을 하고 있다는 것을 처음으로 느꼈다. 알고리즘 문제를 풀며, 내가 생각하며 만든 어플리케이션을 보며, 정말 많은 성취감을 느꼈고, 개발자를 하면 지속적으로 성장을 할 수 있을 것이라고 생각했다. 그래서, 나는 내 자신을 레벨업하기 위해 개발자로 커리어 전환하기 결심을 했다. "IT 기획자가 되기 위해 어떤 노력을 하셨나요?" 취업 준비를 하며 자신감이 완전 바닥을 치고 있을 때에, 면접에서 들었던 질문이었다. 개발자로서 취업이 너무 안 되다 보니, 전에 1년 반 동안 기획자로 일 했던 경험을 살려 IT 기획자로도.. 2024. 2. 4.
Java vs Python Java vs Python Java와 Python의 차이점 두 언어 모두 사용해보고, 취준을 하며 느낀 점 파이썬은 가독성이 자바보다 훨씬 뛰어나고, 코드도 작성하기 매우 쉽다 기본적으로 파이썬은 변수 타입을 따로 지정하지 않아도 된다 (코딩 테스트를 할 때에 변수명만 고민하면 된다) 파이썬은 AI, 데이터 쪽으로 더 많이 활용이 되는 것 같다 실제로 파이썬에서 AI와 데이터 쪽으로 라이브러리가 잘 형성되어 있다 (TensorFlow, Pytorch, NumPy, Pandas 등) 이는 파이썬이 자바보다 학습을 더 빠르게 할 수 있다는 영향도 있다 Compile 언어 vs Interpreted 언어 기본적으로 컴퓨터는 0과 1만 이해할 수 있다. 즉 개발 언어를 사용해도, 그 개발 언어에서는 0과 1로 .. 2024. 1. 31.
Java vs Python Java vs Python Java와 Python의 공통점 Java와 Python은 객체 지향 프로그래밍 언어다 (Object Oriented Programming) 절차형 프로그래밍 언어는 과정, 메서드, 함수 위주로 생각하는 프로그래밍으로 객체 지향 프로그래밍 언어의 반대 유형의 언어다. 객체 지향 프로그래밍 언어는 객체의 관점에서 프로그래밍을 하는 것이다. Object, 객체는 각 구성 요소, 즉 대상을 나타내는 것이고, 그 구성 요소의 공통점들을 묶어 표현하는 것이 Class라고 한다. 즉 Class의 속성 (Attributes)와 행위 (Method)를 가지고 Object, 객체를 만들어 낼 수 있다. OOP의 4가지 특성 추상화 불필요한 정보는 숨기고 필요한 정보만 표현하여 프로그램을 간단하게.. 2024. 1. 29.
[USports] HTTPS [USports] HTTPS 백엔드는 HTTP 프로토콜을 사용하고, 프론트는 HTTPS를 사용하여 배포했을 때에 웹소켓이 잘 안 먹혔다 웹소켓 같은 경우 HTTP는 ws 그리고 HTTPS는 wss 프로토콜을 사용하게 된다 그래서 배포를 했을 때에, 실시간 채팅을 제대로 구현하기 위해서는 백엔드에서 HTTPS 프로토콜을 사용해야 겠다고 생각했다 여기서 HTTPS를 사용하면 자동으로 wss 프로토콜로 바뀌다고 한다 대부분이 도메인을 구매해서, HTTPS로 바꿨다 하지만 개인적으로, 백엔드는 Rest API만 구축했지, 굳이 도메인까지 구매를 해야할까? 라는 의문점이 들기 시작했다 다행히, 도메인 구매 없이 HTTPS로 바꾸는 방법이 존재했다 Caddy와 nip.io를 사용하는 것이었다 nip.io : 무료 .. 2024. 1. 14.
[USports] Spring AWS 배포 [USports] Spring AWS 배포 배포란? 프로젝트를 하다 보면, 프로젝트 테스트를 위해 localhost, 즉 로컬 서버로 어플리케이션을 띄운다 localhost는 '내 컴퓨터'의 서버를 사용하는 것이라서, 다른 사람들이 내 어플리케이션을 사용하기 위해서는, '내' 컴퓨터의 IP 주소, 그리고 컴퓨터의 주소까지 알아야 할 것이다 근데 이렇게 하면, 내가 컴퓨터를 끄게 되면, 내 어플리케이션을 사용하는 사람도 어플리케이션을 사용하지 못 할 것이다 그래서 그 localhost를 클라우드 서버에 넣어두는 것이다 여기서 클라우드 서버는, 클라우드 컴퓨터로, 해당 컴퓨터에 내 어플리케이션을 올려두는 것이다 이렇게 하면, 클라우드가 없어지지 않는 이상, 어플리케이션은 24시간 돌아가게되고, 다른 유저가 .. 2024. 1. 14.
[USports] Member OAuth with 프론트엔드 [USports] Member OAuth with 프론트엔드 OAuth with 프론트엔드 앞서 OAuth2 client를 가지고 간편 로그인을 구현했다 OAuth2 client를 가지고 구현을 했을 때에, http://주소/oauth2/authorization/kakao 를 a 태그에 넣었을 때 작동을 했다 그리고 /success 로 redirect해서, 응답 값을 프론트에 보냈다 BUT, 우리 프론트엔드 개발자 분은 Next.js를 사용했고, 위 주소를 axios, get으로 하면, 잘 안 돌아간다고 했다 프론트 측에도 로그인을 하는 로직이 따로 있다 http://주소/oauth2/authorization/kakao 를 redirection 없이 썼을 때는 응답값이 안 나오고 /success 로 re.. 2024. 1. 11.