구름톤 딥다이브 정보보호 4주차
·
정보보호전문가/메모장
3주차부터 본격적으로 '보안'에 대해서 배우기 시작했다.부트스트랩을 이용한 웹쉘 제작부터, 버프스위트랑 톰캣을 이용한 모의해킹도 배울 수 있었다. 문제는, 강의가 생각보다 많다는 것과.. 내가 직접 개발 환경을 조성하고 실습하기까지의 시간이 추가되다보니까밀리는 강의가 어쩔 수 없이 생겨나기 시작했다. 그래도 중간중간 쉬는 날같은 느낌으로 강의가 적은 날이 있다.필수 EXP미션을 수행하는 날이거나, 알고리즘 특강을 듣는 날이면 그 날 할일이 일찍 끝나 밀린 강의를 들을 수 있다.미션을 수행한다고 와이어샤크로 혼자 패킷을 분석했다.아주 기본적인 패킷 샘플이였기 때문에 TCP통신의 3-way handshake와 4-way handshake의 흐름을 확인하고,Window scaling이 적용되었는지 확인했다. ..
MAMP설치하고 환경변수 설정하기
·
정보보호전문가/메모장
MAMP란 MAC, Apache, MySQL, PHP의 약자로 이 프로그램들을 설치하여 로컬 서버를 구축하는 소프트웨어다. 나는, 이것도, 모르고, 강의에서, 하란대로, WAMP나, 깔고, 앉아있으니까, 아무것도, 안됐지,,,,,,,WAMP는 앞글자만 바뀐게 당연히 Window꺼다.강의가 윈도우 체제인걸 잊지말도록 하자. 나는 맥인걸 인지하도록 하자.자 이제 MySQL 환경변수를 설정해보자. 터미널을 키고 명령어를 실행한다.vi ~/.zshrc i를 누르고 편집 모드로 들어가서 코드를 추가해준다. MAMP 어플리케이션에서의 mysql의 파일경로이다.mysql80 이랑 mysql57 파일 이렇게 2가지가 있었는데, 80이 더 최신버전이라길래 80으로 선택했다.export PATH=/Applications/..
구름톤 딥다이브 정보보호 2주차
·
정보보호전문가/메모장
자, 이번 일주일간 OT글에 적었던 내 작은 목표들 모두 이루지 못했다.대충 변명하자면...매복 사랑니 발치로 인한 고통약 부작용: 매스꺼움, 졸음, 멀미 등구름톤 강의 자료의 노후?공부 습관 부족  구름톤 강의 자료가 대략 3~5년 전 것들이다. 더 오래된 자료들도 있다.심지어 강의자료는 모두 윈도우 환경이여서, 맥북을 쓰는 나는 구글링에 더 시간을 쓰기도 했다.스노트 분석하는 날에 사용한 프로그램들은 구글링해도 나오지 않길래 포기하고 강의만 들었다.학습 동기를 저하시키는 요인이지만, 괜찮은 강의들도 있고 해서 크게 신경쓰지는 않았다. 이번주는 사랑니 발치가 집중을 방해하는 가장 큰 요인인 것 같았지만, 뽑기 전 내 모습을 생각해보면 그렇지도 않은 것 같다.공부 습관이 전혀 잡혀있지 않은게 문제다. 2..
구름톤 딥다이브 정보보호 OT
·
정보보호전문가/메모장
구름톤 정보보호과정에 신청하는 것은 많이 어렵지 않았다.면접이라는 것도 없었고, 자소서 작성란도 짧아서 부담없이 신청했었다.코딩테스트를 본다는 소식에 알고리즘에 취약했던 나는 살짝 쫄았었지만, 대학교 알고리즘 수업의 내용으로 커버가 가능했다.결과는 운좋게 붙었고, 열심히 달릴 일만 남았다. 03. 06  구름톤의 정보보호 과정은 전부 비대면이였다.OT 역시 Zoom을 이용한 실시간 강의로 진행되었기 때문에 장소에 제약이 없어서 좋았다.장소 제약이 없는만큼, 불참시 결석처리가 되기 때문에 필참이다. 정보보호 커리큘럼과 사용하는 시스템에 대해 설명해주시고, 커리어 매니저인 Mia님과도 짧은 만남을 가졌다.Mia님은 1시간도 안되는 짧은 시간 동안 취업에 대한 얘기를 해주시고 가셨는데 뭔가.. 든든하고 믿음직..
Distributed System 19
·
DKU/분산처리
Apache Projects이전 글에서 작성된 MapReduce는 단일 처리에는 효율적이지만, 다단계 알고리즘에서는 비효율적이다.데이터 공유를 위한 효율적인 기본 기능이 없으며, 단계 간 상태는 분산 파일 시스템으로 저장되어 복제 및 디스크로의 저장으로 인해 속도가 느려지기 때문이다. Disk-based framework(e.g., MapReduce)는 중간 결과를 디스크에 저장하며, 각 쿼리마다 데이터를 디스크에서 다시 로드한다. 따라서 장애 복구가 용이하다. ETL(Extract, Transform, Load)와 같은 작업에 적합하다.Memory-based framework(e.g., Spark)는 중간 결과를 메모리에 유지하여 I/O 비용을 절감한다. 따라서 메모리 가용성에 민감하다. 데이터셋에 적..
Distributed System 18
·
DKU/분산처리
Hadoop EcosystemBig data빅데이터는 방대한 양의 데이터를 의미하는 포괄적인 용어다.이 데이터를 효율적으로 처리하기 위한 프레임워크와 연구 개발 (R&D) 이니셔티브를 포함한다. 빅데이터의 3V는 다음과 같다.Volume: 데이터의 방대한 크기Velocity(속도): 데이터의 생성 속도 및 처리 속도 요구사항Variety(다양성): 다양한 데이터 소스와 형식빅데이터는 서로 다른 출처에서 발생하며, 크기와 형식도 다양하다.Velocity는 데이터 생성 속도 뿐만 아니라 데이터 처리 속도를 포함한다. Structured vs Unstructured Data구조적 데이터는 고도로 조직화된 데이터로, 주로 관계형 데이터베이스(relational database)나 데이터 웨어하우스(data wa..
Distributed System 17
·
DKU/분산처리
SecurityDependability vs Security: 신뢰성과 보안신뢰할 수 있는 컴퓨터 시스템은 그 서비스를 제공할 것이라고 정당하게 믿을 수 있는 시스템이다. 신뢰성과 관련된 요구사항RequirementDescriptionAvailability(가용성)Readiness of usage: 사용준비Reliability(신뢰성)Continuity of service delivery: 서비스 제공의 유지Safety(안전성)Very low probability of catatrophes: 비극의 낮은 가능성Maintainability(유지보수성)How easy to be repaired: 얼마나 수리하기 쉬운가 이 외의 의도적인 실패는 일반적으로 보안 문제로 간주된다.CIA Triad: CIA 삼각형..
Distributed System 16
·
DKU/분산처리
Fault Tolerance 이어서Failure Detection: 오류 감지프로세스가 실제로 충돌했는지를 신뢰성 있게 감지하는 방법일반적인 모델: 각 프로세스는 장애 감지 모듈을 장착하고 있으며, 프로세스 P가 다른 프로세스 Q 반응을 요청한다. Q가 반응하면, P는 Q가 살아있다고 간주하며, Q가 t 시간 내에 반응하지 않으면, P는 Q가 충돌했다고 의심한다.실질적인 구현: P가 t 시간 내에 Q로부터 heartbeat(정기적인 상태 확인 메시지)을 받지 못하면, P는 Q를 의심한다. 이후 Q가 P에게 메시지를 보내면, P는 Q에 대한 의심을 멈추며 P는 timeout 값 t를 늘린다. Q가 실제로 충돌했다면, P는 Q에 대한 의심을 계속 유지한다. Reliable Remote Procedure Ca..
Routing
·
DKU/데이터 통신
네트워크는 노드 집합과 노드 위에 정의된 방향성 링크 집합으로 이루어진 구조이다.각 링크에는 실수가 할당된다. 따라서 네트워크 G는 (V, E, A)로 표현된다.V는 노드들의 집합을, E는 방향성 링크들의 집합을, A는 링크에 할당된 실수의 집합을 나타낸다. 라우팅이란, 네트워크의 출발노드(source node)에서 도착 노드(destination)까지 데이터를 전달하기 위한 경로를 구성하는 과정이다. 경로 결정 위치에 따른 라우팅 방식의 분류각 노드에서 경로 결정을 수행하는 라우팅 방식중앙 노드에서 경로 결정을 수행하는 라우팅 방식시작 노드에서 경로 결정을 수행하는 라우팅 방식일부 노드의 집합에서 경로 결정을 수행하는 라우팅 방식경로 결정 시점에 따른 라우팅 방식의 분류각 패킷의 전송 시점에 경로 결정..
Amortized Analysis
·
DKU/알고리즘 및 실습
Amortized Runtime Analysis: 분할 상환 런타임 분석 알고리즘 A는 아래와 같은 규칙적인 런타임 패턴을 보인다고 하자.각 루프에서는 $\Theta(1)$의 시간이 걸린다.마지막 루프에서는 $\Theta(n)$의 시간이 걸린다.그렇다면 알고리즘 A의 전체 런타임은 얼마일까? $\Theta(n)$이다.마지막 루프에서 발생하는 시간 $\Theta(n)$이 이전 모든 루프에 고르게 분배된다고 가정하면, 각 루프의 평균적인 시간은 여전히 $\Theta(n)$이 된다. 이러한 방식의 런타임 분석을 분할 상환 분석이라 부른다. 하지만, 알고리즘 B는 알고리즘 A와 다소 다르다.대부분의 루프는 $\Theta(1)$의 시간이 걸린다.가끔 드물게 $\Theta(n)$의 시간이 걸리는 루프가 발생한다.이..