SY 개발일지
article thumbnail
[CS] 소켓 통신이란 ?
CS 정리/개발 상식 2024. 5. 18. 02:07

프로젝트를 진행하면서 채팅 등 실시간 기능을 이용해보신 분이라면 웹소켓에 대해서 들어보신 적이 있으실 겁니다.이번 포스팅에서는 저번 포스팅에 이어 소켓이 어떻게 통신하는지에 대해 정리해보겠습니다 웹소켓에 대한 설명은 다음 포스팅을 참고해주세요🥰https://soyeonnnb.tistory.com/74 [CS] WebSocket이란 ?프로젝트를 진행하며 채팅 기능이 필요할 시 웹소켓을 통해 연결하는 경우가 많습니다. 따라서 웹소켓의 개념에 대해 한번 정리해보고자 합니다.웹소켓이란웹소켓은 두 프로그램 간의 메세지soyeonnnb.tistory.com파일이란?소켓에 대해 알기 위해서는 파일에 대해 먼저 알아야 합니다.파일이란 무엇일까요 ?? 아마 파일에 대해서는 다들 알고있지만, 정확하게 무엇이다 ! 라고 ..

article thumbnail
[Spring Security] 인가 실패 시 카카오 로그인 화면 리턴 오류
프로젝트 2024. 5. 17. 20:16

스프링 시큐리티를 이용하여 인증/인가 로직을 작성하며 인증은 성공했지만, 인가는 실패한 경우 카카오 로그인 화면이 리턴되는 오류가 발생하였습니다. 다음은 제 SecurityConfig.java 파일입니다.// Spring Security 설정@Configuration@EnableWebSecurity@RequiredArgsConstructorpublic class SecurityConfig { @Bean public SecurityFilterChain filterChain(HttpSecurity http) throws Exception { http ... .authorizeHttpRequests( ..

article thumbnail
[백준 9077] 지뢰제거 - Java 문제풀이
Java/문제풀이 2024. 5. 17. 14:32

문제 링크: https://www.acmicpc.net/problem/9077  문제지뢰제거를 위해서 새로운 장비가 투입되었다. 이 장비를 이용하면 10m × 10m 정사각형 범위 안(경계 포함)에 있는 지뢰를 한꺼번에 제거할 수 있다. 10,000m × 10,000m의 작업장에 묻힌 지뢰의 위치를 모두 알고 있다고 할 때, 이 장치를 효과적으로 사용하기 위해서 한 번 사용하여 제거할 수 있는 최대 지뢰 개수를 계산하는 프로그램을 작성하시오. 위의 그림은 아래 "예제 입력"의 세 번째 경우를 나타낸 것이다. 그림에서 보이는 정사각형 영역에 이 장비를 사용하면 다섯 개의 지뢰를 한꺼번에 제거할 수 있으며, 이 수가 한 번 사용하여 제거할 수 있는 최대 지뢰 개수이다. 입력입력의 첫 줄에는 테스트 케이스의 ..

article thumbnail
[백준 2660] 회장뽑기 - Java 문제풀이
Java/문제풀이 2024. 5. 16. 15:53

문제 링크: https://www.acmicpc.net/problem/2660  문제월드컵 축구의 응원을 위한 모임에서 회장을 선출하려고 한다. 이 모임은 만들어진지 얼마 되지 않았기 때문에 회원 사이에 서로 모르는 사람도 있지만, 몇 사람을 통하면 모두가 서로 알 수 있다. 각 회원은 다른 회원들과 가까운 정도에 따라 점수를 받게 된다.예를 들어 어느 회원이 다른 모든 회원과 친구이면, 이 회원의 점수는 1점이다. 어느 회원의 점수가 2점이면, 다른 모든 회원이 친구이거나 친구의 친구임을 말한다. 또한 어느 회원의 점수가 3점이면, 다른 모든 회원이 친구이거나, 친구의 친구이거나, 친구의 친구의 친구임을 말한다.4점, 5점 등은 같은 방법으로 정해진다. 각 회원의 점수를 정할 때 주의할 점은 어떤 두 ..

article thumbnail
[디자인 패턴] MVC, MVP, MVVM 디자인 패턴 비교
CS 정리/개발 상식 2024. 5. 14. 21:04

Spring 에 대해 학습하며, Spring 은 MVC 디자인 패턴을 따른다고 배웠습니다.MVC 패턴에 대해 검색하면 항상 함께 나오는 패턴이 MVP, MVVM 패턴인데, 이에 대해 한번 정리해보고자 합니다.디자인 패턴이란?디자인 패턴은 건축으로치자면 공법에 해당하는 것으로, 프로그램 개발에서 자주 나타나는 과제를 해결하기 위한 방법입니다. 소수의 뛰어난 엔지니어가 해결한 문제를 다수의 엔지니어들이 처리할 수 있도록 한 규칙이면서, 구현자들 간의 커뮤니케이션의 효율성을 높이는 기법입니다. MVC패턴MVC란 Model-View-Controller의 약자로, 애플리케이션을 세가지 역할로 구분한 개발 방법론입니다. MVC 패턴은 비지니스 로직과 화면을 분리합니다. 이러한 관심사 분리는 업무를 분담하여 유지보수..

