전체 글 79

TIL 2024-11-04 (Spring 입문 - MVC)

스프링을 처음 접하여 처음 배우는 내용이 많아 TIL이 밀려버렸다..ㅠ 더욱 열심히 하자! 1 ) Template Engine동적인 웹 페이지를 생성하기 위해 사용되는 도구이며 템플릿을 기반으로 정적인 부분과 동적인 데이터를 결합하여 HTML, XML 등의 문서를 생성하는 역할을 수행한다.우리가 흔히 말하는 UI(User Interface)를 만들며, SSR(Server Side Rendering)에 사용된다.템플릿 엔진이 나온 이유 - 자바 코드로 HTML을 만들어 내는 것이 아닌 HTML 문서에 동적으로 변경해야 하는 부분만 자바 코드를 넣을 수 있다면 더 편리하다 대표적인 템플릿 엔진Thymeleaf - Spring과 통합 잘 되어있음 주로 이거 사용하는 것 같다.JSP - 예전엔 많이 사용했다고 ..

TIL/Spring 2024.11.04

TIL 2024-11-01 (Spring 입문 - Web Application)

1 ) Web Server웹 서버는 HTTP 기반으로 동작하며 정적 리소스(HTML, CSS, JS, 이미지 등)를 제공한다.정적 리소스? - 리소스가 이미 완성된 채로 서버에 존재하여 원본 그대로 응답하는 데이터  WAS(Web Application Server)HTTP 기반으로 동작하며 웹 서버의 기능을 포함한다. 추가적으로 코드를 실행해서 Application 로직을 수행하고 DB와 상호작용하여 동적 컨텐츠를 생성.대표적인 WASTomcat - Spring boot 내장JettyUndertow  Web Server 와 WAS 차이점실제로는 Web Server도 Application 로직 포함 가능.WAS는 Application 코드를 실행하는 것에 더욱 특화되어있다.java에서는 Servlet Co..

TIL/Spring 2024.11.01

TIL 2024-10-31 (Spring 입문 - HTTP)

1 ) HTTP  동작 순서클라이언트는 Request(요청)을 보내고, 응답을 기다린다.서버는 요청에 대한 처리를 수행 후 결과를 Response(응답)한다.     2. Message 구조Start Line Get요청의 의도를 가진 GET, POST, PUT, PATCH, DELETE 등이 있다Create - POSTRead - GETUpdate - PUT(전체), PATCH(일부)Delete - DELETERequest Targetpath/eventHTTP Request가 전송되는 대상, 절대 경로, ("/"로 시작하는 경로)Query String(=Query Parameter)에 해당되는 값도 포함된다.HTTP Version1.1HTTP Version을 나타낸다.HeaderHost : ... 를 ..

TIL/Spring 2024.10.31

TIL 2024-10-30 (Spring 입문 - 2)

1 ) Web 기초DNS ( Domain Name System)도메인 이름과 IP 주소를 서로 변환하는 역할을 수행한다. 즉, 사람이 읽을 수 있는 도메인 이름을 컴퓨터가 읽을 수 있는 IP 주소로 변환한다.DNS가 나오게된 이유 컴퓨터 간의 통신을 위해선 IP 주소가 필요하다.IP는 변경되는 주소이다.DNS 동작 순서원하는 이름과 도메인을 구매한 후, DNS 서버에 등록.도메인 명을 입력하면 DNS 서버는 IP 주소를 반환한다.IP가 변경되면 DNS 서버에 등록된 IP 주소만 바뀌면 된다.우리는 IP주소의 형태가 아닌 도메인의 형태로 웹에 접속된다. URI (Uniform Resource Identifier)인터넷 자원을 나타내는 고유 식별자를 뜻한다.Uniform : 자원을 식별하는 통일된 방식을 의..

TIL/Spring 2024.10.30

TIL 2024-10-29 (Spring 입문 - 1)

1 ) Network인터넷(internet)?인터넷 프로토콜 스위트(TCP/IP)를 기반으로 하여 전 세계적으로 연결되어있는 '컴퓨터 네트워크 통신망' 인터넷 프로토콜 IP (Internet Protocol)인터넷이 통하는 네트워크에서 어떤 정보를 수신하고 송신하는 '통신에 대한 규약' IP 주소IP 주소는 쉽게 말하면 각 기기 간의 통신을 식별할 수 있는 전화번호.인터넷 통신 시에는 지정한 IP 주소에 데이터를 Packet 이라는 단위로 전달 Packet패킷(Packet)은 소스 IP, 대상 IP를 포함하고 있어서 어떤 컴퓨터에 데이터를 전송할지 판별할 수 있습니다.소스 IP(출발지), 대상 IP(도착지)를 포함하고 있어서 어떤 컴퓨터에 데이터를 전송할지 판별 가능.Packet은 크게 헤더, 페이로드,..

