전체 글(593)
-
junit으로 작성한 테스트가 gradle로 실행될때 해결
문제원인 인텔리제이서 Junit으로 작성한 테스트 코드를 gradle로 실행할때 에러가 발생합니다. 해결방법 파일->설정->빌드,실행,배포->빌드도구->Gradle -> 빌드 및 실행에서 Gradle에서 Intellij IDEA로 변경 References https://www.jetbrains.com/help/idea/work-with-tests-in-gradle.html
2023.03.26 -
페이지네이션(Pagination) 구현을 위한 값 계산하기
페이지네이션(Pagination)이란 무엇인가? 페이지네이션이란 여러개의 컨텐츠를 여러 페이지로 나누고 페이지 번호 버튼, 이전 버튼, 다음 버튼을 눌러서 페이지를 이동하는 기능입니다. 페이지네이션 조건 한 페이지에 보여주고자 하는 페이지 버튼의 개수 한 페이지에 보여주고자 하는 컨텐츠의 개수 이전, 다음 버튼 위 조건 외에도 처음으로 버튼, 맨 마지막으로 버튼이 추가될 수 있습니다. 위 조건을 그림으로 표현하면 다음과 같습니다. 한 페이지에 보여주고자 하는 페이지 버튼 개수 : 5개 한 페이지에 보여주고자 하는 컨텐츠의 개수 : 10개 페이지네이션 개발에 필요한 4가지 값 총 페이지 개수 화면에 보여질 페이지 그룹 화면에 보여질 페이지의 첫번째 페이지 번호 화면에 보여질 페이지의 마지막 페이지 번호 총..
2023.03.24 -
콘솔 입력 객체의 역할에 맞지 않는 기능을 분리하도록 시도하기
개요 코드 스쿼드의 사다리게임을 콘솔 입력을 기반으로 구현하고 있었습니다. 제가 만든 사다리 게임에서는 사다리 게임에 참여하는 사람들의 이름과 사다리 게임의 도착지(또는 당첨 내용이라고 불림) 내용을 콘솔을 통해서 입력받아 게임을 진행합니다. 그런데 사용자로부터 콘솔 입력을 받는 객체가 부적절한 입력을 받았을때 검증하고 다시 입력받게 하거나 문자열로 입력받은 입력값들을 객체로 생성하여 반환하는 것을 하나의 메서드에서 수행하는 패턴을 발견하게 되었습니다. 이때 들었던 생각은 "사용자로부터 그저 입력을 받는 하나의 객체가 이렇게 복잡한 제어를 하는 것이 역할에 맞는가?"라는 생각이 들게 되었습니다. 따라서 이 글에서 소개하는 내용은 하나의 객체가 복잡한 과정(사용자로부터 입력받기, 부적절한 입력시 다시 입력..
2023.03.17 -
Mokito 모듈을 이용한 Random 객체 통제하기
개요 코드스쿼드 부트캠프를 하면서 사다리 게임을 구현하던 도중 Random 객체를 사용할 일이 있었습니다. 그리고 단위 테스트에서 Random 객체를 사용할 수 밖에 없었고 Random 객체의 nextBoolean() 메서드 실행시 제가 원하는 값과 순서로 반환되기를 원하였습니다. 이 글에서는 Mokito 모듈을 이용하여 Random 객체의 nextBoolean() 메서드 호출시 어떻게 하면 원하는 값(true 또는 false)을 반환하게 하고 어떤 순서로 설정할 수 있는지 알아봅니다. Random 객체를 다루면서 했던 실수 저는 보통 Random 객체를 생성할때 외부에서 생성자로 주입받는 방식이 아닌 생성자 내부에서 필드 멤버인 Random 멤버에 객체를 생성하는 방식으로 생성하였습니다. class P..
2023.03.10 -
코드스쿼드 CS16 과정 회고록
개요 2023년 1월 2일 ~ 2월 28일기간 동안 코드 스쿼드의 마스터즈 MAX 과정중 CS16 과정을 수료하게 되면서 회고록을 작성하게 되었습니다. 이 글을 작성하게 된 이유는 CS16 과정을 재학하면서 느꼇던 CS를 학습해야 하는 필요성과 딱딱한 기술을 다루는 CS를 학습할 때 어떻게 하면 소화시킬 수 있을까에 대해서 공유하고자 작성하게 되었습니다. CS 학습의 필요성 필요성에 대해서 말하기에 앞서 코드 스쿼드 시스템에 말하고자 합니다. 코드 스쿼드는 1주 또는 2주마다 5~6명 규모의 인원이 하나의 조를 이루어 진행하는 방식이었습니다. 오전에는 30분간 학습 진행 상태와 목표와 같은 점들을 공유하는 데일리 스크럽을 진행하고 오후에는 자신이 CS 미션을 해결하기 위하여 학습한 것들이나 자신이 겪고 ..
2023.03.01 -
브라우저에서 네이버를 입력하면 페이지가 보이기까지 무슨일이 일어나는가
PC의 브라우저에서 "www.naver.com"을 입력하고 엔터 "www.naver.com" 도메인 이름에 대한 IP 주소를 질의, DNS 서버에 질의하기 전 다음과 같은 방법을 우선 확인 호스트 파일, DNS Cache에도 없다면 DNS 서버로 질의한다. HOST 파일 확인 DNS Cache 확인 DNS 서버 질의 공유기의 포트포워딩을 통한 DNS 서버 질의 ISP의 DNS 설정을 따라서 DNS 서버 질의 DNS 서버로부터 응답이 와서 도메인 네임에 따른 IP 주소를 얻게 됨 PC쪽에서 서버(Naver)쪽으로 IP 주소로 TCP 연결을 수행함 TCP 연결을 수행하는 이유는 HTTP 프로토콜을 사용하여 통신하기 때문임 HTTP 프로토콜 통신은 TCP 연결을 기반으로 하기 때문임 TCP 연결에 성공하면 서..
2023.02.17