profile
만재 개발자
post-thumbnail

[BOJ] 백준 4225 쓰레기 슈트 (자바)

볼록 껍질(컨벡스 헐 알고리즘)을 이용해 푸는 문제이다.간단히 말하면, 수많은 점들이 있을 때, 가장 외곽의 점들을 이어 모든 점을 둘러쌀 수 있다면 그 외곽 점들이 볼록 껍질이 되는 것이다. 자세한 설명은 아래 링크에서 참조하면 좋을 것이다.컨벡스 헐 알고리즘먼저,

2023년 7월 13일
·
0개의 댓글
·
post-thumbnail

[BOJ] 백준 17401 일하는 세포 (자바)

행렬의 거듭제곱을 이용해 한 사이클에 해당하는 행렬을 구하고 D초 후의 결과를 계산하는 문제이다. 문제 자체는 어려워 보이지만 단순한 행렬 곱셈 문제와 다를 게 없다.N\*N 배열을 만들고 각 초마다 바뀌는 통로를 저장한 뒤 해당 배열을 계속 곱해 주자. 처음에 단위

2023년 7월 12일
·
0개의 댓글
·
post-thumbnail

[BOJ] 백준 27172 수 나누기 게임 (자바)

《보드게임컵》을 준비하다 지친 은하는 보드게임컵 참가자들을 경기장에 몰아넣고 결투를 시키는 게임 《수 나누기 게임》을 만들었습니다.《수 나누기 게임》의 규칙은 다음과 같습니다.게임을 시작하기 전 각 플레이어는 $1$부터 $1\\,000\\,000$ 사이의 수가 적힌 서

2023년 7월 12일
·
0개의 댓글
·
post-thumbnail

#08 도메인 연결 (feat. 가비아, cloudtype)

cloudType에서 배포를 진행하였다면, 매우 긴 주소가 거슬릴 것이다.그래서 가비아 사이트에서 도메인 구매 후 적용시키기로 하였다.가비아 홈페이지에서 원하는 도메인명을 검색한 후 구매를 진행하자.구매가 완료되었다면, 서비스 관리탭에서 구매한 도메인을 볼 수 있을 것

2023년 4월 12일
·
0개의 댓글
·
post-thumbnail

#07 Swagger

웹 개발을 하는 데에 있어서 프론트엔드를 구현하는 입장이라면, 서버에 어떻게 데이터를 보내야 하고 어떤 데이터를 받게 되는지 알고 있어야 한다.하지만 서버를 개발하는 입장이 아니라면, 모든 컨트롤러의 url과 구조를 완벽하게 알기도 어렵고, 소통에 많은 시간이 걸릴 것

2023년 4월 12일
·
0개의 댓글
·
post-thumbnail

#06 로그인한 사용자 구하기

SecurityContextHolder를 사용하여 프론트에서 사용자 정보를 받지 않고도 사용자를 가져올 수 있다.예를 들어, 게시판 사이트를 운영하는데 내가(id=2) 쓴 글만 보고 싶어 서버에 데이터를 요청할 때 /posts/list/2 와 같이 userId를 같이

2023년 4월 10일
·
0개의 댓글
·
post-thumbnail

#05 로그인 토큰 사용하기 (feat. JwtToken)

사이트에서 로그인을 진행하였을 때, 로컬/세션 스토리지나 쿠키에 사용자의 데이터를 그대로 담는 것은 보안에 매우 취약하다.그래서 서버에서는 로그인 요청이 들어올 때 토큰을 발급해 주고, 프론트에서 데이터를 요청할 때마다 토큰과 함께 요청해야 데이터를 넘겨줘야 한다.우리

2023년 4월 10일
·
0개의 댓글
·
post-thumbnail

#04 기본 클래스 세팅 (feat. request, response)

스프링부트 백엔드 서버 코드를 입력하기 전에, 필요한 클래스들을 미리 세팅해 볼 것이다.먼저, 다음과 같이 각각의 엔티티명으로 된 폴더를 만들고 안에 Entity 클래스와 Controller, Service, Repository 파일을 만든다.그리고 request와 r

2023년 4월 10일
·
0개의 댓글
·
post-thumbnail

#03 DB와 서버 연결 및 기초세팅

배포한 DB와 서버를 연결해 보자.프로젝트를 IntelliJ에서 열자. 먼저 필요한 라이브러리들을 받기 위해 build.gradle에 dependency를 추가해야 한다.변경 후 Gradle을 꼭 빌드하도록 하자.프로젝트에 필요한 lombok, JPA, Thymelea

2023년 3월 31일
·
0개의 댓글
·
post-thumbnail

#02 웹 서버 배포하기 (feat. CloudType, Spring, CI/CD, Github Action)

데이터베이스를 배포해 보았으니 이제 웹 서버를 배포해 보자.이전 프로젝트에서 aws를 통한 배포를 해 보았지만 https를 지원하지 않는다는 것과 CI/CD의 적용에 어려움이 있었다.이전 프로젝트 글 : https://velog.io/@phraqe/series

2023년 3월 31일
·
0개의 댓글
·
post-thumbnail