TIL/Spring 2024.10.29

TIL 2024-10-26 (숫자 야구 게임 FeedBack)

1 ) Feedback countStrike()와 countBall()에서 input값을 자릿수로 분리하는 코드가 중복됩니다. 별도 메서드로 추출하여 재사용 할 수 있습니다기존의 자릿수 분리하는 코드ArrayList list = new ArrayList(); int num = 0; while (input > 0) { // 입력 받은 숫자를 자릿 수 마다 하나씩 저장 list.add(input % 10); input /= 10; }똑같은 코드가 3개의 메서드에 들어가 있기에 중복되는 코드를 하나의 메서드로 따로 만들어준다.public class BaseballGame { static ArrayList inputlist = n..

TIL/Project 2024.10.26

Trouble Shooting (숫자 야구 게임)

1 ) 배경재귀함수를 이용하여 메서드를 탈출했는데 이전의 입력했던 데이터들도 자동으로 실행.게임 진행 횟수를 리스트에 저장한 후 게임 기록 보기를 하려고 하였으나.  2) 발단하나의 메서드에서 재귀함수를 이용하여 다른 메서드로 이동할 때. 그 전에 실행했던 기록이 지워지는 것이 아니고 남아있는 상태로 다시 실행.그로인해 재귀함수 실행 후 재귀함수 탈출 후에 남아있던 기록이 다시 실행되며 이전 데이터 값까지 불러오는 현상 발생.게임 기록 보기 실행 시 리스트에 저장되어 있던 게임 진행 횟수 데이터들이 초기화되어 기록 저장이 안됌.  3) 전개 & 위기재귀함수를 사용할 수 없음을 깨닫고, return true; 로 바꾸어 실행 했으나 잘못 입력된 데이터들이 저장되어 초기화되지 않고 그대로 남아있어 반복문에서..

TIL/Project 2024.10.25

TIL 2024-10-24 (IntelliJ github 연동)

1) Git 설치 확인.setting -> Version Control -> Git 으로 들어가면 위 사진과 같이 뜨는데, Test 클릭 시 Git 버전이 나오면 이미 설치가 되어 있는 것이고 설치가 되어 있지 않다면 설치를 하면 된다.  2 ) IntelliJ 와 Github 계정 연동.setting -> Version Control -> GitHub. 만약 연동이 되어있지 않다면 가운데 'add...' 이라고 나오는데 클릭하여 계정 연동을 하면 된다. 3 ) GitHub Repository비어있는 Repository를 미리 생성하여 하여 HTTS의 주소를 미리 복사해놓는다. VSC -> Enable version control integration 을 선택하여 git으로 설정을 바꾸면 VSC가 사라지..

TIL/GIT 2024.10.24

TIL 2024-10-23 (숫자 야구 게임 - 3)

1 ) 게임 결과 저장 Display 만들기Lv_3 기능 구현.처음 생각. display 클래스를 만들어서 기능 구현.playNum 이라는 게임 진행 횟수 변수를 list에 저장 후.list를 반복문(for)을 통해 게임 기록 보기 구현문제 발생.하나의 클래스에 리스트 저장과 게임 기록 보기를 모두 넣으니 원하는대로 구현이 안됌list의 데이터들이 날아가는 현상 발생list에 저장 후 main 클래스에서 새로 불러오니 데이터가 날아감.게임 횟수 변수를 따로 가져오는 방법을 몰색결국 list를 저장하는 class를 따로 만들고, list 저장한 것을 보여주는 class 따로 구현.sava에는 게임 기록 횟수들을 저장하고, view는 실행 시 반복문을 실행하여 게임 기록 보기를 실행.public class ..

TIL/Java 2024.10.23

TIL 2024-10-22 (숫자 야구 게임 - 2)

1 ) 볼 처리하기숫자 야구 게임 볼 처리하기.저번 프로젝트 이어서 진행. ( 저번 진행은 스트라이크 처리)볼 처리하는 방법.처음 프로젝트를 보고 생각했던 방법이중for문을 돌려 스트라이크와 볼을 동시에 처리.but! 스트라이크 처리 메서드와 볼 처리 메서드를 따로 생성.볼만 처리하는 메서드 따로 생성.private int countBall(int input) { ArrayList list = new ArrayList(); int num = 0; while (input > 0) { // 입력 받은 숫자를 자릿 수 마다 하나씩 저장 list.add(input % 10); input /= 10; } for(..

TIL/Project 2024.10.22