전체 글
-
[BOJ 1325] 자바 성능 최적화 (부제: 온몸 비틀기)카테고리 없음 2025. 8. 8. 20:22
http://boj.kr/1325해당 문제를 간략하게 설명하면, N개의 노드, M개의 간선을 갖는 방향 그래프에서 임의의 정점 v를 시작 정점으로 그래프 탐색을 수행했을 때 연결요소를 이루는 정점이 가장 많은 시작 정점을 찾는 것이다. 더 쉽게 이야기하면, 그냥 N개의 노드 전체를 시작 정점으로 잡고 DFS/BFS 를 수행하는 문제이다. 대부분의 경우 아래의 풀이와 같이 혹은 비슷하게 풀었을 것이다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.Arrays;import java.util.Collections;imp..
-
[K-SW Square] 퍼듀대학교카테고리 없음 2024. 1. 22. 06:02
학교에서 운영하는 프로그램 중 겨울 방학 기간에 퍼듀 대학교로 연수를 보내주는 프로그램이 있어 신청하였고 운이 좋게도 선발되어 퍼듀로 오게 되었다. 미국에 오기까지 교내 선발과정부터 여권, 비자발급을 위한 서류작업 등 내가 생각할 때는 은근히 할 것이 많다고 느꼈는데, 교환학생을 다녀온 친구에 말을 들어보면 이것은 아주아주 편하게, 특별 대우급으로 편하게 준비한 것이라고 한다. 오랜 기간 이 프로그램을 운영해온 학교와 IITP 에 감사함이 든다. 미국을 약 2달동안 가는 것임에도 불구하고 짐 준비는 굉장히 대충대충 했다. '생필품이 뭐 얼마나 비싸겠어? 없으면 가서사지'라는 생각이었다. 캐리어 2개 중에 1개는 가득 채우고, 나머지 1개는 한 1/3 정도 채운 것 같은데 크게 불편함은 없었다. 이후 기수..
-
[Data Communication] 무선/이동 네트워크 사례데이터 통신 2023. 6. 5. 23:17
무선랜, 무선 네트워크 구성에는 다음과 같은 기술들을 사용할 수 있습니다. WiFi Bluetooth Zigbee WiBro 2/3/4/5G Celluar WiFi (IEEE 802.11) 에 대해서는 지난 포스팅에서 다뤄봤으니, 이번 포스팅에서는 블루투스부터 다뤄보겠습니다. 블루투스 Bluetooth 방식도 무선 통신 방법 중 하나로 ISM band 인 2.4GHz 주파수를 사용합니다. 그리고 FHSS (Frequency-hopping spread spectrum) 기술을 사용합니다. Frequency Hopping 이란, 주파수를 옮겨가며 데이터를 전송하는 방법입니다. Zigbee 또다른 무선 통신 기술 중 하나인 Zigbee 에 대해서 알아보겠습니다. 이동통신망 (Cellular Network) 셀..
-
[Data Communication] 유선 네트워크데이터 통신 2023. 6. 5. 22:47
이번 포스팅에서는 전통의 유선 네트워크에 대해 다루겠습니다. 이더넷 이외의 전통적인 유선 네트워크로는 다음과 같은 것들이 있습니다. 전화망 모뎀 DSL Cable 네트워크 광 인터넷 ATM SONET WDM 전화망 초기 전화망은 수동 교환 방식으로 운영되다가 시간의 흐름에 따라 점점 자동화되고 1980년대 후반에 이르러서는 아날로그 음성이 Modulation 되어 데이터의 형태로 전송되는 방식으로 운영됩니다. VoIP 와 같은 IP 프로토콜 기반의 음성 서비스는 Modulation 된 디지털 데이터를 패킷 교환 방식으로 송수신하지만, 전통적인 유선 전화 환경에서는 회선 교환 방식으로 데이터를 송수신합니다. SS7 이란, 전화기가 전화기와 어떻게 대화하는지에 대한 규칙들의 집합입니다. 전화 통신에서 각 단..
-
[Operating System] Virtual Memory운영체제 2023. 6. 1. 13:11
이전 Memory Management 포스팅에서 잠깐 Virtual Memory 에 대해 언급한 바 있습니다. 이번 포스팅에서 이것에 대해 자세히 알아보겠습니다. Virtual Memory 이전 Memory Management 방식에서 Paging, Segmentation 방식으로 메모리를 관리하는 방법에 대해 배웠습니다. 프로세스가 반드시 한 번에 메인 메모리에 로드되거나 Swap out 될 필요없이, 프로세스를 작게 쪼개 일부분만 올려 운용할 수 있습니다. 그렇기 때문에 일부분은 보조 기억장치에서 저장하고 있다가 필요할 때 메인 메모리에 로드하는 방법으로 메모리를 관리하면, 메인 메모리 공간을 더욱 효율적으로 사용할 수 있습니다. 이렇게 메인 메모리와 보조 기억장치를 함께 사용하여 프로세스를 관리하는..
-
[Data Communication] WiFi데이터 통신 2023. 6. 1. 01:02
WIFI WIFI 라고 부르는 무선 연결 기술은 IEEE 802.11 기술에 근거한 "인증" 입니다. 즉, IEEE 802.11 를 기본으로 여러 기업, 단체가 모여 만든 인증단체입니다. 그래서 WiFi 로고가 있으면, 802.11 표준에 호환된다라고 알 수 있습니다. WIFI 를 사용하는 타겟은 정해져있습니다. 아주 작은 사무실이나, 가정에서 사용합니다. 주파수는 공공재이기 때문에, 이용하기 위해서는 국가에서 허가를 받아야합니다. 하지만 WiFi 에서 사용하는 주파수인 2.4GHz 나 5GHz 같은 경우에는, 별도의 허가가 없어도 사용할 수 있도록 허용되어 있습니다. 하지만, 아무리 허용된 주파수라도 파워를 아주 크게하면, 아주 먼 곳까지 도달가능합니다. 이런 이유로 파워와 거리에 제한을 둡니다. (거..
-
[Data Communication] 무선 연결에서의 MAC, CSMA/CA데이터 통신 2023. 5. 31. 13:10
지난 포스팅에서 이더넷에서의 MAC (Media Access Control) CSMA/CD 에 대해 살펴보았습니다. 이번 포스팅에서는 무선 연결에서의 MAC 인 CSMA/CA (Collistion Avoidance) 에 대해 알아보겠습니다. 이더넷의 CSMA/CD 에서는 동시 송수신을 통해 Collision Detection 을 수행합니다. 하지만, 무선랜 환경에서는 동시 송수신을 수행하기 위해서는 많은 Power 를 사용해야합니다. 또, 거리에 따라 신호 감쇄가 일어나는 경우 Collision Detection 이 어려워집니다. 뿐만 아니라, Hidden Station Problem 이 발생하여 충돌 감지가 어려워집니다. Hidden Station Problem 이 무엇인지 알아봅시다. Hidden S..
-
[Data Communication] MAC 과 CSMA/CD 그리고 이더넷데이터 통신 2023. 5. 24. 22:39
이전 포스팅에서는 링크계층에서의 흐름제어/오류제어 방법에 대해 알아보았습니다. 이번 포스팅에서는 오류제어를 하기 전, 매체 접근에 대한 제어 방법에 대해 알아보겠습니다. 다른 기기와 통신을 하기 위해서는 먼저 매체에 접근하여야 합니다. 왜냐하면 실제 데이터는 매체를 통해서 날아가기 때문입니다. 이렇게 매체 접근에 대한 제어 방법을 MAC 이라고 지칭하며 MAC 을 위한 프로토콜은 다음과 같습니다. 가장 초창기의 MAC Protocol, Aloha! 에 대해 알아봅시다. Aloha! Aloha! 프로토콜은 매우 단순합니다. 일단 데이터를 송신하고, 만약 다른 노드에서도 동시에 데이터를 송신하기 위해 매체에 접근하여 충돌이 발생하면, 재전송을 수행합니다. Ethernet Aloha 의 방법을 계승하여, Et..