Ruby로 QR코드 생성
Ruby의 rqrcode gem은 QR코드 생성을 간단하고 우아하게 만듭니다. Rails 애플리케이션, 스크립트, 자동화 워크플로에 적합합니다.
설치
Bundler 또는 gem install을 사용하여 rqrcode gem을 설치하세요.
gem 'rqrcode'gem install rqrcoderqrcode로 QR코드 생성
Ruby에서 rqrcode gem을 사용한 코드 예제.
QR Code as SVG
require 'rqrcode'
qr = RQRCode::QRCode.new('https://qrcode.fun')
svg = qr.as_svg(
offset: 0,
color: '1A2B3C',
shape_rendering: 'crispEdges',
module_size: 6,
standalone: true
)
File.write('qrcode.svg', svg)QR Code as PNG
require 'rqrcode'
qr = RQRCode::QRCode.new('https://qrcode.fun')
png = qr.as_png(
bit_depth: 1,
border_modules: 4,
color_mode: ChunkyPNG::COLOR_GRAYSCALE,
color: 'black',
file: nil,
fill: 'white',
module_px_size: 6,
resize_exactly_to: false,
resize_gte_to: false,
size: 300
)
IO.binwrite('qrcode.png', png.to_s)Rails Controller
class QrCodesController < ApplicationController
def show
qr = RQRCode::QRCode.new(params[:data] || 'https://qrcode.fun')
svg = qr.as_svg(module_size: 6, standalone: true)
render inline: svg, content_type: 'image/svg+xml'
end
endRuby에서 API로 QR코드 생성
Net::HTTP 또는 Faraday를 사용하여 Ruby에서 QRCode.fun API를 호출하여 스타일 QR코드를 생성하세요.
require 'net/http'
require 'json'
uri = URI('https://qrcode.fun/api/generate-qr-styled')
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri)
request['Content-Type'] = 'application/json'
request.body = {
data: 'https://qrcode.fun',
width: 300,
height: 300,
type: 'png',
margin: 10,
dotsOptions: { color: '#1A2B3C', type: 'rounded' },
cornersSquareOptions: { color: '#8564C3', type: 'extra-rounded' },
backgroundOptions: { color: '#FFFFFF' }
}.to_json
response = http.request(request)
result = JSON.parse(response.body)
puts result['data'][0..49]QR코드 라이브 미리보기
지금 바로 Ruby로 QR코드를 생성해 보세요.
네이티브 라이브러리 vs API
rqrcode와 QRCode.fun API 비교.
| 기능 | rqrcode Gem | QRCode.fun API |
|---|---|---|
| 설정 복잡도 | gem install + 이미지용 ChunkyPNG | 단일 HTTP 요청 |
| 커스터마이징 | 색상, 모듈 크기 (SVG/PNG) | 전체 스타일링: 색상, 모양, 로고 |
| 오프라인 지원 | 예 | 인터넷 필요 |
| 유지보수 | bundle update | 항상 최신 상태 |
| 출력 형식 | SVG, PNG, ANSI 터미널 | PNG, SVG |
Ruby QR코드 사용 사례
Ruby 애플리케이션에서 QR코드의 일반적인 시나리오.
Rails 애플리케이션
Rails 컨트롤러에서 사용자 프로필, 이벤트 티켓, 2단계 인증 설정을 위한 QR코드를 생성합니다.
백그라운드 작업
Sidekiq 또는 Active Job을 사용하여 비동기로 QR코드를 생성하여 배치 라벨 생성과 이메일 캠페인에 사용합니다.
API 엔드포인트
모바일 앱과 서드파티 통합을 위해 QR코드를 이미지 또는 SVG로 반환하는 API 엔드포인트를 구축합니다.
자동화 스크립트
재고, 자산 태깅, 이벤트 관리를 위해 QR코드를 대량 생성하는 Ruby 스크립트를 작성합니다.
Ruby QR코드 생태계 심층 분석
Ruby의 우아한 문법과 Rails 생태계는 QR코드 생성을 간단하고 생산적으로 만들어줍니다.
Rails 컨트롤러, 뷰와 Active Storage
rqrcode로 생성하여 SVG/PNG 형식으로 제공합니다. Active Storage를 모델 첨부 파일로 사용합니다. 프래그먼트 캐싱으로 중복 생성을 방지합니다. Hotwire/Turbo로 동적 업데이트를 구현합니다.
Sidekiq 백그라운드 처리
대량 생성을 Sidekiq workers로 오프로드합니다. 배치 기능으로 추적합니다. SHA256 키를 사용한 Redis 캐싱으로 중복을 방지합니다.
Gem 생태계: rqrcode, ChunkyPNG, MiniMagick
rqrcode가 매트릭스를 생성하고, ChunkyPNG가 ImageMagick 없이 PNG를 렌더링합니다. MiniMagick으로 로고와 그라데이션을 추가합니다. 내장 SVG 렌더러로 반응형 디자인을 지원합니다.
자주 묻는 질문
Ruby로 QR코드 생성에 관한 일반적인 질문.