독학 146

Springboot 게시글 불러오기!(1)

게시판의 하이라이트에 입성했다 일단 전체 글 한번 불러와 보고 페이징 처리를 하려고한다 그전에 글을 몇 개 넣어보자 이제 이걸 불러오면 된다 boardservice로가서 자체로 제공해주는 boarddao.findAll() 사용해서 전체 게시글을 가져오고 controller로가서 난 array라고 해서 보내겠다 그러면 thymealf에서 array로 받아서 쓰면 된다! jdbc에서 처음에 넘어왔을 때 어 requset.setattributes() 어디 있지 했는데 spring에서는 둘 다 사용 가능하지만 model로 간단히 사용할 수 있는 거 같아서 자주 쓰게 된다 html을 보면 이렇게 each를 사용해서 for문처럼 사용이 가능하다! 이제 페이징을 구현할 것이다 보면 글 순서도 오래된 순으로 나오고 예..

Springboot 게시판 글쓰기!(2) only text version

이제 게시글을 쓸건대 boardservice를 만들고 save를 이용해서 넣어준다 편리하다 진짜! restcontroller 만들어주고 고민인 게 여기서도 한번 emailcheck로직을 걸어줘야 할지 고민이다 일단 그냥 가는 걸로! js를 만들어준다 tittle이 contetnt보다 길게썻네..ㅋㅋㅋ 어쨌든 잘 들어온다 음 근데 사실 내용=content는 엄청 길게 들어올 텐데 이제 다음에는 게시판에 글을 삽입하는 걸 해보자!

Springboot 권한! with ENUM

이제 오타 확률을 줄이기 위해서 enum을 이용해 "ROLE_USER"를 넣어주자 이렇게 enum으로 만들어주면 된다 웃긴 게 enum은 생성자가 private다 저 getValue로 값을 꺼내 쓰면된다 이제 "ROLE_USER"를 다 찾아서 바꿔주자! 회원가입/oauth로그인 테스트 잘 들어온다 https://mine-it-record.tistory.com/204 [JAVA] 자바_enum 클래스 (열거형_enumeration type) enum 이란 무엇일까? 열거체(enumeration type)로 JDK 1.5 이상에서 사용할 수 있다. 간단하게 요약을 해보자면 다음과 같다. - 클래스처럼 보이게 하는 상수 - 서로 관련있는 상수들끼리 모아 상수들을 mine-it-record.tistory.com..

Springboot 구글로그인!(3) with interface

자 구글은 /email/name/sub로 꺼내는 형식인데 페이스북/네이버/카카오도 모두 구글과 같을까? 아닐 확률이 크고 또 "google"때문에 다른 플랫폼 로그인도 모두 google로 들어가게 된다 그렇다면 System.out.println("userrequest"+userRequest.getClientRegistration()); 얘를 한번 뒤져 보자 registrationId='google', 이건 공통인 거 같다 이 값이 facebook이면 face으로 google이면 구글로 해주면 된다 새로운 인터페이스를 만들자! 이렇게 하고 igoogle/iface/inaver 이렇게 만들어 주면 된다 나중에 타플랫폼 추가시 인터페이스만 이제 늘려주면 된다 loaduserservice에 조건문을 걸어주자! ..

Springboot 구글로그인!(2) with loadUser and principaldetail

자 이제 loaduser를 작성할 건데 그전에 근데 사실 지금도 로그인이 된다 다만 우리가 원하는 값없이 id값만 딸랑 받아서 오게 될 뿐이다 OAuth2UserRequest userRequest 얘가 들고 온 정보를 빼내면 된다 열어보면 막 뭐를 열심히 들고 와 줬는데 이제 우리가 필요한 정보를 꺼내서 쓰면 된다 뭐로? super.loadUser(userRequest) 얘로 마우스를 갖다 대 보면 리턴 타입이 OAuth2 User이다 그러면 이제 이메일을 가져와서 이미 등록되어있는지 확인하고 등록되어있다면 로그인하고 아니라면 자동 회원가입 후 로그인시켜주면 된다! 우리가 찾는 정보는 .getAttributes()안에 있고 .getAttributes()는 map형식이므로 키워드로 찾아주자 키워드는 Sys..

Springboot 비밀번호찾기!(2) 임시비밀번호 발급

