- [Java코테] 다이나믹 프로그래밍 백준 강의 수강하면서 기록해야하는 주요 개념들을 정리해보았다. 1. 다이나믹 프로그래밍다이나믹프로그래밍은 큰 문제를 작은 문제로 나누어서 해결하는 프로그래밍 방식을 의미한다. 2. 다이나믹 프로그래밍의 성질1. 다이나믹 프로그래밍에서 각 문제는 한 번만 풀어야한다. 2. Optimal Substructure 를 만족하기 때문에, 같은 문제는 구할 때마다 정답이 같다. 3. 따라서, 정답을 한번 구했으면, 정답을 어딘가에 메모해놓는다.(Memorization) 4. 이런 메모하는 것을 코드의 구현에서는 배열에 저장하는 것으로 할 수 있다. 5. 메모를 한다고 해서 영어로 Memorization이라고 한다. 3. 다이나믹프로그래밍의 유형1. DP(Dynamic Programming) :큰 문제를 작은 문.. 2024.05.22
- [Springboot]Thymeleaf의 기본 문법 Thymeleaf는 코드에서 어떻게 사용되는가?Thymeleaf는 HTML 템플릿(.html) 안에서 사용되는 서버 사이드 템플릿 엔진이기 때문에 HTML 문법과 Thymeleaf 문법을 함께 사용한다. 일반적으로 Thymeleaf 문법은 HTML 요소의 속성으로 삽입되어 동적으로 데이터를 처리하고 제어한다. HTML태그에서 Thymeleaf 속성을 사용하기 위해서는 반드시 html태그에 다음과 같이 Thymeleaf 네임스페이스 선언을 해줘야한다. 위 코드 중 xmlns:th="http://www.thymeleaf.org" 는 th 접두사를 사용하여 Thymeleaf의 템플릿 기능을 사용하겠다는 의미이다. 위와 같이 Thymeleaf 네임스페이스 선언을 했다면, Thymeleaf 문법을 HTML 속성.. 2024.05.17
- [Springboot] 서버 사이드 렌더링과 클라이언트 사이드 렌더링 1. 왜 Spring Boot 개발에서 Thymeleaf를 권장하는가?이전 게시물에서 Javascript를 예시로 들며 동적인 콘텐츠를 처리하는 여러 수단 중 왜 Thymeleaf를 권장하는지 의문을 가졌었다. Spring Boot 개발에서 Thymeleaf를 권장하는 이유는 여러 가지가 있다. 물론 JavaScript를 사용하여 동적인 콘텐츠를 처리할 수도 있지만, Spring Boot와 Thymeleaf 조합이 제공하는 이점이 많기 때문이다. 2. 서버 사이드 렌더링과 클라이언트 사이드 렌더링Thymeleaf: 서버 사이드 렌더링을 지원한다. 페이지가 서버에서 완전히 렌더링되어 클라이언트로 전송되므로, 초기 페이지 로드 속도가 빠르고 SEO(검색 엔진 최적화)에 유리하다. 검색 엔진 크롤러가 쉽게 콘.. 2024.05.17
- [SpringBoot] 템플릿 엔진 Thymeleaf는 무엇일까? 1. Thymeleaf란 무엇인가? Thymeleaf는 주로 Java 기반 웹 애플리케이션에서 HTML 템플릿을 처리하고 관리하기 위해 사용되며, Spring Boot 애플리케이션에서 프론트엔드와 백엔드를 연결하는 역할을 수행한다. 2. 왜 HTML 템플릿을 그대로 사용하지 않는가?: 기본 HTML 템플릿에는 다음과 같은 한계가 존재하기 때문이다.정적 콘텐츠: HTML 자체로는 동적인 데이터를 포함할 수 없다. HTML 파일에 작성된 내용은 변경되지 않으며, 서버에서 데이터를 받아와서 동적으로 업데이트할 수 없다. 따라서 동적으로 웹 페이지를 생성하려면 HTML 템플릿에서 동적인 로직을 사용할 수 있도록 도와줄 또 다른 수단이 필요한 것이다. 표현 논리 사용 불가:HTML에서는 조건문과 반복.. 2024.05.17
- [Springboot] CSS 파일 불러올 때 경로 설정 문제 해결( 관계가 stylesheet 일 때) 1. 문제 Springboot 실습 중 코드를 다 작성한 후 실행시켰는데 웹 페이지에 html 템플릿만 띄어지고 css 파일이 적용되지 않았다. 2. 분석 css 파일을 호출하는 경로가 잘못된 것 같았다. 하지만 눈 씻고 확인해봐도 상대 경로를 잘 설정해보인 듯 했다. 현재 파일은 mainLayout.html, 호출하고자 하는 파일은 main.css이다. 현재 파일의 경로: resources/templates/layouts/mainLayout.html 호출하고자 하는 파일의 경로: resources/static/CSS/main.css 현재 파일인 mainLayout.html 에서 link태그를 이용하여 외부에 있는 css 파일을 불러오기 위해 다음과 같이 코드를 작성했었다. 하지만 결과는.. ChatGP.. 2024.04.02
- [정처기] 24년도 1회 정보처리기사 필기 합격 후기🖥️(Feat. 6일 벼락치기) 2024년 1회차 정보처리기사 필기 시험을 합격한 후 포스팅한 벼락치기 후기입니당~~😁😊 공부기간을 말씀 드리자면 2/21에 정처기 필기 시험을 봤고 공부는 총 5일 동안 진행했어요. 정보처리기사 필기는 컴퓨터로 시행되는 시험이고 20문제씩 5과목으로 이루어져 있어요.(총 100문제) 시험 답안을 제출하면 가채점 결과가 바로 뜨기 때문에 합격 여부를 바로 알 수 있어요. 가채점 결과는 시험장에서 시험 직후에만 확인 가능하고 실제 필기 합격 결과는 필기 합격자 발표일에 알 수 있답니다. 제 필기 점수는 바로 오늘! 3/13일에 나왔고 결과는 아래와 같이 나왔습니다. 가채점 결과와 동일하게 평균 88점에 전과목 40점 이상 나와서 합격입니다! 합격 기준은 다음과 같습니다. 참고하세용 그럼 제가 벼락치기 5일.. 2024.03.13
- SELECTIVE REPEAT(SR) ARQ 지난 시간에 Go-Back-N ARQ(GBN)의 동작 방식을 공부했다.Go-Back-N ARQ는 ack가 오지 않아도 다수의 packet을 동시에 보낼 수 있는 장점이 있었지만, 한 packet 전송에 문제가 생기면 그 이후에 전송된 모든 packet들이 무시되므로 그 모든 packet들을 재전송해야 한다는 문제가 있었다. 즉, 불필요한 재전송이 일어난다. SR ARQ는 이러한 문제점을 보완한 방식이다. GBN과 SR의 공통점과 차이점을 먼저 알아보자. - 공통점positive ACK를 사용한다.window를 사용한다.(window 개념은 앞에서 정리해놨으니 모르겠으면 아래의 링크를 참고해라.) https://shlovejo2.tistory.com/3 Trasport layer의 Go-N-Back AR.. 2023.11.14
- Go-Back-N ARQ 지난 시간에 배웠던 Stop-and-wait는 sender가 하나의 packet만 보낼 수 있고 sender가 packet을 보낸 후 receiver쪽에서 ack가 올때까지 sender는 다음 packet을 보낼 수 없고 timeout이 될 때까지 기다려야 했었다. Stop-and-wait 방식은 한번에 많은 packet을 보낼 수 없기 때문에 sender와 receiver 사이에 생성된 링크의 활용도가 많이 떨어진다는 단점이 있다. 이러한 단점을 보완하기 위해서 고안된 방식이 Go-N-Back ARQ이다. 이 방식은 ARQ 중 가장 많이 사용되는 유형이다. Go-Back-N ARQ는 ack가 오지 않더라도 한번에 많은 packet을 보낼 수 있다. Go-Back-N ARQ 의 동작 방식을 보기 전에 .. 2023.11.14
- Stop-and-Wait ARQ Trasport layer의 ARQ에 대해 설명하기 전에 네트워크 분야에서 풀어야 할 top10 안에 드는 Network layer의 unreliable한 (신뢰할 수 없는) 특징을 살펴보자. 1. Network layer의 unreliable한 문제 Network layer에서는 packet을 전송하기 위해 datagram packet switching 방식을 이용한다. datagram packet switching 방식은 sender와 receiver 사이에 있는 네트워크 장비인 라우터가 자신에게 들어오는 각 packet의 경로를 독립적으로 결정하는 방식이다. 자세히 설명하자면, sender쪽에서 자신이 보낼 데이터를 packet 단위로 쪼개 라우터에게 보내면 라우터가 routing table을.. 2023.11.11