Changelog #0009 โ€” ๐ŸŒŠ cURL, HAR ๋ฐ ๊ธฐํƒ€ 30๊ฐœ ์ด์ƒ์˜ ํ˜•์‹ ๋‚ด๋ณด๋‚ด๊ธฐ

3828 ๋‹จ์–ด
์ƒˆํ•ด, ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ! ์ง€๋‚œ ์ฃผ์— ์šฐ๋ฆฌ๋Š” ์ฃผ๋กœ ์ „๋ฐ˜์ ์ธ ์•„ํ‚คํ…์ฒ˜์™€ ์ผ ๋…„ ๋‚ด๋‚ด ์ž‘์—…์„ ์ž ๊ธˆ ํ•ด์ œํ•  ๋‚ด๋ถ€ ๊ฐœ์„ ์— ์ค‘์ ์„ ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ์™ธ์—๋„ ์‚ฌ์šฉ์ž๊ฐ€ ๋ณผ ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ์ƒํ’ˆ๋„ ์ค€๋น„๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ƒˆ๋กœ์šด ์†Œ์‹์„ ํ™•์ธํ•˜์„ธ์š” ๐Ÿ‘‡

์›น ๋ฐ ๋ฐ์Šคํฌํ†ฑ์šฉ HTTPie



๐Ÿ“ฆ cURL ๋ช…๋ น ์ƒ์„ฑ ๋“ฑ



HTTPie command generation์€ ๋ฏธ๋ฆฌ ๋ณด๊ธฐ ํŒจ๋„์—์„œ ์ž ์‹œ ๋™์•ˆ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์š”์ฒญ์ด ๋งŽ์€ cURL, HAR, JavaScript, Node, Java, PHP, Objective-C, Swift, Python, Ruby, C#, Go, OCaml ๋“ฑ์„ ํฌํ•จํ•˜์—ฌ ๋‹ค๋ฅธ ๋งŽ์€ ์–ธ์–ด ๋ฐ ๋„๊ตฌ์— ๋Œ€ํ•œ ์ฝ”๋“œ์™€ ๋ช…๋ น์„ ๋‚ด๋ณด๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



๋ฏธ๋ฆฌ๋ณด๊ธฐ๋ฅผ ์—ด๊ณ  ์›ํ•˜๋Š” ๋‚ด๋ณด๋‚ด๊ธฐ ํ˜•์‹์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ์š”์ฒญ์„ ์ผ๋ถ€ ๋ณ€๊ฒฝํ•˜๊ณ  ์ฝ”๋“œ ๋ฏธ๋ฆฌ๋ณด๊ธฐ์— ์ฆ‰์‹œ ๋ฐ˜์˜๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค. ์ด๋Š” API ํ˜ธ์ถœ ์ฝ”๋“œ์šฉ WYSIWYG ํŽธ์ง‘๊ธฐ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ์˜ ์  ์„ธ ๊ฐœ๋ฅผ ๋ˆ„๋ฅด๊ณ  ์ƒ์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ๋ณต์‚ฌํ•˜์—ฌ ๋‚ด๋ณด๋‚ด๊ณ  ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ์‰ฌ์šด!