이제 인증번호 입력이 맞다면 db비밀번호를 임시 비밀번호로 바꿔주고 임시 비밀번호를 발송해주는 식으로 하려고 한다! 조금 헷갈릴수있으나 그냥 메일 두번보내는것이다! 일단 비밀번호-> 임시 비밀번호로 바꿔주는 함수를 만든다 이제 restcontroller로와서 userservice.confrimRandnum(email,randnum) randnum을 검사해주고 맞다면 사실 어차피 이메일을 두 번 보내는 건데 한 개의 함수로 끝낼 수 있을 거 같은데 일단 이렇게 해봤다 utilservice.GetRandomNum(8); 8자리로 임시번호를 받고 아참 여짓것 randnum/temppwd는 String 형식이다 번호지만 string으로 주고받고 하고 있다 이게 확장성도 좋을 거 같다 나중에 특수문자 추가라던지 ..

Spring boot 마이페이지!(3) 이메일 인증

이제 입력한 숫자로 판별을 할 건데 역시 ajax를 이용해서 하려고 한다 일단 userserivce에서 판별해주는 함수를 만든다 그래서 맞다면 db의 emailcheck를 false->true로 아니라면 false를 담고 있는 no를 리턴한다! 그다음 restcontroller를 만들어준다 자 여기서 중요한 점 인증이 성공해서 db데이터가 true로 바뀌어도 나는 현재 첫 로그인 상태 그대로를 사용 중이다 그래서 바뀐 상태의 emailcheck를 가지고 와서 다시 시큐리티 세션의 @AuthenticationPrincipal 에게 다시 꼭 넣어준다! 아니면 뭐 로그아웃을 시키고 로그인을 다시 시켜도 되긴 하는데 일단 이 방법으로 사용하겠다 그리고 마지막 ajax를 만들어주자! 아 불편하다... 위에 aja..

마치며

부연설명 양이 현재 걷는 방식은 어떻게 보면 현실적이지가 않다 이유는 그냥 양 x좌표에 대한 언덕의 x/y/기울기를 가져오는 것뿐이다 왜 그렇게 해야 하냐면 난 "수학을 잘 모른다" 양이 평지를 걸었다면 그냥 걸음수로 컨트롤하면 된다 왜? 1km로 달리는 러닝머신 위에서 내가 한 시간 동안 1km를 가고 싶다면 내가 2km로 뛰면 된다 하지만 양이 걷는 건 평지 즉 직선이 아니다 그러려면 둘 중 하나의 방법이 있다 양의 x값에 언덕의 좌표를 가져올 터인지 아니면 내가 수학을 겁나 잘해서 그걸 계산해서 걸을 수를 늘려줄 것인지! 진짜 멘붕이었고 다시 한번https://youtu.be/hCHL7sydzn0 이분의 영상을 봤고 이분의 영상을 참고해서 나만의 방법을 만들었다 처음 봤을 때와 막바지에 봤을 때 걱..

언덕위를 걷는양!

언덕 그리기->언덕 움직이기 양 이미지 가져오기->양 프레임 올리기->양 움직이기->양이 곡선 위를 걷기 이렇게 따로따로 해왔다 이제 대망의 하이라이트 양이 우리가 그린 언덕 위를 걷게 만들겠다! 두 가지 방법이 있다 1. 현실처럼 걷게 하는 법 2.x좌표에 따른 y좌표와 기울기를 걷는 법 우리는 2번을 쓸 것이다 이유는 "곡선 위에 일정한 속도로 오브젝트를 움직이게 하는 공식을 모른다"(나는) 과정 1. 클라이언트 접속 시 처음 양위치 계산 2. 베지어 클래스에 어떤 포인트 차례인지 알려주는 함수를 만든다 3. 언덕에 맞게 좌표를 넣어줄 함수를 만든다 4. 그거에 맞게 좌표를 계산해 주는 함수를 만든다 5. 그거를 받아서 양에게 준다 진짜 여기가 헬이었다 비슷하게 만드는 방법은 많지만 오차가 많기에....

언덕을 그리자!(4)

이전 글에서는 한 개의 언덕을 이동시켰다! 그러면 이제 이어 언덕이 나타나게 해 보자! 과정 1.point 클래스 고치기 2.draw 함수 고치기 3.bezier 클래스 고치기 과정이 좀 많아서 이렇게 적겠다 세부과정은 각 Step으로 적어 놓겠다! 1.point 클래스 고치기 stepup 에서 pointsx[0]에 초기값을 할당하게 하고 그다음 pointsx[1], pointsx[0]은 계속 스위치 하면서 화면 뒤에서 부터 언덕이 그려지게 만들기 위해 저렇게 설정해준다! 2.draw 함수 고치기 Step one 2차원 배열 생성! 2차원 배열을 만들어주는 함수를 만들어준다! setup함수에서 pointx/y에게 할당해준다! Step two 초기값 할당! 초기 값으로 설정해준다 이유는 이제 언덕이 뒤에서..