#01 DB 배포하기 (feat. RDS, MySql)

이번 프로젝트는 CI/CD 를 적용하여 깃허브의 변경사항을 바로 배포된 서버에 적용하기 위해 데이터베이스와 웹 서버를 먼저 배포해볼 것이다.먼저는 MySql 데이터베이스를 배포해 보자.https://aws.amazon.com/ 에 접속하여 콘솔로 접근해 보자.

2023년 3월 30일
·
0개의 댓글
·
post-thumbnail

#00 기획 및 배경

지금까지의 프로젝트 경험을 살려 간단한 일기장 사이트를 만들어 보기로 하였다.쓰지 않는 사람도 있겠지만, 과거의 나를 돌아보거나 추억하기 위해 많은 사람이 일기를 쓰고 있다. 자신이 쓴 일기를 잃어버리거나 손실되지 않도록 서버에 저장하여 로그인만 한다면 어디서든 어떤

2023년 3월 30일
·
0개의 댓글
·
post-thumbnail

#21 WebView App 만들기 (feat. GoNative)

이제 진짜 최종장이다. 게시글을 처음부터 따라 온 사람이라면 혹시 우리 프로젝트의 목표가 무엇이었는지 기억 기억할 지 잘 모르겠다. >목표는 바로 어플을 만드는 것이었다. > 백엔드 서버와 프론트 서버를 배포하고, 프론트 주소를 사용해서 WebView App을 만드는

2023년 3월 21일
·
0개의 댓글
·
post-thumbnail

#20 Spring서버 배포 및 프론트 연동 문제해결

이전 게시글에서 Mysql 데이터베이스, 서버를 배포해 보았다. 이번 게시글에서는 서버를 배포하면서 겪었던 에러들과 그 해결방법에 대해 적어 보겠다. RDS 데이터베이스 관련 에러 >처음 RDS를 통해 Mysql을 동작시킬 때 로컬에서 Mysql Workbench로

2023년 3월 21일
·
0개의 댓글
·
post-thumbnail

#19 Spring서버 배포하기(MySql, Spring)

스프링 프로젝트로 만든 서버를 배포하기 위해서는 먼저 db를 배포하고, 서버를 배포해야 한다. MySql을 AWS로 배포하기 위해서는 RDS를 통해 새 데이터베이스를 만들어야 한다. 이 게시글에서 설명하는 부분만 설정하고 나머지는 그대로 두면 성공할 수 있을 것이다.

2023년 3월 21일
·
0개의 댓글
·
post-thumbnail

#18 Github Page 도메인 구매 및 설정

백엔드 서버와 프론트 세팅이 다 끝나고 나서, 프론트 프로젝트의 주소를 바꾸기로 하였다. >원래는 사용자아이디.github.io 가 Github Page의 도메인이었지만, sekkison.com으로 바꾸기로 하였다. >먼저, 많은 도메인 구매 사이트 중 가비아에서

2023년 3월 21일
·
0개의 댓글
·
post-thumbnail

#17 중요 로직들 - 6 (feat. Multipart)

프론트 페이지의 거의 대부분을 끝냈다. 분량상 중요하지 않다고 생각되는 페이지는 제외하고 진행하여 프론트 구성에 대한 게시글은 이 글이 마지막이 될 것이다. >사이트에 회원이 있다면, 당연히 회원정보를 보거나 수정할 수 있어야 한다. 이번에 해볼 것은 유저의 프로필

2023년 3월 21일
·
0개의 댓글
·
post-thumbnail

#16 중요 로직들 - 5 (feat. 캘린더 디자인)

앞서서 약속을 만들고, 참가하는 페이지들을 만들어 보았고, 이제 자신이 참가한 약속들을 캘린더 형식으로 보여줄 것이다. >이를 위해서, 서버에 연도와 달, 유저id를 보내면 해당 유저가 그 달에 한 약속들을 리턴해주는 컨트롤러와 서비스를 작성하였다. > Control

2023년 3월 21일
·
0개의 댓글
·
post-thumbnail

#15 중요 로직들 - 4 (feat. 카카오맵, 거리계산)

앞서서 약속 만들기 페이지를 만들어 보았으니 이제 약속정보를 표시하는 페이지를 만들어 보겠다. >우리 프로젝트의 약속정보 페이지는 다음 이미지와 같다. >물론 멤버가 아니라면 초대하기 버튼이 사라지고, 방장이 아니라면 폭파 버튼이 참가하기/나가기 버튼으로 대체된다.

2023년 3월 21일
·
0개의 댓글
·
post-thumbnail

#14 중요 로직들 - 3 (feat. 카카오맵, datepicker, timepicker)

약속을 만들기 위해서는 많은 정보들이 필요하다. 언제, 어디서, 누가, 무엇을 할 것인지에 대한 정보가 말이다. 그리고 우리 프로젝트 기획에 따라 약속을 공개할 것인지, 만나서?온라인으로?, 멤버가 가득 찼는지에 대한 정보도 필요하다. >이러한 정보들을 담아 서버로

2023년 3월 21일
·
0개의 댓글
·