๋คํธ์ํฌ ์๋ฒ
Scalable Network Programming
๋คํธ์ํฌ ํ๋ก๊ทธ๋๋ฐ์์ Scalable ํ๊ฒ ๋ง๋๋ ๊ฒ์ ์ค์ํ ์ฃผ์ ์ด๋ค. ๋คํธ์ํฌ ์๋ฒ๋ ๋์์ ์ฌ๋ฌ ํด๋ผ์ด์ธํธ ์์ฒญ์ ์ฒ๋ฆฌํ ์ ์์ด์ผ ํ๋ฉฐ, ์ด๋ ์๋ฒ์ ํ์ฅ์ฑ๊ณผ ์ฑ๋ฅ์ ์ํฅ์ ์ค๋ค. ์๋ ์ฝ๋๋ ๊ฐ๋จํ ์๋ฒ-ํด๋ผ์ด์ธํธ ๊ตฌ์กฐ์ ํ๋ก๊ทธ๋จ์ด๋ค. 1. TCP ์์ผ์ ์ฌ์ฉํ์ฌ HTTP GET ์์ฒญ์ ๋ณด๋ด๋ ๊ฐ๋จํ ํด๋ผ์ด์ธํธ ์ฝ๋ Error handling ์์ด ๊ตฌํ HTTP ํค๋๋ฅผ ํฌํจํ์ฌ ์ต๋ 4k๊น์ง๋ง ๊ฐ์ ธ์ฌ ์ ์์. char buf[4096]; int len; int fd=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP); struct sockaddr_in si; si.sin_family=PF_INET; inet_aton("127.0.0.1",&si.sin_addr); si.s..
[Python/ MQTT] MQTT – Pub/Sub ๋ชจ๋ธ ๊ตฌํ
MQTT๋ MQTT๋ M2M, IOT๋ฅผ ์ํ ํ๋กํ ์ฝ๋ก์ ์ต์ํ์ ์ ๋ ฅ๊ณผ ํจํท๋์ผ๋ก ํต์ ํ๋ ํ๋กํ ์ฝ MQTT๋ HTTP, TCP ๋ฑ์ ํต์ ๊ณผ ๊ฐ์ด ํด๋ผ์ด์ธํธ-์๋ฒ ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ง ๊ฒ์ด ์๋ Broker, Publisher, Subscriber ๊ตฌ์กฐ๋ก ์ด๋ฃจ์ด์ ธ์๋ค. MQTT ํน์ง Client MQTT์ broker์ ์ฐ๊ฒฐ๋ ๋ชจ๋ ๊ฒ์ ๋งํ๋ค. Broker Broker๋ ๋ชจ๋ ๋ฉ์ธ์ง๋ฅผ ์์ , ํํฐ๋ง, ๋ฉ์ธ์ง ๊ตฌ๋ ํ๋ ์ฌ๋์ ๊ฒฐ์ , ํด๋ผ์ด์ธํธ์๊ฒ ๋ฉ์ธ์ง๋ฅผ ๋ณด๋ด๋ ์ญํ Subscribe topic์ ๊ตฌ๋ ํ์ฌ topic์ผ๋ก publish๋ ๋ฉ์ธ์ง๋ฅผ ๋ฐ๋๋ค. Topic MQTT์ topic์ ์ฌ๋์(/)๋ฅผ ๋ถ๋ฆฌ ๋ฌธ์๋ก ์ฌ์ฉํ์ฌ ํด๋ ๋ฐ ํ์ผ๊ณผ ์ ์ฌํ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค. ex) /api/update/์น์ฃผ/๋น๋ฐ๋ฒํธ..
[Django] Jump to Django (02/admin)
Super User ์ฅ๊ณ admin์ ์ฌ์ฉํ๊ธฐ ์ํด์๋ ์ฅ๊ณ admin ํ๋ฉด์ ์ ์ํ ์ ์๋ ์ํผ์ ์ ๋ฅผ ๋จผ์ ์์ฑํด์ผ ํ๋ค. ~/baby-django$ python manage.py createsuperuser ์ฌ์ฉ์ ์ด๋ฆ (leave blank to use 'runner'): admin ์ด๋ฉ์ผ ์ฃผ์: admin@mysite.com Password: Password (again): Superuser created successfully. ๊ทธ๋ฐ ๋ค์ /admin์์ ์์ฑํ id pw๋ก ๋ก๊ทธ์ธํ๋ฉด ๊ด๋ฆฌ์ ํ๋ฉด์ ์ ๊ทผํ ์ ์๊ฒ ๋๋ค. Model ๊ด๋ฆฌ from django.contrib import admin from .models import Question admin.site.register(Questi..
[Django] Jump to Django (01/์ฑ ์์ฑ+DB ์์ฑ)
App ์์ฑ ์์์ ๋ง๋ mysite ํ๋ก์ ํธ์์ ๊ธฐ๋ฅ์ ์ถ๊ฐํ๊ธฐ ์ํด์๋ ์ฑ์ ์์ฑํด์ผํ๋ค. ๊ฒ์ํ ๊ธฐ๋ฅ์ ๋ด๋นํ ์ฑ์ ์์ฑํ์. django-admin์ startapp ๋ช ๋ น์ด๋ก app์ ์์ฑ ํ ์ ์๋ค. django-admin startapp ๋ช ๋ น์ ์คํํ๋ฉด pybo ๋๋ ํ ๋ฆฌ๊ฐ ์์ฑ๋๊ฑธ ํ์ธํ ์ ์๋ค. ํ์ง๋ง /pybo ํ์ด์ง๋ฅผ ์์ฒญํ์ ๋๋ 404 ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ์ค๋ฅ์ ๋ด์ฉ์ config.urls์ ๋งคํ์ด ์๋ค๊ณ ์ ํ ์๋ค. Hello Pybo config/urls.py ํ์ผ์ ๋ค์๊ณผ ๊ฐ์ด ์์ ํ์. from django.contrib import admin from django.urls import path from pybo import views urlpatterns = [ path('..
[Django] Jump to Django (00/ํ๋ก์ ํธ ์์ฑ)
Django๋ Python์ ์คํ ์์ค ์น ํ๋ ์์ํฌ์ด์ ํ ์คํ ํ๋ ์์ํฌ์ด๋ค. ์ผ๋ฐ์ ์ผ๋ก ํ์ด์ฌ์ ์น ์๋น์ค์ ์ด๋ค๊ณ ํ๋ฉด Django ๋๋ Flask๋ฅผ ์ด๋ค๊ณ ์๊ฐํ๋ฉด ๋๋ค. ๋์ ์ฐจ์ด๋ ํ ์คํ ํ๋ ์์ํฌ(Django)๋ ์๋๋ ์ ๋. ๐Django ๊ฐ๋ฐํ๊ฒฝ ์ธํ mkdir venvs # ๊ฐ์ํ๊ฒฝ ๋ฃจํธ ๋๋ ํ ๋ฆฌ ๋ง๋ค๊ธฐ cd venvs python -m venv mysite # ํ์ด์ฌ ๊ฐ์ํ๊ฒฝ ๋ง๋ค๊ธฐ cd mysite/Scripts activate # ๊ฐ์ํ๊ฒฝ ์ง์ pip install django==4.0.3 # ์ฅ๊ณ ์ค์น python -m pip install --upgrade pip # ์๋ฌ ๋ ์ pip upgrade Django project ์์ฑํ๊ธฐ cd / mkdir projects c..
[Python] ๐python ํ๊ฒฝ์ธํ
1. Pycharm ์ค์น 2. Anaconda ์ค์น ์๋์ฝ๋ค๋ ํตํฉํจํค์ง๋ก ํ์ด์ฌ์ ํฌํจํด์ ๋ง์ ๋ชจ๋์ ํฌํจํ๊ณ ์๋ค. Jupyter Nodebook, Spyder, IPython๊ฐ์ ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ pandas, NumPy ๊ฐ์ ํ์ด์ฌ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๊ฐ ํจ๊ป ์ค์น๋๋ค. ์๋์ฝ๋ค์ ํน์ง์ ๋ค์๊ณผ ๊ฐ๋ค. 7500๊ฐ ์ด์์ ํ์ด์ฌ ์ฉ ํจํค์ง๋ฅผ ๋ค์ด๋ก๋ํ ์ ์์ conda ํ๊ฒฝ์์ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ๋ํ๋์ ๊ด๋ฆฌ scikit-learn, TensorFlow, Theano๋ก ๋จธ์ ๋ฌ๋, ๋ฅ๋ฌ๋ ๊ฐ๋ฐ Dask, Numpy, pandas, Numba๋ก ๋ฐ์ดํฐ ๋ถ์ Matplotlib, Bokeh, Datashader, Holoviews๋ก ์๊ฐํ ์๋์ฝ๋ค๋ ๋ค์๊ณผ ๊ฐ์ด ํํํ ์ ์๋ค. anaconda = python + con..
[web] php ์ค์น
๐ ์ค์น ์ค์น๊ฐ ๋๋๋ฉด Bitnami\wampstack-8.1.4-0 ํด๋ ์๋์ manager-windows.exe ํ์ผ์ด ์๋์ ๊ฐ์ด ๋ฌ๋ค. ์ฌ๊ธฐ์ web server๋ฅผ ์ผ๊ณ ๋ ์ ์๋ค. Bitnami\wampstack-8.1.4-0\apache2\htdocs ๊ฐ ์์ ํ ๊ธฐ๋ณธ ๋๋ ํ ๋ฆฌ๊ฐ ๋๋ค. ์ฌ๊ธฐ๋ค๊ฐ test.php๋ฅผ ์์ฑํ๊ณ ๋ค์๊ณผ ๊ฐ์ด ์ฝ๋ฉํด์ 127.0.0.1/test.php๋ก ์ ์ํด๋ณด์ โ๏ธ ์ค์ Bitnami\wampstack-8.1.4-0\php ํด๋์ php.ini ๋ฅผ ํธ์งํด์ ์ค์ ์ ๋ฐ๊ฟ๋ณด์. 1. ์๋ฌ๋ฉ์ธ์ง on (๊ณต๋ถ์ฉ์ผ๋๋ง ์์ฉ์์ ์๋ฌ๋ฉ์ธ์ง๋ฅผ ๋ณด์ด๋ฉด ์ทจ์ฝ์ ์ด ๋ ์ ์์) display_errors = On 2. opcache ๋๊ธฐ (์ผ๋๋ฉด ๋ฐ๋ก ๋ฐ์์๋๊ณ ์บ์๊ฐ ์ ์ฉ๋จ) o..
[โ๏ธReact.Js] ๋ฆฌ์กํธ ํ๋ก์ ํธ ์์ฑ
1. Create npx create-react-app project-name-here // npx create-react-app project-name-here --template typescript 2. Run npm start ๊ทธ๋ฌ๋ฉด ๋ฆฌ์กํธ ๋ก๊ณ ๊ฐ ๋์๊ฐ๋ ํ๋ฉด์ด ๋์จ๋ค. 3. ์ปดํฌ๋ํธ ๋ถ๋ฆฌ Header.js (๋ชจ๋ ํจ์๋ ๋๋ฌธ์๋ก ์์ํด์ผํ๋ค.) export const Header = () => ( // ์ํ ๋น์ ์ฅ ๊ตฌ์ฑ ์์๋ฅผ ํ์ดํ ํจ์๋ก ์ฌ์ฉํ๋ ๊ฒฝ์ฐ ์ฝํ ์ธ ๋ ๋๊ดํธ "{}" ๋์ ๊ดํธ "()"์ ๋ค์ด๊ฐ์ผ ํ๋ฉฐ ๋ฐํ ํจ์๋ฅผ ์ ๊ฑฐํด์ผ ํ๋ค. I am Header ); App.js import logo from './logo.svg'; import './App.css'; import { Head..