โœจ ๊ฐœ์„  ์‚ฌํ•ญ


  • ์ž‘์€ ๊ฐœ์„  ๋ฐ ์ตœ์ ํ™”.

  • ํ„ฐ๋ฏธ๋„์šฉ HTTPie



    ์šฐ๋ฆฌ๋Š” ๊ณง ๋‚˜์˜ฌ HTTPie for Terminal 3.0.0 ๋ฆด๋ฆฌ์Šค๋ฅผ ์œ„ํ•ด ๋…ธ๋ ฅํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. development version์˜ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    ๐ŸŒฒ ๋”์šฑ ๊ฐ•๋ ฅํ•˜๊ณ  ์‚ฌ์šฉ์ž ์นœํ™”์ ์ธ ์ค‘์ฒฉ JSON ๊ตฌ๋ฌธ



    nested JSON syntax์€ HTTPie request language์„ ํ™•์žฅํ•˜๊ณ  ์ปดํŒฉํŠธํ•จ๊ณผ ํ‘œํ˜„๋ ฅ์„ ํ†ตํ•ด JSON API์™€ ํ†ต์‹ ํ•  ๋•Œ ์ƒ์‚ฐ์„ฑ ํ–ฅ์ƒ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ค‘๊ด„ํ˜ธ, ๋”ฐ์˜ดํ‘œ ๋˜๋Š” ๋ฐฑ๋ž˜์‹œ๋ฅผ ๊ฑฑ์ •ํ•˜์ง€ ์•Š๊ณ  ๋ณต์žกํ•œ JSON ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ด ๊ตฌ๋ฌธ์€ ๋‚˜๋จธ์ง€ HTTPie ์–ธ์–ด์™€ ํ•จ๊ป˜ ๊ฒฐ๊ตญ ์›น ๋ฐ ๋ฐ์Šคํฌํ†ฑ์šฉ HTTPie์—๋„ ์ ์šฉ๋˜๋ฏ€๋กœ ์šฐ๋ฆฌ๋Š” ์ด ๊ตฌ๋ฌธ์„ ๊ณต๊ฐœํ•˜๊ธฐ ์ „์— HTTPie ํ‘œ์ค€์— ๋ถ€ํ•ฉํ•˜๋Š”์ง€ ํ™•์ธํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค.

    ์‚ฌ์šฉ์ž์˜ ๋„์›€์œผ๋กœ ๋‹ค์–‘ํ•œ ์—ฃ์ง€ ์ผ€์ด์Šค๋ฅผ ์‹๋ณ„ํ•˜๊ณ  ๊ธฐ๋ณธ ๊ตฌํ˜„์„ ํ›จ์”ฌ ๋” ๊ฐ•๋ ฅํ•˜๊ฒŒ ๋‹ค์‹œ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋” ์ž˜ ๋ณผ ์ˆ˜ ์žˆ๋„๋ก ์ด์ œ ๊นจ์ง„ ์ž…๋ ฅ์„ ์ž๋™์œผ๋กœ ์ˆ˜๋ฝํ•˜๋Š” ๋Œ€์‹  ๊ตฌ๋ฌธ ๋ฐ ์œ ํ˜• ์˜ค๋ฅ˜ ์•ˆ๋‚ด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

    ๋ถˆ๊ท ํ˜• ๋ธŒ๋ผ์ผ“




    $ http --offline --print=B  pie.dev/post "foo[bar]=baz" "foo[quux:=1"
    



    HTTPie Syntax Error: Expecting ']'
    
    foo[quux
            ^
    


    ๊ด„ํ˜ธ ์ƒ๋žต




    $ http --offline --print=B  pie.dev/post "foo[bar]baz[quux]:=2"
    



    HTTPie Syntax Error: Expecting '['
    
    foo[bar]baz[quux]
            ^^^
    


    ์œ ํ˜• ์˜ค๋ฅ˜




    $ http --offline --print=B  pie.dev/post "foo[bar]=baz" "foo[1]:=2"
    



    HTTPie Type Error: Can't perform 'index' based access on 'foo' which has a type of 'object' but this operation requires a type of 'array'.
    
    foo[1]
       ^^^
    


    ์ฆ๊ฑฐ์šด ํ…Œ์ŠคํŠธ ํ•˜์‹œ๊ณ  ๋‹ค์Œ ์ฃผ์— ๋ต™๊ฒ ์Šต๋‹ˆ๋‹ค!


  • ๐Ÿ’๐Ÿปโ€โ™€๏ธ ์•„์ง ๋น„๊ณต๊ฐœ ๋ฒ ํƒ€๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด join the waitlist here .
  • ๐Ÿ‘‰ ํŒ”๋กœ์šฐ ๋ฐ ๊ฐ€์ž…๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค Discord community .
  • ๐Ÿ‘ฉโ€๐Ÿ’ป engineering and design roles ์—์„œ ์ƒˆ๋กœ์šด ๋™๋ฃŒ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค.



  • HTTPie blog์— ์›๋ž˜ ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

    ์ข‹์€ ์›นํŽ˜์ด์ง€ ์ฆ๊ฒจ์ฐพ๊ธฐ