분류 전체보기178 spring boot - 1 : N 관계 만들기 데이터베이스에서는 두 엔티티가 1:N관계를 이룰 수 있습니다. spring boot에서 이것을 만들어 봅시다.엔티티 만들기todo list를 만든다 가정하겠습니다. 유저는 여러개의 일을 가질 수 있습니다.우선 user와 work db를 간단히 만듭니다. 각 work가 어떤 user와 연결되었는지 알기 위해서 work에 user_id를 넣어줍니다. 이것이 foreign key가 됩니다. spring boot에서는 다음과 같이 만들어 줍니다. user에 @OneToMany 어노테이션을 걸어줍니다.@JoinColumn을 사용해 user_id와 연결된다고 알려줍니다.user에서 user_id를 만들어 주었으니 work에는 따로 만들지 않습니다.데이터user 데이터를 하나 만들어 주겠습니다. 그리고 work 데.. 2024. 9. 25. webgoat rsa 암호 서명을 통해서 데이터의 유효성을 판단할 수 있습니다.유효성 판단보통 다음과 같은 과정을 거칩니다.A는 전달하려는 정보(문서, 텍스트 등)을 해시를 합니다.공개키를 이용해 정보와 해시 값을 암호화 합니다.암호화 된 값을 B에세 보냅니다.B는 정보를 받으면 개인키로 복호화를 합니다. 그럼 정보와 해시 값이 나옵니다.정보를 해시를 해서 받은 해시 값과 일치하면 해당 정보는 변조되지 않은 것입니다.이번 문제에서는 rsa를 이용해서 해결해야 합니다.rsa 암호문제에서 암호 키를 주면 modulus와 우선 문제에 있는 비밀키를 rsa.txt로 저장해 줍니다.터미널에서openssl rsa -in rsa.txt -pubout > public.pub 를 실행하면 공개키를 얻을 수 있습니다. window의 경우 power.. 2024. 9. 24. 10479 - 따르릉 따르릉 step 1더보기맥스를 반지름이 0.5인 원으로 생각하면 조금 복잡합니다. 사람을 점으로 표현할 수 있는 방법이 없을까요?맥스의 중심을 기준으로 자동차의 빨간 원 안에 들어가면 차와 충돌하게 됩니다. 차 부분만 확대하면 다음과 같습니다.0.5만큼 살찌웠다고 생각하면 됩니다. 그럼 맥스에 해당하는 점이 자동차 주위 빨간 영역과 겹치는지 확인하면 됩니다.step 2더보기지금부터 자동차를 고정시킬 것입니다.맥스는 위로 M의 속도로, 차는 오른쪽으로 B의 속도로 달립니다.그럼 이건 차가 고정되어 있고 맥스가 위로 M, 왼쪽으로 B의 속도로 달리는 것과 같습니다. 맥스는 t초 뒤에 출발합니다. 그 말은 맥스가 처음 위치에서 Bt미터 왼쪽에서 출발한다는 것과 같습니다. 그럼 자동차 입장에서 맥스가 어떻게 움직이는지.. 2024. 9. 23. spring boot - 환경 변수 작업을 하다 보면 코드나 깃에 들어가면 안되는 변수들(ex. 비밀번호)이 있습니다. 이런 변수들을 잘 관리하기 위해 환경변수를 만듭니다.환경변수 세팅저는 config를 관리하는 패키지에 PropertyConfig파일을 만들었습니다. @Configuration: 세팅 파일임을 선언합니다.@PropertySource("classpath:static/properties/env.properties"): 어떤 파일을 환경변수로 사용할 것인지 정의합니다.지정한 파일에 환경변수 파일을 넣습니다. .gitignore에 해당 파일을 꼭 넣어줍니다. 이것을 빠트리면 모든 비밀번호가 공개됩니다. 만약 gitignore이 동작하지 않는다면git rm -r --cached . 로 캐시를 지우고 다시 진행하 됩니다.사용법저는 s.. 2024. 9. 22. 알고리즘 - 프로젝트 1 - 레이튼 교수와 이상한 마을 135 유튜브를 보다가 오랜만에 레이튼 교수 시리즈를 다시 접하게 되었습니다. 모바일 버전이 있다는 걸 알게 되어 설치하고 플레이해봤는데, 마지막 문제가 정말 인상 깊었어요. 블럭을 움직여 빨간 사각형을 밖으로 빼내는 문제였습니다. 이건 누가 봐도 코딩으로 해결을 하라는 거죠. 바로 visual studio를 켜줍니다.알고리즘각 판의 상태를 정점으로, 한 상태에서 다른 상태로 이동할 수 있을 때 간선으로 연결을 해 주면 그래프가 만들어 집니다. 그럼 다익스트라나 BFS를 통해서 이 문제를 해결할 수 있습니다.정점빈 칸도 블럭이라 생각을 하고 각 블럭의 좌측 상단에 번호를 매깁니다. 빈칸은 0, 초록색은 1, 파란색은 2, 보라색은 3, 빨간색은 4로 번호를 매겨줍니다. 왼쪽 위부터 오른쪽으로 쭉 가면서 숫자를 .. 2024. 9. 21. react - 소스 코드로 페이지 전환 헤더의 우측 상단에 로그인 탭이 있는 경우가 있습니다. 해당 탭을 누르면 로그인 창으로 이동합니다. 해당 기능을 구현해 봅시다.Nav 디자인우선 nav탭을 디자인해 봅시다. Navbar.Text : nav창의 우측 상단에 보여줍니다. text라고 되어 있지만 안에 넣은게 버튼이여도 됩니다.Button : 예쁜 버튼입니다. 그냥 버튼이 아니라 예쁜 버튼입니다.onClick={move} : 클릭 시 move함수를 호출합니다.variant="primary" : 예쁜 파란 버튼을 보여줍니다. 이렇게 하면 화면이 큰 상태에서는 이렇게 보이고 줄어들면 이렇게 보입니다. 오른쪽 위 버튼을 누르면 창이 열리면서 버튼도 함께 보입니다.탭 이동탭은 useNavigate를 이용해서 이동할 수 있습니다. onClick을 .. 2024. 9. 20. 이전 1 ··· 6 7 8 9 10 11 12 ··· 30 다음