Skip to content

Instantly share code, notes, and snippets.

View hikaMaeng's full-sized avatar

hika, maeng hikaMaeng

View GitHub Profile
package kore.time
enum class CountryCode(val code:String, val fullName:String) {
AD("AD", "Andorra"),
AE("AE", "United Arab Emirates"),
AF("AF", "Afghanistan"),
AL("AL", "Albania"),
AM("AM", "Armenia"),
AQ("AQ", "Antarctica"),
AR("AR", "Argentina"),
package kore.time
enum class CountryCode(val code:String, val fullName:String) {
AD("AD", "Andorra"),
AE("AE", "United Arab Emirates"),
AF("AF", "Afghanistan"),
AL("AL", "Albania"),
AM("AM", "Armenia"),
AQ("AQ", "Antarctica"),
AR("AR", "Argentina"),
package kore.time
class DstRule(
val fromYear: Int,
val toYear: Int,
val startMonth: Int,
val startDayRule: String,
val startTimeSeconds: Int,
val endMonth: Int,
val endDayRule: String,
package kore.time
enum class CountryCode(val code:String, val fullName:String) {
AD("AD", "Andorra"),
AE("AE", "United Arab Emirates"),
AF("AF", "Afghanistan"),
AL("AL", "Albania"),
AM("AM", "Armenia"),
AQ("AQ", "Antarctica"),
AR("AR", "Argentina"),
import org.apache.commons.compress.archivers.tar.TarArchiveInputStream
import org.apache.commons.compress.compressors.gzip.GzipCompressorInputStream
import java.net.URL
import java.nio.charset.StandardCharsets
import java.io.BufferedInputStream
import java.io.File
import java.io.InputStream
import java.nio.file.Files
import java.nio.file.StandardCopyOption
import java.time.LocalDateTime

Chapter 2

코틀린 인라인(inline)과 @PublishedApi internal


2-1 배경

코틀린은 인라인(inline)기능을 함수에서 클래스까지 다양한 범위에서 지원한다. 인라인에 대한 많은 오해는 성능이다. 최신 자바가상머신이나 자바스크립트 엔진은 함수호출을 최적화하기 때문에 함수 호출 대신하여 본문을 삽입한다고 증가되는 성능은 미비하다. 오히려 기존 제어문의 구조를 바꾸거나 다른 방식으로 객체를 설계할 수 있게 해준다. 아마 코틀린의 가장 큰 특징 중 하나가 인라인으로 인한 코드의 변화일지 모른다.

Chapter 1

속성 위임(Property delegates)


1-1 배경

코틀린에서는 속성 위임(Property delegates)을 통해 속성의 getter와 setter를 커스터마이징할 수 있다. 이는 신기한 일이 아니다. 애당초 코틀린의 속성(Property)이란 단순한 자바의 필드가 아니라 getter, setter함수의 편의 표현이기 때문이다.

data class Member(val id:String, val name: String)

Chapter 1

속성 위임(Property delegates)


1-1 배경

코틀린에서는 속성 위임(Property delegates)을 통해 속성의 getter와 setter를 커스터마이징할 수 있다. 이는 신기한 일이 아니다. 애당초 코틀린의 속성(Property)이란 단순한 자바의 필드가 아니라 getter, setter함수의 편의 표현이기 때문이다.

data class Member(val id:String, val name: String)
from fastapi import Request
from fastapi.responses import JSONResponse
async def reverse_handler(request: Request):
data = await request.json()
text = data["text"]
return JSONResponse({"reversed": text[::-1]})
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Dynamic API Manager</title>
<style>
body { font-family: Arial, sans-serif; display: flex; height: 100vh; margin: 0; }
.sidebar { width: 250px; background: #f4f4f4; border-right: 1px solid #ccc; overflow-y: auto; padding: 10px; }
.content { flex: 1; padding: 20px; }
.route-item { padding: 10px; cursor: pointer; border-bottom: 1px solid #ccc; }