전체 글
-
GlobalEventBus ?Data Engineer 2024. 5. 2. 14:40
Global Event Bus : 소프트웨어 개발에서 사용하는 디자인 패턴 중 하나애플리케이션 전반에서 이벤트를 전파하고 처리하기 위한 중앙 집중식 이벤트 버스를 구현컴포넌트 간 통신을 단순화하고 애플리케이션의 유연성을 향상1. Publishing Events : 어떤 컴포넌트든지 이벤트를 GlobalEventBus에 발행할 수 있다.Ex . 사용자가 버튼을 클릭하면 해당 이벤트를 GlobalEventBus에 발행2. Subscribing to Events : GlobalEventBus를 통해 특정 이벤트에 대해 구독할 수 있다.이를 통해 여러 컴포넌트가 동일한 이벤트에 반응하도록 할 수 있음3. Event Handling : 발행된 이벤트를 수신하고 처리할 수 있는 메커니즘을 제공이를 통해 이벤트를 발..
-
4월 2주차 짧은 지식 - 포트 포워드, 선점형/비선점형 스케줄링Intern 2024. 4. 22. 08:59
포트 포워드 외부 접속을 위해서는 외부의 기기가 내부에 있는 컴퓨터나 서버가 연결된 공유기를 통과해야 함 공유기 —> 방화벽 역할을 하기 때문에 내부 컴퓨터에 접근이 가능하도록 하려면 특정 포트를 열어줘야 함 포트 포워드 외부 기기에는 고정된 IP만 전달하고 외부 기기가 내부에 접근할 수 있도록 내부의 공유기 관리자에서 설정하는 과정 허가된 포트로 접근한 외부 사용자만이 서버 PC로 접근이 가능하다 Port Forward Example 인터넷을 통해 192.168.0.1 접속 설정된 관리자 암호로 접속 관리자 도구 -> 메뉴 탐색기 -> 기본 설정 -> 시스템요약정보에서 외부 IP 주소 확인 고급설정 -> NAT/Router 관리 -> 포트포워드 설정 진입 라운드 로빈, Round Robin - 시분할 ..
-
14503. 로봇 청소기Programmers 2024. 4. 21. 19:59
https://www.acmicpc.net/problem/14503 # output: 청소하는 영역의 개수 # N * M # 동서남북 # 반시계 방향으로 90도 회전 # dfs def dfs(x, y, d): global count # 방향 : 북 / 동 / 남 / 서 # direction = [0, 1, 2, 3] dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] if not visited[x][y]: visited[x][y] = 1 # 아직 청소되지 않은 경우, 현재 칸을 청소한다. if graph[x][y] == 0: graph[x][y] = 1 count += 1 aldy_cln = 0 for i in range(4): nx, ny = x + dx[i], y + dy[i] if ..
-
9205.맥주 마시면서 걸어가기Programmers 2024. 4. 20. 19:54
https://www.acmicpc.net/problem/9205 from collections import deque t = int(input()) # 테스트 개수 def bfs(x, y, graph): # 한 박스당 1000m 이동 가능(50*20) # 1000M 내로 편의점 / 목적지 도달 실패 ==> sad while graph: a, b = graph.popleft() if abs(x-a) + abs(y-b) >= 1000: print("sad") return False else: x, y = a, b print("happy") return True # main for _ in range(t): n = int(input()) # 맥주를 파는 편의점의 개수 graph = deque() start_..
-
[Cloud] UDR : User Defined RouteNetwork 2024. 4. 19. 17:14
클라우드 네트워크에서 사용자가 정의한 라우팅 테이블 UDR은 가상 네트워크에서 특정 트래픽 패턴을 사용자가 원하는 대로 제어할 수 있도록 한다.이를 통해 사용자는 특정 IP 주소 범위, 서브넷, 가상 네트워크 등에 대한 트래픽 경로를 사용자 정의할 수 있다.- 보안 및 네트워크 관리 : 보안 요구사항에 따라 특정 IP 주소 또는 서브넷에 대한 트래픽 경로를 변경할 수 있음- 트래픽 경로 변경 : 기본적으로 설정된 네트워크 경로를 변경하여 특정 트래픽을 특정 디바이스로 리디렉션할 수 있음 - 트래픽 감시 및 분석 : 특정 트래픽 패턴을 분석하거나 감시하기 위해 특정 트래픽 경로를 설정할 수 있다.일례로, 클라우드 환경에서 가상 네트워크에 연결된 가상 머신 간의 트래픽을 모니터링하고 분석하려는 경우 UDR을..
-
2468. 안전영역Programmers 2024. 4. 18. 19:56
그저 최소(최대)만 보면 BFS로 눈돌아가는 나..(언제 정신차릴래)ㅜ from collections import deque n = int(input()) graph = [list(map(int, input().split())) for _ in range(n)] # max 값 찾기(O(n)) max_value = 0 for i in range(len(graph)): a = max(graph[i]) if a > max_value: max_value = a q = deque([(0,0)]) i = 0 count = 1 # 1씩 줄여나가면서 안전 영역 개수 찾기 by BFS while q: x, y = q.popleft() value = max_value - i dx = [0, 0, 1, -1] dy = [1..
-
라이브러리, 프레임워크, 툴의 차이Intern 2024. 4. 17. 11:50
1. 라이브러리 : 맨땅에 헤딩하여 얻은 프로그램을 다른 사람들이나 본인이 나중에 사용하기 위해 가공한 것이다. 특정 기능에 대한 API를 모은 집합을 라이브러리라고 한다. Ex. jQuery : javascript에서 자 주 쓰이는 편리한 함수를 만들어 둔 것 2. 프레임워크 : 정해진 틀에서 일을 할 수 있도록 만들어진 것으로, 예를 들어 웹에 특화하여 더 빠르게, 더 쉽게 만들수 있도록 한 것이 프레임워크다. application 개발 시 코드의 품질, 필수코드, 알고리즘, 암호화, 데이터베이스 연동 같은 기능들이 어느 정도 구성되어 있는 뼈대를 제공하도록 만들어진 것이다. S/W에서 프레임워크는 소프트웨어의 특정 문제를 해결하기 위해서 상호 협력하는 클래스와 인터페이스의 집합이라고 할 수 있으며,..