전체 글

공부한 것 기록합니다
📌 2.4.1 ARP컴퓨터 간 통신은 정확히 IP 주소에서 `ARP`를 통해 `MAC 주소`를 찾아 MAC 주소 기반으로 통신함 `ARP`: IP 주소로부터 MAC 주소를 구하는 프로토콜`RARP`: MAC 주소를 IP 주소로 변환하는 프로토콜 ARP 주소를 찾는 과정- 장치 A가 ARP 브로드캐스를 보내 특정 IP 주소에 해당하는 MAC 주소를 찾음 (모든 호스트에 전송)- 해당 주소에 맞는 장치 B가 ARP 유니캐스트를 통해 MAC 주소를 반환 (1:1로 전송)-> IP 주소에 맞는 MAC 주소를 찾음 📌 2.4.2 홉바이홉 통신`홉바이홉 통신`: IP 주소를 통해 통신하는 과정각각의 라우터에 있는 라우팅 테이블의 IP를 기반으로 패킷을 홉바이홉으로 전달 `라우팅 테이블`- 송신지에서 수신지까지 ..
📌 의존성 주입이란?Spring Boot에서 `의존성 주입(Dependency Injection, DI)`은 객체 간의 의존 관계를 자동으로 설정해주는 중요한 개념이다.이를 통해 코드의 `결합도`를 낮추고, `테스트 용이성`과 `유지보수성`을 높일 수 있다. 의존성 주입을 통해 클래스 간의 결합도를 낮출 수 있다. 결합도가 낮아지면, 한 클래스의 변경이 다른 클래스에 미치는 영향을 줄일 수 있다. 이는 코드의 유지보수성과 확장성을 높이는 데 중요한 역할을 한다. 예를 들어, 클래스 A가 클래스 B에 직접 의존하는 경우, B의 변경사항은 A에 직접적인 영향을 미치게 된다. 하지만 의존성 주입을 사용하면, A는 B의 구체적인 구현이 아니라 인터페이스나 추상 클래스에 의존하게 되어, B의 구현 변경이 A에 ..
import sysfrom collections import dequedef breakBalloon(num): if num > 0: for _ in range(num-1): q.append(q.popleft()) else: num = -num for _ in range(num): q.appendleft(q.pop()) print(q[0], end = " ") return q.popleft()N = int(input())q = deque([i for i in range(1, N+1)])paperList = list(map(int, sys.stdin.readline().split()))print(1, end =..
테스트비즈니스 로직과 제약 사항을 제대로 준수하고 있는지 확인하기 위해 테스트를 ‘필수적으로’ 작성해야 한다.테스트는 시간이 남으면 작성하는 것이 아닌, 우리의 소프트웨어가 제대로 작동하는 것인지 보증해주는 문서와 동일하게 간주하여 꼼꼼하게 작성해야 한다.특히, `예외가 발생하는 테스트`는 반드시 작성해야 한다.  도메인 테스트 작성하기경계값이나 (ex. 0), 실패하는 값을 넣고 예외가 제대로 발생하는지 확인한다. public class Point { private int amount; public Point(int amount) { validateAmount(amount); this.amount = amount; } public void plus(int ..
import sysfrom collections import dequeN = int(input())q = deque([])for _ in range(N): cmd = list(map(int, sys.stdin.readline().split())) if len(cmd) == 2: if cmd[0] == 1: q.appendleft(cmd[1]) elif cmd[0] == 2: q.append(cmd[1]) else: if q: if cmd[0] == 3: print(q.popleft()) elif cmd[0] == 4: p..
from collections import dequeN, K = map(int, input().split())people = deque([])answer = []for i in range(1, N+1): people.append(str(i))while people: for _ in range(K-1): people.append(people.popleft()) answer.append(people.popleft()) print("") # for문 돌릴 필요 없이 하는 법people = deque([i for i in range(1, n+1)]) 예전에 알았었는데! 까먹었다  규칙 찾는 건 재밌어 예제를 보면7, 3 입력 시 가 나와야 한다1 2 3 4 5 6 7 이면 1..
from collections import dequecardQueue = deque([])N = int(input())for i in range(1, N+1): cardQueue.append(i)while len(cardQueue) != 1: cardQueue.popleft() cardQueue.append(cardQueue.popleft())print(cardQueue.pop()) 이제 스택, 큐(덱)은 마스터한 듯 크크크 ~!!!import 구문도 안 보고 넣었다 !!!!
from collections import dequeimport sysn = int(input())queue = deque([])for _ in range(n): cmd = list(sys.stdin.readline().rstrip().split()) if len(cmd) == 2: if cmd[0] == 'push': queue.append(cmd[1]) else: if queue: if cmd[0] == 'pop': print(queue.popleft()) elif cmd[0] == 'size': print(len(queue)) ..
린구
린구의 개발자 되기