๐Ÿ“—
smiley book
  • Smiley Books
  • AI
    • Readme
    • openai-whisper
      • ์ƒ˜ํ”Œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
      • GPU ์„œ๋ฒ„ ์ค€๋น„ํ•˜๊ธฐ
      • API๋กœ whisper๋ฅผ ์™ธ๋ถ€์— ์˜คํ”ˆํ•˜๊ธฐ
      • ํ”„๋กฌํ”„ํŠธ ์ง€์›
      • ์‹ค์‹œ๊ฐ„ message chat
      • ํ™”๋ฉด ์ด์˜๊ฒŒ ๋งŒ๋“ค๊ธฐ์™€ ๋กœ๊ทธ์ธ
      • ํŒŒ์ด์ฌ ๊ฐ€์ƒํ™˜๊ฒฝ
      • ์‹ค์‹œ๊ฐ„ voice chat
      • fine tunning(๋ฏธ์„ธ ์กฐ์ •) ์œผ๋กœ ์„ฑ๋Šฅ ์˜ฌ๋ฆฌ๊ธฐ
      • app์—์„œ api๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ…์ŠคํŠธ๋กœ ๋ฐ”๊ฟ”๋ณด๊ธฐ
    • ollama - llm์„ ์‰ฝ๊ฒŒ ๋‚ด์ปด์—์„œ ์‹คํ–‰
      • ollama webui
      • ollama docker
    • stable diffusion
      • SDXL - text to image
      • SD-webui
    • ChatGPT
      • ๋‹ต๋ณ€์ด ๋Š๊ธธ๋•Œ
      • ์—ญํ• ์„ ์ •ํ•˜์ž
      • ๊ตฌ์ฒด์ ์ธ ์งˆ๋ฌธ
      • ๊ฒฐ๊ณผํ˜•ํƒœ๋ฅผ ์ง€์ •
      • ํ”„๋กฌํ”„ํŠธ๋ฅผ ์—ฌ๋Ÿฌ์ค„๋กœ ์‚ฌ์šฉํ•˜์ž.
      • ๋งˆํ‹ด ํŒŒ์šธ๋Ÿฌ ๊ธ€ ๋ฒˆ์—ญ๋ณธ
    • Prompt Engineering
    • Auto-GPT
    • Gemini
      • google ai studio
      • gemini-api
      • embedding guide
    • Huggingface
      • huggingface ์‚ฌ์šฉ๋ฒ•
      • huggingface nlp ๊ณต๋ถ€์ค‘
    • kaggle
      • download dataset
    • langchain
      • langchain์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌ
      • basic
      • slackbot
      • rag
      • document-loader
      • website-loader
      • confluence
      • memory
      • function-call
      • langsmith
      • agent-toolkit
  • Ansible
    • templates vs files and jinja2
    • dynamic inventory
    • limit ์˜ต์…˜ ๊ฐ•์ œํ•˜๊ธฐ
    • limit ์‚ฌ์šฉํ›„ gather_fact ๋ฌธ์ œ
  • AWS
    • AWS CLI
    • EKS
      • cluster manage
      • ALB Controller
      • external-dns
      • fargate
    • ECR
    • S3
    • Certificate Manager
  • Azure
    • Azure AD OAuth Client Flow
  • Container
    • Registry
    • ๋นŒ๋“œ์‹œ์— env๊ฐ’ ์„ค์ •ํ•˜๊ธฐ
  • DB
    • PXC
      • Operator
      • PMM
      • ์‚ญ์ œ
      • GTID
      • Cross Site Replication
    • Mssql
    • Mysql
  • dotnet
    • Thread Pool
    • Connection Pool
    • Thread Pool2
  • Devops
    • Recommendation
  • GIT
    • Basic
    • Submodule
  • GitHub
    • Repository
    • GitHub Action
    • GitHub PR
    • Self Hosted Runner
    • GitHub Webhook
  • GitLab
    • CI/CD
    • CI/CD Advance
    • Ssl renew
    • CI/CD Pass env to other job
  • Go Lang
    • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•
    • multi os binary build
    • kubectl๊ฐ™์€ cli๋งŒ๋“ค๊ธฐ
    • azure ad cli
    • embed static file
    • go study
      • pointer
      • module and package
      • string
      • struct
      • goroutine
  • Kubernetes
    • Kubernetes๋Š” ๋ฌด์—‡์ธ๊ฐ€
    • Tools
    • Install with kubespray
    • Kubernetes hardening guidance
    • 11 ways not to get hacked
    • ArgoCD
      • Install
      • CLI
      • Repository
      • Apps
      • AWS ALB ์‚ฌ์šฉ
      • Notification slack
      • Backup / DR
      • Ingress
      • 2021-11-16 Github error
      • Server Config
      • auth0 ์ธ์ฆ ์ถ”๊ฐ€(oauth,OIDC)
    • Extension
      • Longhorn pvc
      • External dns
      • Ingress nginx
      • Cert Manager
      • Kube prometheus
    • Helm
      • Subchart
      • Tip
    • Loki
    • Persistent Volume
    • TIP
      • Job
      • Pod
      • Log
  • KAFKA
    • raft
  • KVM
    • kvm cpu model
  • Linux
    • DNS Bind9
      • Cert-Manager
      • Certbot
      • Dynamic Update
      • Log
    • Export and variable
    • Grep ์‚ฌ์šฉ๋ฒ•
  • Modeling
    • C4 model introduce
    • Mermaid
    • reference
  • Monitoring
    • Readme
    • 0. What is Monitoring
    • 1. install prometheus and grafana
    • 2. grafana provisioning
    • 3. grafana dashboard
    • 4. grafana portable dashboard
    • 5. prometheus ui
    • 6. prometheus oauth2
    • Prometheus
      • Metric type
      • basic
      • rate vs irate
      • k8s-prometheus
    • Grafana
      • Expolorer
    • Node Exporter
      • advance
      • textfile collector
  • Motivation
    • 3 Simple Rule
  • OPENNEBULA
    • Install(ansible)
    • Install
    • Tip
    • Windows vm
  • Reading
    • comfort zone
    • ๋ฐฐ๋ ค
    • elon musk 6 rule for insane productivity
    • Feynman Technique
    • how to interview - elon musk
    • ๊ฒฝ์ฒญ
    • Readme
  • Redis
    • Install
    • Master-slave Architecture
    • Sentinel
    • Redis Cluster
    • Client programming c#
  • SEO
    • Readme
  • Security
    • criminalip.io
      • criminalip.io
  • Stock
    • robinhood-python
  • Terraform
    • moved block
    • output
  • vault
    • Readme
  • VS Code
    • dev container
    • dev container on remote server
  • Old fashione trend
    • curity
    • MAAS
      • Install maas
      • Manage maas
      • Tip
