๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
[๋ผ์ด์ง์บ ํ] 2์ฃผ์ฐจ ํ์ต ์ ๋ฆฌ | Server ์ฌํ | ํ๋กํ ์ฝ(Protocol) | HTTP(S) | IP/Domain/Port | ํฌํธํฌ์๋ฉ(Portfowarding)
์ง๋ ๊ธ Server ๊ฐ์์ ์ด์ด์ Server ์ฌํํ์ต ๋ด์ฉ์ ๋๋ค ํ๋กํ ์ฝ (Protocol) - ์ปดํจํฐ ๋๋ ๊ธฐ๊ธฐ๊ฐ ํต์ ์ ์ํ ๋ฐ์ดํฐ ์ ์ก ๋ฐฉ์ ๊ท์ฝ - HTTP, HTTPS, MySQL, SSH, FTP ๋ฑ์ ํ๋กํ ์ฝ์ด ์กด์ฌํ๋ค. * HTTP(S) : ์น ํต์ ์ ์ํ ํ๋กํ ์ฝ (HTTP + TLS ์ ์ฉ = HTTPS), HTTP : 80/ HTTPS : 443 * MySQL : DB ํต์ ์ ์ํ ํ๋กํ ์ฝ * SSH : ๊ด๋ฆฌ์์ฉ ํ๋กํ ์ฝ * (S)FTP : ํ์ผ ์ ์ก์ฉ ํ๋กํ ์ฝ - ์น ํ์ด์ง์ url์ ๋ณด๋ฉด https:// ๊ฐ ์์ ๋ถ์ด ์์ ๊ฒ์ด๋ค. ์ด๋ https ํ๋กํ ์ฝ์ ์ฌ์ฉํ์ฌ ํต์ ํ๊ฒ ๋ค๋ ์๋ฏธ๋ฅผ ํฌํจํ๊ณ ์๋ค. HTTP/ HTTPS - ์ธํฐ๋ท ํต์ ์ ์ํ ํ๋กํ ์ฝ - OSI 7๊ณ์ธต ์ค 3..
[๋ผ์ด์ง์บ ํ] 1์ฃผ์ฐจ ํ์ต ์ ๋ฆฌ | Server ๊ฐ์
Server - Serve + er = ์๋น์ค ์ ๊ณต์ - ์๋น์ ๋น์ ํ์ ๋, ์ข ์ ์ ๋๋ ํค์ค์คํฌ์ ์ญํ - ํ๋ก ํธ์ ์์ฃผํ๋ฉฐ ๋ฉ๋ด ์์ง, ์๋๊ณผ ์ฃผ๋ฐฉ์ ์ฐ๊ฒฐํด์ฃผ๋ ๋งค๊ฐ์ฒด - Client์ ์์ฒญ(request)์ ์๋ต(response)ํ๋ ๋งค๊ฐ์ฒด - Client Server Backend Language DataBase : Server Client - Server์๊ฒ ์์ฒญ(request)ํ๋ ๋งค๊ฐ์ฒด - Server : Client = 1 : N ์ ๊ด๊ณ๋ฅผ ๊ฐ๋๋ค. - Server๊ฐ Client ์ ์ญํ ์ ํ๊ฒ ๋๋ ๊ฒฝ์ฐ๋ ์๋ค. ex) ์์ ๋ก๊ทธ์ธ(์นด์นด์คํก, ๋ค์ด๋ฒ ๋ฑ), Open API ์ฌ์ฉ ... Practice https://www.notion.so/softsqua..
[MySQL] UNION ๊ณผ UNION ALL ์ฐจ์ด์
์ด์ UNION๊ด๋ จํ์ฌ ๊ฐ๋ ์ ์ ๋ฆฌํ ๊ธ์ด ์์ต๋๋ค. 2023.02.08 - [๐Language/SQL] - [MySQL] NULL๊ฐ ๋ณ๊ฒฝ(์นํ) ์ถ๋ ฅ | UNION | ๋ฌธ์์ด ๋ถ๋ถ ์ถ๋ ฅ | DATE ํ์ ์ถ๋ ฅ ํ์ ์ง์ [MySQL] NULL๊ฐ ๋ณ๊ฒฝ(์นํ) ์ถ๋ ฅ | UNION | ๋ฌธ์์ด ๋ถ๋ถ ์ถ๋ ฅ | DATE ํ์ ์ถ๋ ฅ ํ์ ์ง์ ์๋ ํ์ฐ์~ ์ค๋์ ํ์ตํ ๋ด์ฉ์ ์ ๋ฆฌํ๊ธฐ ์ํด ๋์์์ต๋๋ค ํ๋์ SQL๊ด๋ จ ๊ธ๋ค์ Programmers School์ SQL ๊ณ ๋์ Kit ๋ฌธ์ ๋ค์ ํ๋ฉด์ ๋ชฐ๋๋, ๊น๋จน์๋ ๋ด์ฉ๋ค์ ๊ธฐ๋ฐ์ผ๋ก ์์ฑํ ๊ฒ ๊ฐ์ต๋๋ค. seen-young.tistory.com ํ๋ง๋๋ก ์ด์ผ๊ธฐํ์๋ฉด UNION์ ์ค๋ณต์ ์ ๊ฑฐ, UNION ALL์ ์ค๋ณต ํ์ฉํฉ๋๋ค ์ฃผ์ ํ ์ ์ ๋ ๋ค ์ปฌ๋ผ ์์ ํ์ ..
[Python] ํ๋ก๊ทธ๋๋จธ์ค ํ๊ฒ ๋๋ฒ | ๋๋น ์ฐ์ ํ์(BFS)
https://school.programmers.co.kr/learn/courses/30/lessons/43165 [ํ๊ฒ ๋๋ฒ] level 2 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr from collections import deque def solution(numbers, target): que = deque() que.append((1, numbers[0])) que.append((1, -numbers[0])) result = 0 while que: q = que.popleft() if q[0] == len(numbers): if q[1] ==..
[Python] ๋ฐฑ์ค 10819 ์ฐจ์ด๋ฅผ ์ต๋๋ก | ์์ด/์กฐํฉ | Permutations/Combinations
~์ค๋ฒ 2~ ๋ฐฑํธ๋ํน(Backtracking) ์๊ณ ๋ฆฌ์ฆ์ ํ์ตํ๋ ๊ณผ์ ์์ ๋ง๋ ๋ฐฑ์ค ๋ฌธ์ ! https://www.acmicpc.net/problem/10819 10819๋ฒ: ์ฐจ์ด๋ฅผ ์ต๋๋ก ์ฒซ์งธ ์ค์ N (3 ≤ N ≤ 8)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ๋ฐฐ์ด A์ ๋ค์ด์๋ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ๋ฐฐ์ด์ ๋ค์ด์๋ ์ ์๋ -100๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. www.acmicpc.net [์ต์ข ์ฝ๋] from itertools import permutations n = int(input()) alist = list(map(int, input().split())) maxN = 0 nPr = permutations(alist) for p in nPr: temp = 0 for i in range(n-1): ..
[Python] ๋ฐฑ์ค 2089 -2์ง์
~์ค๋ฒ 2~ [ํด๊ฒฐ ํฌ์ธํธ] 1. 2์ง์์ฒ๋ผ -2์ ๋๋จธ์ง๋ฅผ ์ ์ฅํ์ฌ ์ถ๋ ฅ 2. ๋๋จธ์ง๊ฐ 0์ด ์๋ ๋ +1 [์ต์ข ์ฝ๋] n = int(input()) result = [] if n == 0: # ์ ๋ ฅ ๊ฐ์ด 0์ผ ๋ print(0) else: while n != 0: temp = n % -2 result.append(-temp) n //= -2 if temp: # ๋๋จธ์ง๊ฐ 0์ด ์๋๋ผ๋ฉด n += 1 for r in reversed(result): print(r, end="") ์์ ์ ๋ ฅ์ฒ๋ผ -13์ด ๋ค์ด์๋ค๊ณ ์๊ฐํด๋ณด์ REFERENCE https://suri78.tistory.com/119 [๋ฐฑ์ค์๊ณ ๋ฆฌ์ฆ] 2089๋ฒ: -2์ง์ -Python [๋ฐฑ์ค์๊ณ ๋ฆฌ์ฆ] 2089๋ฒ: -2์ง์ -Python http..
[Python] ๋ฐฑ์ค 1107 ๋ฆฌ๋ชจ์ปจ | EOFError | ๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ
~๊ณจ๋5~ EOFError๊ฐ ๋ ์ ํด๋น ๋ฌธ์ ๋ฅผ ํ์ง ๋ชปํ๋๋ฐ, ๋ค์ ๋๊ธ์ ๋ณด๊ณ ํด๊ฒฐํ ์ ์์๋ค..! ๊ฐ์ ์ค๋ฅ๋ก ๊ณ ์ํ์๋ ๋ถ์ ์ฐธ๊ณ ํ์ ์~ [์ต์ข ์ฝ๋] target = int(input()) brokenButtonCount = int(input()) if brokenButtonCount == 0: # ๊ณ ์ฅ๋ ๋ฒํผ์ด ์๋ ๊ฒฝ์ฐ print(min(abs(100 - target), len(str(target)))) # 100์์ +/- vs target ๋ฒํผ ๋๋ฅด๊ธฐ else: brokenButton = list(map(int, input().split())) minN = abs(100 - target) # +/- ๋ง ์ฌ์ฉํ์ฌ ์ด๋ํ ๊ฒฝ์ฐ for num in range(1000001): # ์ฑ๋ ์ ํ์..
[Python] ๋ฐฑ์ค 16924 ์ญ์๊ฐ ์ฐพ๊ธฐ | ์์ ํ์ | ๋ธ๋ฃจํธํฌ์ค(Brute-force)
~์ค๋ฒ 2~ https://www.acmicpc.net/problem/16924 16924๋ฒ: ์ญ์๊ฐ ์ฐพ๊ธฐ ์ญ์๊ฐ๋ ๊ฐ์ด๋ฐ์ '*'๊ฐ ์๊ณ , ์ํ์ข์ฐ ๋ฐฉํฅ์ผ๋ก ๋ชจ๋ ๊ฐ์ ๊ธธ์ด์ '*'๊ฐ ์๋ ๋ชจ์์ด๋ค. ์ญ์๊ฐ์ ํฌ๊ธฐ๋ ๊ฐ์ด๋ฐ๋ฅผ ์ค์ฌ์ผ๋ก ์ํ์ข์ฐ ๋ฐฉํฅ์ผ๋ก ์๋ '*'์ ๊ฐ์์ด๋ค. ์ญ์๊ฐ์ ํฌ๊ธฐ๋ 1๋ณด๋ค ํฌ www.acmicpc.net [๊ตฌํ ํฌ์ธํธ] ๋๋ณด๊ธฐ 1. ์ ๊ณต๋ ์ ๋ ฅ ์ธ ์ญ์๊ฐ ๋ฐ๊ฒฌ์ '*'์ '.'์ผ๋ก ๋ณ๊ฒฝํ ๊ณต๊ฐ deepcopy 2. ์์ ํ์ํ๋ฉฐ '*' ๋ฐ๊ฒฌ์ ์ธ๋ฑ์ค๋ฅผ ๋ํ ์ญ์ ๋ชจ์ ํ์ธ 3. 2๋ฅผ ์ญ์ ๋ชจ์์ผ ๋๊น์ง ๋ฐ๋ณต - ๋ฐ๋ณต๋ง๋ค ์ฌ์ด์ฆ += 1 - ๋ฆฌ์คํธํ ๋ณ์์ (i, j, size) ์ถ๊ฐ - ์ญ์ ๋ชจ์์ ๋ํด '.' ์ฒ๋ฆฌ 4. ์์ ํ์ ํ ์ญ์๋ชจ์์ผ๋ก '.'์ฒ๋ฆฌํ ๊ณต๊ฐ์ '*'๊ฐ ์..
[Python] ๋ฐฑ์ค 6588 ๊ณจ๋๋ฐํ์ ์ถ์ธก | ์๊ฐ ์ด๊ณผ | ์๋ผํ ์คํ ๋ค์ค์ ์ฒด | ์์ ๊ตฌํ๊ธฐ ๋ํ์
~์ค๋ฒ1~ ์๋ฌด๋ฆฌ ๊ณ ์ณ๋ 41%์์ ์๊ฐ ์ด๊ณผ,,,, ๊ด๊ธฐ์ ๋์ ๋ณด์ฌ์ฃผ๊ธฐ๋ก ํ๋ค ํ๋์์ "๋๋ '์๋ผํ ์คํ ๋ค์ค ์ฒด' ์์ ํ ์ดํดํ ๋๊น์ง ๊ตด๋ ค์ผ์ง ์ ๋๊ฒ ๋ค" ๋ผ๊ณ ํ ๊ฒ ๊ฐ์ ๋๋์ด์๋ค,,, ๋ง๋ ์ ๋๋ ์ํฉ์ธ๊ฒ ํจ์ ์์ ์ฝ๋๋ฅผ ๋ฃ๊ณ ํธ์ถํ๋ ๋ฐฉ์์ผ๋ก ํ๋๊น ์๊ฐ ์ด๊ณผ๊ฐ ์ ๋ฌ๋ค๋ ์ฌ์ค์ ๊นจ๋ฌ์๊ธฐ ๋๋ฌธ์ด๋ค,,, ์๋ผํ ์คํ ๋ค์ค์ ์ฒด ์์๋ฅผ ๊ตฌํ๊ธฐ ์ํ ๋ฐฉ๋ฒ๋ก ์ด๋ค. 2๋ถํฐ ์์(1์ ์์๊ฐ ์๋) ํ์ฌ N๊น์ง True๊ฐ์ ๊ฐ์ง ๋ฐฐ์ด์ ๋ง๋ค๊ณ , ์์๊ฐ ์๋ ๊ฐ์ ์ ์ธ(False)ํ์ฌ ๋๊ฐ๋ ๋ฐฉ์์ด๋ค ์ฃผ์ํ ์ ์ 2๋ถํฐ N๊น์ง ๋ชจ๋ ํ์ธํ๋ ๊ฒ์ด ์๋ N**0.5, ์ฆ N์ ์ ๊ณฑ๊ทผ๊น์ง ๊น์ง๋ง ํ์ธํ๋ฉด ๋๋ค. ์ ์ ๊ณฑ๊ทผ๊น์ง๋ง ๊ตฌํ๋ฉด ๋ ๊น? ์๋ฅผ ๋ค์ด N์ ๊ฐ์ผ๋ก 12๊ฐ ์ฃผ์ด์ก๋ค๊ณ ์๊ฐํด๋ณด์ 12๋ฅผ ๊ณฑ์ ์ผ..