๐ database13 [MySQL] localhost ๋น๋ฐ๋ฒํธ ๊น๋จน์๋ค local ์์ ํ ์คํธ๋ฅผ ์งํํ๋ ์ค ๋ก์ปฌ mysql์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฌํ๋ ค๊ณ python์ผ๋ก ์ฐ๊ฒฐ ์๋ ํ๋๋ฐimport pymysql# MySQL ์ฐ๊ฒฐconn = pymysql.connect( host="localhost", user="root", password="12341234", database="study", charset="utf8mb4", cursorclass=pymysql.cursors.DictCursor)pymysql.err.OperationalError: (1045, "Access denied for user 'root'@'localhost' (using password: YES)") ์ด๋ฐ Access denied ๋์๋ค. ๋คํํ DBeaver๋ฅผ ํตํ ์ฐ๊ฒฐ.. 2025. 2. 14. ํฌ๋กค๋ง ๋ฐ์ดํฐ ์ ์ฌ SQL vs NoSQL ๊ฐ์์ ์ ์งํ๋์๋ ํ๋ก์ ํธ์์์ ํฌ๋กค๋ง์ MongoDB์ ์ ์ฌํ๋ค.๋ฐ์ดํฐ๋ฅผ ์ ์ฌํ ๋ SQL(MySQL), NoSQL(MongoDB) ๋๊ฐ์ง ์ค์ ์ด๋ค ๊ณณ์ด ๋ ์ ํฉํ์ง ๊ณ ๋ฏผ์ด ๋์ด์ ๋๊ฐ์ง๋ฅผ ๋น๊ตํด๋ณด์ ~ ! ๊ธฐ๋ณธ ๊ฐ๋ DB ์ข ๋ฅํน์ง์ ํฉํ ๊ฒฝ์ฐMySQL (Relational)ํ ์ด๋ธ ๊ธฐ๋ฐ์ ๊ด๊ณํ DB (SQL)์ ํ ๋ฐ์ดํฐ, ๊ฒ์ ์ฑ๋ฅ ์ค์MongoDB (NoSQL, Document-based)JSON-like ๋ฌธ์ ์ ์ฅ (NoSQL)๋น์ ํ ๋ฐ์ดํฐ, ์ ์ฐํ ์คํค๋งํฌ๋กค๋ง ๋ฐ์ดํฐํฌ๋กค๋ง ๋ฐ์ดํฐ๋ ์ด๋ฌํ ํํ๋ก ์์ง๋๋ค.{ "title": "Example Title", "url": "https://example.com", "content": "Some article content...", .. 2025. 2. 6. [MongoDB] ๊ฐ๋จํ ๊ฐ๋ ์ ๋ฆฌ ๊ฐ์์ด๋ฒ์ ํฌ๋กค๋งํ๋ ๋ฐ์ดํฐ๋ฅผ ๋ชฝ๊ณ ๋๋น์ ์ ์ฌํด๋ฌ๋ผ๋ ์์ฒญ์ ๋ฐ์์ ์งํํ๋ค.์ฒ์์ผ๋ก ๋ชฝ๊ณ ๋๋น๋ฅผ ์ ํด๋ณด๋ ๊ฒธ ๊ฐ๋ ์ ๋ฆฌ๋ฅผ ํด๋ณผ๊น ํ๋ค.๋ชฝ๊ณ ๋๋น MongoDB์คํ์์ค์ด๋คNoSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ผ๋ก ๋ฐ์ดํฐ๊ฐ JSON ์ ์ฌํ ๋ฌธ์ ํํ๋ก ์ ์ฅ๋๋๊ฒ ํน์ง์ด๋ค.์ ํต์ ์ธ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDBMS)์๋ ๋ฌ๋ฆฌ, ์คํค๋ง๊ฐ ์๋ค. ํน์ง(1) ๋ฌธ์ ๊ธฐ๋ฐ(Document-oriented) ์ ์ฅ- ๋ฐ์ดํฐ๋ฅผ ํ ์ด๋ธ์ ํ(row)์ผ๋ก ์ ์ฅํ๋ RDBMS์ ๋ฌ๋ฆฌ, MongoDB๋ BSON(Binary JOSN) ํฌ๋งท์ ๋ฌธ์๋ก ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ค.- ์:{ "name": "John", "age": 30, "skills": ["Python", "JavaScript"]} (2) ์คํค๋ง๋ฆฌ์ค(Schema-less)- ๋ฐ์ด.. 2025. 1. 10. [MQTT] python ์ผ๋ก sub / pub ๊ตฌํํ๊ธฐ MQTT์ Kakfa ๋น๊ต๊ฐ์์ต๊ทผ์ ์งํํ ํ๋ก์ ํธ ์ค์ socket ํต์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ณ , responce๋ฅผ ๋ฐ๋ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋๋ฐ๋คํธ์ํฌ๊ฐ ๋ถ์์ ํ ํ๊ฒฝ์์ ์งํํ๋๊น socket ์ฐ๊ฒฐ ๋ถ์์ , ์ฐ๊ฒฐ ์ง์ฐ ๋ฑ๋ฑ ์ด์๋ค์ด ๋ฐbonory.tistory.comkafka์ mqtt์ ๋ํด์ ์ฐพ์๋ณด๊ณ ์ ๋ฆฌํ๋ค.๊ทธ๋ฆฌ๊ณ ๋ mqtt๋ฅผ ํ๋ฒ ์ฌ์ฉํด ๋ณด๋ ค๊ณ ํ๋ค. ์งํ1. python์ผ๋ก topic์ message๋ฅผ ์ ์กํ๋ค.2. MQTT Explorer๋ก message๋ฅผ ์ ๋ฐ๋์ง ํ์ธํ๋ค.3. python์ผ๋ก topic์ subscribeํ๊ณ message๋ฅผ ํ์ธํ๋ค. (0) pip ์ค์นpip install paho-mqtt (1) python - message ์ ์กimport paho.mqtt.client a.. 2024. 10. 28. MQTT์ Kakfa ๋น๊ต ๊ฐ์์ต๊ทผ์ ์งํํ ํ๋ก์ ํธ ์ค์ socket ํต์ ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๊ณ , responce๋ฅผ ๋ฐ๋ ๊ธฐ๋ฅ์ ๊ฐ๋ฐํ๋๋ฐ๋คํธ์ํฌ๊ฐ ๋ถ์์ ํ ํ๊ฒฝ์์ ์งํํ๋๊น socket ์ฐ๊ฒฐ ๋ถ์์ , ์ฐ๊ฒฐ ์ง์ฐ ๋ฑ๋ฑ ์ด์๋ค์ด ๋ฐ์ํด์๋ค์์๋ mqtt ํน์ kafka๋ฅผ ์ฌ์ฉํด๋ด์ผ๊ฒ ๋ค ์ถ์ด์ ์์นํด๋ณด์๋ค.๊ฐ๋จํ ๋น๊ต· MQTT : ๊ฒฝ๋ ๋ฉ์์ง, ๋ฎ์ ๋๊ธฐ ์๊ฐ ๋ฐ ๋ฎ์ ๋ฐ์ดํฐ ํธ๋ํฝ์ ์ ํฉํ๋ค. IoT๋ ๊ฐ๋จํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฆฌํ๋ค.· Kafka : ๋์ ๋ฐ์ดํฐ ํธ๋ํฝ ๋ฐ ๋ฉ์์ง ์ ์ง ๊ด๋ฆฌ๊ฐ ํ์ํ ๋๊ท๋ชจ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ํฉํ๋ค. ์์ ์ฑ๊ณผ ์ฑ๋ฅ์ด ์ค์ํ ๋ ์ ๋ฆฌํ๋ค. ์ข ๋ ์์ธํ๊ฒ ์ ๋ฆฌโ MQTT· Message Queuing Telemetry Transport· ์ ํ๋ ๋ฆฌ์์ค๋ฅผ ๊ฐ์ง ์ฅ์น๋ IoT(์ฌ๋ฌผ์ธํฐ๋ท) ์ฅ์น ์ฌ์ด์ ํต.. 2024. 10. 23. mysql ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ค์๊ฐ ํ์ธ ์งํ mysql ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ ์ค์๊ฐ์ผ๋ก ํ์ธํ๊ณ ์ถ์ด์ searchํ๊ณ ์ ๋ฆฌํ๋ค. mysql ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ค์๊ฐ ํ์ธ๊ฐ์์ด๋ฒ์ ์๋ก ์งํ๋๋ ํ๋ก์ ํธ์์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํด์ผํ๋ค.๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณํ๊ฐ ์์ ๋, ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์๋ ๊ธฐ๋ฅ์ ๋ํด์ search ํ๋ค.์ค์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ณ ์ถ์๋๋ฐbonory.tistory.com์ด๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ์ค์ ๋ก ์งํํด๋ณด๋ ค๊ณ ํ๋ค.์ฐ์ ๋๋ docker๋ก zookeeper, kafka, kafka-connect, mysql์ ์ฌ๋ฆด ๊ฒ์ด๋ค๊ทธ๋์ docker-compose.yml์ ์๋์ ๊ฐ์ด ์์ฑํ๋คdocker-compose.ymlversion: '3'services: zookeeper: image: confluentinc/cp-zookeeper:latest .. 2024. 10. 20. mysql ๋ฐ์ดํฐ ๋ณ๊ฒฝ ์ค์๊ฐ ํ์ธ ๊ฐ์์ด๋ฒ์ ์๋ก ์งํ๋๋ ํ๋ก์ ํธ์์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ๊ฐํด์ผํ๋ค.๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ณํ๊ฐ ์์ ๋, ์ค์๊ฐ์ผ๋ก ํ์ธํ ์ ์๋ ๊ธฐ๋ฅ์ ๋ํด์ search ํ๋ค.์ค์๊ฐ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ณ ์ถ์๋๋ฐ ์ด๋ฒ์ ํ๊ฒ๋์ด์ ๋๋ฌด ์ข๋ค !์ด๋ฒ ํ๋ก์ ํธ์ Back์ Fastapi, Front๋ javascript๋ก ์งํํ ๊ฒ์ด๋ค. ๊ฐ๋จํ๋ค.1. Robot์์ Database์ ๋ฐ์ดํฐ updateํ๋ค.2. Database์ ๋ณํ๊ฐ ์์ ์ Fastapi (Back)์ด ์์์ผํ๋ค.3. Fastapi (Back)์์ javascript (Front) ๋ก ๋ณํ๋ฅผ ์ ๋ฌํ๋ค. ํ์ธ1. Database → Back : polling / CDC2. Back → Front : web socket Polling์ผ์ ์ฃผ๊ธฐ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํน์ .. 2024. 10. 2. [MQTT] message๋ฅผ ์๋ณด๋ด๋๋ฐ ๊ณ์ message๊ฐ ์์ด๋ issue ์ฌ์ค ์ด๊ฑด ๋ฌธ์ ๊น์ง๋ ์๋๊ณ , ์ข ๋ ์์ธํ๊ฒ ์๊ณ ์ถ์๋ค. ์ ๋ฒ ํฌ์คํ ์์๋ mqtt explorer ์ ์ฐ๊ฒฐ์ ํ๋ค. [MQTT] mqtt client์ connect ์๋๋ ๋ฌธ์ ec2 instance๋ฅผ ์์ฑํ๊ณ mosquitto๋ฅผ ์คํ์์ผฐ๋ค. ๊ทธ๋ฆฌ๊ณ mqtt connection tool๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ์ ์๋ํ๋, ์ฐ๊ฒฐ์ด ๋ถ๊ฐ๋ฅํ๋ค Starting in local only mode. Connections will only possible from clients running on this machine. bonory.tistory.com ์ฐ๊ฒฐ์ ํ๊ณ ๋ณด๋, ๋ ์ฐ๊ฒฐ๋ง ํ๊ณ ์๋ฌด ๊ฒ๋ ์ํ๋๋ฐ ?! ์๊พธ ๋ช์ด ๊ฐ๊ฒฉ์ผ๋ก message๊ฐ ์์ด๋ ๊ฒ ์ฒ๋ผ ์ซ์๊ฐ ๊ณ์ ๋์ด๋ฌ๋ค. ๋ญ์ง ??????? ํ๋ฒ .. 2024. 3. 7. [MQTT] mqtt client์ connect ์๋๋ ๋ฌธ์ ec2 instance๋ฅผ ์์ฑํ๊ณ mosquitto๋ฅผ ์คํ์์ผฐ๋ค. ๊ทธ๋ฆฌ๊ณ mqtt connection tool๋ฅผ ์ฌ์ฉํ์ฌ ์ฐ๊ฒฐ์ ์๋ํ๋, ์ฐ๊ฒฐ์ด ๋ถ๊ฐ๋ฅํ๋ค Starting in local only mode. Connections will only possible from clients running on this machine. ๋ก์ปฌ ๋ชจ๋์์๋ง ๊ฐ๋ฅํ๋ฉฐ Create a configuration file which defines a listener to allow remote access. ์๊ฒฉ ์์ธ์ค๋ฅผ config๋ฅผ create ํ๋ผ๊ณ ํ๋ ๊ฒ ๊ฐ๋ค ์ฒซ๋ฒ์งธ, mosquitto config๋ฅผ ์์ ํ๋ค. linux๋ผ๋ฉด /etc/mosquitto/mosquitto.conf ์ ์์นํ๋ค. ์ด๋ ๊ฒ ์ค์ ๋์ด์๋๋ฐ.. 2024. 3. 6. ์ด์ 1 2 ๋ค์