SpringBoot으로 웹 출시까지 #4

springboot logo

4. thymeleaf를 이용해 레이아웃 만들기

1 myhome 만들기

https://start.spring.io/

 

project : maven

springboot :  최대한 낮은 버전 / SNAPSHOT X로 선택

group : godcoder

artifact, name : myhome

java: 8

dependencies : Thymeleaf / Spring Web / Spring Boot DevTools / Lombok

2 IntelliJ와 git 연동하기

https://github.com/

깃허브 계정이 없으신분들은 회원가입을 진행합니다.

그 뒤 강의 내용대로 진행하시면 됩니다.

저는 이번 클론 코딩을 진행하는 모든 코드를 한 번에 관리하기 위해 강의와 다르게 연동하였습니다.

git repository 생성 및 로컬 폴더 연결

을 누르시면 모든 프로젝트를 하나의 리포지토리로 관리 하실 수 있습니다.

3 bootstrap 적용

부트스트랩 스타터 탬플릿 적용

https://getbootstrap.kr/docs/5.0/getting-started/introduction/

– 강의 시점과 시간이 달라 버전이 업그레이드 되었습니다.

    코드가 달라지고, 명령어가 수정되었습니다.

    최대한 유사한 코드를 사용해서 작성했습니다.

<!doctype html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">

    <!-- Bootstrap CSS -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-EVSTQN3/azprG1Anm3QDgpJLIm9Nao0Yz1ztcQTwFspd3yD65VohhpuuCOmLASjC" crossorigin="anonymous">

    <title>Hello, world!</title>
  </head>
  <body>
    <h1>Hello, world!</h1>

    <!-- Optional JavaScript; choose one of the two! -->

    <!-- Option 1: Bootstrap Bundle with Popper -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-MrcW6ZMFYlzcLA8Nl+NtUVF0sA7MsXsP1UyJoMp4YLEuNSfAP+JcXn/tWtIaxVXM" crossorigin="anonymous"></script>

    <!-- Option 2: Separate Popper and Bootstrap JS -->
    <!--
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.2/dist/umd/popper.min.js" integrity="sha384-IQsoLXl5PILFhosVNubq5LC7Qb9DXgDA9i+tQ8Zj3iwWAwPtgFTxbJ8NT4GN1R8p" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.2/dist/js/bootstrap.min.js" integrity="sha384-cVKIPhGWiC2Al4u+LWgxfKTRIcfu0JTxR+EQDz/bgldoEyl4H0zUF0QKbrJ0EcQF" crossorigin="anonymous"></script>
    -->
  </body>
</html>

Visual Studio Code 연결

컴퓨터에 자동 설치된 비주얼스튜디오를 실행시켜 프로젝트 파일(myhome – main – resources)을 열어줍니다.

template 폴더 아래 “index.html” 파일을 만들고 복사한 내용을 붙여넣습니다.

<html lang=“en”> -> <html>으로 수정합니다.

[intelliJ] HomeController 만들기

myhome 아래 “controller” 폴더를 생성하고,  “HomeController” 클래스를 작성합니다.

package com.godcoder.myhome.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HomeController {
@GetMapping
public String index(){
return "index";
}
}

[VSCode]starter-template.css 작성

myhome – src – main – resources – static 아래 “starter-template.css” 파일을 생성합니다.

body {
padding-top: 5rem;
}
.starter-template {
padding: 3rem 1.5rem;
text-align: center;
}

