자바스크립트 21

Springboot 배달 시스템 만들기 3(위치정보 전송 및 표시하기 카카오지도)

1.어드민 위치전송 코드 작성 2.고객 페이지 메세지 받는 코드 및 카카오지도 표시 코드 작성 배달시작전 배달시작 버튼 클릭후 데스크톱으로 테스트 했지만 원할한 테스트는 어드민 페이지는 스마트폰으로 들어가서 실시간 으로 위치를 받는게 좋다 https://github.com/novb1492/deliver/tree/room-send GitHub - novb1492/deliver Contribute to novb1492/deliver development by creating an account on GitHub. github.com

짧은 프로젝트 2024.01.10

Vue 페이징시 checkbox 유지하기

이전까지와 다르게 페이지가 이동해도 checkbox값을 유지시켜야 할 일이 생겼다 솔직히 귀찮아서 구축안하고 그냥 다른 방법으로 넘긴 적이 있는데 이렇게 된거 만들었다 1.checkbox의 id값을 담을 배열을 하나 만든다 2. 페이지 이동시마다 id를 줘서 확인한다 - index of를 이용해서 확인 3. 체크박스 클릭 시 들어있으면 삭제 없으면 추가를 해주면 된다 checkState -페이지 이동시마다 체크박스 배열에서 확인하는 함수 nextTick -vue에서 자체 제공하는 기능이다 해당 태그가 생성된 뒤에 실행시켜준다 checkcheckedArr -해당 요소의 위치를 반환하는 함수 indexof은 자바스크립트 기본 제공 기능이다 없다면 -1 반환해준다 clickCheck -체크박스 클릭시 작동하는..

Vue/vue2 2022.04.01

springboot vue 소켓통신하기 2(전송)

https://myhappyman.tistory.com/101?category=873296 SpringBoot - 스프링부트에서 채팅프로그램(소켓통신) 만들기-2(상대방과 자신을 구분하기) 스프링부트에서 소켓통신을 통한 채팅프로그램 만들기 2번째입니다. 이전까지의 소스는 아래 URL에서 참고해주세요. https://myhappyman.tistory.com/100 SpringBoot - 스프링부트에서 채팅프로그램(소켓통신 myhappyman.tistory.com 좋은 글을 찾았다 아마 쭈욱따라 해 볼 거 같다 1. 연결이 되면 소켓 고유 아이디를 배열에 넣어주자 (추후에는 db가 될 것이다) 2. 메시지가 온다면 담긴 함수에서 꺼내서 보내주자 (try, catch가 없으면 프런트 새로고침 시 하고 다시 새..

Springboot 게시판만들기!(1) 글쓰기 summernote 연동하기

