본문 바로가기

분류 전체보기

(268)
16234-인구이동 package com.exam; import java.util.*; public class B16234 { static final int MAX_N = 10; static int n,l,r, result; static int[][] Board = new int[MAX_N][MAX_N]; static int[][] D = {{-1,0},{1,0},{0,-1},{0,1}}; static ArrayList union; static Queue queue; static boolean[][] visited; static class Node{ int col,row=0; Node(int row, int col){ this.row=row; this.col=col; } } public static int move(){ w..
16234-인구이동 (오답) 16234-인구이동 문제 package com.exam; import java.util.*; public class BAEK16234 { static int[][] intArr; static int n, firstNum , secondNum; static int result; static Map numMap; public static void main(String[] args) { Scanner sc = new Scanner(System.in); n = sc.nextInt(); firstNum = sc.nextInt(); secondNum = sc.nextInt(); intArr = new int[n][n]; for (int y = 0; y < n; y++) { for (int x = 0; x < n; ..
로그인 변경점과 문제점 해결 변경 사항 기존의 로그인 방식은 아래와 같았다. (vue)login > (Spring)spring에서 로그인 처리 후 token 반환 > (vue)store로 데이터 전송 > store에서 받은 정보로 (Spring)유저 정보 조회 > 받은 정보 state에 commit 그래서 위 사진과 같이 총 쿼리가 4번이나 발생한다 로그인시 유저 조회, 토큰 검증시 조회 (유저정보 조회) 다시 유저 전체데이터 조회 (유저정보 조회) 반환할 유저 정보 조회 (유저정보 조회) 거기다 action의 비동기 로직처리 때문에 setTime으로 딜레이를 준 것 까지 합해 꽤 많은(?) 시간을 기다려야했다. 그래서? 로그인시 필요한 데이터를 전부 뽑아서 반환해주기로 했다. Jwt인증컨트롤러에서 기존에 검사할때 조회한 membe..
Spring boot JPA : Delete In @Transactional @Modifying void deleteCartsByCartIdIn(List cartArr); 위 코드는 Book Store의 장바구니 의 책들을 삭제하는 CartRepository의 JPA코드이다 저장된 두 권의 책을 삭제하고싶어서 delete in을 사용하여 리스트를 제거하였는데 select쿼리 한번과 delete쿼리 두번이 발생하였다. (초록색 괄호부분 // 해당 장바구니의 책이 사용자의 장바구니 책이 맞는지 검증하는 코드이다 멤버id를 찾는 쿼리는 두번이나 조회할 필요가 없어서 코드의 맨 위에서 한번만 조회하도록 변경하였다 위 사진은 변경 전에 동작한 사진이라 select문이 여러번 발생했지만 아래 코드에서는 하번만 수행된다) 아래 붉은색 괄호부분 아래의 3개의 코드가 ..
BookStore 로그아웃 동작 (Springboot Vue) //Vue.js Logout(){ this.$axios.post("/logout") .then(() => { this.$store.dispatch('logout').then(()=> { this.dialogMsg = "로그아웃 성공. 로그인 페이지로 이동합니다" this.dialog = true }) }).catch(error =>{ console.log("error : " + error.response); }) }, 1. Vue에서 로그아웃 요청시 WebSecurityConfig에서 다음과 같은 방법으로 로그아웃이 처리된다. //WebSecurityConfig.java public void configure(HttpSecurity http) throws Exception { http ... .logou..
Spring security 설정으로 인한 401 Unauthorized 에러 Vue파일 빌드 > ../static에 index.html 파일 확인 후 Springboot jar배포를 하고 cmd창으로 jar파일을 실행하고 index.html로 접근하니 401에러가 떴다. 아래 블로그를 참고하여 해결하였다 https://subbak2.com/11 Spring security 설정으로 인한 401 Unauthorized 에러 1. 개발환경 Back-end : Spring-boot Front-end : Vue.js 2. 문제현상 1) Back-end와 Front-end를 따로 서버 구동했을때는 API 통신이 원활하게 진행됨 (Back-end : mvn spring-boot run / 8080 포트 Fron.. subbak2.com
Book Store 수정사항 목록 Vue.js 1. bookStore 메인화면에서 책 클릭 시, 한번씩 깜박거리며 책NAV가 나오는 현상 수정 Spring boot (07.13) 1. 프로필 이미지 저장경로 & 이미지 이름 변경 저장경로를 BookStoreAPi 밑 profile_img로 # file path profileImg.path = C:/Spring/BookStoreApi/profile_img/ Member Service의 파일업로드 부분 //프로필 등록 public String saveProfile(String email, MultipartFile multipartFile) { Optional member = memberRepository.findByEmail(email); Member data = member.orElseTh..
그 외 정리 등... Vue.js 구조 - App.js {{ icon.icon }} hello 우선 App.vue 페이지는 총 3가지 구성이 있다. 1. 모든 페이지에서 사용하는 SearchMenu 컴포넌트, 2. 라우팅 정보가 바뀌면 해당 페이지를 출력해주는 3. footer 1. Vue 리렌더링 1번인 메인 검색 화면에는 로그인 상태를 확인하는 프로필 사진이 존재한다. (로그인 상태에서 클릭하면 마이페이지나 개인정보 수정 페이지로 이동가능한 dialog = true) 로그인이 실행되면 해당 로그인 정보를 $Store로 dispatch 후 state에 업데이트 해주고 그 정보를 상단 검색 컴포넌트에 불러오는 원리이다. 하지만 한번씩 로그인을 실행해도 프로필 사진이 변하지 않고, 기본 사진 그대로 출력되었다 이유는 data를..