코드 구현
package main
import (
"fmt"
"net/http"
)
func helloHandler(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "<h1>Hello, World!<h1>")
}
func main() {
http.HandleFunc("/", helloHandler)
http.ListenAndServe(":80", nil)
}
본 예제는 Go 언어 기반의 가장 기본적인 HTTP 서비스 코드 조각을 제공합니다. Go 언어에서 net/http 패키지는 HTTP 서버 구축에 필요한 모든 도구를 제공합니다. HTTP 서버는 HTTP 요청을 수신하고 HTTP 응답을 반환할 수 있는 소프트웨어입니다. 일반적으로 웹 서버에서 실행되어 클라이언트로부터의 요청을 처리하고, 요청 내용에 따라 해당 리소스나 데이터를 반환합니다.
스니펫 설명
코드 분석
- 패키지 가져오기: fmt 패키지와 net/http 패키지를 가져옵니다. fmt는 형식화된 출력에 사용되며, net/http는 HTTP 요청과 응답을 처리하는 데 사용됩니다.
- 핸들러 함수 정의: helloHandler는 핸들러 함수로, 두 개의 매개변수(http.ResponseWriter 와 *http.Request)를 받습니다. http.ResponseWriter는 클라이언트에 응답을 보내는 데 사용되고, *http.Request에는 클라이언트 요청에 관한 모든 정보가 포함됩니다.
- 라우트 등록: **http.HandleFunc("/", helloHandler)**는 루트 경로 "/" 와 helloHandler 함수를 바인딩합니다. 클라이언트가 루트 경로에 접근하면 서버는 helloHandler 함수를 호출하여 요청을 처리합니다.
- HTTP 서버 시작: **http.ListenAndServe(":80", nil)**은 서버를 시작하고 80번 포트에서 대기합니다. nil은 기본 멀티플렉서(DefaultServeMux)를 사용함을 의미합니다.
실행 방법
위 코드를 main.go로 저장한 후, 터미널에서 다음 명령어를 실행합니다:
go run main.go
브라우저를 열고 http://localhost:80 에 접속하면 페이지에 "Hello, World"가 표시됩니다.
추천 스니펫
Hello World
Go 언어 Hello World 예제, Go(또는 Golang)는 Google이 개발한 정적 타입 언어로, 간결함과 효율성으로 유명합니다
함수 디바운싱
디바운스 함수는 JavaScript에서 고빈도且つ시간이 소요되는 작업을 최적화하기 위한 핵심 도구입니다. 그 핵심 로직은「함수 실행 지연 + 반복되는 지연 취소」로, 단시간 내에 여러 번 트리거된 함수가 마지막 트리거 후 지정된 지연 시간을 기다린 뒤에만 실행되도록 보장하여 불필요한 호출로 인한 성능 손실을 방지합니다. 그 작동 원리는「엘리베이터 문 닫히는 과정」에 비유하여 이해할 수 있습니다:엘리베이터 문이 열린 후 기본적으로 일정 시간(예:2초)을 기다린 뒤 닫힙니다. 이 대기 중에 새로운 승객이 들어온다면(함수가 새로 트리거되는 것에 해당)기존 대기 타이머가 취소되고 카운트다운이 재시작됩니다. 카운트다운이 끝난 후에도 새로운 트리거가 없는 경우에만「문 닫기」동작(함수 실행에 해당)이 이뤄집니다.
Hello World
Perl Hello World 예제, Perl은 강력한 텍스트 처리 언어로, 유연성과 풍부한 정규 표현식 지원으로 유명합니다