Kotlin으로 위키엔진 만들기? (1)

agriades·2024년 2월 18일

취미생활

목록 보기
1/2

2024-02-18
18:07
저녁을 맛있게 먹다

0. 위키 엔진을 골라 그냥 써 보려고 했건만...

자료 정리를 재미있게 하기 위해 위키 타입의 블로그를 만들고 싶었다. 원래는 위키 엔진을 사용하려 했는데 the seed는 비공개이고, 오픈나무는 phyton 때문에 고민이 되고, MediaWiki는 너무 벌키해 보였다.

Phyton을 다시 잡기 무서운 이유: Kotlin을 배우면서 겨우 함수형 프로그래밍에 대한 감을 잡고 있다. 객체 지향 언어를 같이 배우면, 언어 2개 배우려다 0.5개 국어만 구사하게 될 것 같아서이다.

그래서 살펴본 MediaWiki 사용법은 생각보다 복잡했다. 뭐가 이렇게 많아! 어쩌면 배보다 배꼽이 더 커질 것 같은데? 이럴거면 차라리 내가 짜고 말지.

어..? 내가 짜고 말아?

아주 간단한, 블로그 용도의 위키 엔진을 만들어 보기로 했다. 물론 현 상황: 아무것도 모른다!

1. 첫 단추 꿰기: Hello World!

로컬 주소를 입력하면 Hello world! 를 출력하는 웹페이지를 Kotlin으로 작성해 보자.

Kotlin이 100% 웹개발 친화적인 언어는 아니라 이것저것 끌어 땡겨와서 써야 한댄다.
전혀 감이 안 잡혀서 ChatGPT-4에게 위와 같이 질문을 해 보니 친절히 답변해주었다. (비싼 값을 한다.)

  1. JetBrains에서 InelliJ IDEA Ultimate를 다운받아 실행.
    .kt 를 언어 설정에 포함시켰다.
  2. ChatGPT가 시킨 대로 Ktor 프로젝트를 생성했다.
    HTML DSL, CSS DSL이 왠지 필요할 것 같아 플러그인으로 추가했다. DSL을 추가하면 Routing 플러그인도 자동으로 추가되는 것 같다.
  3. src/main/kotlin 폴더 내에 Application.kt에 다음 코드를 써 붙이면 hello world! 가 출력되는 웹페이지를 만들 수 있다고 한다.
import io.ktor.application.*
import io.ktor.http.*
import io.ktor.response.*
import io.ktor.routing.*
import io.ktor.server.engine.*
import io.ktor.server.netty.*

fun main() {
    embeddedServer(Netty, port = 8080) { // 웹 서버 포트 설정
        routing {
            get("/") {
                call.respondText("Hello World!", ContentType.Text.Html)
            }
        }
    }.start(wait = true)
}

Ktor는 처음 써 보니까, 우선 복사 붙여넣기 후 빌드를 실행시키는 것 부터 실천하겠다.

22:55 빨간 글씨를 보고 한숨을 쉬다
이렇게 오류가 떴다. 아마 해당 import를 찾지 못해서 아래까지 삑난 것 같네.

profile
안드로이드 앱 개발 공부 시작!

0개의 댓글