Powered by GitBook
On this page
  • embed static file ์‚ฌ์šฉ๋ฒ•
  • create file
  • import
  • embed
  • build
  • run
  • multiple file
  • ์‹คํ–‰
  • binary
  • ์ด์ƒํ•œ์ 
  • ํŒŒ์ผ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ

Was this helpful?

  1. Go Lang

embed static file

embed static file ์‚ฌ์šฉ๋ฒ•

create file

cat > create-release.json <<EOF
{
  "os": "linux",
  "arch": "amd64",
  "files": [
    {
      "from": "Readme.md",
      "to": "Readme.md"
    }
  ]
}

import

package release

import (
  _ "embed" // ์ž„ํฌํŠธํ•˜์ž.
)

embed

//go ์—์„œ // ๋‹ค์Œ์— ์ŠคํŽ˜์ด์Šค๊ฐ€ ์—†์–ด์•ผ ํ•œ๋‹ค. create-release.json ์€ ํŒŒ์ผ์ด๋ฆ„

//go:embed create-release.json
var content string

ํŒŒ์ผ์„ ์ฝ์–ด์„œ string์— ๋„ฃ์–ด์ค€๋‹ค. ์ด์ œ ๊ทธ๊ฑธ ๊ทธ๋ƒฅ ์‚ฌ์šฉํ•˜๋ฉด๋œ๋‹ค.

