a
-
[정보통신공학] ch11. LAN Overviewa 2023. 6. 10. 20:21
- LAN topologies - Bus : 모든 host들이 동일한 transmission media를 사용하기 위해 경쟁한다. 1. Broadcast로 동작함 2. RX가 많으면 성능이 감소함 - Star 1. Single point of failure -IEEE 802 - LLC : MUX/DEMUX - MAC : CRC - LLC 1. Type 1 : Unacknowledged connectionless : TCP에 기반한 이더넷, 와이파이 2. Type 2 : Connection like HDLC : In-order 3. Type 3 : Acknowledged connectionless - MAC - Bridge 1. 정의 : LAN segment들을 하나의 LAN으로 통합하여 MAC 프레임을 ..
-
[정보통신공학] ch10. Cellular Wireless Networksa 2023. 6. 10. 20:16
- Cellular Networks 1. Split a large area into many small cells 2. Reuse frequency Bandwidth(Channel) in 2 or more cells that are apart with low power, short antennas - 용어 1. Cluster : 서로 다른 채널 대역폭을 사용하는 셀들의 집합 2. Frequency Reuse Factor : 한 클러스터 내의 셀 개수 3. Capacity = (채널의 개수) * (총 셀의 개수) * Cell size가 고정되었을 때, Cluster 당 셀의 개수(Frequency reuse factor)가 줄어든다면? Capacity의 증가~ - Cell Splitting : To red..
-
[정보통신공학] ch09. WANa 2023. 6. 10. 17:24
- 장거리 통신의 특징 1. 트래픽 예측이 어렵다. 2. Time delay와 Bit overhead가 concern - 용어 1. Routing : WAN에서 연결된 두 호스트들을 연결하는 경로를 구하는 것 2. Switching : 1) 메시지가 WAN을 지날 때 임의의 한 개의 네트워크 노드의 incoming link에서 outgoing link로 전송되는 것. 2) L1 하드웨어에서 동작 3. Forwarding : 메시지가 Packet Switching WAN을 지날 때 노드의 incoming link에서 outgoing link로 전송되는 것 2) L3 소프트웨어에서 동작 * switching과 forwarding은 한 노드에서 일어나는 전송이고, routing은 End-to-end 경로에서 ..
-
-
[리액트]리액트 부트스트랩으로 컴포넌트 만들기a 2022. 11. 13. 15:54
https://react-bootstrap.github.io/ React-Bootstrap The most popular front-end framework, rebuilt for React. react-bootstrap.github.io 부트스트랩 이란? 원래의 부트스트랩은 Boot+strap으로, 긴 부츠의 뒷부분에 달린 고리를 뜻했다. 이것에서 'pull one's own by one's bootstrap'이라는, 불가능한 일을 해낸다는 관용어구가 생겼다. 그리고 그 의미가 변화하여, 도움받지 않고 스스로의 상황을 개선시킨다는 의미가 되었다. 소프트웨어 개발에서 사용하는 프레임워크인 부트스트랩과는 사뭇 다른 정의이다. 여기서 소개할 부트스트랩이란 CSS와 Javascript로 만든 UI 컴포넌트들이..
-
라이브러리/프레임워크 차이점a 2022. 11. 10. 20:11
컴퓨터 공학과 3학년을 마치는 이 시점에 딱히 코딩문제 풀이나 개발 프로젝트를 하지 않아도 컴파일할 만한 소스코드를 작성하는 실력이 늘었다. 처음 컴퓨터 언어를 배우기 시작할 무렵보다 훨씬 언어에 대한 지식은 많이 까먹고 옅어진 기분인데, 완성하는 데까지 걸리는 시간은 줄었으니, 왜 그런지 생각해 볼 법하다. 그 이유는, 1. 검색 실력이 늘었다. 이 몫이 가장 크다. 2. 에러에 익숙해졌다. 에러 메시지로 어떤 문제가 있는지 이해할 수 있다. 그건 아마 많은 에러를 겪어봤기 때문이라 생각한다. 3. 개발 프로젝트를 했다. 졸업을 위해서, 지난 여름 방학에 다양한 참고 서적을 보면서 개발하는 과정을 거치고 나서부터 좀 더 넓은 시야를 확보할 수 있었다. 단순히 프론트엔드 작업을 위한 자바스크립트랑 웹개발..
-
[컴퓨터 구조] CPU와 기억장치a 2022. 8. 13. 12:58
0. CPU는 기본적으로 다음과 같은 일을 한다. - 명령어 인출(instruction fetch) : 기억장치로부터 명령어를 읽어온다. - 명령어 해독(instruction decode) : 수행해야할 동작을 결정하기 위해 명령어를 해독한다. - 데이터 인출(data fetch) : 명령어 실행을 위해 필요한 데이터를 기억장치에서 불러오거나 / IO 장치에서 데이터를 받는다. - 데이터 처리(data process) : 데이터에 대한 산술적 혹은 논리적 연산을 수행한다. - 데이터 쓰기(data store) : 수행한 결과를 저장한다. 1. CPU 구조 CPU는 제어 유닛(control unit), ALU(Arithmetic and Logic Unit)과 레지스터(register set)으로 구성된다...
-
[무선통신과 모바일]a 2022. 7. 20. 18:36
01. 무선통신의 개요 1. 주파수의 특성 무선통신에 대해, 전파의 특성을 이해해야 한다. 전파는 고음과 저음으로 나눌 수 있다. 단위 시간당 파형 변화가 많은 주파수를 고음, 적은 주파수를 저음이라고 한다. 고음은 직진하는 성향이 강하고, 물체를 만나면 반사하는 특징이 있다. 반대로 저음은 퍼져 나가는 성질이 강하고 물체를 만나면 같이 진동해 퍼진다. 또 고음은 저음에 비해 정보량이 많다. 박수 소리는 어느 방향에서 나는지 쉽게 찾을 수 있지만 천둥소리의 시작 방향은 찾기 어렵다. 스피커에서 고음을 담당하는 부분은 트위터라고 하며, 작은 원을 가진다. 저음을 담당하는 부분은 우퍼라고 한다. 고음은 방향성이 있으며 정보량이 많기 때문에 왼쪽 고음과 오른쪽 고음을 구분할 수 있는 반면 저음은 확산되기 때문..
-
[컴퓨터 네트워크]a 2022. 7. 19. 17:44
01. 컴퓨터 네트워크의 개요 1. 통신의 발전 과정 통신(communication)이란 '정보 전송'이라고 정의할 수 있다. 즉, 한쪽의 정보를 다른 쪽으로 전달하는 것이다. 전기를 개발하면서 먼 거리에 있는 사람과 의사소통하는 방법은 좀 더 빠르고 쉬워졌다. 선을 연결하여 통신을 하는 전화기가 발명되었지만, 선을 연결하는 것은 비용도 많이 들고 통신기기를 이동시킬 수 없었다. 무선통신은 이러한 문제점을 개선하려고 개발했다. 무선통신의 시초는 무전기로, 최초 무전기는 워키토키(walkie-talkie)라고 한다. 무선통신 시스템 중 일반인에게 친숙한 것은 방송이다. 2. 네트워크의 개념 네트워크는 여러 사람이나 기기를 연결한 것이다. 소셜 네트워크 서비스(SNS)는 사람들이 통신을 이용해 사회관계를 형..
-
[데이터베이스]a 2022. 7. 16. 13:51
01. 데이터베이스의 개요 1. 데이터베이스의 개념 데이터베이스는 대용량의 데이터를 쌓아 놓은 것이다. 웹 사이트에 아이디와 패스워드를 입력하면 로그인할 수 있는데, 보통 아이디와 패스워드는 데이터베이스가 저장한다. 2. 데이터베이스와 정보 시스템 데이터베이스를 사용하면 정보를 얻을 수 있다. * POS 시스템은 판매 시점 정보 관리(Point of sale, POS) 시스템으로, 판매와 관련한 데이터를 관리하고 정보를 수집하여 부가가치를 높이는 시스템이다. 이처럼 데이터 베이스로 정보 처리를 하는 시스템을 정보 시스템(information system)이라고 하낟. 정보 시스템으로 가공된 정보는 의사결정에 사용한다. 그리고 경영에 관련한 정보 시스템을 경영정보 시스템(Management Informat..
-
[OS]a 2022. 7. 15. 20:51
01. 운영체제의 개요 1. 운영체제의 정의 운영체제는 컴퓨터 전원을 켜면 가장 먼저 만나는 소프트웨어이다. 운영체제가 없는 mp3플레이어는 처음 만들 때 구현한 기능 외에 다른 기능은 사용할 수 없다. 그러나 임베디드 운영체제가 있는 mp3 플레이어는 음질을 향상시키거나 mp3 파일 외에 다양한 종류의 포맷을 지원하도록 기능을 추가할 수 있다. 또 무선 통신을 활용하여 mp3 파일을 다운로드하거나 다른 사람과 mp3 파일을 공유할 수도 있다. 즉, 운영체제가 있는 mp3 플레이어는 계속 기능을 향상시킬 수 있다. 운영체제의 역할 운영체제가 없는 컴퓨터도 작동은 한다. 세계 최초의 컴퓨터인 에니악도 운영체제 없이 작동했다. 그러면 운영체제는 왜 필요할까? 1) 성능 향상 우리는 어떤 변화를 주어 기능을 ..
-
-
[컴퓨터구조] 123a 2022. 6. 30. 09:22
1. 컴퓨터의 개념 컴퓨터는 계산을 수행하는 장치다. 컴퓨터가 사용하는 자료를 데이터라고 하는데, 컴퓨터는 데이터를 입력받아 처리(process)한 후 출력하거나 저장한다. 컴퓨터가 데이터를 처리하면 의미 있는 자료가 되는데, 이를 정보(information)라고 한다. 그러므로 정보 기술(information technology, IT)은 데이터를 가공하여 가치있는 정보로 만드는 모든 기술을 의미한다. 일반적으로 정보기술과 통신 기술을 연관관계가 있기 때문에 정보 기술과 통신 기술은 합쳐 '정보통신 기술'이라고 한다. 2. 컴퓨터의 동작 원리 컴퓨터는 하드웨어와 소프트웨어로 구성되며, 하드웨어는 다시 CPU, 메인메모리, 입력 장치, 출력 장치, 저장 장치 등 다섯 가지 요소로 구성된다. 컴퓨터에서 같..
-
[docker] 볼륨 사용법a 2022. 6. 21. 22:24
볼륨을 사용하면 ? 도커 컨테이너에서의 변경 사항을 호스트와 동기화하여 사용할 수 있다. 볼륨을 사용하려면 ? 옵션을 주면 된다. -v docker run -dit --name [컨테이너명] -v [호스트 디렉토리]:[도커 디렉토리] [사용할 이미지명] docker run -dit --name eun_gpgpu-sim -v /home/eunseong/esWork/dockerProject/gpgpu-sim:/root gpgpusim4 그 다음에 도커 실행해주면 된다 docker exec -it eun_gpgpu-sim /bin/bash
-
[vim] 플러그인 사용하기a 2022. 5. 11. 12:16
쉽게 생각했는데 이런저런 시행착오가 있었다. 단계를 요약하면 다음과 같다. 1. vim Vundle 다운로드 2. vimrc 편집 3. vim 열어서 :PluginInstall로 플러그인 설치 4. 각 플러그인 사용하기 https://vimawesome.com/plugin/cscope-vim Vim Awesome Awesome Vim plugins from across the universe vimawesome.com 위의 사이트는 vim 플러그인들을 정리해 두었다. 원하는 플러그인들을 검색해서 vimrc 파일에 넣으면 된다~! 1. vim Vundle 다운로드 https://github.com/VundleVim/Vundle.vim 1) 깃허브 레포지토리를 클론 git clone https://githu..
-
-
-
[04/25~] C++a 2022. 4. 25. 08:55
04-2 캡슐화 하나의 캡슐로 이뤄진 약이 복용자에게 제공되는 기능은 '재채기, 콧물, 코막힘'의 완화이다. 그런데 이러한 약이 재채기용, 콧물요, 코막힘용으로 나눠져 있다면, 그래서 코감기에 걸렸을 때 세 알의 약을 복용해야 한다면, 이는 캡슐화가 이뤄지지 않은 상황이다. 하나의 목적 하에 둘 이상의 기능이 모여서 하나의 목적을 달성하고 있다. 다시 말해서 캡슐화가 돼 있는 상황이다. #include using namespace std; class SinivelCap{ public : void Take() const { cout
-
-
[그리디알고리즘] 집합 커버 문제 / 강의실 배정 문제a 2022. 4. 17. 11:53
그리디 알고리즘 5. 집합 커버 문제 n개의 원소를 가진 집합이 있고 이 집합의 부분 집합을 원소로 하는 집합이 있을 때, 이 집합의 어떤 원소를 선택하여 합집합을 구하면 원래 집합과 같아지는가? 집합의 부분집합의 합으로 원래 집합을 구하는 문제이다. 예제로 신도시에서 학교르루 배치하는 문제가 나온다. 신도시에 10개의 마을이 만들어진다고 하자. 이 때, 어느 마을에 학교를 세워야 학교의 수를 최소로 하면서 모든 마을이 접근할 수 있는 학교를 세울 수 있을까? 2번, 6번 마을에 학교를 세웠을 때 한 간선으로 모든 노드들이 학교에 갈 수 있음을 확인할 수 있다. 이를 변수로 선언하면 다음과 같다. U={1,2,3,4,5,6,7,8,9,10} //마을(노드) 개수 F={S1,S2,S3,S4,S5,S6,S7..
-
-
[동적계획알고리즘] 플로이드-워셜 알고리즘a 2022. 4. 13. 21:09
그래프의 모든 정점 사이의 최단 거리를 구하는 것이 목표인 알고리즘이다. 다익스트라 알고리즘은 시작 정점에서 모든 정점의 최단 경로를 구하는 알고리즘인데 반해, 플로이드-워셜 알고리즘은 모든 정점에서 모든 정점의 경로르 구하는 알고리즘이다. (와 무슨 소리지) 이렇게 말하면 전혀 알지 못할 알고리즘이다. 그런데 생각해보면 정말 간단하다. 동적계획 알고리즘의 기본 틀을 그래프에 적용한 것이다. 우리가 찾고자 하는 것은 모든 노드를 잇는 최단 경로이다. 그런데 노드에서 노드로 가는 경로는 여러 개의 노드를 거쳐 갈 수도 있다. 당연함. 그렇게 생긴 그래프임. 그렇다면 경유해서 가는 게 비용이 적은지, 직행으로 가는 게 비용이 적은지 고려하면 비교가 가능하다. 알고리즘) allPairShortest input..