article thumbnail
[백준 22166] 창영이와 퇴근 - Java 문제풀이
Java/문제풀이 2024. 5. 14. 15:17

문제 링크: https://www.acmicpc.net/problem/22116 문제창영이의 퇴근길은 출근길과 조금 다르다. 창영이는 건강을 위해 따릉이를 빌려 타고 퇴근하는 습관을 기르고 있다.창영이의 퇴근길은 N×N 크기의 격자로 표현된다. 창영이는 A1,1에서 출발하여 AN,N까지 이동할 계획이다. 창영이는 상하좌우 인접한 격자로 한 번에 한 칸씩 이동할 수 있다. 각 격자 Ar,c에는 자연수가 적혀 있는데, 이는 해당 지역의 높이를 뜻한다. 인접한 격자 사이의 높이 차이의 절댓값을 경사라고 하고, 경사가 클수록 경사가 가파르다고 하자.따릉이는 가격에 따라 성능이 다르다. 비싼 따릉이는 경사가 가파르더라도 내리지 않고 타고 갈 수 있지만, 값싼 따릉이는 경사가 가파르면 힘들고 위험하기 때문에 내려서..

article thumbnail
[백준 17485] 진우의 달 여행(Large) - Java 문제풀이
Java/문제풀이 2024. 5. 13. 13:51

문제 링크: https://www.acmicpc.net/problem/17485 문제우주비행이 꿈이였던 진우는 음식점 '매일매일싱싱'에서 열심히 일한 결과 달 여행에 필요한 자금을 모두 마련하였다! 지구와 우주사이는 N X M 행렬로 나타낼 수 있으며 각 원소의 값은 우주선이 그 공간을 지날 때 소모되는 연료의 양이다.[예시]진우는 여행경비를 아끼기 위해 조금 특이한 우주선을 선택하였다. 진우가 선택한 우주선의 특징은 아래와 같다.1. 지구 -> 달로 가는 경우 우주선이 움직일 수 있는 방향은 아래와 같다.2. 우주선은 전에 움직인 방향으로 움직일 수 없다. 즉, 같은 방향으로 두번 연속으로 움직일 수 없다.진우의 목표는 연료를 최대한 아끼며 지구의 어느위치에서든 출발하여 달의 어느위치든 착륙하는 것이다..

article thumbnail
[백준 5214] 환승 - Java 문제풀이
Java/문제풀이 2024. 5. 12. 16:08

문제 링크: https://www.acmicpc.net/problem/5214 문제아주 먼 미래에 사람들이 가장 많이 사용하는 대중교통은 하이퍼튜브이다. 하이퍼튜브 하나는 역 K개를 서로 연결한다. 1번역에서 N번역으로 가는데 방문하는 최소 역의 수는 몇 개일까? 입력첫째 줄에 역의 수 N과 한 하이퍼튜브가 서로 연결하는 역의 개수 K, 하이퍼튜브의 개수 M이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ K, M ≤ 1000)다음 M개 줄에는 하이퍼튜브의 정보가 한 줄에 하나씩 주어진다. 총 K개 숫자가 주어지며, 이 숫자는 그 하이퍼튜브가 서로 연결하는 역의 번호이다.  출력첫째 줄에 1번역에서 N번역으로 가는데 방문하는 역의 개수의 최솟값을 출력한다. 만약, 갈 수 없다면 -1을 출력한다.풀이접..

article thumbnail
[백준 9213] 꽤 좋은 수 - Java 문제풀이
Java/자바와 Spring 2024. 5. 11. 15:08

문제 링크: https://www.acmicpc.net/problem/9213 문제완전수는 자기 자신을 제외한 약수의 합이 자기 자신이 되는 자연수이다. 예를 들어, 6의 약수는 1, 2, 3인데 1+2+3은 6이기 때문에 완전수이고, 28도 1+2+4+7+14 = 28이기 때문에 완전수이다.어떤 자연수의 나쁨이란 자기 자신을 제외한 약수의 합과 자기 자신과의 차이이다.꽤 좋은 수는 자연수의 나쁨이 어떤 특정한 값보다 크지 않은 수이다. 예를 들어, 나쁨을 2까지 허용한다면, 100보다 작은 수 중에 꽤 좋은 수는 11가지 2, 3, 4, 6, 8, 10, 16, 20, 28, 32, 64)가 있다. 이 나쁨의 기준을 0으로 바꿔버리면 완전수의 정의와 같아진다.허용하는 나쁨의 최댓값이 주어졌을 때, 꽤 ..