School
[Basic Security ] - Linux basic
linux Basic 여기서는 리눅스에 대한 기초적인 내용을 다룹니다. 개발자의 입장에서, 보안전문가의 입장에서 모두 중요한 명령어와 팁들을 정리했으니, 편하게 보시면 될 것 같습니다. 또한 이 포스트는 KERT의 기초 보안교육에 활용하기 위해 제작되었습니다. pwd ( print word direcetory ) 현재 작업중인 디렉토리의 이름을 보여줍니다. $pwd cd ( change directory ) cd는 디렉토리를 이동할 때 쓰는 명령어 입니다. 기본적으로 .는 현재 디렉토리를 가르키고, ..는 하위 디렉토리를 가리키며 ~는 루트 디렉토리를 가리킵니다. $cd .. $cd .././testFolder $cd ~/Desktop $cd / $cd testFolder 대충 예제를 적어 보았습니다. ..
Data-Structure - Arrays and Structure
KMP Pattern Matching 이 KMP패턴 매칭 문제는 비교한 정보를 최대한 활용하자는 취지에서 나타난 알고리즘입니다. 먼저 pattern에 해당하는 failure함수를 작성해 주어야 합니다. failure 함수는 접두사를 활용합니다. 이는 maximum length - 1 of the prefix and suffix that matches in the partial patterns으로 정의됩니다. 즉 j = 4일 때 위의 예시에서 "abcab"인데 -> ab c ab로 나눌 수 있고 |ab| - 1은 1이기 때문에 failure[4] = 1이 됩니다. 비슷하게 j = 5일 때는 "abcabc"인데 -> abc abc로 나눌 수 있고 ( 겹치는 부분 허용 ) |abc| - 1은 2이기 때문에 f..
Data-Structure - Tree
Terminology Definition tree는 위와 같이 정의됩니다. root라는 특수한 노드가 있고 이 root라는 노드를 기준으로 disjoint한 Tree의 set으로 나누어 집니다. 이를 subtree라고 합니다. Representation of Trees 대게 list로 위와 같이 Child Node를나열해서 Tree를 표현할 수도 있습니다. 하지만 이는 일반적이지 않은 방법이고 아래와 같이 Left Child-Right Sibling Representation을 사용하기도 합니다. (underground yea~) Left Child-Right Sibling Representation 이와 같이 left-child는 leftmost child를 가리키고 right sibling필드는 이..
Data-Structure - Linked-List ( Application - 3 )
Equivalent Relations Equivalent Relation이란 symeetric, relfexive, transitive을 모두 다 만족하는 관계를 말합니다. 간단한 예시는 위와 같습니다. 이는 매우 중요한데, 그 이유는 equivalent relation이 signal net을 검증하기 때문입니다. equivalence를 결정하는 알고리즘은 아래와 같습니다. 2D array representation 위의 알고리즘을 구현하기 위해서는, 2차원 배열 pairs[n][m]이 사용되어야 합니다. 여기서 m은 related pairs의 개수고, n은 objects의 개수입니다. 하지만 이는 엄청난 공간 낭비를 할 수 있습니다. 그 이뉴능 아주 적은 배열의 값만이 사용될 수도 있기 때문입니다. 또..