์ ์ฒด ๊ธ
APM ์์ค์ค์น(1) - Apache ์์ค ์ค์น
-์์ค์ค์น๋ฅผ ํ๋ ์ด์ ? : ํจํค์ง ์ค์น๋ก ๊ฐํธํ๊ฒ ์ค์น๋ฅผ ํ ์ ์์ง๋ง ๋ถํ์ํ๊ฒ ์ค์น๋๋ ํ์ผ๋ค์ด ์์คํ ์ ์์์ ์ฌ์ฉํ๊ฒ ๋๊ณ ํจํค์ง ๋จ์๋ก ์ค์น๋๊ธฐ์ ๊ด๋ฆฌ์ ์ผ๋ก ๋ฌธ์ ๊ฐ ๋ฐ์ ๊ฐ๋ฅํ๋ค. ์์ค ์ค์น๋ก ์ ๋ง ํ์ํ ๊ธฐ๋ฅ๋ง์ ์ค์นํ์. ์ ์์ฌํญ - php ์ค์น ์์ apache, mysql ๊ด๋ จ ์ค์ ์ด ๋ค์ด๊ฐ๊ธฐ ๋๋ฌธ์ php๋ฅผ ๊ฐ์ฅ ๋์ค์ ์ค์นํ์ฌ ์ค๋ค. - ์ค์น ์์ ์์กด์ฑ ๊ฒ์ฌ์ ์ ์ํ์. - /usr/local ์ค์นํ๊ณ ์์คํ์ผ์ /usr/local/src์ ์ค์นํ๋ ๊ฒ์ด ๊ด๋ก์ด๋ค. - ๋ฒ์ ์ฒดํฌ [์ถ์ฒ: m.blog.naver.com/PostView.nhn?blogId=tawoo0&logNo=221582362314&proxyReferer=https:%2F%2Fwww.google.co.kr%2F] 1..
์๋ฒ๋ ๋ฌด์์ธ๊ฐ?
softSquared ์์ ์๋ฒ๋ ๋ฌด์์ธ๊ฐ? ์๋ฒ์ ํน์ง 1) N:1 (ํด : ์) – ๋ด ํ๋ก๊ทธ๋จ์ ๋ค์์ ํด๋ผ์ด์ธํธ๋ฅผ ์์ฉ ํ ์ ์๋๊ฐ? + ๋ณ๋ ฌ ํ๋ก๊ทธ๋๋ฐ์ ๊ณ ๋ ค! 2) ์๋ฒ ํด๋ผ์ด์ธํธ๋ ์๋์ ์ด๋ค. – ์๋ฒ ๊ฐ๋ฐ ๋์ค์ ํด๋ผ์ด์ธํธ ์ญํ ์ ์ํ ํ ์๋ ์์ ์ด ๋ฐ์๋ ์ฌ๋ฌ ํน์ง์ด ์์ง๋ง ๋ํ์ ํน์ง๋ง ์ผ๋จ ์์ ๋์. clinet - (server programming – backend language – dbms + db) ๊ตฌ์กฐ์์ ๊ดํธ ์์ ๊ฒ๋ค์ ํต์นญํ์ฌ ์๋ฒ๋ผ ๋ถ๋ฅธ๋ค. ๊ทธ๋ผ ์๋ฒ๋ฅผ ๊ตฌ์ถํ๋ค๋ ๋ง์ ๋ฌด์์ผ๊น? : ์์ ๊ดํธ ์์ ๊ฒ๋ค์ ์ฌ์ฉํ ์ด์์ฒด์ ์์ ์ค์นํ์ฌ ์ค์ ๊น์ง ๋ง์น ์ํ๊ฐ ์๋ฒ๋ฅผ ๊ตฌ์ถํ๋ค๋ ๋ง์ด ๋๋ค. -๋ค์์ผ๋ก APM์ ๊ฐ์๋จธ์ ์์์ Ubuntu ํ๊ฒฝ ์์ ์๋์ค์น(์์ค ..
sys.stdin.readline
Java ์์ scanner ๋ณด๋ค buffer ๊ฐ ๋ ๊ฐ๋ณ๊ณ ๋น ๋ฅธ ๊ฒ์ฒ๋ผ ํ์ด์ฌ์์๋ input() ๋ณด๋ค sys.stdin.readline() ์ด ๋ ๋น ๋ฅด๊ฒ ์๋ํ๋ค. ์ด์ ๋ input() ๋ด์์ raw_input()์ evaluate ํด์ ๋ผ๋๋ฐ ์์ธํ๊ฒ์ ๋ด๋ถ๋ฅผ ๋ค์ฌ๋ค ๋ด์ผ ํ ๊ฒ ๊ฐ๋ค. ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์์ ๋ง์ผ ์ ๋ ฅ๊ฐ์ด ๋๋ฌด ํฌ๋ค๋ฉด(๋ฐฑ๋ง ์ด์์ ๊ฐฏ์) ํ๋ฉด input()์ ์ฐ๋ ๊ฒ์ ์ง์ํ์. ์ ๋ ฅ ์๋ ๋น๊ต ์๋ฃ [www.acmicpc.net/blog/view/56]
๊ฐ๋ฐํ ์ฝ๋ฉํ ์คํธ ์ค๋น๋ฅผ ์ํ HTTPํ๋กํ ์ฝ, REST API with python
๊ฐ๋ฐํ ์ฝ๋ฉ ํ ์คํธ ๊ฐ๋ ์ ๋ฆฌ API๋ ๋ฌด์์ธ๊ฐ? -Application Programming Interface -ํ๋ก๊ทธ๋จ๋ผ๋ฆฌ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๊ธฐ ์ํ ๋ฐฉ์ ๋ฐ์ดํฐ๋ฅผ ์ฃผ๊ณ ๋ฐ๋ ์๋ก์ ๊ท์น์ ๋ง๋ค์ด ๋์๋ค -> ํ๋กํ ์ฝ - ์ด๊ฒ์ ์ ํ๊ธฐ ๋๋ฆ - ๋ง์ด ์ฌ์ฉํ๋๊ฒ์ค ํ๋๊ฐHTTP(hyper text transfer protocol) ์๋ฅผ ๋ค์ด์ ํํ์ด์ง์ url์ ์ ๋ ฅํ๋ฉด ํด๋น ํ์ด์ง๋ก ๊ฐ๋๋ฐ ์ด๊ฒ์ด http ํ๋กํ ์ฝ์ด๋ผ๊ณ ํ ์ ์๋ค. (http ํ๋กํ ์ฝ ์์๋) 1. ๋ด๊ฐ ๋ณด๊ณ ์ถ์ ํ์ด์ง์ url ์ ๋ธ๋ผ์ฐ์ ์์ ์๋ฒ ์ธก์ผ๋ก ๋ณด๋ธ๋ค 2. ์๋ฒ๋ ๋ธ๋ผ์ฐ์ ์ธก์ผ๋ก ์๋ต์ ๋ณด๋ด์ค๋ค 3. ๋ธ๋ผ์ฐ์ ๋ ์๋ฒ์์ ์จ ์๋ต์ ๊ฐ์ง๊ณ ์๊ฐํ ํ์ฌ์ ํ๋ฉด์ ๋ํ๋ด์ด ์ค๋ค. Python์์ ์ฌ์ฉ ๋ฐฉ๋ฒ 1. request..
Chapter 7. ์ด์งํ์
1. ์์ฐจํ์: ๋ฆฌ์คํธ ์์ ์๋ ํน์ ํ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๊ธฐ ์ํด์ ์์์ ๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ํ๋์ฉ ์ฐจ๋ก๋๋ก ํ์ธํ๋ ๋ฐฉ๋ฒ count()๋ฉ์๋ ๋ํ ์์ฐจํ์์ด ์ด์ฉ๋๋ค. 2. ์ด์งํ์: ์ด์งํ์์ ๋ฐฐ์ด ๋ด๋ถ์ ๋ฐ์ดํฐ๊ฐ ์ ๋ ฌ๋์ด ์์ด์ผ๋ง ์ฌ์ฉ ํ ์ ์๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ค. ๋ณ์ 3๊ฐ๋ฅผ ์ฌ์ฉํ๋๋ฐ ์์์ , ๋์ ๊ทธ๋ฆฌ๊ณ ์ค๊ฐ ์ ์ ์ด์ฉํ๋ค. ์ฐพ์ผ๋ ค๋ ๋ฐ์ดํฐ์ ์ค๊ฐ์ ์์น์ ์๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ๋น๊ตํด์ ์ํ๋ ๋ฐ์ดํฐ๋ฅผ ์ฐพ๋๊ฒ ์ด์งํ์ ๊ณผ์ ์ด๋ค. ์๊ฐ ๋ณต์ก๋๋ O(nlogn)์ด๋ค. (ํ๋ฒ ํ์ธํ ๋ ๋ง๋ค ํ์ธํ๋ ์์์ ๊ฐ์๊ฐ ์ ๋ฐ์ฉ ์ค์ด๋ค๊ธฐ ๋๋ฌธ) ์ด์งํ์ ์ฝ๊ฒ ๋ณด์ง ๋ง์!!! '์กด ๋ฒคํ๋ฆฌ'(์๊ฐํ๋ ํ๋ก๊ทธ๋๋ฐ์ ํ์) ์ ๋ง์ ๋ฐ๋ฅด๋ฉด ์ ๋๋ก ์ด์ง ํ์ ์ฝ๋๋ฅผ ์์ฑํ ํ๋ก๊ทธ๋๋จธ๋ 10% ๋ด์ธ๋ผ ํ ์ ๋๋ก ์ค์ ๊ตฌํ์ ๊น..
๋์ ๋ถ์บ๋ 125cc ์ ๋ฌธ๊ธฐ
์ ์ ์ฒซ ๋ฐ์ดํฌ๋ ๋ถ์บ๋ 125cc ๋ก ์ ํ์ต๋๋ค. ์ฌ๋ฆฌ๋ธ ๊ทธ๋ฆฐ์ด ๋งค์ฐ ์ด์์ฃ ? ํ๊ฐ ์๋ ๋ฌ๋ ค๋ณด๊ณ ๋๋ก์์ ์๋๋ ๊บผ๋จ๋ ค ๋ณด๊ณ ์์ํ ๋ฐค๊ณต๊ธฐ ๋ง์ผ๋ฉฐ ๋ฐค๋ฐ๋ฆฌ๋ ํด๋ณด๊ณ ์ ๋ง ์ฌ๋ฐ์๋ค์! ํฌ์ด๋ ๊ฐ๊ณ ์ถ์๋ฐ ๊ฐ์ด ๊ฐ ์ฌ๋์ด ์์ด์ ใ ใ (์์ธ๋ผ๋น์ผ...) ์์ผ๋ก๋ ์์ ๋ผ์ด๋ฉ! ๋ฐฉ์ด ์ด์ !
Chapter 6. ์ ๋ ฌ
1. ์ ํ์ ๋ ฌ: ๋งค๋ฒ ๊ฐ์ฅ ์์๊ฒ์ ์ ํํด์ ์ ๋ ฌ ์๋ ๋ถ๋ถ์ ๊ฐ์ฅ ์ฒซ๋ฒ์งธ ์์น์ ์๋ฆฌ์ํจ๋ค. tip) ํ์ด์ฌ์ ์ค์์ดํ๋ ๋งค์ฐ ๊ฐ๋จํ๋ค๋ ๊ฒ์ ์ด์ฉํ์ -์๊ฐ ๋ณต์ก๋: O(n^2) 2. ์ฝ์ ์ ๋ ฌ: ์ด๋ฏธ ์ ๋ ฌ๋ ๋ฆฌ์คํธ์ ๋ฐ์ดํฐ ํ๋๋ฅผ ์ฝ์ ํ ๋ ์ ์ ํ ์์น์ ์ฝ์ ํ๋ฉด ๋๋ ๊ฒ์ ์ฐฉ์ํ๋ค๋ ์์ผ๋ก ๊ตฌํํ๋ฉด ๋๋ค. ํ์ฌ ๊ฐ๋ฅดํค๊ณ ์๋ ์ธ๋ฐ์ค ์๋ถ๋ถ์ ์ด๋ฏธ ์ ๋ ฌ๋์ด ์๋ค๊ณ ๋ณธ๋ค(์ค์ ๋ก ์ ๋ ฌ ๋์ด ์์๊ฒ์ด๋ค.). ์ธ๋ฑ์ค๋ฅผ ์ ์ฐจ ์ฆ๊ฐ ์ํค๋ฉด์ ์์ ๋ฐฐ์ด์ ์ฝ์ ํ๋ ์์ผ๋ก ๊ฑฐ์ ์ ๋ ฌ๋ ๋ฆฌ์คํธ์ ํจ๊ณผ์ ์ด๋ค. - ์๊ฐ ๋ณต์ก๋ : O(n^2), ๊ฑฐ์ ์ ๋ ฌ๋์ด ์์ ๊ฒฝ์ฐ -> O(n) 3. ํต์ ๋ ฌ: ์ฌ๊ท์์ผ๋ก ์๋ํ๋ค. 3๊ฐ์ง ํฌ์ธํธ๋ง ๊ธฐ์ตํ์ 1. ํผ๋ฒ ์ ํ๊ธฐ 2. ์ผ์ชฝ ๋ถ๋ถ ์ค๋ฅธ์ชฝ ๋ถ๋ถ ๊ฐ ๋ ์ง์ ์์ ์ถ๋ฐํ์ฌ ์ผ์ชฝ ..
์ํ์ฝ๋ฉ OAuth ์ ๋ฆฌ
์ํ์ฝ๋ฉ OAuth ์ ๋ฆฌ [์ถ์ฒ:https://www.youtube.com/watch?v=hm2r6LtUbk8&list=PLuHgQVnccGMA4guyznDlykFJh28_R08Q-&index=1] OAuth ์ ๋ฑ์ฅํ๋ 3๊ฐ์ ์ฃผ์ฒด๊ฐ ์๋ค. - resource owner(user) - resource server - client -(์ถ๊ฐ)Authorization server – ์ธ์ฆ๊ณผ ๊ด๋ จ๋ ์ฒ๋ฆฌ๋ฅผ ์ ๋ดํ๋ ์๋ฒ OAuth๋ฅผ ๋ฑ๋กํ๋ ๋ฐฉ๋ฒ - Client๊ฐ resource server๋ฅผ ์ด์ฉํ๊ธฐ ์ํด์๋ resource server์ ์น์ธ์ ์ฌ์ ์ ๋ฐ์ ๋์ผํ๋ค. ์ด๊ฒ์ ๋ฑ๋ก(register)๋ผ๊ณ ํ๋ค. ์๋น์ค ๋ง๋ค ๋ค ๋ค๋ฅด๋ค. ๊ณตํต์ ์ผ๋ก ๋ฐ๋๊ฒ์ 1. Client ID -> ์ฐ๋ฆฌ๊ฐ ๋ง๋ค๊ณ ์๋ ์ดํ๋ฆฌ..