[BOJ] 1436 영화감독 숌 파이썬
https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 수라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타워 www.acmicpc.net 처음에 접근할 때는 666 왼쪽 오른쪽에 순차적으로 숫자를 넣으면 되지 않을까 라는 생각을 했는데, 생각보다 로직이 좀 까다로웠다. 666 -> 1666 -> 2666 이지만, 5666 -> 6661 -> 6662 순이고, 6669 -> 7666 으로 가야하기때문에,,, 물론 문제 조건에 범위가 10000까지라고 적혀있어서 한 번의 경우만 체크해도 괜찮았지만, 자릿수가 계속 커질 수록 따로 빼서..
2024.01.29
[Spring] 24.01.25 - Spring Project 완료!
1. Trouble Shooting Github Action CI/CD github action + EC2 + S3 + Codedeploy를 사용해서 배포하려고 시도했으나, 자동 배포까진 되지만 권한 문제로 자동 실행이 되지 않아서 Beanstalk로 변경 application.properties파일을 보안 문제로 업로드 하지 않아서 깃헙 액션에서 빌드 실패 → deploy.yml 파일에서 깃헙 시크릿 키를 이용해서 동적으로 생성 502 에러 발생 → nginx 서버 포트 문제여서 application.properties에서 서버포트 5000번으로 변경 화면 연결 thymeleaf 와 jquery를 이용해서 Model과 Ajax로 통신 SyntaxError: Unexpected token ' ul..
2024.01.27
no image
[Spring ] 24.01.24 - TIL
2024.01.22 - [항해99/[항해99] WIL] - [항해99] WIL(7) - Spring Project [항해99] WIL(7) - Spring Project 이번 주에 한 일 Redis의 redisson을 이용한 락 구현 redisson의 락은 기본적으로 분산락이다. 처음에 락을 구현했을 때는 락을 구분하는 키인 LockKey의 값을 모두 같은 값으로 주고 만들었는데, 서비스 mingtian-chan.tistory.com 오늘은 저번 WIL 에서 하고자 했던 내용을 구현해보았으니, 저번 WIL이 궁금하다면 위 링크로! 오늘 한 일 Lock의 구현을 좀 더 다듬었다. 지난 주까지는 "같은 엔티티 끼리" 같은 락을 소지했는데, 그렇게 된다면, A보드에 있는 컬럼을 수정하는 중에 A보드가 삭제된다..
2024.01.24
[항해99] WIL(7) - Spring Project
이번 주에 한 일 Redis의 redisson을 이용한 락 구현 redisson의 락은 기본적으로 분산락이다. 처음에 락을 구현했을 때는 락을 구분하는 키인 LockKey의 값을 모두 같은 값으로 주고 만들었는데, 서비스에서 락이 가지는 의미를 생각하니 기능마다 다른 값을 주어야 할까? 라는 고민이 되었다. @Service @RequiredArgsConstructor public class ColService { public final ColRepository colRepository; public final BoardRepository boardRepository; public final RedissonClient redissonClient; public final BoardService boardSe..
2024.01.22
no image
[Spring] 24.01.18 TIL
오늘 한 것 요약 Redis를 이용해서 분산락 구현 락 이란? 서비스를 구현 할 때 짧은 시간 내에 많은 요청이 들어오는 경우가 있다. 회원가입을 예로 들자면 public UserResponseDto createUser(UserRequestDto requestDto) { String name = requestDto.getName(); String email = requestDto.getEmail(); String password = requestDto.getPassword(); String phone = requestDto.getPhone(); String encodedPassword = passwordEncoder.encode(password); User user = userRepository.save..
2024.01.19
[Spring] 24.01.15 - TIL
오늘 한 일 트렐로 게시판 칼럼부분 CRUD구현 ( in Process ) UserController 에서 GetMapping 으로 loginPage함수를 불러오면 login.html 불러오도록 구현 오늘 겪었던 힘들었던 점 Error: Exceeded maxRedirects. Probably stuck in a redirect loop http://localhost:8080/api/user/login-page Exceeded maxRedirects 라고 에러가 떠서 한참 고생했다. 구글링해서 나와 비슷한 케이스로 고생한 사람들이 있는 지 확인해봤는데, 보통은 스프링 시큐리티에 권한이 없어서 생기는 오류라고 했는데, 시큐리티에 권한을 .requestMatchers("/login").permitAll() ..
2024.01.16
[BOJ] 9012 괄호 파이썬
https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 스택을 이용한 괄호문제. 스택의 종류가 하나라서 개수만 확인하면 돼서 꽤 쉽다. ( 일 경우, 스택에 추가하고, )의 경우에 스택에서 pop하는 형식으로 짜고, 0개일때 pop하는경우랑, 마지막 문자까지 읽었는데 스택에 남아있는 경우에는 NO를, 마지막까지 읽었고 스택이 0인 경우엔 YES를 출력한다. 해답코드 T = int(input()) for _ in range..
2024.01.15
[BOJ]1002 터렛 파이썬
https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 $-1$ 출력한다. www.acmicpc.net x1, y1,.r1이 나오면 원이라고 생각하자. 두 원의 거리에 따른 원의 관계를 코드로 구현하는 문제였다. 틀린 코드 import math T = int(input()) for _ in range(T): x1, y1, r1, x2, y2, r2 = map(int, input().split()) # dist1 = 두 점의 직선 거리 (두 원의 중심간 거리) dist1 = math.sqrt((x1-x2)**2 + (y1-y2)**2) # dist2 ..
2024.01.15
no image
[항해99] WIL(6) - Spring Project
이번주에 한 일 이번 주 부터는 지금까지 배운 Spring 기술을 가지고 팀 프로젝트를 만든다. 프로젝트 주제는 트렐로 만들기! 저런 게시판을 만드는 프로젝트인데, 기능 구현과 더불어 "기능 개선"을 위주로 프로젝트를 진행한다. 사용자 관리 기능 [ ] 로그인 / 회원가입 기능 [ ] 사용자 정보 수정 및 삭제 기능 보드 관리 기능 [ ] 보드 생성 [ ] 보드 수정 보드 이름 배경 색상 설명 [ ] 보드 삭제 생성한 사용자만 삭제를 할 수 있습니다. [ ] 보드 초대 특정 사용자들을 해당 보드에 초대시켜 협업을 할 수 있어야 합니다. 컬럼 관리 기능 [ ] 컬럼 생성 보드 내부에 컬럼을 생성할 수 있어야 합니다. 컬럼이란 위 사진에서 Backlog, In Progress와 같은 것을 의미해요. [ ] ..
2024.01.15