๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

All

(175)
๐Ÿ Python * code๋กœ Ubuntu file, directory ์‚ญ์ œํ•˜๊ธฐ 1. ํŒŒ์ผ์„ ์ง€์šธ ๋•Œ ๐Ÿ‘‰ os.remove() import os os.remove(๊ฒฝ๋กœ) - path๊ฐ€ ๋””๋ ‰ํ† ๋ฆฌ(ํด๋”)์ธ ๊ฒฝ์šฐ OSError๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. - ํ˜„์žฌ ์‚ฌ์šฉ์ค‘์ธ ํŒŒ์ผ์„ ์ง€์šฐ๋ ค๊ณ  ํ•  ๊ฒฝ์šฐ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. - windows exception ๋ฐœ์ƒ - unix directory entry๋Š” ์ œ๊ฑฐ๋˜์ง€๋งŒ ํŒŒ์ผ ์‚ฌ์šฉ์ด ๋๋‚˜๊ธฐ ์ „๊นŒ์ง€๋Š” ์ €์žฅ์žฅ์น˜์—์„œ ์ œ๊ฑฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 2. ๋นˆ ๋””๋ ‰ํ† ๋ฆฌ๋ฅผ ์ง€์šธ ๋•Œ ๐Ÿ‘‰ os.rmdir() import os os.rmdir(๊ฒฝ๋กœ) - ๋””๋ ‰ํ† ๋ฆฌ๊ฐ€ ๋น„์–ด์žˆ์ง€ ์•Š์œผ๋ฉด OSError๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. 3. ๋””๋ ‰ํ† ๋ฆฌ์™€ ๋‚ด์šฉ๋ฌผ ๋ชจ๋‘๋ฅผ ์ง€์šธ ๋•Œ ๐Ÿ‘‰ shutil.rmtree() import shutil shutil.rmtree(๊ฒฝ๋กœ[, ignore_errors[, oneror])] - ๋‹ค๋งŒ ..
๐Ÿง Ubuntu * ํŒŒ์ผ์€ rm ๋ง๊ณ  ํœด์ง€ํ†ต์œผ๋กœ ์•ˆ์ „ํ•˜๊ฒŒ ๋ณด๋ƒ…์‹œ๋‹ค.. ์ฅฌ๋ฅต ์ด๊ฒƒ ์ €๊ฒƒ ์ž‘์—…์„ ํ•˜๋‹ค๊ฐ€ ๋™๋ฃŒ ์ง์›๋ถ„์ด ์ž‘์„ฑํ•ด ๋†“์€ ํŒŒ์ผ์„ ๊นƒ์— ์—…๋กœ๋“œ ํ•˜๊ณ  ๊ธฐ์กด ์ž‘์—…ํ•˜๋˜ ๋””๋ ‰ํ† ๋ฆฌ๋Š” ์“ธ๋ชจ๊ฐ€ ์—†๋‹ค๋Š” ํŒ๋‹จํ•˜์— ์‚ญ์ œ๋ฅผ ํ–ˆ๋Š”๋ฐ.. ์„ธ์ƒ์— ๋งˆ์ƒ์— ๊นƒ์— ์—…๋กœ๋“œ ๋œ ๋‚ด์šฉ์ด ์—†๋‹ค ? ๋™๋ฃŒ: ๐Ÿ˜จ !!!!!!!!!!!!!!! ๋‚˜: ? . . . ? ! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ๐Ÿ˜จ ๊ทธ๋ ‡๋‹ค.. ์˜ค๋Š˜์—์„œ์•ผ rm์˜ ๋ฌด์„œ์›€์„ ์ ˆ์‹คํžˆ ๊นจ๋‹ซ๊ฒŒ ๋œ ๋‚˜๋Š”.. ์ด์ œ์„œ์•ผ ํœด์ง€ํ†ต์œผ๋กœ ๋ณด๋‚ด๋Š” ๋ฐฉ๋ฒ•์„ ์ƒ๊ฐํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค ๐Ÿ˜ท ๋™๊ตฐ.. ์ฃ„์†ก๐Ÿ˜ท.. ์ค€๋น„ํ•˜๊ธฐ Trash ๋„ˆ๋Š” ์–ด๋””์— ์žˆ๋‹ˆ? ์ผ๋‹จ Trash๋ฅผ ์ฐพ์•„์•ผ ๋ฒ„๋ฆด ๊ฒƒ์ด ์•„๋‹Œ๊ฐ€!? ๊ทธ๋ ‡๋‹ค๋ฉด ์ผ๋‹จ Trash๊ฐ€ ์–ด๋””์— ์žˆ๋Š”์ง€ ์ฐพ์•„๋ณด์ž $ find ./ -name Trash ๋‚˜์˜ ๊ฒฝ์šฐ๋Š” Ubuntu 18.04 LTS์ธ๋ฐ ์œ„์น˜๊ฐ€ ./.local/share/T..
โœ… Solved * [Python] ํ•œ๊ธ€ encoding์ด ๋˜์ง€ ์•Š์„ ๋•Œ โ—‡ Linux: Ubuntu 16.04 LTS + 2020/03/03 Python 3.6์€ ๋ฌธ์ž์—ด ์ธ์‹ ๋ฐฉ๋ฒ•์ด ๊ธฐ๋ณธ์ ์œผ๋กœ utf-8 ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค์Œ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋Š”๋‹ค. ๋ฒ„์ „๋ณ„๋กœ ๊ธฐ๋ณธ ์ธ/๋””์ฝ”๋”ฉ ๋ฐฉ์‹์ด ๋‹ค๋ฅด๊ธฐ์— ๊ด€๋ จ๋œ ์—๋Ÿฌ๊ฐ€ ๋‚˜๋ฉด ์ฐพ์•„๋ณด๋Š” ๊ฒƒ์ด ์ข‹๊ฒ ๋‹ค. 1. ํŒŒ์ผ์˜ ๊ฐ€์žฅ ์œ„์— ์ฃผ์„์„ ์‚ฝ์ž…ํ•œ๋‹ค. # -*- coding:utf-8 -*- ์œ„์˜ ์ฃผ์„๋ฌธ ์ดํ›„์— ๋‚˜์˜ค๋Š” ๋ชจ๋“  ๋ฌธ์ž์—ด์ด UTF-8 ํ˜•์‹์ด๋ผ๋Š” ๊ฒƒ์„ ๋ช…์‹œํ•˜๋Š” ์ฝ”๋“œ์ด๋‹ค. ๋ณดํ†ต์˜ ๊ฒฝ์šฐ ์œ„์˜ ๋ฌธ์žฅํ•˜๋‚˜๋งŒ ์ ์–ด์ฃผ๋Š” ๊ฒƒ์œผ๋กœ ์ •๋ฆฌ๊ฐ€ ๋œ๋‹ค. ํ•˜์ง€๋งŒ, ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋‹ค๋ณด๋ฉด ์™ธ๋ถ€์—์„œ ๋ถˆ๋Ÿฌ์˜จ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํŒŒ์ผ์„ importํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์€๋ฐ ์ด ๊ฒฝ์šฐ ๋งค๋ฒˆ ๊ฐ ํŒŒ์ผ ์ƒ์œ„์— ์ฃผ์„์„ ์‚ฝ์ž…ํ•ด ์ฃผ๊ฑฐ๋‚˜ ์•„๋ž˜์˜ ๋ฐฉ๋ฒ•์„ main file์—๋‹ค๊ฐ€ ์‚ฌ์šฉํ•ด์ค€๋‹ค. 2. ์™ธ๋ถ€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ๊ธฐ๋ณธ..
๐Ÿณ Docker * Timezone(์‹œ๊ฐ„) ์„ค์ •ํ•˜๊ธฐ ! Docker์˜ ๊ธฐ๋ณธ timezone์€ UTC๋กœ ๋˜์–ด์žˆ์–ด ํ•œ๊ตญ์˜ ์‹œ๊ฐ„์œผ๋กœ ์„ค์ •ํ•˜๋ ค๋ฉด KST๋กœ ์ˆ˜์ •์„ ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค. Timezone์„ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์—ฌ๋Ÿฌ๊ฐ€์ง€๊ฐ€ ์žˆ๋Š”๋ฐ localhost timezone ๋””๋ ‰ํ† ๋ฆฌ ๋งˆ์šดํŠธ Timezone์„ ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํŒจํ‚ค์ง€ ์„ค์น˜ ํ›„ ์กฐ์ • etc... localhost timezone ๋””๋ ‰ํ† ๋ฆฌ ๋งˆ์šดํŠธ ๋ณดํ†ต localhost timezone ํด๋”์— ๋งˆ์šดํŠธํ•˜๋Š” ํ˜•์‹์œผ๋กœ ์„ค์ •์„ ์ง„ํ–‰ํ•œ๋‹ค. ๋ฌผ๋ก  host์™€ ์‹œ๊ฐ„๋Œ€๋ฅผ ๋งž์ถฐ์•ผ ํ•œ๋‹ค๋ฉด ์ด ๋ฐฉ๋ฒ•์ด ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์ธ ๊ฒƒ ๊ฐ™์ง€๋งŒ.. ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ์ปจํ…Œ์ด๋„ˆ์— timezone์„ ์ˆ˜์ •ํ•ด์•ผํ•œ๋‹ค๋ฉด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ด๋ฏธ์ง€ํ™” ํ•˜๊ณ  ๋‹ค์‹œ run ํ•ด์•ผ ํ•˜๋Š” ๋ฒˆ๊ฑฐ๋กœ์šด ์ผ์ด.. ํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ณ„๋กœ ์–ด๋ ค์šด ๊ฒƒ ์—†๋‹ค. ์ผ๋‹จ timezone ํด๋” ์ค‘ ์›ํ•˜๋Š” ์‹œ๊ฐ„๋Œ€๋ฅผ /etc..
๋ฏธ์„ธ๋จผ์ง€, ๋‚ ์”จ API ์–ด๋–ค๊ฒŒ ์žˆ์„๊นŒ? ์•ž์„  ๊ฐœ๋ฐœ์ž์— ์˜ํ•˜๋ฉด, ๊ฐ€๋”์”ฉ API ์˜ค๋ฅ˜๋กœ ์ •๋ณด๋ฅผ ์•ˆ ๋‚ด๋ ค์ฃผ๊ธฐ๋„ ํ•˜๋‹ˆ ์ด๋Ÿด ๋•Œ๋ฅผ ๋Œ€๋น„ํ•ด์„œ ์—ฌ๋Ÿฌ ๊ตฐ๋ฐ์—์„œ ์ •๋ณด๋ฅผ ๋ฐ›์„ ํ•„์š”๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๊ฐ„๋‹จํžˆ ์•Œ์•„๋ณด๊ธฐ 1. ๊ณต๊ณต๋ฐ์ดํ„ฐํฌํ„ธ - ๊ณต๊ณต API๋“ค์ด ๊ฐ€์žฅ ๋งŽ์€ ๊ณณ์ด๋ฉฐ, ํ™˜๊ฒฝ๊ณต๋‹จ(Air Korea)์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ๋ฏธ์„ธ๋จผ์ง€ API๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. - FREE!! ๋ง๊ทธ๋Œ€๋กœ ๋ฌด๋ฃŒ๋‹ค. 2. ์ผ€์ด์›จ๋” - ๋ฏผ๊ฐ„์—…์ฒด๋ผ ๋Œ€๋ถ€๋ถ„์˜ API๊ฐ€ ์œ ๋ฃŒ์ด์ง€๋งŒ ์ผ๋ถ€ API๋Š” ๋ฌด๋ฃŒ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. - 2017๋…„ 08์›” 30์ผ ๊ธฐ์ค€์œผ๋กœ API ์„œ๋น„์Šค ์ž ์ • ์ค‘๋‹จ์„ ์„ ์–ธํ•ด์„œ ๋” ์ด์ƒ ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€ํ•˜๋‹ค. 3. SKํ”Œ๋ž˜๋‹› ๊ฐœ๋ฐœ์ž์„ผํ„ฐ - ๊ธฐ์ƒ์ฒญ์ด ์ง์ ‘ ๋‚ด๋ ค์ฃผ๋Š” ๊ฒƒ์€ ์—†๊ณ  SK์™€ ๊ธฐ์ƒ์ฒญ์ด ์„œ๋กœ ์—ฐ๊ณ„ํ•ด์„œ ์„œ๋น„์Šค๋ฅผ ํ•ด์ฃผ๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ธ๋‹ค. - 2018๋…„ 04์›” 03์ผ๋ถ€๋กœ ์„œ๋น„์Šค๋ฅผ ์ค‘๋‹จํ•˜์˜€๋‹ค. - ๋ช…..
๐Ÿง Ubuntu * ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ ์šฉ ๋ฐ ํ„ฐ๋ฏธ๋„ ์ข…๋ฃŒ ํ›„์—๋„ ์œ ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ• ! ํ˜„์žฌ ํ„ฐ๋ฏธ๋„์—๋งŒ ์ ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ• ( 1ํšŒ์„ฑ ) $ export ์ด๋ฆ„=๊ฐ’ name=value ํ•ด์ฃผ์‹ค ๋•Œ =์˜ ์ขŒ์šฐ์— ๊ณต๋ฐฑ์ด ์žˆ์œผ๋ฉด ์•ˆ๋ฉ๋‹ˆ๋‹ค. ๋นˆ์นธ์ฃผ์ง€ ๋งˆ์„ธ์š”! - - - - $ env | grep ์ด๋ฆ„ env๋Š” ์ ์šฉ๋œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ชฉ๋ก์„ ๋‹ค ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด๋•Œ, grep ๋ช…๋ น์–ด๋ฅผ ์ด์šฉํ•˜์—ฌ ์ง€์ •ํ•œ ๋ณ€์ˆ˜๊ฐ€ ์ œ๋Œ€๋กœ ์ž˜ ๋“ฑ๋ก๋ฌ๋Š”์ง€ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ˜น์€ $ echo $์ด๋ฆ„์„ ์ด์šฉํ•˜์—ฌ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. - - - - ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ ์šฉํ•˜๊ธฐ ( ํ•ด์ง€ ํ•˜์ง€ ์•Š๋Š” ํ•œ ์˜๊ตฌ์„ฑ ) 1. ํŒŒ์ผ์ˆ˜์ • bash.bashrc / bashrc $ vim /etc/bash.bashrc ํŒŒ์ผ์„ ์ˆ˜์ •ํ•ด ์ฃผ์‹œ๋ฉด ๋ชจ๋“  ์‚ฌ์šฉ์ž์—๊ฒŒ ํ™˜๊ฒฝ๋ณ€์ˆ˜๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ๋“ฑ๋กํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ํŒŒ์ผ์„ ์—ด์–ด์ฃผ์‹œ๊ณ , ๋งจ ๋งˆ์ง€๋ง‰ ํ˜น์€ ๋งจ ์œ„์— ์‚ฌ์šฉ์ž๊ฐ€ ์›ํ•˜๋Š” ํ™˜๊ฒฝ๋ณ€์ˆ˜..
๐Ÿ™ GitHub Desktop ์„ค์น˜ ๋ฐ repository clone ๋ฐฉ๋ฒ•! Install ํ˜„์žฌ Windows์™€ MacOS ๊ฐ ๊ฐ์— ํ•ด๋‹นํ•˜๋Š” ์„ค์น˜ ํŒŒ์ผ์„ ๋ฐฐํฌํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋‹จ ์„ค์น˜๋Š” ๋งค.์šฐ.์‰ฝ.๋‹ค! ์•„๋ž˜ ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•ด์„œ ๋‹ค์šด๋กœ๋“œ ํŒŒ์ผ์„ ๋ฐ›์•„์„œ ์‹คํ–‰๋งŒ ์‹œ์ผœ์ฃผ๋ฉด ๋œ๋‹ค! GitHub Desktop Simple collaboration from your desktop desktop.github.com Repository Clone GitHub Desktop์„ ์ด์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ GitHub ํ™ˆํŽ˜์ด์ง€์—์„œ Clone์„ ํ•  ๋•Œ GitHub Desktop์„ ์‹คํ–‰์‹œํ‚ค๋Š” ๋ฐฉ๋ฒ• ์ด 2๊ฐ€์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. 1. GitHub Homepage์—์„œ Github Desktop ์—ด๊ธฐ ์•„๋ž˜์™€ ๊ฐ™์ด GitHub์—์„œ ์—ฐ๊ฒฐ์„ ์›ํ•˜๋Š” repository ํŽ˜์ด์— ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค. A. ํ™”๋ฉด์—์„œ ๋ณด์ด๋Š” Clone or down..
๐Ÿง Ubuntu * ํ„ฐ๋ฏธ๋„์—์„œ ์›น ๋ธŒ๋ผ์šฐ์ €(chrome) ์—ด๊ธฐ ๊ธฐ๋ณธ์ ์œผ๋กœ ์•„๋ฌด๊ฒƒ๋„ ํ•˜์ง€ ์•Š์•„๋„ ํ„ฐ๋ฏธ๋„์— firefox๋ฅผ ์ž…๋ ฅํ•˜์—ฌ firfox ๋ธŒ๋ผ์šฐ์ €๋ฅผ ์—ด ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ, ๋™์ผํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ chrome์„ ์‹คํ–‰์‹œํ‚ค๋ฉด ์—ด๋ฆฌ์ง€ ์•Š๋Š”๋‹ค. $ firefox #firefox ๋ธŒ๋ผ์šฐ์ € ์‹คํ–‰ $ chrome chrome: command not found ์ด์œ ๋Š” ์‹คํ–‰ํŒŒ์ผ์˜ ์œ„์น˜๋ฅผ ์ •์˜ํ•ด ๋†“์€ ํ™˜๊ฒฝ๋ณ€์ˆ˜( PATH )์— ํฌ๋กฌ์˜ ์œ„์น˜๊ฐ€ ์ •์˜๋˜์–ด์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋‘ ๊ฐ€์ง€๊ฐ€ ์žˆ๋‹ค. 1. ํ™˜๊ฒฝ ๋ณ€์ˆ˜( PATH ) ํŒŒ์ผ ํŽธ์ง‘ - ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ํŒŒ์ผ์„ ํŽธ์ง‘ํ•˜์—ฌ ํฌ๋กฌ์— ์†ํ•ด ์žˆ๋Š” ํด๋”๋ฅผ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ์ถ”๊ฐ€ ์‹œํ‚จ๋‹ค. 2. ํฌ๋กฌ ํŒŒ์ผ ์ด๋™ - ํฌ๋กฌ ํŒŒ์ผ์„ ์ด๋ฏธ ํ™˜๊ฒฝ ๋ณ€์ˆ˜์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š” ํด๋”์— ์˜ฎ๊ธด๋‹ค. A. locate ๋ช…๋ น์–ด๋กœ ์‹คํ–‰ ํŒŒ์ผ์˜ ์œ„์น˜๋ฅผ ์ฐพ๋Š”๋‹ค. ( /opt/googl..
๐Ÿณ Docker * ํ•œ๊ธ€ ์„ค์ •, ํ•œ๊ธ€ ๊นจ์ง ํ•ด๊ฒฐํ•˜๊ธฐ ๊ธฐ๋ณธ์ ์œผ๋กœ docker๋Š” bash์ฐฝ ์ด์šฉ ์‹œ ํ•œ๊ธ€ ์ž…๋ ฅ์ด ๋˜์ง€ ์•Š๊ณ  ๋งˆ๊ตฌ๋งˆ๊ตฌ ๊นจ์ ธ์„œ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค. ํ•œ๊ธ€ ์ž…๋ ฅ์„ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” locales ์„ค์ •์„ ํ•ด์ค˜์•ผ ํ•œ๋‹ค. python3์„ ์“ฐ๋ฉด์„œ ํ•œ๊ธ€๋กœ ์ ์–ด ๋†“์€ ์ฃผ์„๋“ค์ด ๋งŽ์€๋ฐ docker์— ํ•œ๊ธ€ ์„ค์ •์„ ํ•ด์ฃผ์ง€ ์•Š์œผ๋ฉด, python ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ ์‹œ์ผฐ์„ ๋•Œ encoding error๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค. Install locales ๋‹น์—ฐํžˆ Docker์— ์ ‘์†์„ ํ•œ ์ƒํƒœ๋ผ๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ํ˜น์‹œ ๋ชจ๋ฅด๋‹ˆ ์ผ๋‹จ docker์— ์ ‘์†์„ ํ•œ๋‹ค. $ apt-get install locales ์ ‘์†ํ•œ docker์—์„œ locales๋ฅผ ์„ค์น˜ํ•ด ์ค€๋‹ค. Setting 1. Save environment values export LANGUAGE=ko_KR.UTF-8 export LANG=ko_..
Windows SSH ์ ‘์† ์œ ์ง€ ์‹œํ‚ค๊ธฐ (feat. ์„ธ์…˜ ์œ ์ง€ ์‹œ๊ฐ„ ์„ค์ •ํ•˜๊ธฐ) ์›๊ฒฉ์œผ๋กœ ์ ‘์†์„ ํ•˜๋‹ค ๋ณด๋ฉด, ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ํ‚ค ์ž…๋ ฅ์ด ์—†์„ ๋•Œ ์›๊ฒฉ ์ ‘์†์ด ์ข…๋ฃŒ ๋œ๋‹ค. ๊ธธ๊ฒŒ๋Š” 24์‹œ๊ฐ„ ์งง๊ฒŒ๋Š” 300์ดˆ๋ฉด ์ ‘์†์ด ์ข…๋ฃŒ๋œ๋‹ค. Window์—๋Š” ์›๊ฒฉ ์ ‘์† ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ putty์˜ ์„ค์ •์„ ๋ฐ”๊พธ๋ฉด ๋œ๋‹ค. Connection ์„ค์ •์— Sending of null packets to keep the session active ์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์˜ ์„ค์ •์„ 0์ดˆ๋กœ ๋ฐ”๊ฟ”์ฃผ๋ฉด ์†์‰ฝ๊ฒŒ ๊ฐ€๋Šฅํ•˜๋‹ค. feat. ๋ˆˆ์น˜ ์ฑ˜๊ฒ ์ง€๋งŒ 3๋ถ„์œผ๋กœ ํ•˜๊ณ  ์‹ถ์œผ๋ฉด Sending of null packets to keep the session active ์— ํ•ด๋‹นํ•˜๋Š” ๋ถ€๋ถ„์˜ ์„ค์ •์„ 180์ดˆ๋กœ ์„ค์ •ํ•œ๋‹ค. Thanks for How to Keep Alive SSH Sesstions
๐Ÿง Ubuntu * SSH ์ ‘์† ์œ ์ง€ ํ‚ค๊ธฐ ์›๊ฒฉ์œผ๋กœ ์ ‘์†์„ ํ•˜๋‹ค ๋ณด๋ฉด, ์ผ์ • ์‹œ๊ฐ„ ๋™์•ˆ ํ‚ค ์ž…๋ ฅ์ด ์—†์„ ๋•Œ ์›๊ฒฉ ์ ‘์†์ด ์ข…๋ฃŒ ๋œ๋‹ค. ๊ธธ๊ฒŒ๋Š” 24์‹œ๊ฐ„ ์งง๊ฒŒ๋Š” 300์ดˆ๋ฉด ์ ‘์†์ด ์ข…๋ฃŒ๋œ๋‹ค. โ—† linux user ๋ชจ๋‘์—๊ฒŒ ์ ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, $ vi /etc/ssh/ssh_config โ—† ์ง€๊ธˆ ์‚ฌ์šฉ์ค‘์ธ user์—๊ฒŒ๋งŒ ์ ์šฉํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, $ vi ~/.ssh/config ๐Ÿ’ก ํŒŒ์ผ์„ ์ถ”๊ฐ€ ํ˜น์€ ์ˆ˜์ •ํ•ด ์ฃผ๋ฉด ๋˜๋Š”๋ฐ ๋งŒ์•ฝ์— ์œ„ ์œ„์น˜์— ํ•ด๋‹น ํŒŒ์ผ์ด ์—†๋‹ค๋ฉด ์ƒ์„ฑ ํ›„ ๋‚ด์šฉ์„ ์ถ”๊ฐ€ํ•ด ์ฃผ๋ฉด ๋œ๋‹ค. Insert the following: Host * ServerAliveInterval 300 ServerAliveCountMax 2 ์—ฌ๊ธฐ์„œ ServerAliveInterval์˜ ๋‹จ์œ„๋Š” sec์ด๋ฉฐ ServerAliveCountMax์˜ ๊ฐฏ์ˆ˜๋Š” ์‚ด์•„์žˆ๋‹ค๊ณ  ๋ณด๋‚ผ ๋ฉ”์‹œ์ง€์˜ ์ˆ˜ ์ด๋‹ค. ..
๐Ÿ Python * OS ๋ช…๋ น์–ด ๊ฒฐ๊ณผ๋ฅผ Python ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉํ• ๋ž˜! ๐Ÿ˜ ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด๋ฅผ ํŒŒ์ด์ฌ ์ฝ”๋“œ์—์„œ os.system์„ ์ด์šฉํ•˜์—ฌ ์ข…์ข… ์‹คํ–‰ํ•˜๊ณค ํ•œ๋‹ค. ํ•˜์ง€๋งŒ os.system์„ ์“ธ ๊ฒฝ์šฐ ๋ฌธ์ž์—ด ๊ฒฐ๊ณผ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๊ธฐ๋ž€.. ๐Ÿ˜ซ ํ•ด์„œ ์ธํ„ฐ๋„ท์œผ๋กœ ์ฐพ์•„๋ณด์•˜๋”๋‹ˆ Subprocess ๋ผ๋Š” ๊ธฐ๋ณธ ๋ชจ๋“ˆ์„ ์ด์šฉํ•˜์—ฌ ๋ฌธ์ž์—ด ๊ฒฐ๊ณผ๋ฅผ ์† ์‰ฝ๊ฒŒ ๋ณ€์ˆ˜ ๊ฐ’์œผ๋กœ ์ €์žฅ ํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค. ๋‚ด์šฉ์„ ๋ฐœ์ทŒ ํ•ด์˜จ ํฌ์ŠคํŒ…์—์„œ communicate๋Š” ํŒŒ์ผ์ด ํฌ๊ฑฐ๋‚˜ unlimitedํ•œ ๋ถ€๋ถ„์—์„œ๋Š” ์“ฐ์ง€ ๋ง๋ผ๊ณ  ํ•œ๋‹ค๋Š” ๋Œ“๊ธ€์„ ๋ณด์•˜๋‹ค. ์™œ ๊ทธ๋Ÿฐ์ง€๊นŒ์ง€๋Š” ์ž์„ธํžˆ ๋ณด์ง€ ์•Š์•˜์œผ๋‹ˆ ๊ทธ๋Ÿฐ ์ƒํ™ฉ์ด๋ผ๋ฉด ์ข€ ๋” ์ฐพ์•„๋ณด๊ณ  ์ ์šฉํ•˜๋„๋ก ํ•˜์ž. ํŒŒ์ด์ฌ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ญ๋“  ๋ฌธ์„œ๋ฅผ ๋ณผ ๋•Œ๋Š” ์ž์‹ ์˜ ๋ฒ„์ „๊ณผ ๋ฌธ์„œ์—์„œ ์„ค๋ช…ํ•˜๋Š” ๋ฒ„์ „์ด ๊ฐ™์€ ์ง€๋ฅผ ํ•ญ์ƒ ๋ณด์•„์•ผ ํ•œ๋‹ค. Let's do this 1. check_output(...) import subprocess da..