“SpringBoot으로 웹 출시까지 #4”의 39,754개의 댓글

  1. Принимаем заявки круглосуточно, уточняем состояние и подбираем безопасный формат помощи.
    Дополнительная информация – [url=https://vyvod-iz-zapoya-reutov15-1.ru/]частный вывод из запоя[/url]

  2. Врач учитывает симптомы, риски, анамнез и семейную ситуацию, чтобы предложить подходящую программу.
    Изучить вопрос подробнее – [url=https://vyvod-iz-zapoya-reutov15.ru/]vyvod-iz-zapoya-cena[/url]

  3. С пациентом работают профильные специалисты, которые оценивают состояние и подбирают безопасный план помощи.
    Получить больше информации – [url=https://vyvod-iz-zapoya-balashiha15-1.ru/]vyvod-iz-zapoya-s-vyezdom-balashiha[/url]

  4. В период длительного употребления продукты распада этанола и другие токсические вещества создают дополнительную нагрузку на внутренние органы. Возникают обезвоживание и нарушения электролитного обмена, страдают клетки печени, сердечно-сосудистая и нервная системы. Организм теряет нормальный режим сна и питания. Даже когда больной начинает пить меньше, его состояние может оставаться нестабильным, поэтому резкий отказ без врачебного наблюдения не всегда является безопасным решением.
    Получить больше информации – [url=https://vyvod-iz-zapoya-reutov15.ru/]vyvod-iz-zapoya-ceny-reutov[/url]

  5. Лечение на дому подходит пациентам, состояние которых врач оценивает как относительно стабильное. Круглосуточно доступный вызов позволяет получить медицинскую помощь рядом с привычным местом проживания и не откладывать обращение до рабочего дня. Перед приездом бригады специалист по телефону уточняет, сколько лет человеку, как долго продолжается запой, какое количество алкоголя употреблялось, когда была последняя доза и имеются ли хронические заболевания.
    Получить больше информации – [url=https://vyvod-iz-zapoya-reutov15-1.ru/]www.vyvod-iz-zapoya-reutov15-1.ru[/url]

  6. На дому чаще рассматриваются следующие категории обращений:
    Ознакомиться с деталями – [url=https://kapelnitsa-na-domu-v-moskwe2.ru/]вызвать врача капельница на дому[/url]

  7. สล็อต
    TKBNEKO: สำรวจโลกของ 15 เกม PG SOFT ผ่านธีม ตัวละคร และงานภาพ

    เกมแต่ละเกมมีสิ่งที่ทำให้คนจดจำแตกต่างกัน บางเกมโดดเด่นด้วยตัวละคร บางเกมสร้างบรรยากาศผ่านภาพและสัญลักษณ์ ขณะที่บางเกมใช้ธีมการผจญภัยเป็นจุดเริ่มต้นของความน่าสนใจ จุดเริ่มต้นของการสำรวจเกมจึงอาจเป็นธีม งานภาพ หรือเรื่องราว ไม่ใช่เพียงชื่อที่ปรากฏอยู่บนหน้าปก

    TKBNEKO ใช้แนวทางนี้ในการนำเสนอคอลเลกชัน 15 เกมจาก PG SOFT โดยเน้นการทำความรู้จักธีม ตัวละคร และรายละเอียดผ่านข้อมูลที่เข้าถึงได้สะดวก ผู้เข้าชมสามารถเริ่มจากภาพรวม ค้นหาเกมตามชื่อ หรือเปิดหมวดที่ต้องการ แล้วจึงสำรวจข้อมูลของแต่ละเกมอย่างละเอียดขึ้น

    15 เกมในคอลเลกชัน แบ่งตามธีมอย่างชัดเจน

    คอลเลกชันของ TKBNEKO แบ่งออกเป็นสามหมวด ได้แก่ ไพ่นกกระจอก โชคลาภ และผจญภัย การจัดหมวดช่วยให้เห็นความแตกต่างของเกมตั้งแต่แรก โดยไม่ต้องเปิดดูทีละรายการเพื่อค้นหาธีมที่ต้องการ

    หมวดไพ่นกกระจอกประกอบด้วย Mahjong Ways และ Mahjong Ways 2 การรวมทั้งสองเกมไว้ในหมวดเดียวช่วยให้ทำความรู้จักแต่ละชื่อได้อย่างเป็นลำดับ นอกจากนี้ Mahjong Ways ยังมีเนื้อหาประกอบในหัวข้อ “เมื่อประเพณีมีชีวิต” ซึ่งเปิดมุมมองเกี่ยวกับโลกของเกมผ่านแนวคิดและภาพที่เชื่อมโยงกับไพ่นกกระจอก

    กลุ่มที่มีจำนวนเกมมากที่สุดคือหมวดโชคลาภ ซึ่งประกอบด้วยเกมทั้งหมดแปดชื่อ ได้แก่ Fortune Tiger, Lucky Neko, Fortune Ox, Fortune Mouse, Fortune Dragon, Double Fortune, Ganesha Fortune และ Caishen Wins แม้จะอยู่ภายใต้หมวดเดียวกัน แต่แต่ละชื่อเปิดพื้นที่ให้สำรวจเอกลักษณ์ของตัวละครและการนำเสนอที่แตกต่างกัน ทั้งนี้ “โชคลาภ” เป็นชื่อที่ใช้แบ่งหมวดตามธีมเท่านั้น ไม่ได้เป็นการรับรองผลลัพธ์จากเกม

    ส่วนหมวดผจญภัยประกอบด้วยห้าเกม ได้แก่ Treasures of Aztec, Wild Bandito, Ways of the Qilin, Wild Bounty Showdown และ The Great Icescape การจัดเกมเหล่านี้ไว้ในหมวดเดียวกันช่วยให้ผู้เข้าชมสำรวจบรรยากาศที่หลากหลาย และเลือกทำความรู้จักโลกของเกมที่ตรงกับความสนใจ

    ทำความรู้จักเกมผ่านตัวละครและเรื่องราว

    นอกจากการแสดงคอลเลกชัน TKBNEKO ยังนำเสนอเนื้อหาที่ช่วยให้ผู้เข้าชมทำความรู้จักเกมมากกว่าการดูชื่อและภาพหน้าปก โดยแบ่งวิธีนำเสนอออกเป็นการทำความรู้จักโลกของเกม การเจาะลึกตัวละคร และการสำรวจเรื่องราวเพิ่มเติม

    Fortune Tiger ได้รับพื้นที่ในส่วนเกมเด่น และปรากฏในเนื้อหาเกี่ยวกับตัวละครภายใต้แนวคิด “ตัวละครเล็ก บุคลิกที่ยิ่งใหญ่” การนำเสนอจึงขยายจากชื่อเกมไปสู่บุคลิกและเอกลักษณ์ทางภาพของตัวละครที่อยู่ในเกม

    สำหรับ Mahjong Ways เนื้อหาแนวแนะนำโลกของเกมใช้ประเด็นเรื่องประเพณีเป็นจุดเริ่มต้น ส่วน Treasures of Aztec อยู่ในพื้นที่สำรวจเพิ่มเติม โดยใช้ความอยากรู้เป็นแนวคิดในการพาไปทำความรู้จักเกม รูปแบบดังกล่าวช่วยให้แต่ละเกมมีบริบทและเรื่องราวประกอบ แทนที่จะปรากฏเป็นเพียงชื่อกับภาพในคอลเลกชัน

    การนำเสนอหลายรูปแบบเปิดทางให้ผู้เข้าชมเริ่มสำรวจเกมจากประเด็นที่ตนเองสนใจ ผู้เข้าชมบางคนอาจจดจำเกมจากตัวละคร ขณะที่บางคนต้องการรู้จักแนวคิดของธีม หรือสำรวจบรรยากาศที่ถ่ายทอดผ่านงานภาพ

    สำรวจคอลเลกชันด้วยการค้นหาและตัวกรอง

    TKBNEKO รวบรวมเกมไว้ในหน้าสำรวจที่มีทั้งช่องค้นหาตามชื่อและตัวเลือกสำหรับกรองหมวดหมู่ ผู้ที่มีชื่อเกมอยู่แล้วสามารถค้นหาได้โดยตรง ส่วนผู้ที่ยังไม่มีเกมเฉพาะในใจสามารถเริ่มจากหมวดไพ่นกกระจอก โชคลาภ หรือผจญภัย

    หน้าคอลเลกชันแสดงรายการเกมเบื้องต้น พร้อมตัวเลือกให้เปิดดูเกมทั้งหมด 15 เกม ผู้เข้าชมจึงสามารถดูภาพรวมจากรายการที่แสดงก่อน หรือเปิดสำรวจทั้งคอลเลกชันทีละเกมได้

    แต่ละรายการแสดงชื่อเกมควบคู่กับผู้พัฒนาและหมวดหมู่ รายละเอียดที่แสดงร่วมกันช่วยให้ระบุเกมและกลุ่มธีมได้ชัดเจน รวมถึงมองเห็นว่าเกมใดอยู่ในหมวดเดียวกัน โดยไม่จำเป็นต้องพิจารณาจากภาพเท่านั้น

    เข้าถึงคอลเลกชันผ่านคอมพิวเตอร์และมือถือ

    เว็บไซต์ TKBNEKO ระบุว่าสามารถเข้าถึงได้ทั้งจากคอมพิวเตอร์และมือถือ และมีตัวเลือกทั้งหมด 14 ภาษา การมีตัวเลือกด้านภาษาและอุปกรณ์ช่วยให้ผู้เข้าชมเลือกวิธีอ่านข้อมูลและสำรวจเว็บไซต์ได้ตามความคุ้นเคย

    เว็บไซต์วางแนวทางการสำรวจไว้สามส่วน คือค้นหาธีมที่ชอบ รู้จักตัวละครและฟีเจอร์ และอ่านข้อมูลในภาษาของผู้เข้าชม องค์ประกอบเหล่านี้เชื่อมการดูภาพรวมของคอลเลกชันเข้ากับการทำความรู้จักรายละเอียดของเกมแต่ละรายการ

    การมีทั้งคอลเลกชัน ตัวกรอง และเนื้อหาประกอบ ทำให้ผู้เข้าชมไม่จำเป็นต้องเริ่มจากจุดเดียวกันทุกครั้ง การทำความรู้จักเกมอาจเริ่มจากการค้นหาชื่อ การเลือกหมวด หรือการอ่านเนื้อหาเกี่ยวกับเรื่องราวและตัวละครของเกม

    แยกภาพประกอบออกจากภาพเกมจริง

    เว็บไซต์ระบุว่าภาพประกอบเกมสร้างด้วย AI และเครื่องหมายการค้าเกมเป็นของเจ้าของแต่ละราย รายละเอียดนี้ช่วยแยกบทบาทของภาพที่ใช้สื่อแนวคิดและบรรยากาศออกจากภาพหน้าจอจริง จึงไม่ควรถือว่าภาพประกอบทุกภาพแสดงสิ่งที่ปรากฏภายในเกมโดยตรง

    TKBNEKO จึงนำเสนอคอลเลกชันในลักษณะพื้นที่ทำความรู้จักเกมผ่านข้อมูล ธีม และภาพประกอบ คุณค่าของการจัดคอลเลกชันไม่ได้จำกัดอยู่ที่การรวบรวมเกม 15 ชื่อ แต่รวมถึงการจัดหมวดและนำเสนอเนื้อหาที่ช่วยให้ผู้เข้าชมทำความรู้จักเอกลักษณ์ของแต่ละโลกได้ชัดเจนขึ้น

댓글 달기

이메일 주소는 공개되지 않습니다.