분류 전체보기(63)
-
[Spring] QueryString
오늘은 QueryString을 파라미터로 받아오는 방법에 대해 알아보자. 만약, URL요청이 localhost:8080/info?name="yubin"이렇게 들어왔을 때, info 뒤의 name이 QueryString이다.요청을 받아서 처리하는 컨트롤러에서 이 쿼리스트링을 사용해야 한다면 그냥 바로 파라미터로 받아올 수 있다.@RequestMapping("/info")public void info(String name) { System.out.println(name);}원래라면 request에서 이 쿼리스트링을 받아와야 하지만,스프링은 아주 편하게 자동으로 연결해준다.하지만 주의해야할 점은 스프링이 파라미터의 이름과 쿼리스트링의 이름이 일치해야만 연결을 해준다는 것이다. 만약 파라미터의 이름을 name이..
-
[Spring] ViewResolver
오늘은 ViewResolever에 대해서 한 번 알아보자.public class IndexController implements Controller{ @Override public ModelAndView handleRequest(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mav = new ModelAndView("/WEB-INF/view/index.jsp"); mav.addObject("text", "Spring MVC"); return mav; }} 원래 view로 이동하기 위해서 controller에서는 경로를 적어줘야한다.하지만 위와 같이 복잡한 경로를 모든 ..
-
[Spring] 인증 메일 보내기
웹 사이트에 새로 가입을 할 때 이메일로 인증 코드를 받는 경우가 되게 많다.오늘은 그 인증 메일을 보내는 방법을 알아보자.사전 작업 1. 프로젝트 내에서 바로 id, password 를 임의로 작성해줄 것이기 때문에편의성을 위해서는 2차인증을 "해제" 해두자. 2. 네이버 메일 -> 환경설정 -> POP3/IMAP 설정에서, POP3/SMTP 설정 , IMAP/SMTP 설정 둘다 사용함으로 체크해둔 후, "저장"해두어야 한다. 꼭, 네이버가 아니더라도2번에서 언급한 환경설정만 해둔다면 메일 보내기 가능하다. 3. 프로젝트에 필요한 설정 pom.xml의존성 추가 org.springframework spring-websocket ${org.springframework-version} ..
-
[JavaScript] hidden 활용
hidden을 활용하여 다중 필터 기능을 구현해볼 것이다.배열에 사용할 수 있는 함수함수기능arr.forEach단순 반복arr.filter조건 필터arr.toSorted정렬arr.map재구성arr.slice잘라내기arr.includes포함여부 확인 다중필터boxList 는 check box의 내용을 모두 불러온것 (querySelect 로 불러온건 모두 nodeList)-> const boxList = document.querySelectorAll('div.left > label > input[type="checkbox"]') 배열에서 원하는 속성만 가져오거나, 별도의 속성을 추가해서 가져올때 Array.map 사용map 을 이용하여 name 속성에 있는 데이터에서 a 를 지우고(replace) ..
-
[Project] 프로젝트 후기
힘들고 험난했지만, 정말 다시는 겪지 못할 만큼 재밌었던 팀원들 과의 프로젝트가 끝이났다. 거의 한 달 가량을 매일 붙어서 프로젝트를 진행하다 보니까팀원들과 상상 이상으로 친해져서 끝난 후에 같이 피크닉도 다녀왔다. 처음 팀이 만들어졌을때는 이렇게 자주 만나서 놀고 할 정도로 친해질 줄은 몰랐는데... 이때가 딱 봄이라서 벚꽃 구경도 할 겸 같이 만나서 피크닉도 즐겨줬다. 놀러가기 전 단백질 보충도 충분히 해주었다. ㅎㅎ 내가 팀에서 막내라 그런지 매번 챙김을 받기만 한 것 같아서조금 미안하고 고마웠다... 처음 시작할때는 아직 사이도 어색하고, 우리가 정한 주제이지만 잘 해낼 수 있을까?라는 생각이었다. 하지만 프로젝트를 진행하면서 팀원들이 전부 의욕 넘치게 다 도와주고, 의견을 주고받으니힘든게 ..
-
[Project] 실시간 1:1 채팅
내가 맡은 역할 중 실시간 1:1 채팅 기능이 있다.이미 STOMP 프로토콜을 활용한 채팅 구현을 해본 경험이 있기 때문에,처음엔 별로 대수롭지 않게 생각했었다. 하지만 그건 나의 엄청난 오만이었다. 실시간으로 채팅을 하는 시스템은 비슷하지만 저번에 했던 채팅은 단순한 단체 채팅방 이고,이번 프로젝트에 필요한 기능은 관리자와 고객들의 1:n 관계 채팅 시스템이다. channel 생성 부터 구독 하는 것까지 엄청 골머리를 썩혔지만 결국 해결해냈다. 그럼 내가 이 난관을 어떻게 극복했는지 한 번 적어보겠다.유저 채팅 채널 생성 일단 관리자가 아닌 일반 사용자의 입장에서 채팅 icon을 클릭하면 해당 유저의 고유키인 "userid"를 이용해 독단적인 채널을 생성하게 했다. "사용자 마다 각각 다르게 개별적으로..