fmt.Println("File ", content)

build

go build .

run

์ƒ์„ฑ๋œ binary๋ฅผ ๋‹ค๋ฅธ ํด๋”์— ์˜ฎ๊ธดํ›„ ์‹คํ–‰ํ•ด๋ณด๋ฉด ํ”„๋ฆฐํŠธ๊ฐ€ ์ž˜๋จ์„ ์•Œ์ˆ˜ ์žˆ๋‹ค.

multiple file

assets ํด๋”๋ฅผ ๋งŒ๋“ค๊ณ  ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜์ž.

hello1.txt

hello1

hello2.txt

hello2

main.go์—์„œ ๋‹ค์Œ์ฒ˜๋Ÿผ ์ฝ”๋”ฉ

package main

import (
  "embed"
  "net/http"
)

//go:embed assets/*
var assets embed.FS

func main() {
  fs := http.FileServer(http.FS(assets))
  http.ListenAndServe(":8080", fs)
}

์‹คํ–‰

go run main.go

curl http://localhost:8080/assets/hello1.txt
curl http://localhost:8080/assets/hello2.txt

์ด๋ ‡๊ฒŒ ์—ฌ๋ŸฌํŒŒ์ผ์„ ๋„˜๊ธธ์ˆ˜๋„ ์žˆ๋‹ค.

binary

import _ "embed"

//go:embed logo.png
var logo []byte

์ด์ƒํ•œ์ 

์ดํ•ด๊ฐ€ ๋˜๋Š” ์ฝ”๋“œ

package main

import (
    "embed"
    "fmt"
)

//go:embed assets/*
var f embed.FS

func main() {

    langs, _ := f.ReadFile("assets/langs.txt")
    fmt.Println(string(langs))

    words, _ := f.ReadFile("assets/words.txt")
    fmt.Println(string(words))
}

์ดํ•ด๊ฐ€ ์•ˆ๋˜๋Š” ์ฝ”๋“œ

//go:embed assets/langs.txt
var f embed.FS

func main() {

    langs, _ := f.ReadFile("assets/langs.txt")
    fmt.Println(string(langs))

}

๊ณ ๋Š” ๊ฐ„๊ฒฐํ•จ์ด ์ƒ๋ช…์ธ๋ฐ ๊ตฌ์ง€ ํŒŒ์ผ ์ด๋ฆ„์„ ๋‘๋ฒˆ์“ฐ๋„ค? ์™œ?

ํŒŒ์ผ ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ

์ข€ ์ด์ƒํ•œ๋ฐ

assets๊ฐ€ ์žˆ๊ณ  testํด๋”๊ฐ€ ์ž‡๊ณ  testํด๋”์•ˆ์— main ํŒŒ์ผ์ด ์žˆ๋‹ค.

//go:embed assets/*
var assets embed.FS

func main() {
  fs := http.FileServer(http.FS(assets))
  http.ListenAndServe(":8080", fs)
}

๊ฐ™์€ ์ฝ”๋“œ๊ฐ€ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค. ์™œ? ์–ด๋–ป๊ฒŒ ํ•˜์ง€?

์ด๊ฒƒ๋„ ์—๋Ÿฌ๊ฐ€ ๋‚œ๋‹ค. ์–ด๋–ป๊ฒŒ ํ•˜์ง€?

๋ชจ๋ฅด๊ฒŸ์Œ...

ํ•˜์œ„ ๊ฒฝ๋กœ๋Š” ์ž˜๋˜๋Š”๋ฐ ์ƒ์œ„ ๊ฒฝ๋กœ๊ฐ€ ์•ˆ๋œ๋‹ค...

์ด์Šˆ๋Š” ์—ด๋ ค์ž‡๋Š”๋ฐ ์•„์ง ์ •ํ™•ํ•œ ๋ฐฉ๋ฒ•์ด ์—†๋Š”๋“ฏ.

Previousazure ad cliNextgo study

Last updated 1 year ago

Was this helpful?