๐Ÿ‘๏ธGaze๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ฝ”๋”ฉ ๊ฐ€์†ํ™”

2835 ๋‹จ์–ด programming
์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์€ โ€‹โ€‹์ข…์ข… ๋™์ผํ•œ ๋ช…๋ น์„ ์†์œผ๋กœ ๋ฐ˜๋ณตํ•ด์„œ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค!

๐Ÿ‘๏ธGaze์€ ํŒŒ์ผ์„ ์ €์žฅํ•œ ์งํ›„ ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ ์ž‘์„ฑ์— ์ง‘์ค‘ํ•˜๋Š” ๋ฐ ํฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค!



Gaze๋Š” ์ฝ”๋”ฉ์„ ๊ฐ€์†ํ™”ํ•˜๋Š” CLI ๋„๊ตฌ๋กœ ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์‚ฌ์šฉ์ด ๊ฐ„ํŽธํ•˜๊ณ  ์ฆ‰์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ œํ’ˆ
  • ์ดˆ๊ณ ์† ๋ฐ˜์‘
  • ์–ธ์–ด ๋ถˆ๊ฐ€์ง€๋ก , ํŽธ์ง‘์ž ๋ถˆ๊ฐ€์ง€๋ก 
  • ์œ ์—ฐํ•œ ๊ตฌ์„ฑ
  • ์œ ์šฉํ•œ ๊ณ ๊ธ‰ ์˜ต์…˜
  • ๋‹ค์ค‘ ํ”Œ๋žซํผ(macOS, Windows, Linux)
  • ์ ์ ˆํ•œ ๋ณ‘๋ ฌ ์ฒ˜๋ฆฌ

  • ๐Ÿ‘๏ธ์„ค์น˜



    macOS์—์„œ

    brew tap wtetsu/gaze
    brew install gaze
    


    Windows/Linux: ๋ฐ”์ด๋„ˆ๋ฆฌ ๋‹ค์šด๋กœ๋“œhttps://github.com/wtetsu/gaze/releases

    ๐Ÿ‘๏ธ์‚ฌ์šฉ๋ฐฉ๋ฒ•



    Gaze๋Š” ์ •๋ง ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ์Šต๋‹ˆ๋‹ค.

    gaze .
    


    ๊ทธ๋ฆฌ๊ณ  ๋‹ค๋ฅธ ํ„ฐ๋ฏธ๋„์—์„œ ์ข‹์•„ํ•˜๋Š” ํŽธ์ง‘๊ธฐ๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ํŽธ์ง‘ํ•˜์„ธ์š”!

    vi a.py
    


    ๐Ÿ‘๏ธ๋” ๋งŽ์€ ์˜ˆ์‹œ



    ํ•˜๋‚˜์˜ ํŒŒ์ผ์„ ์‘์‹œํ•ฉ๋‹ˆ๋‹ค. ํŒŒ์ผ ์ด๋ฆ„๋งŒ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    gaze a.py
    



    Gaze์—๋Š” ํŒŒ์ผ์„ ์ง€์ •ํ•˜๋Š” ๋ณต์žกํ•œ ์˜ต์…˜์ด ์—†์Šต๋‹ˆ๋‹ค. ์‰˜ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ต์ˆ™ํ•œ ์™€์ผ๋“œ์นด๋“œ(*, **, ?)๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Gaze ๊ด€๋ จ ๋ช…๋ น์ค„ ์˜ต์…˜์„ ๊ธฐ์–ตํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค!

    gaze "*.py"
    



    ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ฃผ์‹œํ•˜์‹ญ์‹œ์˜ค. ์ˆ˜์ •๋œ ํŒŒ์ผ์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gaze "src/**/*.rb"
    



    ํ•˜์œ„ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ฃผ์‹œํ•˜์‹ญ์‹œ์˜ค. ์ˆ˜์ •๋œ ํŒŒ์ผ์— ๋ช…๋ น์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

    gaze "src/**/*.js" -c "eslint {{file}}"
    



    ๋‹ค์Œ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ๋งค๋ฒˆ ์ง„ํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์„œ๋ฒ„๋ฅผ ์ž‘์„ฑํ•  ๋•Œ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

    gaze -r server.py
    



    1000(ms) ํ›„์— ์ง„ํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค. ๋ฌดํ•œ ๋ฃจํ”„ ์ž‘์„ฑ์„ ์ข‹์•„ํ•˜๋Š” ๊ฒฝ์šฐ์— ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค.

    gaze -t 1000 complicated.py
    



    ํ•˜๋‚˜์˜ ์—…๋ฐ์ดํŠธ์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๋ ค๋ฉด ๋‹จ์ˆœํžˆ ์—ฌ๋Ÿฌ ์ค„์„ ์ž‘์„ฑํ•˜์‹ญ์‹œ์˜ค(์ผ๋ฐ˜ ์‰˜์˜ ๊ฒฝ์šฐ ์ธ์šฉ ๋ถ€ํ˜ธ ์‚ฌ์šฉ). ์ข…๋ฃŒ ์ฝ”๋“œ๊ฐ€ 0์ด ์•„๋‹Œ ๊ฒฝ์šฐ Gaze๋Š” ๋‹ค์Œ ๋ช…๋ น์„ ํ˜ธ์ถœํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

    gaze "*.cpp" -c "gcc {{file}} -o a.out
    ls -l a.out
    ./a.out"
    


    ๐Ÿ‘๏ธ๋™๊ธฐ



    ์ง€๋ฃจํ•œ ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•ด Python ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž์ฃผ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค. a.py๋ฅผ ๋งŒ๋“ค๊ณ  5์ค„์˜ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  "python a.py"๋ฅผ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ๊ฐ€ ์™„๋ฒฝํ•˜์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— a.py๋ฅผ ๋‹ค์‹œ ์ˆ˜์ •ํ•˜๊ณ  "python a.py"๋ฅผ ๋‹ค์‹œ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค.

    ๊ณ„์†ํ•ด์„œ...

    ๊ทธ๋Ÿฐ ๋‹ค์Œ ํŽธ์ง‘๊ธฐ์™€ ํ„ฐ๋ฏธ๋„ ์‚ฌ์ด๋ฅผ ์˜ค๊ฐ€๋ฉฐ ๋™์ผํ•œ ๋ช…๋ น์„ ์ˆ˜์ฒœ ๋ฒˆ ์ž…๋ ฅํ•˜๋Š” ๊ฒƒ์€ ์‹œ๊ฐ„๊ณผ ์—๋„ˆ์ง€์˜ ๋‚ญ๋น„์ž…๋‹ˆ๋‹ค!

    ๊ทธ๋ž˜์„œ ๋ช…๋ น ์‹คํ–‰์„ ์ž๋™ํ™”ํ•˜๊ธฐ ์œ„ํ•ด Gaze๋ฅผ ๊ฐœ๋ฐœํ–ˆ์Šต๋‹ˆ๋‹ค.

    ์ž์„ธํ•œ ๋‚ด์šฉ๋ณด๊ธฐ!
    https://github.com/wtetsu/gaze

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