목록분류 전체보기 (106)
도순씨의 코딩일지
다음 예제는 순차열 모든 원소의 합을 구하는 예제입니다. ⭐️ accumulate() 알고리즘 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 #include #include #include using namespace std; int main(void){ vector v; v.push_back(10); v.push_back(20); v.push_back(30); v.push_back(40); v.push_back(50); cout
🌼 정렬된 범위 알고리즘 정렬된 범위 알고리즘(sorted range algorithm)은 정렬된 구간에서만 동작하는 알고리즘입니다. 따라서 순차열이 반드시 정렬이 돼어 있어야 한다는 조건이 붙습니다. 먼저 이진탐색 예제를 살펴봅시다. ⭐️ binary_search() 알고리즘 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 #include #include #include using namespace std; int main(void){ vector v; v.push_back(10); v.push_back(20); v.push_back(30); v.push_back(40); v.push_back(50); if(binary_search(v.begin(), v..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/dmu3gm/btqI1E80sTu/7HOB81ppQcvsMj2ax4KvT0/img.png)
🌼 물리보안의 정의 물리보안은 정의하기 어렵습니다. 모든 물리적 공간에서 일어나는 보안이라는 뜻이 있지만 개념이 너무 넓어집니다. 좁은 의미로는 시설에 무단으로 침입하는 것을 막는 것(접근 통제)라는 뜻이 있습니다. 핵심적인 요소이긴 하지만 모두 포괄하진 못합니다. 다시 위험의 정의로 돌아가보자면 위험과 자산, 위협, 취약성 사이에는 다음과 같은 공식이 성립됩니다. 여기서 위험은 잠재적 손실과 자산에 대한 손실을 의미합니다. 자산의 범위는 다음과 같이 나눌 수 있습니다. 💡 눈에 보이는 것 : 시설, 기구, 원자재, 제품 💡 무형자산: 평판, 신뢰, 이미지 💡 혼합 : 산업 기술, 지적 재산권 혼합의 경우에는 손에 잡을 순 없지만 책, 컴퓨터를 통해 저장할 수 있습니다. 위협의 범위는 다음과 같이 분류할..
🌼 변경 알고리즘 변경 알고리즘 은 순차열의 원소를 서로 교환하거나 이동하여 순차열 원소의 순서를 변경시켜줍니다. 원소의 순서를 순열(permutation)처럼 변경할 때 next_permutation()과 prev_permutation 알고리즘을 사용합니다. 10, 20, 30의 순차열을 사전순 순열로 만들어 출력하는 next_permutation() 알고리즘 예제입니다. ⭐️ next_permutation() 알고리즘 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 #include #include #include using namespace std; int main(void){ vector v; v.push_back(10..
원소를 수정하는 알고리즘(modifying algorithms)은 원소의 값을 변경하거나 목적지 순차열로 원소를 복사하는 알고리즘입니다. v1의 순차열을 v2의 순차열로 복사하는 copy() 알고리즘 예제입니다. ⭐️ copy() 알고리즘 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #include #include #include using namespace std; int main(void){ vector v1; v1.push_back(10); v1.push_back(20); v1.push_back(30); v1.push_back(40); v1.push_back(50); vector v2(5); v..
원소를 수정하지 않는 알고리즘(nonmodifying algorithms)은 원소의 순서나 원소의 값을 변경하지 않고 원소를 읽기만 하는 알고리즘입니다. 먼저 다음 예제는 adjacent_find() 알고리즘 예제로 vector의 순차열에서 현재 원소와 다음 원소가 같아지는 첫 원소의 반복자를 반환합니다. ⭐️ adjacent_find() 알고리즘 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 #include #include #include using namespace std; int main(){ vector v; v.push_back(10); v.push_back(20); v.push_back(30..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/b4bVaB/btqITtypBfI/CMVktDQNsWP9H3fUmZXAPk/img.png)
🌼 VLAN(Virtual LAN) 브로드캐스트 도메인 분리는 물리적인 라우터 장비가 필요합니다. 하지만 때로는 네트워크를 나누고 싶어도 장비가 부족하거나 포트가 너무 많이 남는 경우가 존재합니다. 이런 경우는 VLAN(Virtual LAN) 은 스위치 포트별로 브로드캐스트 도메인을 논리적으로 분리합니다. 기존 네트워크 물리적 변경 없이 네트워크 구조 변경이 가능합니다. 또 영역별 보안 정책에 따라서 네트워크를 분리할 수 있다는 장점이 있습니다. 동일 스위치라도 서로 다른 VLAN은 라우터를 통해서 통신이 가능합니다. 🌼 라우터를 통한 LAN과 WAN 연결 LAN은 Ethernet을 사용하고 WAN은 PPP와 Frame Replay를 사용합니다. 하지만 WAN은 직접 연결하기 비용이 너무 비싸기 때문에 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/cDcxfm/btqIRX0tqV9/fTPNjL1pwkGoA7FPYlY3s1/img.png)
🌼 통계적 다중화 (Statistical Multiplexing) 통계적 다중화는 시분할 다중화를 변경한 방법입니다. 비동기식 다중화라고 불리기도 하는 통계적 다중화는 1대 1로 전송을 하면 링크가 너무 낭비되기 때문에 여러 개를 공유하는 방식으로 변경한 것입니다. 이를 통해 자원 공유의 효율성이 더 높아질 수 있습니다. 위 사진은 시분할 다중화와 통계적 다중화를 나타낸 것입니다. 시분할 다중화에서 Wasted Bandwidth를 통해서 낭비되는 구역이 있음을 알 수 있습니다. 통계적 다중화에서는 남은 공간을 뒤에 남겨놓으므로써 공간을 절약하였습니다. 하지만 시분할 다중화는 Demux의 어느 쪽으로 내보내야 할지 시간에 따라서 정해져 있지만, 통계적 다중화는 그런 기준이 없습니다. 따라서 앞에 흰 부분은..