πνλ‘κ·Έλλ°
SON ꡬ쑰체λ₯Ό μ¬μ©νμ¬ μ€νλ§λΆνΈμμ νμ΄μ¬μκ² λͺ
λ Ήμ΄λ₯Ό 보λ΄λ κ²μ λΉκ΅μ κ°λ¨ν©λλ€. λͺ
λ Ήμ΄ μμ λ₯Ό JSON νμμΌλ‘ λ§λ€μ΄λ³΄κ² μ΅λλ€. μλ₯Ό λ€μ΄, λ€μκ³Ό κ°μ JSON ꡬ쑰체λ₯Ό λ§λ€ μ μμ΅λλ€: { "command": "run_script", "script_path": "/home/user/myscript.py", "args": ["arg1", "arg2"], "options": { "option1": "value1", "option2": "value2" } } μμ JSON ꡬ쑰체λ "run_script" λͺ
λ Ήμ μ€ννκΈ° μν κ²μ
λλ€. "script_path"λ μ€νν μ€ν¬λ¦½νΈμ κ²½λ‘λ₯Ό, "args"λ λͺ
λ Ήν μΈμλ₯Ό, "options"λ μ€ν¬λ¦½νΈ μ€νμ νμν μ΅μ
μ μ§μ ν©λλ€. μ΄μ μ΄ J..
πνλ‘κ·Έλλ°
νμ΄μ¬μμ λ€λ₯Έ μ격μ§μ μλ νλ‘κ·Έλ¨κ³Ό ν΅μ νλ λ°©λ²μ μ¬λ¬ κ°μ§κ° μμ΅λλ€. λ€μμ λνμ μΈ λ°©λ² μ€ μΌλΆμ κ°λ¨ν μμ μ½λμ
λλ€. 1. HTTP(S) νλ‘ν μ½μ μ΄μ©ν μΉ μλΉμ€ νμ΄μ¬μμλ requests λΌμ΄λΈλ¬λ¦¬λ₯Ό μ΄μ©νμ¬ HTTP(S) μμ²μ 보λ΄κ³ λ°μ μ μμ΅λλ€. import requests url = 'https://example.com/api/v1' headers = {'Content-Type': 'application/json'} data = {'param1': 'value1', 'param2': 'value2'} response = requests.post(url, headers=headers, json=data) if response.status_code == 200: pri..
πνλ‘κ·Έλλ°
Pythonμμ λ€λ₯Έ νλ‘κ·Έλ¨μ μ μ΄νκΈ° μν΄μλ subprocess λͺ¨λμ μ¬μ©ν μ μμ΅λλ€. subprocess λͺ¨λμ μΈλΆ νλ‘κ·Έλ¨μ μ€ννκ³ κ·Έ μΆλ ₯κ°μ κ°μ Έμ€λ κΈ°λ₯μ μ 곡ν©λλ€. λ€μμ Pythonμμ λ€λ₯Έ νλ‘κ·Έλ¨μκ² λͺ
λ Ήμ μ μ΄νλ μμ μ½λμ
λλ€. import subprocess # μ€νν λͺ
λ Ήμ΄ cmd = 'ls -al' # shell=Trueλ‘ μ§μ νμ¬ μ
Έ λͺ
λ Ήμ΄ μ€ν result = subprocess.run(cmd, shell=True, stdout=subprocess.PIPE) # μ€ν κ²°κ³Ό μΆλ ₯ print(result.stdout.decode()) μ μ½λμμλ subprocess.run() ν¨μλ₯Ό μ¬μ©νμ¬ ls -al λͺ
λ Ήμ΄λ₯Ό μ€ννκ³ , μ€ν κ²°κ³Όλ₯Ό λ³μ resultμ μ μ₯..
πνλ‘κ·Έλλ°
JavaScriptμμ HTTP μμ²μ λ§λλ λ°©λ²μΌλ‘λ λ΄μ₯λ fetch() ν¨μλ XMLHttpRequest (XHR) κ°μ²΄λ₯Ό μ¬μ©ν μ μμ΅λλ€. λ€μμ fetch()μ μ¬μ©νλ μμμ
λλ€: fetch('https://example.com/data') .then(response => response.json()) .then(data => console.log(data)) .catch(error => console.error(error)); μ΄ μμμμλ https://example.com/dataλ‘ GET μμ²μ 보λ΄κ³ μμ΅λλ€. fetch() ν¨μλ μμ²μ λν μλ²μ μλ΅μ λνλ΄λ Response κ°μ²΄λ₯Ό λ°ννλ Promiseλ₯Ό λ°νν©λλ€. κ·Έλ° λ€μ, Response κ°μ²΄μμ json() λ©..
πνλ‘κ·Έλλ°
CI/CD(Continuous Integration/Continuous Deployment)λ μννΈμ¨μ΄λ₯Ό κ°λ°νκ³ λ°°ν¬νλ λ° μμ΄μ μ§μμ μΈ ν΅ν© λ° λ°°ν¬λ₯Ό μννλ λ°©λ²λ‘ μ
λλ€. μ΄λ₯Ό μν΄μ μ ν¨μ€(Jenkins)λ λ§μ΄ νμ©λλ μ€ν μμ€ λꡬ μ€ νλμ
λλ€. μ ν¨μ€λ₯Ό νμ©νμ¬ CI/CD νμ΄νλΌμΈμ ꡬμ±νλ λ°©λ²μ λ€μκ³Ό κ°μ΅λλ€. μ ν¨μ€ μ€μΉ λ° μ€μ : μ ν¨μ€ μΉ μ¬μ΄νΈμμ λ€μ΄λ‘λ λ°μ μ€μΉν©λλ€. μ€μΉ ν, μ ν¨μ€ μλ²λ₯Ό μμνκ³ , κ΄λ¦¬μ κ³μ μ μμ±ν©λλ€. μμ€ μ½λ μ μ₯μμ μ°κ²°: CI/CDλ₯Ό μν΄μλ μμ€ μ½λλ₯Ό μ μ₯νκ³ μλ μ μ₯μ(Git, SVN λ±)μ μ°κ²°ν΄μΌ ν©λλ€. μ΄λ₯Ό μν΄, μ ν¨μ€μμ "μ μ₯μ κ΄λ¦¬" λ©λ΄λ₯Ό μ΄μ©νμ¬ μμ€ μ½λ μ μ₯μμμ μ°κ²°μ μ€μ ν©λλ€. λΉλ νκ²½ μ€μ ..
πνλ‘κ·Έλλ°
νμ΄μ¬μμ νμΌ μΈμ½λ©μ λ³ννκΈ° μν΄ codecs λͺ¨λμ μ¬μ©ν μ μμ΅λλ€. μλλ codecs λͺ¨λμ μ¬μ©νμ¬ νμΌμ μΈμ½λ©μ λ³ννλ μμ μ½λμ
λλ€. import codecs def convert_encoding(file_path, from_encoding, to_encoding): with codecs.open(file_path, 'r', from_encoding) as file: content = file.read() with codecs.open(file_path, 'w', to_encoding) as file: file.write(content) μμ convert_encoding ν¨μλ μΈ κ°μ μΈμλ₯Ό λ°μ΅λλ€: file_path: μΈμ½λ©μ λ³ννκ³ μ νλ νμΌ κ²½λ‘μ
λλ€. from_e..
πνλ‘κ·Έλλ°
μλ² μΈ‘ μ½λ: import socket HOST = '127.0.0.1' PORT = 65432 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s: s.bind((HOST, PORT)) s.listen() conn, addr = s.accept() with conn: print('Connected by', addr) while True: data = conn.recv(1024) if not data: break conn.sendall(data) ν΄λΌμ΄μΈνΈ μΈ‘ μ½λ: import socket HOST = '127.0.0.1' PORT = 65432 with socket.socket(socket.AF_INET, socket.SOCK_STREAM) a..
πνλ‘κ·Έλλ°
https://docs.python.org/ko/3/library/cmd.html cmd — μ€ μ§ν₯ λͺ
λ Ή μΈν°νλ¦¬ν° μ§μ — Python 3.10.5 λ¬Έμ cmd — μ€ μ§ν₯ λͺ
λ Ή μΈν°νλ¦¬ν° μ§μ μμ€ μ½λ: Lib/cmd.py Cmd ν΄λμ€λ μ€ μ§ν₯ λͺ
λ Ή μΈν°ν리ν°λ₯Ό μμ±νκΈ° μν κ°λ¨ν νλ μμν¬λ₯Ό μ 곡ν©λλ€. μ΄κ²λ€μ μ’
μ’
ν
μ€νΈ νλ€μ€(test harnesses), κ΄ docs.python.org
πνλ‘κ·Έλλ°
mainμμ subprocess.PopenμΌλ‘ μμνλ‘μΈμ€ μμ±ν communicate ν¨μλ₯Ό νΈμΆνλ©΄ μμνλ‘μΈμ€κ° μλ£λ λ λ€μ μ½λλ₯Ό μ€ννλ€ ''' 1 ''' proc = subprocess.Popen('ls') proc.communicate() ''' 3 '''
πνλ‘κ·Έλλ°
1. μλΉμ€ λ±λ‘ 2. λ μ§μ€νΈλ¦¬ λ±λ‘ [ μ¬μ©μ κ³μ ] μ§μμ© : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run μΌνμ© : HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce [ μ 체 μ¬μ©μ ] μ§μμ© : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run μΌνμ© : HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce 3. μμ νλ‘κ·Έλ¨ ν΄λ λ±λ‘ [ μ¬μ©μ κ³μ ] %APPDATA%\Microsoft\Windows\Start Me..