전체 글
-
직접 개발한 앱을 배포하기까지 흐름AWS 2024. 3. 1. 03:19
이번에 직접 만든 앱을 배포하며 겪은 과정을 정리하려고 한다. 모델들을 선택한 이유와 간단한 흐름만을 정리할 것이며, AWS 화면 가이드나 인스턴스 생성, 설정등의 세세한 부분을 설명하지는 않을 것이라 보고 따라하실 분들은 다른 글을 참고하는게 좋을 것이라 생각한다... AWS 나중에 정리해서 올리려 했던 AWS 교과서의 내용 중 일부이다. 클라우드 컴퓨팅은 인터넷을 통해 요구가 있을 때 직스(온디맨드(on-demand) IT 자원을 제공하며, 사용한 만큼 비용을 지불하는 서비스이다. 좀 더 이해하기 쉽게 클라우드라는 단어의 의미와 연결하여 말하자면, 인터넷 구간 어딘가에 구름 형태로 쌓여, 실제 물리적인 자원은 보이지 않지만 IT 자원을 원하는대로 가져다 사용할 수 있는 컴퓨팅 서비스를 의미한다. AW..
-
application.properties 가 merge 되지 않도록 하는 방법spring 2024. 2. 26. 20:31
application.properties 에는 DB 비밀번호 등 로컬 환경에 맞추어 설정하는 정보들이 많이 들어가게 된다. 하지만 별다른 설정 없이 push, merge 하게 되면 이러한 설정까지 변경되어 곤란을 겪는다. push, merge 를 하더라도 변경되지 않는 application.properties 를 만들어 보자. 먼저 git.ignore 의 한 문장을 추가한다. 그리고 위에 적힌 application-main.properties 라는 파일을 기존의 properties 파일의 위치와 동일한 곳에 생성한다. 기존에 application.properties 에 적힌 정보들을 전부 새로 만든 파일에 저장한다. 본래의 application.properties 에는 한문장만 들어간다. 이렇게 기존의 ..
-
2024-02-20 테스트 코드의 범위개발 일지 2024. 2. 20. 14:48
어제 발제된 개인 과제로 Controller, Service, Repository, Dto 의 테스트 코드를 만드는 과제를 받았다. 나는 강의를 제외하면 테스트 코드를 짜는 것이 처음이었으므로 하나씩 해결해야 겠구나 하고 생각하고 있었는데, 캠프분들이 Service 의외의 테스트 코드를 짜는 것에 의문을 표했다. 네이버, 라인 과 같은 대기업의 CTO 를 경험하신 분들의 이야기를 빌리면 Controller 가 잘못되었다면 그것은 설계나 코딩이 잘못 된 것이고, JPA 를 쓰는데 Repository를 테스트 한다는 것은 쓸대없는 일이라는 소리를 들었다고 한다. 심지어는 캠프 내부의 튜터분들 까지도 과제가 왜 이런건지 잘 모르겠다고... 그래도 뭔가 숨은 뜻이 있지 않을까? 싶어서 개인적인 조사를 진행해 봤..
-
1.1.4 , 2.2.1 의문점 정리AWS/AWS 교과서 2024. 2. 19. 11:16
기업이 직접 서버를 구축한다는 의미와, 프라이빗 클라우드를 사용한다는 의미가 혼동 되어 조사한 결과이다. 양쪽 다 온프레미스 환경을 사용한다는 말에서 혼란이 생겼으나, 전자는 물리적으로 서버를 구축한다면, 후자는 클라우드 서비스를 이용하여 서버를 구축한다는 차이점이 있었다. EC2 서비스가 가장 기본적인 AWS의 컴퓨팅 서비스로 자리잡은 이유가 뭘까? 1. 유연성과 확장성 : EC2는 가상 서버를 프로비저닝 하고 실행할 수 있는 유연한 서비스이다. 2. 다양한 운영 체제 및 인스턴스 유형 : EC2는 다양한운영체제를 지원하며 다양한 인스턴스 유형을 제공한다. 3. 유용한 기능과 관리도구 : EC2는 자동 크기 조정, 로드 밸렁싱, 보안 그룹, 네트워크 및 스토리지 관리등의 기능을 포함하여 사용자가 인스턴..
-
개인 혹은 기업이 직접 서버를 구축하는 것과 클라우드 서비스를 이용하여 서버를 구축하는 것의 차이는?AWS/AWS 교과서 2024. 2. 19. 11:13
개인 혹은 기업이 직접 서버를 구축하는 것과 클라우드 서비스를 이용하여 서버를 구축하는 것의 차이는? 1. 비용 - 직접 서버를 구축하는 경우에는 초기 투자 비용이 많이 들 수 있다. 서버 하드웨어를 구매하고 데이터 센터를 구축하는 데 필요한 비용 등이 포함된다. - 클라우드 서비스를 통해 서버를 구축한 경우에는 초기 투자 비용이 상대적으로 낮다. 사용한 리소스에 대해서만 지불하면 되므로 초기 투자가 필요하지 않다. 2. 유연성과 확장성 - 클라우드 서비스를 이용하면 필요에 따라 리소스를 신속하게 확장하거나 축소할 수 있다. 이는 기업이 시장 변화나 업무 부하의 증감에 따라 유연하게 대응할 수 있도록 도와준다. - 직접 서버를 구축한 경우에는 리소스의 확장이나 축소에는 시간과 비용이 더 많이 소요될 수 ..
-
2024-02-02 Auditing 기능, Header 방식으로 토큰 사용개발 일지 2024. 2. 3. 21:29
Auditing 기능 만약 게시판 글에 작성 시간을 나타내고 싶었다면, 이전엔 이렇게 했다. 이렇게 Entity를 생성할 때 생성한 시간을 LocalDateTime.now 로 저장했다. Spring Data JPA 에서는 위 기능을 더 간편하게 사용할 수 있게 Auditing 기능을 지원한다. 사용하기 이전에 Auditing 기능을 사용하려면 Application 클래스에 위 어노테이션을 달아 명시해 주어야 한다. 실제 사용은 이렇게 하게 된다. @CreatedDate : 엔티티가 생성될 때 자동으로 날짜 및 시간을 등록한다. @Temporal : 날짜 및 시간 유형을 지정하는데 사용된다. 이렇게 간단한 방법을 통해 처음 소개했던 코드를 간략하게 대신할 수 있다. Header 를 통해 토큰을 응답하고, ..
-
2024-02-01 인증 에러 해결개발 일지 2024. 2. 1. 22:57
https://tangpoo.tistory.com/161 2024-01-31 JWT 로그인 검증 에러 오늘은 이전에 만든 todoList 프로젝트에 JWT 로그인 기능을 추가하려고 해봤다. 아직 이해가 부족한 상태에서 강의에서 본 코드를 긁어와 사용하다보니 다양한 에러를 마주쳤고, 그 에러를 해결하 tangpoo.tistory.com 위 글에서 겪었던 에러 해결을 이어서 시도했다. 내배캠의 튜터님과 한참을 고민한 끝에 임시적인 해결책을 찾았다. 일단 로직적인 문제는 찾지 못했다. return getAuthenticationManager().authenticate( new UsernamePasswordAuthenticationToken( requestDto.getUsername(), requestDto.g..
-
2024-01-31 JWT 로그인 검증 에러개발 일지 2024. 1. 31. 22:19
오늘은 이전에 만든 todoList 프로젝트에 JWT 로그인 기능을 추가하려고 해봤다. 아직 이해가 부족한 상태에서 강의에서 본 코드를 긁어와 사용하다보니 다양한 에러를 마주쳤고, 그 에러를 해결하는 것도 쉽지 않았다. 1. Thymleaf를 사용하는 것과 그렇지 않은 서버의 차이 강의에선 Thymleaf를 사용했고, 내가 만든 프로젝트는 그렇지 않았기 때문에 에러가 생겼다. 클라이언트가 보낸 데이터를 인식하지 못해서 알아보니, Thymleaf를 사용하지 않았다면 클라이언트에서 데이터를 받아오는 방법을 어노테이션으로 명시해야 하는 차이점이 있었던 것이다. @RequestBody 를 SignupRequestDto 에 달아주는 것으로 해결. 2. Postman 으로 로그인 테스트시 unsuccessfulAu..