목록분류 전체보기 (718)
쌓고 쌓다
https://school.programmers.co.kr/learn/courses/30/lessons/42839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 방법 큰 수의 범위까지 소수를 구할때 에라토스테네스의 체 알고리즘을 사용한다. https://non-stop.tistory.com/241 numbers의 각 문자로 만들 수 있는 문자열을 다 만들어본다. bruete Force 방식을 사용한다. 이때 visit 배열을 이용해 문자를 붙일지 판단한다. 문자는 str에 붙이고 떼며 수를 만들어 소수인지 확인한다. numbers의 길이가 최대 7이..
서블릿은 Controller로, JSP는 View로 사용한다. Model은 HttpServletRequest 객체를 사용한다. 회원 저장 formController @WebServlet(name="mvcMemberFormServlet", urlPatterns = "/servlet-mvc/members/new-form") public class MvcMemberFormServlet extends HttpServlet { @Override protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String viewPath = "/WEB-INF/view..
DB 테이블 변경 ALTER TABLE comment ADD COLUMN parent_comment_id int; ALTER TABLE comment ADD COLUMN is_parent int not null; 댓글과 대댓글 구별은 컬럼 is_parent로 이뤄진다. is_parent가 1이면 부모 댓글로 일반 댓글이며 0이면 대댓글로 구분한다. 부모 댓글은 자신의 id를 parent_comment_id로 가지며 대댓글은 부모 댓글의 id를 가진다. 기존의 DB 데이터들은 아래의 쿼리로 값을 갱신해주자. UPDATE comment AS A INNER JOIN comment AS B ON A.id = B.id SET A.parent_comment_id = A.id; UPDATE comment SET is..
대댓글 구현중에 대댓글 더보기 버튼을 사용자에게 제공하는 기능을 만들고 있었다. 더 가져올 데이터가 없다면 더보기 댓글을 없애고싶었다. 대댓글 더보기할때 대댓글 총 개수를 넘게된다면 더보기 기능은 없어져야한다. 그러기위해서는 대댓글 데이터를 JSON으로 받아올때 해당 댓글의 대댓글의 총 개수가 필요했다. 기존의 대댓글 데이터를 서버로부터 받아오면 페이징처리된 대댓글(Page)의 JSON이였지 내가 필요한 정보를 더 담아내지 못했다. 아래의 코드처럼 작성한다면 JSON에 추가 정보를 담아 응답을 내줄 수 있다. public Map findReply(Long parentCommentId, int page) { Sort sort=Sort.by(Sort.Order.desc("regDate"), Sort.Or..
MVC 패턴 기존에 서블릿으로만 웹 애플리케이션을 만들자니 자바 코드로 HTML을 생성하기 쉽지 않았고 JSP로 HTML에 자바 코드를 넣자하니 코드의 절반이 비즈니스 로직이고 절반이 View를 위한 코드였다. 그래서. 비즈니스 코드는 서블릿에서 집중하고 View를 위한 코드는 JSP에서 집중하는 MVC 패턴이 등장했다. Model View Controller 컨트롤러 사용자의 HTTP 요청을 받아서 파라미터를 검증하고 비즈니스 로직을 수행한다. 올바르지 않다면 400 오류등을 내줄 수 있다. 비즈니스 로직 결과로 받은 결과를 모델에 담는다. 모델 뷰에 출력할 데이터를 보관한다. 뷰가 필요한 데이터를 모델에 담아 뷰에 전달한다. 뷰 모델에 담긴 데이터를 통해 HTML을 생성한다. 4: 뷰 로직으로 제어권..
댓글 작성 방식을 중간에 Ajax로 바꿔보느라 현재. 클라이언트에서 전송하는 데이터의 형태가 2가지가 존재했다. 일반 댓글 작성은 Ajax로 JSON 형태 데이터를 보내 처리하는 방식이고 현재 연구중인 답글은 form으로 보내는 형태이다. 이 form, JSON 두 방법이 모두 댓글 작성 가능하게 하는 방법이 궁금해서 연구해봤다. 현재 구현된 댓글 작성에는 아래와 같이 JSON 데이터를 받아 저장하는 방식이다. @PostMapping(value = "/comment/write") @ResponseBody public Comment commentWrite(@RequestBody Comment comment) { posterService.incrementCommentCnt(comment.getPno()); ..
JSP 의존성 추가 //JSP 추가 시작 implementation 'org.apache.tomcat.embed:tomcat-embed-jasper' implementation 'jakarta.servlet:jakarta.servlet-api' //스프링부트 3.0 이상 implementation 'jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api' // 스프링부트 3.0 이상 implementation 'org.glassfish.web:jakarta.servlet.jsp.jstl' //스프링부트 3.0 이상 //JSP 추가 끝 new-form.jsp (회원 입력) username: age: 전송 JSP 문서라는 의미를 포함한 문장이다. JSP 문서는 이렇게..
댓글 작성 html 제출 입력 받는 부분은 3가지이다. 댓글 작성자, 게시글 번호, 댓글 내용 여기서 게시글 번호는 hidden 속성으로 가렸다. 입력 받는 태그와 제출을 위한 버튼에 각각 id를 설정해주자. 댓글 제출 버튼 이벤트 추가 document.getElementById("comment_submit").onclick = function () { let writer = $("#comment_writer").val(); let content = $("#comment_content").val(); let pno = $("#comment_pno").val(); let data = { writer: writer, content: content, pno: pno }; $.ajax({ type: "post"..