μΌλ°μ μΌλ‘ κ°λ¨ν μ€ν¬λ¦½νΈμ κ²½μ° Faraday.default_adapterλ₯Ό 맨 μμ ν λ² μ€μ νμ§λ§ 리λλ μ μ μ’μνλ Githubμμ μμ νλ λμ μ°¨λ¨μ μνν΄μΌ νλ 리λλ μ μ λ°λ₯΄κΈ° μν΄ faraday_middleware(μ¬μ©νμ§ μμλ λ¨)λ₯Ό μ¬μ©ν΄μΌ ν©λλ€(I κ°μ ) Faradayκ° νΈλ€λ¬λ₯Ό Faraday.default_adapaterλ‘ μ€μ ν΄μΌ νλ κ²½μ° λΈλ‘μμ μ¬μ©μΌλ‘ μ€μ λμ§ μμ κ²½μ° λ μ’μ κ²μ΄λΌκ³ μκ°ν©λλ€. μ΄λ κ² νλ©΄ μΌλΆ μ½λ© λ° μ€λ³΅ μ½λ IMOλ₯Ό μ μ½ν μ μμ΅λλ€.
νμ€νμ§ μμ§λ§ 곡κ°νλλ‘ νκ² μ΅λλ€. κΈ°λ³Έ μ€νμ UrlEncoded + default_adapterμ λλ€. κ³ μ ν μ€νμ μ μνλ κ²½μ° μ΄λν°λ₯Ό ν¬ν¨νμ¬ 100% μ μν΄μΌ ν©λλ€. κ·Έλ¬λ λ΄κ° κ°μ₯ μμ£Ό default_adapterλ₯Ό μ¬μ©νλ κ²μ΄ μ¬μ€μ΄λ―λ‘ κΈ°λ³Έκ°μΌ μλ μμ΅λλ€.
λλ ν¨λ¬λ°μ΄ μ΄λν°λ₯Ό 리ν©ν λ§νμ¬ λ―Έλ€μ¨μ΄ λμ μλν¬μΈνΈλ‘ λ§λλ κ²μ λν΄ μκ°νκ³ μμμ΅λλ€(#47μ λ°λ¦). μ΄ κΈ°λ₯μ ν΄λΉ λ³κ²½ μ¬νμ μΌλΆμΌ μ μμ΅λλ€.
:+1: μ΄κ²μ μ¬ν΄ λ λ²μ§Έλ‘ μ λ₯Ό λ¬Όμμ΅λλ€. λΉμ μ λ΄κ° λ°°μΈ κ²μ΄λΌκ³ μκ°ν©λλ€. μμ λλ©΄ μ’μ κ²μ λλ€.
νν: Faraday.with_default_stack()
, κ·Έλμ μ°λ¦¬λ μ²μμΌλ‘ Faradayλ₯Ό μ¬μ©νλ €κ³ νλ μνΌμ΄ 리λλ μ
μ λ°λΌκ° μ μλλ‘ "κΈ°λ³Έ μ€ν"μ λν΄ μ무κ²λ μ νμκ° μλλ‘ ν©λλ€. ν©λ¦¬μ μΈ?
@jbrains μ, μ΄κ²μ΄ μ¬μ©μ μΉνμ μ΄μ§ μλ€λ κ²μ μκ³ μμ΅λλ€. μ΄λν°λ₯Ό λ§μ΄νΈνμ§ μμκ±°λ μλͺ»λ μμΉμ λ§μ΄νΈν κ²½μ° μ€λͺ μ€λ₯κ° λ°μνλλ‘ λ§λ€ μ μμ΅λλ€.
λλ λ΄ νλ‘μ νΈμμ μ΄κ²μνλ€ :
def faraday_with_default_adapter(base, &block)
Faraday.new(base) { | connection |
yield connection
connection.adapter Faraday.default_adapter
}
end
λλ λΉμ μ΄ λͺ¨λ μμ΄μ μ§μνκ³ μΆμ§ μλ€λ κ²μ μκ³ μμ§λ§ κ±°μ λͺ¨λ μ¬λλ€μ΄ κ²°κ΅ μ΄κ²μ ν κ² κ°μ΅λλ€. :) UrlEncoded
λΉνΈλ₯Ό μΆκ°νλ λ°©λ²μ μκ³ μλ€λ©΄(μμ§ λΆλͺμΉμ§ μμμ΅λλ€) μ¬κΈ°μ μΆκ°νκ² μ΅λλ€.
μ€λͺ
μ€λ₯κ° μλ lint
μ€νμΌ κ²μ¬κ° νμ€ν λμμ΄ λ κ²μ
λλ€. κ°μ¬ ν΄μ. κ·Έλλ μμ ν¬μΉ΄μν¬κ° μ°λ¦¬λ₯Ό λ λ§μ΄ λμΈ κ²μ
λλ€.
μμΌλ‘ pull requestλ₯Ό 보λ΄λ κ²μ κ³ λ €νκ² μ΅λλ€. κ·Έλμ κ°μ¬ν©λλ€.
μ΄κ²μ λ΄κ° μ λ‘λλ₯Ό μλνκ³ κΈ°λ³Έ μ΄λν°λ₯Ό μ§μ νμ§ μμμ λ λͺ μκ°μ μμ μ μλΉνμ΅λλ€(κΈ°λ³Έ μ΄λν°μ΄λ―λ‘ μ΄λ―Έ μ€μ λμ΄ μλ€κ³ κ°μ νμ΅λλ€). λλ κ³μν΄μ μλ΅/μμ² κ°μ²΄λ₯Ό λλ²κΉ νκ³ κ²μ¬νμΌλ©° λλ €μ΄ κΈ°λ³Έ μ΄λν° νμ΄ λλ½λ κ²μ μ μΈνκ³ λ μ ν λ¬Έμ κ° μμμ΅λλ€.
λλ μ΄κ²μ΄ μ μ΄λ μ΄λκ°μ READMEμ λ¬Έμνλμ΄μΌ νλ€κ³ μκ°νκ±°λ μ μ΄λ λͺ μμ μ΄λν°κ° νμνλ€κ³ κ²½κ³ ν΄μΌ νλ€κ³ μκ°ν©λλ€.
κ°μ¬ ν΄μ!
μ΄κ²μ λ€μ μμ ν¨κ» μ€λλ μ λ₯Ό λ¬Όλ Έμ΅λλ€.
conn = Faraday.new(url: "http://www.example.com") do |faraday|
faraday.response :json, content_type: /\bjson$/
end
response = conn.get("stuff")
nil
λ μλ΅ ν€λλ₯Ό κ°μ Έμ€λ €κ³ ν λ μ€λ₯κ° faraday_middlewareμ λνλ©λλ€. μ½κ° μ€ν΄μ μμ§κ° μμ΅λλ€. μ΄κ²μ μ²λ¦¬νλ "μ΅μ μ λ°©λ²"μ λν κ²°μ μ΄ λ΄λ €μ‘μ΅λκΉ?
PRμ μ μΆνλ κ²μ΄ μ’μ΅λλ€.
PRμ΄ νμ μμ΅λλ€. λ€μ 릴리μ€μμ μ΄ λ¬Έμ λ₯Ό ν΄κ²°νλ €κ³ ν©λλ€.
@mislavλ, κ°μ¬ν©λλ€.
λ€, μ΄μ μ΄κ±Έ μ«λλΌ ν μκ°μ νλΉνμ΅λλ€. μμ μ΄ μ§ν μ€μ λλ€. λ€μ 릴리μ€λ μΈμ μΆμλ μμ μ λκΉ? μ§λ 1μμ΄ 1μμ΄μλλ° λ¬΄μ²μ΄λ κΈ΄ κ² κ°μ΅λλ€.
2014λ
10μ 2μΌ λͺ©μμΌ μ€ν 5:49, John Carney μλ¦Ό @github.com
μΌλ€:
λ€μ 릴리μ€λ μΈμ μΆμλ μμ μ λκΉ? λ§μ§λ§μ 1μμ΄μλλ°,
κ²λ μ€λλ§.
0.8 λ° 0.9λ κΈ°λ₯μ΄ λκ²°λμ΄μΌ νλ―λ‘ μ΄μ λν μμ μ¬νμ λ€μκ³Ό κ°μ΅λλ€.
1.0μΌλ‘λ§ μ΅λλ€. μΈμ κ° λ μ§λ λͺ¨λ₯΄κ² μ΅λλ€.
κ°λ¨ν μ€κ° μ§μ μ κ²½μ°λ μ΄λ»μ΅λκΉ? μ΄λν°κ° μμ λ μμ²μ μλνλ©΄ μμΈκ° λ°μν©λλ€.
μλλ©΄ μ΄λν° μμ΄ "μμ²νκΈ°"μ λν μ¬μ© μ¬λ‘κ° μμ΅λκΉ?
2014λ
10μ 3μΌ κΈμμΌ μ€ν 2:07, John Bachir [email protected]
μΌλ€:
κ°λ¨ν μ€κ° μ§μ μ κ²½μ° μ΄κ²μ μ΄λ»μ΅λκΉ?
μ΄λν°κ° μμ λ μμ²νλ©΄ μμΈκ° λ°μν©λλ€.
μ΄λν°κ° μ₯μ°©λμλμ§ μ΄λ»κ² κ°μ§ν©λκΉ?
λκ΅°κ°κ° ꡬνν μ¬μ©μ μ§μ μ΄λν°κ° λ°λμ
Faraday::Adapterλ₯Ό νμ ν΄λμ€λ‘ μ§μ ν©λλ€.
μ, μκ² μ΅λλ€. μ΄λν°λ λ€λ₯Έ λ―Έλ€μ¨μ΄μ νμ μ΄κ³ ν μ€νΈν μ μΌν APIλ νμ€ λ APIμ΄λ―λ‘ λ―Έλ€μ¨μ΄κ° http μ΄λν°μΈμ§ μλ³ν λ°©λ²μ΄ μμ΅λλ€. :μλ둬본:
μ΄κ²μ΄ ꡬνλλ©΄ #496μ λ³κ²½ μ¬νμ λλ릴 μ μμ΅λλ€(λ¨Όμ λ³ν©λ κ²½μ°).
μ΄κ²μ +1. μ΅μν μ΄λν°κ° μ§μ λμ§ μμκ±°λ μ§μ λμ§ μμ κ²½μ° default_adapter
λ₯Ό μ¬μ©νλ κ²μ΄ μ’μ΅λλ€.
μ΄λ¦μ νΌλμ€λ½μ΅λλ€. λ―Έλ€μ¨μ΄λ₯Ό μΆκ°ν΄μΌ ν λ λ―Έλ€μ¨μ΄λ₯Ό μΆκ°νκ³ default_adapter
λ₯Ό μ μ리μ μ μ§ν΄μΌ ν κ²μΌλ‘ μμν©λλ€.
μ΄λν°κ° μ ν μλ€λ κ²μ μ΄λ¦¬μμ μΌμ λλ€. λΉμ μ κ²°μ½ κ·Έκ²μ μνμ§ ...
λλ λ¨μ§ μ°λ¦¬κ° μ΄κ²μ κ΄λ¦¬νκΈ° μν μ λ΅μ λν΄ λ΄λΆμ μΌλ‘ λ
Όμνκ³ μλ€λ κ²μ λͺ¨λ μ¬λλ€μκ² νμ€ν νκ³ μΆμ΅λλ€.
μ¬μ΄ κ²μ¬μ²λΌ λ€λ¦¬μ§λ§ @mislav κ° μ΄λ―Έ μ€λͺ
νλ―μ΄ μ¬λλ€μ΄ μ΄λν°λ₯Ό λ―Έλ€μ¨μ΄ μ€νμ μΆκ°ν΄μΌ νλ μμ μ κ΄λ ¨λ νμ¬ λ¬Έμ κ° μμ΅λλ€.
μ¬μ€, νμ¬ "μ΄λν°"λ λ€λ₯Έ κ²κ³Ό λ§μ°¬κ°μ§λ‘ μμ²μ μννλ λ―Έλ€μ¨μ΄μ λΆκ³Όν©λλ€.
μ΄μ μμ μ λ―Έλ€μ¨μ΄ μ€νμ μ μν λ μ°κ²°μ ꡬμΆν λ #adapter
λ©μλλ₯Ό μ¬μ©νμ§ μλ ν λ€λ₯Έ λ―Έλ€μ¨μ΄μμ μ΄λν°λ₯Ό κ°μ§νλ κΈ°λ₯μ μκ² λ©λλ€. λΆννλ νμ¬λ‘μλ νμκ° μλλ―λ‘ μ΄λν° κ°μ§κ° λΆκ°λ₯ν©λλ€.
μμν! μ¬κΈ°μμ μλ €μ£Όμ μ κ°μ¬ν©λλ€. :)
2016λ 11μ 14μΌ μ€ν 2μ 45λΆμ Mattia [email protected] μμ λ€μκ³Ό κ°μ΄ μΌμ΅λλ€.
λλ λ¨μ§ μ°λ¦¬κ° λ΄λΆμ μΌλ‘ μ λ΅μ λ Όμνκ³ μλ€λ κ²μ λͺ¨λ μ¬λλ€μκ² νμ€ν νκ³ μΆμ΅λλ€.
μ΄κ²μ κ΄λ¦¬νκΈ° μν΄.
μ¬μ΄ κ²μ¬μ²λΌ λ€λ¦¬μ§λ§
@mislav λ μ΄λ―Έ λ¬Έμ κ° μλ€κ³ μ€λͺ νμ΅λλ€.
μ¬λλ€μ΄ μ΄λν°λ₯Ό μΆκ°ν΄μΌ νλ μμ μ κ΄λ ¨λ μκ°
λ―Έλ€μ¨μ΄ μ€ν.
μ¬μ€ νμ¬ "μ΄λν°"λ λ€μκ³Ό κ°μ λ―Έλ€μ¨μ΄μ μ§λμ§ μμ΅λλ€.
κΈ°ν, μμ²μ μνν©λλ€.
μ΄μ μμ μ λ―Έλ€μ¨μ΄ μ€νμ μ μνλ©΄
#adapter
λ₯Ό μ¬μ©νμ§ μλ ν λ€λ₯Έ λ―Έλ€μ¨μ΄μμ μ΄λν°λ₯Ό κ°μ§νμμμ€.
μ°κ²°μ ꡬμΆν λμ λ°©λ². λΆννλ, κ·Έκ²μ μ¬μ©μ
νμ¬λ‘μλ νμμ΄λ―λ‘ μ΄λν° κ°μ§κ° λΆκ°λ₯ν©λλ€.β
λΉμ μ΄ λκΈμ λ¬μκΈ° λλ¬Έμ μ΄κ²μ λ°λ κ²μ λλ€.
μ΄ μ΄λ©μΌμ μ§μ λ΅μ₯νκ±°λ GitHub μμ 보거λ μμκ±°μ€λ λ .
https://v2.developer.pagerduty.com/docs/authentication
λ°λΌμ Ruby+Faradayμ λν PagerDuty API λ¬Έμλ μ΄ λμμ λνλ λλ€. μ½λλ§ μ¬μ©νλ©΄ μλνμ§ μμ΅λλ€. (κ³ μ νμ§ μλ ν μ΄λν°κ° μλ€λ μ μ μ§μ νκΈ° λλ¬Έμ μλ§λ μ΄μ ν΄κ²°λ κ²μ λλ€.)
μμ§ν μ μ μμ λ€μκ³Ό κ°μ΅λλ€.
"conn.get"μ νΈμΆνκ³ connμ μ΄λν°κ° μμΌλ©΄ μμΈλ₯Ό λ°μμμΌ . νμ¬ λμμ μ¦μ λ°ννμ§λ§ Faradayκ° get νΈμΆμ κ²°κ³Όλ‘ μ€λͺ νλ μνλ‘ μ€μ νμ§ μλ κ²μ λλ€. μλ₯Ό λ€μ΄ ".status"λ μ¬μ ν nilμ λλ€. μ΄κ²μ μ λ§ λλΌμ΄ νλμ λλ€! λλ "λΉμ μ΄ λμκ² λ¬΄μμ ν΄μ£ΌκΈ°λ₯Ό μνλμ§ μ ν λͺ¨λ₯΄κΈ° λλ¬Έμ λλ μ무κ²λ ν μ μλ€"λΌκ³ λ§ν κ²μ λλ€. μλ§λ μΌμ’ μ μ§λ¨μ λ§λ€μ΄λΌ κ²μ λλ€.
μλ νμΈμ @seebs μ΄λ¦¬μκ² λ€λ¦°λ€λ κ²μ μκ³ μμ§λ§ μ΄μ μ견μμ λ³Ό μ μμλ κ²μ²λΌ μ΄κ²μ΄ μ½μ§ μμ μ΄μ λ₯Ό μ€λͺ νμ΅λλ€.
μμ μ λ―Έλ€μ¨μ΄ μ€νμ μ μν λ μ°κ²°μ ꡬμΆν λ #adapter λ©μλλ₯Ό μ¬μ©νμ§ μλ ν λ€λ₯Έ λ―Έλ€μ¨μ΄μμ μ΄λν°λ₯Ό κ°μ§νλ κΈ°λ₯μ μκ² λ©λλ€. λΆννλ νμ¬λ‘μλ νμκ° μλλ―λ‘ μ΄λν° κ°μ§κ° λΆκ°λ₯ν©λλ€.
λλ λ¬΄μ¨ μΌμ΄ μΌμ΄λλμ§ μΆμ νλ €κ³ λ Έλ ₯νκ³ , λλ λκ°λ₯Ό λμΉκ³ μμ΅λλ€.
λ§μ μ¬λλ€μ΄ νλ λͺ λ°±ν μΌμ νκ³ μ΄λν°λ₯Ό μ§μ νμ§ μμΌλ©΄ getμ νΈμΆν λ κ²°κ΅ app.callμ μννλ rack_builderμ build_responseλ‘ λλ©λλ€. κ·Έλ¦¬κ³ μ λ... μ€μ λ‘ κ·Έκ²μ΄ μ΄λλ‘ κ°λμ§ νμ€νμ§ μμ΅λλ€. μλνλ©΄ μ λ μ±μ΄ μ΄λμμ μ€μ λμλμ§ λ³Ό μ μκΈ° λλ¬Έμ λλ€.
κ·Έλμ μ κ° κΆκΈν κ²μ "adapter :foo"λ₯Ό νμ§ μμΌλ©΄ κ²°κ΅ μ νλ₯Ό λ°λ κ²°κ³Όλ 무μμ λκΉ?
νλμ κ°λ¨ν μ루μ
:
def initialize(νΈλ€λ¬ = [])
@handlers = νΈλ€λ¬
λ§μ½ block_given?
... λλ μ΄κ²μ΄ μλν κ²μ΄λΌκ³ μκ°ν©λκΉ(-ish)?
λλ build(&Proc.new) ν self.adapterκ° μ€μ λμλμ§ νμΈνμμμ€.
adapter :foo
κ° μ΄λν°λ₯Ό μ€μ νλ λ° κ°μ₯ λ§μ΄ μ¬μ©λλ λ°©λ²μ΄μ§λ§ λ€λ₯Έ λ°©λ²λ μμ΅λλ€.
#adapter
λ μ¬μ€ λμ°λ―ΈμΌ λΏμ΄μ§λ§ #use
λ₯Ό μ¬μ©νμ¬ μ΄λν°λ₯Ό μ€νμ λ£μ μ μμ΅λλ€.
conn = Faraday.new(url: "http://www.example.com") do |faraday|
faraday.response :logger
faraday.use Faraday::Adapter::NetHttp
end
κ·Έλ λ€λ©΄ νμ¬ μ΄λν°λ 무μμ
λκΉ? νΈμΆμ μννκ³ κ²°κ³Όλ₯Ό env
μ μ μ₯νλ λ―Έλ€μ¨μ΄μ μ§λμ§ μμ΅λλ€. μ΄κ²μ΄ νΈμΆλλ #adapter
λ©μλμ λ¨μν μμ‘΄ν μ μλ μ΄μ μ
λλ€. μꡬ μ¬νμ΄ μλκΈ° λλ¬Έμ Faraday::Adapter
μμ μμνλ μ΄λν° μν μ νλ λ―Έλ€μ¨μ΄μ μμ‘΄ν μ μμ΅λλ€.
μ μΌν ν΄κ²°μ±
μ Faraday 1.0 릴리μ€λ₯Ό μ¬μ©νμ¬ #adapter
λ©μλλ₯Ό μ무μ μΌλ‘ μ¬μ©νλλ‘ νκ±°λ λ©μλκ° νΈμΆλμ§ μμΌλ©΄ μ€νμ κΈ°λ³Έ μ΄λν°λ₯Ό νΈμνκ³ μ¬μ©ν κ²μ΄λΌκ³ κ°μ νλ κ²μ
λλ€.
μ°λ¦¬λ μ΄λ€ λ°©μμ΄ μ΅μμ μ루μ
μ΄ λ κ²μΈμ§ λ΄λΆμ μΌλ‘ μ¬μ ν λ
Όμ μ€μ΄λ©° κ²°κ΅ μ
λ°μ΄νΈ νμ μ¬λλ€μ΄ μκΈ°μΉ μμ κ²°κ³Όλ₯Ό μ»κ² λ κ²μ
λλ€.
λ§μ μ¬λλ€μ΄ Faradayλ₯Ό μ²μ μ¬μ©ν λ μΌμ΄λλ μΌμ
λλ€. μ λ λμνμ§λ§ bundle update
λ₯Ό μ€νν ν νλ‘λμ
μμ€ν
μμ μ΄λ¬ν μΌμ΄ λ°μνλ©΄ νμ€ν λ λμ©λλ€. :)
λ΄κ° μ΄ν΄νμ§ λͺ»νλ κ²μ ... μ΄λν°λ₯Ό μ€μ νμ§ μμ κ²½μ° νΈμΆμ μ²λ¦¬νκ³ κ²°κ³Όλ₯Ό μ μ₯νλ κ²μ 무μμ λκΉ? μ΄λν°λ₯Ό μ ννλ€λ©΄ μ΄λν°μ call() λ©μλλ₯Ό μ¬μ©νλ νΈμΆμ΄ μλ€κ³ μκ°ν©λλ€. μ΄λν°λ₯Ό μ ννμ§ μμ κ²½μ° μ€μ λ‘ μ€νλλ μ½λλ 무μμ λκΉ?
μ¬κΈ°μμ #adapter
λ°©λ²μ μ¬μ©νμ§ μκ³ μ΄λν°λ₯Ό μ ννμ΅λλ€.
faraday.use Faraday::Adapter::NetHttp
μ΄μ λκΈμμ λ΄ μ€λν«μ κ°μ Έ μμ μλν΄ λ³΄μΈμ. μ λλ‘ μλν κ²μ
λλ€.
λ¬Έμ λ μ€νμ μ΄λν°λ₯Ό μ¬λ¬ κ°μ§ λ°©λ²μΌλ‘ νΈμν μ μμΌλ©° μΌλ¨ μ΄λν°κ° μμΌλ©΄ μμ²μ μ¬μ©λ©λλ€( #call
λ©μλ νΈμΆ).
μ£μ‘ν©λλ€, λλ λΆλͺ ν λΆλΆλͺ νμ΅λλ€. μ¬λ¬ κ°μ§ λ°©λ²μΌλ‘ μ΄λν°λ₯Ό μ νν μ μλ€λ κ²μ μκ³ μμ΅λλ€.
κ·Έλ¬λ μ΄λν°λ₯Ό μ ννμ§ μκ³ conn.get(...)μ νΈμΆνλ μΌλ°μ μΈ μ΄λ³΄μ μ€μλ₯Ό κ³ λ €νμμμ€. "ν¨κ³Όκ° μλ κ²"μ μ μΈνκ³ μ€μ λ‘ μ΄λ€ μΌμ΄ λ°μν©λκΉ?
λλ μ νλ₯Ό μΆμ νλ €κ³ μλνμ§λ§ μ€μ λ‘ λ¬΄μ¨ μΌμ΄ μΌμ΄λλμ§ μμλΌ μ μμμ΅λλ€. Connectionμ΄ run_requestλ₯Ό νΈμΆνλ κΈ°λ³Έ getμ μ μν κ² κ°μ΅λλ€. μ°¨λ‘λ‘ build_request λ° build_responseλ₯Ό νΈμΆνκ³ μ΄κ²μ΄ app.call()μ νΈμΆνλ rack_builderμ build_response()μμ λλλ€κ³ μκ°ν©λλ€. μ±μ΄ call()μ μ²λ¦¬νλ Response κ°μ²΄λ₯Ό μμ±νλ κ²μΌλ‘ 보μ λλ€. κ·Έλ°λ° ν·κ°λ¦½λλ€. call() λ©μλλ₯Ό μ μνλ κ²μ‘°μ°¨ Responseλ₯Ό λ³Ό μ μμΌλ©° μ€μ λ‘ call() λ©μλκ° νΈμΆλλ κ²°κ³Όλ₯Ό νμ ν μ μμ΅λλ€.
λλ νΈμΆλλ νΈμΆ λ©μλκ° μλ 무μΈκ° κ° μλ€κ³ κ°μ ν©λλ€. μ΄λν°λ₯Ό μ νν κ²½μ° ν΄λΉ μ΄λν°μ νΈμΆ λ°©λ²μ κ°μ Έμ΅λλ€. μ΄λν°λ₯Ό μ ννμ§ μμ κ²½μ° μ€μ λ‘ μ€νλλ νΈμΆ λ°©λ²μ μ΄λμμ μμ΅λκΉ?
μμ²κ³Ό μλ΅μ μ€μ ν ν Connection
λ λͺ¨λ λ―Έλ€μ¨μ΄λ₯Ό μ΄ν΄λ³΄κ³ μ€νμ΄ μ±μμ§λ κ²κ³Ό κ°μ μμλ‘ call(env)
λ©μλλ₯Ό νΈμΆν©λλ€.
"μΌλ° λ―Έλ€μ¨μ΄"μ μ΄λν°λ₯Ό ꡬλΆνμ§ μκ³ λ―Έλ€μ¨μ΄ μ€ νλκ° μ΄λν°λΌκ³ κ°μ ν©λλ€. μ€νμ "μ΄λν° λ―Έλ€μ¨μ΄"κ° μμΌλ©΄ λ€λ₯Έ λͺ¨λ λ―Έλ€μ¨μ΄κ° νΈμΆλμ§λ§( call
λ©μλ) κ·Έ μ€ μ무 κ²λ μμ²μ ν¨κ³Όμ μΌλ‘ μννμ§ μμ΅λλ€(μ΄λν° μν ).
μ¦, μλ΅μ μν, λ³Έλ¬Έ λ° "μ΄λν° λ―Έλ€μ¨μ΄"λ‘ μ±μμ§λ κΈ°ν λͺ¨λ νλκ° λλ½λ©λλ€.
μ½μ§ μλ€λ κ²μ μ΄ν΄νμ§λ§ μ΄μ λ λͺ νν΄μ§κΈ°λ₯Ό λ°λλλ€ π
μνν! κ·Έκ²μ΄ λ΄κ° μ΄ν΄νμ§ λͺ»ν κ²μ λλ€. κ·Έλ€μ΄ λͺ¨λ call() ν¨μλ₯Ό μ 곡ν κ²μ΄λΌκ³ μκ°νμ§ μμμ΅λλ€.
λͺ¨λ κ²μ νΈμΆν ν μνκ° μ€μ λμ§ μμ κ²½μ° μ½λμμ μμΈκ° λ°μνλ©΄ μ΄λ»κ² λ κΉμ? "StatusNotSetException: μνκ° μ€μ λμ§ μμμ΅λλ€. λ―Έλ€μ¨μ΄κ° μ€μ λ‘ λ€νΈμν¬ κ°μ Έμ€κΈ°λ₯Ό μννλ μ΄λν°λ₯Ό μ§μ νμ§ μμμ κ°λ₯μ±μ΄ ν½λλ€."
λλ μ΄κ²μ΄ μμ λλ κ²μ μ λ§λ‘ λ³΄κ³ μΆμ΅λλ€!
#750 @iMacTia μμ μμ λμμ΅λλ€. λ«μΌμκ² μ΅λκΉ?
@olleolleolle λ€ μ’μ μ§μ μ λλ€! λλ μ΄κ²μ μΈκΈν¨μΌλ‘μ¨ μ΄κ²μ΄ μλμΌλ‘ λ«ν κ²μ΄λΌκ³ μκ°νμ΅λλ€ :(
μ΄κ±° μΆμ μλκ±°κ°μλ°? 1.0 μ΄μ μ λ§μ΄λ 릴리μ€λ₯Ό λ³Ό κ°λ₯μ±μ΄ μμ΅λκΉ? :speak_no_evil:
@franzliedke λ§μ΅λλ€. μ΄κ²μ νμ¬ v1.0μ ν¬ν¨λμ΄ μμΌλ©° κ½€ μ€λ μ μ λ³ν©λμλ€λ λ° λμν©λλ€ π
.
μ°λ¦¬λ v1.0μ ν₯ν΄ λ§μ μ§μ μ μ΄λ€κ³ μ°λ¦¬λ κ·Έκ²μ λμ΄μλ λ° μλΉν κ°κΉλ€κ³ λ§νκ³ μΆμ΅λλ€.
μκ°μ μ‘°κΈλ§ λ μ£ΌμΈμ. κΈ°λ€λ¦΄λ§ν κ°μΉκ° μμ΅λλ€ π
λ£κΈ° μ’μ!
μ½κ° κΉλ€λ‘κ² ν΄μ μ£μ‘ν©λλ€. μ€ν μμ€κ° μΌλ§λ μ€νΈλ μ€λ₯Ό μ£Όλμ§ μλλ€. νλ₯ν μννΈμ¨μ΄μ κ°μ¬λ립λλ€!
μ ν @franzliedke !
μ‘°κΈ λ 빨리 v1.0μ μ‘°μ€νκ³ λ¦΄λ¦¬μ€ν΄μΌ ν©λλ€.
λ°μΉμ λμΉμ§ μμΌλ €λ©΄ repoλ₯Ό μμ²νμΈμ π
κ°μ₯ μ μ©ν λκΈ
μ΄κ²μ +1. μ΅μν μ΄λν°κ° μ§μ λμ§ μμκ±°λ μ§μ λμ§ μμ κ²½μ°
default_adapter
λ₯Ό μ¬μ©νλ κ²μ΄ μ’μ΅λλ€.