이제 에디터를 연동할 건데 ckeditor5/summernote 둘 다 성공했지만 결국 summernote를 선택했다 이유는 ckeditor5 이미지 업로드 시 쿠키를 던져야 하는데 그걸 아직 하는 법을 모른다 그거만 알면 ckeditor5를 사용할 거 같다 summernote 부트스트랩/j쿼리가 있어야 사용이 가능하다 프런트 서버 testarea를 만들어준다 js summernote연동 $('#summernote').summernote 인터넷에서 복붙 했다 많이 있다 이미지 업로드 function uploadSummernoteImageFile(file, editor) 결과 부트스트랩이 붙으니까 급 글씨체가 이뻐졌다 ㅋㅋ 여담으로 ckeditor5를 쓰고 싶다면 헤더에 ckeditor5 cdn을 하고(공..

Springboot->html+자바스크립트로!

지금 까지 프런트엔드도 스프링 부트로 프로젝트를 진행하고 있었다 하지만 예약 페이지/예약 내역 페이지를 구현하면서 음 그냥 자바스크립트 window.onload로 하면 되겠다는 생각이 들었다 물론 보안 면에서는 더 떨어지는 선택이지만 리액트는 아니지만 프런트엔드+백엔드 서버가 좀 더 명확히 분리된 느낌으로 토이 프로젝트를 만들고 싶었다 1. 톰캣 설치 https://myhappyman.tistory.com/134 VS Code - 로컬에서 JSP 작업 환경 구성하기 ~.html 파일에 HTML, CSS, JS등으로 웹 페이지를 열심히 만들고 결과물을 전달해주는 과정에서 스프링프로젝트로 들어가는건지 모르겠지만 html파일을 전부 JSP로 변경해서 넘겨달라는 요청사항이 있 myhappyman.tistory...

Springboot 예약시스템 만들기!(1) 연/월/일/요일 뿌리기!

이전에 kimscafe에서는 '당일' 예약만 가능한 시스템이었다 이번엔 언제든 가능한 예약시스템을 사용해보자! 시나리오 자리 선택->년/월/날짜 표시-> 날짜 선택-> 시간표시-> 예약 프런트 서버 html 서버에 정보가 오면 뿌려줄 자리를 만들어 놓는다 js 같은 코드가 겹치는데 나중에 리팩토링 해주고 지금은 백엔드에 최대한 집중하자! 자리를 선택하면 function showDate(seat,month,year)함수가 작동한다 서버와 통신을 하고 성공시 년/월 다음/이전 버튼 $('#nextButton').append(""); $('#beforeButton').append(""); $('#nextButton2').append(""); $('#beforeButton2').append(""); 날짜들을 뿌..

Springboot 게시판만들기!(13) 댓글 수정 with disabled

수정 기능을 넣을 건데 html 현재 disabled 되어있는 버튼을 '수정'을 눌르면 '확인'/'내용'에 있는 disable이 사라지게 해 주려고 한다 여기서 주의할 점 사용자가 '수정'을 누르고 "어 이 댓글이 아니네"하고 바로 다른 댓글에 '수정'을 누른다면 이전 '확인/'내용'disable이 다시 올라와야 한다! js 굳이 같은 코드를 true/false로 나눈 이유는 beforeClickUpdateID=cid;때문이다 이전 클릭했던 '수정'의 id를 알아야 하기 때문에 나눠 났다! 아주 잘 작동해준다 이제 service로 가서 orElseThrow(()->new Exception("존재하지 않은 댓글입니다")) 람다식을 이용했다 밑에 deleteCommentByCid와 비교해보면 뭔가 멋있다 ㅋ..

Springboot js파일정리!

잠시 혼란해진 js파일들을 정리해보자 어차피 다 똑같은 전송인데 너무 파일들이 나눠져 있다 현재 무슨 페이지 몇 개 만들었다고 저렇게 js가 많은가 ㅋㅋㅋㅋㅋ 일단 doAjax로 바꿔서 한 번에 다모아 놓자 사실 이런건 시작할 때부터 정해놔야 안위험한데 ㅋㅋㅋ 일단 연습이니까 addeventlistener/window.onload가 현재는 필요없어서 이런 식으로 묶었다 원래 사용자가 자주 돌아다니는 위주나 페이지별로 묶는다고 들었는데 그냥 토이 프로젝트니까 심플하게 묶었다 이제 대망의 댓글을 하러가자!

Spring boot 마이페이지!(2) 이메일 인증 with JavaMailSender

메일을 보내기 위해 build.gradle 로 들어가서 하나의 의존성을 추가한다 이걸 넣으면 @Autowired private JavaMailSender sender;//자체적으로 제공해주는 기능 이렇게 자체적으로 제공해주는 기능을 사용할 수 있다 의외로 메일 보내는 건 어렵지 않다 toaddress=보낼 주소 subject=제목 body=내용이다 핸드폰 인증도 비슷한 거 같다 다만 돈이 든다 그래서 마지막에 공부해보려고 한다 그리고 application.properties로 가서 이렇게 추가해준다 단 사용할 계정에서 보안 수준이 낮은 앱의 액세스 허용을 해줘야 한다! 이제 userservice로가서 인증번호 전송 발생 시 db에 들어있는 랜덤 넘버를 수정해주는 함수를 만들자 @Transactional ..

Spring boot 회원가입 만들기!(3) 해시하기 with BCryptPasswordEncoder

이제 비밀번호 및 이름을 받아서 넣을 건데 dto와 바닐라 js를 이용해서 유효성 검사를 할 것이다! 원래 프런트엔드에서도 보안 작업을 걸어야 하지만 사실상 검사를 눌러서 수정해 버리면 의미가 없어지기 때문에 백엔드에서 잘못된 값이 들어왔을 때 튕겨내주는 장치를 하려고 한다! (뇌피셜 일뿐 프런트엔드 전문가 분들이 만들다면 당연히 좀 더 다를 거라고 생각한다 보안은 그냥 정말 특수한 공부 영역 같다) 일단 역시 바닐라 js로 비밀번호 역시 css를 만져준다! 이제 회원가입을 진행할 텐데 form->controller->userservice->비밀번호 해시-> dao->service->controller 이렇게 될 거 같다 이제 시큐리티로 가서 인코더를 만들자! BCryptPasswordEncoder 를 ..