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

All

(175)
๐Ÿ Python * socket ์—ฐ๊ฒฐ + ๋ฌธ์ž์—ด ์ „์†ก SERVER 1. ๋จผ์ € ํ†ต์‹ ํ•  ์†Œ์ผ“์˜ ๊ตฌ์กฐ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. class SocketInfo() : HOST='' #HOST์— ์•„๋ฌด๊ฒƒ๋„ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์˜๋ฏธํ•œ๋‹ค. PORT=1024 #๋‘ ๋””๋ฐ”์ด์Šค๊ฐ€ ๋งŒ๋‚  ์ง€์ ์„ ์ •ํ•ด์ค€๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํŽธํ•  ๊ฒƒ ๊ฐ™๋‹ค. #ํฌํŠธ๋ฒˆํ˜ธ๋Š” ์•„๋ฌด๊ฑฐ๋‚˜ ํ•ด๋„ ์ƒ๊ด€์—†์œผ๋‚˜ ์ด๋ฏธ ์ •ํ•ด์ ธ ์žˆ๋Š” ํฌํŠธ๋ฒˆํ˜ธ๋Š” ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋œ๋‹ค. # HTTP, FTP ๋“ฑ์˜ ์ง€์ • ํฌํŠธ๋ฒˆํ˜ธ ์‚ฌ์šฉ ๋ถˆ๊ฐ€ BUFSIZE=1024 #์†Œ์ผ“์ด ํ•œ๋ฒˆ์— ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ๋Š” ์šฉ๋Ÿ‰์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋˜๊ฒ ๋‹ค. #์ตœ๋Œ€ 1024 byte๊นŒ์ง€๋งŒ ์ „๋‹ฌ ๋ฐ›๊ฒ ๋‹ค. ADDR=(HOST, PORT) #ํ›„์— server์—์„œ bind ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ bind ํ•จ์ˆ˜์˜ ์ธ์ž ๊ฐ’์ด ( IP, PORT ) ์ด๊ธฐ ๋•Œ๋ฌธ์— #๊ทธ๋ƒฅ ํ•˜๋‚˜๋กœ ํ•ฉ์ณ์ค€ ๊ฒƒ์ด๋‹ค. ํŒŒ์ผ๋กœ ..
Codecov? ๋ญ๋‹ˆ ๋„ˆ.. ์ฝ”๋“œ.. ์ปค๋ฒ„๋ฆฌ์ง€...๋Š” ๋˜...OTL PyPI์—์„œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์žˆ๋Š”๋ฐ ์ด๋Ÿฐ ํ‘œ์‹œ๋ฅผ ๋ณด์•˜๋‹ค. ์ฝ”๋“œ๊ฐ€ ์™„์„ฑ๋˜์ง€ ์•Š์•˜๋‹ค๋Š” ๋œป์ธ๊ฐ€ ํ•˜๊ณ  ์ƒ๊ฐํ–ˆ๋˜ ๋ฌด์ง€ํ•œ ๋‚˜๋Š”..๐Ÿ˜‚ Codecov๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ฐพ์•„๋ณด์•˜๊ณ  ์ € ์€ํ–‰๋‚˜๋ฌด ์žŽ ํ‘œ์‹œ๊ฐ€ ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€๋ฅผ ์ธก์ •ํ•ด์ฃผ๋Š” ๋„๊ตฌ๋“ค ์ค‘ ํ•˜๋‚˜์ธ ๊ฒƒ์„ ์•Œ์•˜๋‹ค. PyPI์—์„œ ์ € ํ‘œ์‹œ๋ฅผ ๋ˆ„๋ฅด๋ฉด ํ•ด๋‹น ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•˜๋Š”๋ฐ ์‚ฌ์ดํŠธ ์ด๋ฆ„๋„ Codecov์ด๋‹ค. ์ฝ”๋“œ ์ปค๋ฒ„๋ฆฌ์ง€( Code Coverage )๋ž€? ์†Œํ”„ํŠธ์›จ์–ด์˜ ํ…Œ์ŠคํŠธ๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ฝ”๋“œ๋ฅผ ์ž˜ ์ปค๋ฒ„ํ•˜๊ณ  ์žˆ๋Š” ๊ฐ€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ง€ํ‘œ ์ค‘ ํ•˜๋‚˜, ์†Œํ”„ํŠธ์›จ์–ด์˜ ํ…Œ์ŠคํŠธ๋ฅผ ๋…ผํ•  ๋•Œ ์–ผ๋งˆ๋‚˜ ํ…Œ์ŠคํŠธ๊ฐ€ ์ถฉ๋ถ„ํžˆ ๋˜์—ˆ๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์ง€ํ‘œ ์ค‘ ํ•˜๋‚˜๋ผ๊ณ  ํ•œ๋‹ค. . . .๐Ÿ™„;; ์‰ฝ๊ฒŒ ๋งํ•ด์„œ ์†Œํ”„ํŠธ์›จ์–ด ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰ํ–ˆ์„ ๋•Œ ์ฝ”๋“œ ์ž์ฒด๊ฐ€ ์–ผ๋งˆ๋‚˜ ์‹คํ–‰๋˜์—ˆ๋ƒ๋Š” ๊ฒƒ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ ์ด๋‹ค! = ์†Œ์Šค ์ฝ”๋“œ๊ฐ€ ํ…Œ์ŠคํŠธ๋œ ์ •๋„..
๐Ÿง Ubuntu * nohup, ๋ฐ๋ชฌ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์›๊ฒฉ์ ‘์† ํ›„ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ ์‹œ์ผฐ๋Š”๋ฐ, ์›๊ฒฉ ์ ‘์†์„ ๋„๊ณ  ์ปดํ“จํ„ฐ๋ฅผ ์ข…๋ฃŒํ•˜๊ณ  ์‹ถ๋‹ค.. ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? ๋ฆฌ๋ˆ…์Šค๋ผ๋ฉด ์˜์™ธ๋กœ ์‰ฝ๊ฒŒ ํ•ด๊ฒฐ๋œ๋‹ค. What is the Nohup? 1. ํ‘œ์ค€ ์ถœ๋ ฅ์„ nohup.out ๋˜๋Š” ๋‹ค๋ฅธ ํŒŒ์ผ์œผ๋กœ ๋Œ๋ฆฐ๋‹ค. 2. no hang up์„ ์ค„์ธ ํ‚ค์›Œ๋“œ ๋ช…๋ น์–ด๋กœ ํ”„๋กœ์„ธ์Šค ์ค‘๋‹จ( hang up )์„ ๋ฌด์‹œํ•˜๊ณ  ๋ช…๋ น์–ด๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๋ช…๋ น์–ด. = ํ„ฐ๋ฏธ๋„ ์ข…๋ฃŒ ํ›„์—๋„ ํ”„๋กœ๊ทธ๋žจ์„ ๋ฐ๋ชฌ ์ฒ˜๋Ÿผ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ๋‹ค. Output Control $ nohup program ์ด ๊ฒฝ์šฐ ์ถœ๋ ฅ๋˜๋Š” ๋‚ด์šฉ์€ nohup.out ์ด๋ผ๋Š” ํŒŒ์ผ์— ์ €์žฅ๋œ๋‹ค. ํŒŒ์ผ์ด๋ฆ„์„ ์ง€์ •ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? $ nohup program > file ์ถœ๋ ฅ์ด ํ•„์š”์—†์–ด์„œ, ํŒŒ์ผ์„ ์ƒ์„ฑํ•˜๊ณ  ์‹ถ์ง€ ์•Š๋Š”๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผํ• ๊นŒ? $ nohup pro..
์ฝ”๋ฃจํ‹ด vs ์Šค๋ ˆ๋“œ Python network modules๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋‹ค ๋ณด๋‹ˆ, ๊ฐ ๊ฐ์˜ network module๋“ค์ด coroutine์„ ์ด์šฉํ•ด์„œ ๋งŒ๋“ค์—ˆ๋‹ค๋Š” ๋ฌธ์žฅ์„ ์ž์ฃผ ๋ณด๊ฒŒ ๋˜์—ˆ๋‹ค. ๋”๋ถˆ์–ด Coroutine์ด Thread์™€ ๋น„์Šทํ•˜๊ฒŒ ์‹คํ–‰์ค„๊ธฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€๋งŒ ๋™์ž‘์ด ๋‹ค๋ฅด๋‹ค๋Š” ๊ฒƒ๋„, ๊ทธ๋ž˜์„œ ๋‘ ๊ฐ€์ง€์˜ ์ฐจ์ด์ ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋‘ ๊ฐ€์ง€์˜ ์ฐจ์ด์ ์„ ์•Œ๊ธฐ์ „์— ์•Œ์•„๋‘ฌ์•ผํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋™์‹œ์„ฑ๊ณผ ๋ณ‘๋ ฌ์„ฑ์— ๋Œ€ํ•œ ๋‚ด์šฉ์ด ์žˆ๋‹ค. >> 2020/03/05 - [๐Ÿ“– Note] - ๋™์‹œ์„ฑ vs ๋ณ‘๋ ฌ์„ฑ ( Concurrency vs Parallelism ) At stackoverflow Coroutines are a form of sequential processing: only one is executing at any given time..
๐Ÿ Python * MQTT module paho๋ฅผ ์ด์šฉํ•œ MQTT ํ†ต์‹  ์„ค์น˜ํ•˜๊ธฐ 1. Download $ pip install paho-mqtt 2. MQTT ํ†ต์‹  $ sudo git clone https://github.com/eclipse/paho.mqtt.python.git $ cd org.eclipse.paho.mqtt.python.git $ sudo python setup.py install - ์ฒ˜์Œ ๋ช…๋ น์–ด๋ฅผ ์ณค์„ ๋•Œ git์„ ์„ค์น˜๋ผ๊ณ  ํ•˜๋ฉด ์„ค์น˜ ํ›„ ์ง„ํ–‰ํ•˜์…”์•ผ ํ•ฉ๋‹ˆ๋‹ค. ( ์นœ์ ˆํ•˜๊ฒŒ ๋ช…๋ น์–ด ๊ฐ€๋ฅด์ณ ์ค˜์š” ) - ๋™์ž‘ ์‹œ root ๊ณ„์ •์œผ๋กœ ๋กœ๊ทธ์ธ ํ•˜์‹œ๊ณ  ์œ„์˜ ๋ช…๋ น์–ด๋ฅผ ์ณ์ฃผ์„ธ์š”. - ๊ทธ๋ฆฌ๊ณ  ์ € ๊ฐ™์€ ๊ฒฝ์šฐ ์œ„์˜ ๋ช…๋ น์–ด์—์„œ ์ œ์‹œํ•œ ์œ„์น˜(org.eclipse.paho.mqtt.python.git)์— ๊น”๋ฆฌ์ง€ ์•Š์•„ setup.py ํŒŒ์ผ์ด ์žˆ๋Š” ๊ณณ์œผ๋กœ ์ฐพ์•„๊ฐ”์Šต๋‹ˆ๋‹ค. ๊ทธ๋ƒฅ ํ˜„ ์œ„์น˜์—์„œ..
๐Ÿง Ubuntu * mosquitto, mosquitto-client ์„ค์น˜ํ•˜๊ธฐ 2019/08/09 ๊ธฐ์ค€ Mosquitto์—์„œ snap ์ปค๋งจ๋“œ๋ฅผ ์ง€์›ํ•œ๋‹ค. ๋ช…๋ น์–ด๋ฅผ ์“ฐ๋ฉด ํ›จ์”ฌ ๊ฐ„ํŽธํ•˜๊ฒŒ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ๋‹ค. Broker (mosquitto-server) ์„ค์น˜ 1. ์ €์žฅ์†Œ๋ฅผ ์ด์šฉํ•œ Broker Server ์„ค์น˜ A. ์ €์žฅ์†Œ ์—…๋ฐ์ดํŠธ $ sudo apt-get install python3-software-properties $ sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa $ sudo apt-get update B. ์ €์žฅ์†Œ ์—…๋ฐ์ดํŠธ ํ™•์ธ $ sudo apt-cache search mosquitto C. Mosquitto server ์„ค์น˜ $ sudo apt-get install mosquitto D. ์„ค์น˜ ํ™•์ธ $ mosquitto 2. ..
โ˜๏ธ Google Cloud * Speech to Text ์•Œ์•„๋ณด๊ธฐ ์ด ๊ธ€์—์„œ ์„ค๋ช…ํ•œ ๋‚ด์šฉ์˜ ์˜ˆ์ œ๋Š” Speech To Text ๋ฒ„์ „ 1.9X.XX, v1p1beta1 workspace๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฒ„์ „๋ณ„๋กœ ํฌํ•จํ•˜๊ณ  ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์ƒ์ดํ•˜๋‹ˆ ์‹คํ–‰ํ•˜์‹ค ๋•Œ ๊ผญ ์ฐธ๊ณ ํ•˜์„ธ์š”! ๋ฐ”๋กœ ๋ˆ์„ ๋‚ด์ง€ ์•Š์•„๋„ $300์œผ ๋ฌด๋ฃŒ ํฌ๋ ˆ๋”ง์„ 12๊ฐœ์›”๊ฐ„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ฌด๋ฃŒ ํ‰๊ฐ€ํŒ ์ข…๋ฃŒ ํ›„ ์ž๋™ ์ฒญ๊ตฌ๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•œ๋‹ค. ์‹ ์šฉ์นด๋“œ๋ฅผ ๋“ฑ๋กํ•˜๊ฒŒ ๋˜์–ด ์žˆ๋Š”๋ฐ ์ด๋Š” ์ž๋™ ๊ฐ€์ž…์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์ดํ•ด์„œ์ด๋ฉฐ ์‚ฌ์šฉ์ž๊ฐ€ ์œ ๋ฃŒ ๊ณ„์ •์œผ๋กœ ์ง์ ‘ ์—…๊ทธ๋ ˆ์ด๋“œํ•˜์ง€ ์•Š๋Š” ํ•œ ์š”๊ธˆ์ด ์ฒญ๊ตฌ๋˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๋‚˜์™€์žˆ๋‹ค. ํด๋ผ์šฐ๋“œ ์Œ์„ฑ ํ…์ŠคํŠธ Cloud Speech-to-Text ์Œ์„ฑ ํ…์ŠคํŠธ(STT) ๋ณ€ํ™˜์€ ๋จธ์‹ ๋Ÿฌ๋‹(๊ธฐ๊ณ„ํ•™์Šต)์„ ์‚ฌ์šฉํ•˜๋ฉฐ ์งง๊ฑฐ๋‚˜ ๊ธด ํ˜•์‹์˜ ์˜ค๋””์˜ค๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค. Speech-to-text conversion power..
๐Ÿ Python * ๋ฌธ์ž ↔ ์•„์Šคํ‚ค์ฝ”๋“œ ๋ณ€ํ˜•ํ•˜๊ธฐ 1. ord() - ๋ฌธ์ž๋ฅผ ์•„์Šคํ‚ค์ฝ”๋“œ๋กœ ๋ณ€ํ˜•ํ•˜๊ธฐ print ord("A") #65 print ord("B") #52 print ord(" ") #32 - ๋ฌธ์ž์—ด์„ ์•„์Šคํ‚ค์ฝ”๋“œ๋กœ ๋ณ€ํ˜•ํ•˜๊ธฐ for in "hi everyone": print ord(i), #๊ฐœํ–‰์„ ํ•˜์ง€ ์•Š๊ธฐ ์œ„ํ•ด print() ๋’ค์— ,๋ฅผ ๋ถ™์˜€์Šต๋‹ˆ๋‹ค! #104 105 32 101 118 101 114 121 111 110 101 2. chr() - ์•„์Šคํ‚ค์ฝ”๋“œ๋ฅผ ๋ฌธ์ž๋กœ ๋ณ€ํ˜•ํ•˜๊ธฐ print chr("84") #T print chr("36") #S print chr("74") #J
๐Ÿ Python * ์ƒ/ํ•˜์œ„, ๋™์ผ ํด๋” ๋‚ด ๋ชจ๋“ˆ from, import ํ•˜๋Š” ๋ฐฉ๋ฒ• --__init__.py -- file1.py -- file2.py +-- dir1 -- __init__.py -- dir1_file1.py -- dir1_file2.py +-- dir2 -- __init__.py -- dir2_file1.py -- dir2_file2.py +-- document -- document_file1.txt 1. ์ฐธ์กฐํ•  ๋ชจ๋“ˆ ๋ฐ ํŒŒ์ผ์ด ์žˆ๋Š” dir์— __init__.py ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด ์ค€๋‹ค. ํŒŒ์ผ ์•ˆ์— ์•„๋ฌด ๋‚ด์šฉ์ด ์—†์–ด๋„ ์ƒ๊ด€์—†๋‹ค. ๊ทธ๋ƒฅ dir ์•ˆ์—๋‹ค๊ฐ€ __init__.py ๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง„ ํŒŒ์ผ์„ ์ƒ์„ฑํ•ด์ค˜์•ผ, Python์ด ์œ„์น˜๋ฅผ ์ฐพ์•„๊ฐˆ ์ˆ˜ ์žˆ๋‹ค. 2. ๋‹ค๋ฅธ ๋ชจ๋“ˆ ์ฐธ์กฐ ( ํ•˜์œ„ ํด๋” ๋‚ด ํŒŒ์ผ, ๋™์ผ ํด๋” ๋‚ด ํŒŒ์ผ ์ฐธ์กฐ ) #dir1_file1.py ๋ฅผ ..
โ˜๏ธ Google Cloud * ํ…์ŠคํŠธ๋ฅผ ์ฝ์–ด์ฃผ๊ฒ ๋‹ˆ? for Python Text to Speach๋Š” 2018-06์›” ํ˜„์žฌ Protocol, Java, Node.JS, Python ์œผ๋กœ ์‚ฌ์šฉ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ด ํฌ์ŠคํŠธ์—์„œ๋Š” Python์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ํฌ์ŠคํŒ… ํ•˜์˜€์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ ์ˆœ์„œ๋Š” Python ์™ธ์˜ ๋‹ค๋ฅธ ์–ธ์–ด๋„ ๋™์ผํ•˜๊ธฐ์— ์ˆœ์„œ๋งŒ ๋ณด์‹œ๊ณ , Java, Node.JS ๊ฐ™์€ ๊ฒฝ์šฐ ์•„๋ž˜ #์ฐธ์กฐ๋‚ด์šฉ์„ ํ™•์ธํ•˜์„ธ์š”. Google Cloud์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ ˆ์ฐจ๊ฐ€ ๋จผ์ € ์ด๋ฃจ์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๐Ÿ‘‰ Before Start Google Cloud Library ์‚ฌ์šฉ๋œ Package์˜ variable, method ์ •๋ณด๋ฅผ ์•Œ๊ณ  ์‹ถ์œผ๋ฉด ๋งํฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”! Text To Speech ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ์‚ฌ์šฉ ์ „ ํ˜น์‹œ๋ผ๋„ Google Cloud๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ์ธ์ฆ์„ ํ•˜์ง€ ์•Š์•˜๋‹ค..
TCP/IP * 2. ํ”„๋กœํ† ์ฝœ ์ฒด๊ณ„์™€ ์†Œ์ผ“ ํƒ€์ž…( TCP, UDP ) ๋„คํŠธ์›Œํฌ ํ”„๋กœ๊ทธ๋žจ์„ ํ•  ๋•Œ ๊ฐ€์žฅ ํ•ต์‹ฌ์ด ๋˜๋Š” ๊ฒƒ์ด ์†Œ์ผ“์ด๋‹ค. socket์„ ์ด์šฉํ•˜์—ฌ ๊ฐ์ข… ๋””๋ฐ”์ด์Šค์™€ ๋ฐ์ดํ„ฐ ์†ก์ˆ˜์‹ ์„ ํ•œ๋‹ค. ์ด๋Ÿฐ socket์„ ์ƒ์„ฑํ•  ๋•Œ 2๊ฐ€์ง€ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ์ž…๋ ฅ ํ•˜๋Š”๋ฐ ๊ทธ๊ฒƒ์ด ๋ฐ”๋กœ ํ”„๋กœํ† ์ฝœ ์ฒด๊ณ„์™€ ์†Œ์ผ“์˜ ํƒ€์ž…์ด๋‹ค. ํ”„๋กœํ† ์ฝœ ์ฒด๊ณ„ - Protocol ( ํ”„๋กœํ† ์ฝœ ) ์ด๋ž€ ๋””๋ฐ”์ด์Šค ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” ๋ฐฉ์‹์ด๋‹ค. ์ฆ‰, ๊ฐ ๋””๋ฐ”์ด์Šค ๊ฐ„ ์„œ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ฃผ๊ณ  ๋ฐ›๊ธฐ ์œ„ํ•ด์„œ ์ •์˜ํ•ด ๋†“์€ ์•ฝ์†์„ ๋œปํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ทœ์•ฝ์„ ์ •ํ•ด ๋†“์ง€ ์•Š์œผ๋ฉด ์ƒ๋Œ€๊ฐ€ ๋‚ด๊ฐ€ ์˜๋„ํ•œ ๊ฒƒ๊ณผ ๋‹ค๋ฅด๊ฒŒ ๋ฐ์ดํ„ฐ๋ฅผ ์ดํ•ดํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์†Œ์ผ“ ํ†ต์‹ ์„ ํ•  ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ํ”„๋กœํ† ์ฝœ ๋ถ€๋ฅ˜๊ฐ€ ๋ช‡๊ฐ€์ง€ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ถ€๋ฅ˜๋ฅผ ํ”„๋กœํ† ์ฝœ ์ฒด๊ณ„๋ผ๊ณ  ํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ๋ถ€๋ฅ˜๋ฅผ ํ”„๋กœํ† ์ฝœ ์ฒด๊ณ„๋ผ๊ณ ํ•˜๋ฉฐ c ์–ธ์–ด์—์„œ socket์„ ์ƒ์„ฑํ•  ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœ ํ•  ๋•Œ..
๐Ÿง Ubuntu * D2Coding ํฐํŠธ ์„ค์น˜ ๋ฐ Powerline symbol ์„ค์ • D2 Coding fonts ๊ธฐ์กด์— ์„ค์น˜ ํ–ˆ๋˜ ๋ฒ„์ „์„ ์ง€์šฐ๊ณ  ์ƒˆ ๋ฒ„์ „์„ ์„ค์น˜ํ•ด์•ผํ•œ๋‹ค๊ณ  ํ•˜๋‹ˆ, ํ•ญ์ƒ ์ƒˆ ๋ฒ„์ „์„ ์„ค์น˜ํ•  ๋•Œ ์ฃผ์˜ํ•˜๋„๋ก ํ•˜์ž! ์ผ๋‹จ git์—์„œ[ nave/d2codingfont ]์—์„œ ์ตœ์‹  release file์„ .zip์œผ๋กœ ๋‹ค์šด ๋ฐ›๋Š”๋‹ค. ์„ค์น˜ ๋ฐฉ๋ฒ• 1. Command - ๋‹ค์šด๋ฐ›์€ ํด๋”๋กœ ๊ฐ€์„œ unzip ๋ช…๋ น์„ ์‹คํ–‰์‹œ์ผœ ์ค€๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‹ค์šด ๋ฐ›์€ .zip ํŒŒ์ผ๋ช…์ด D2coding ์ด๊ณ  ์ด๋ฅผ D2CondingFont๋ผ๋Š” ํด๋”๋ช…์œผ๋กœ ๋งŒ๋“ค๊ฒฝ์šฐ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•œ๋‹ค. $ sudo unzip D2coding.zip -d /usr/share/fonts/D2CodingFont ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์„ค์น˜๊ฐ€ ์™„๋ฃŒ๋œ๋‹ค! ์„ค์น˜ ๋ฐฉ๋ฒ• 2. GUI install - ๋‹ค์šด๋ฐ›์€ ํด๋”๋กœ ๊ฐ€์„œ .zip ํŒŒ์ผ์˜ ์••์ถ•์„ ํ’€..