[자료구조] 간단한 스택을 만들어보자 1
·
IT Study/My project & study
종종 우리가 메모리 구조를 보게 되는 경우가 있다. 그 중 스택이라는것을 많이 들어보았을 것이다. 대표적인 선형구조의 자료구조인 스택에 대해서 간단하게 구현해보자. 스택을 구현하기 전 간단하게 스택에 대한 개념을 잡고 가자. 먼저 사진을 밑 사진을 보자 사진을 보면, 빈 스택에 데이터가 차곡차곡 쌓이는것을 볼 수 있다. 이것을 우리는 스택에서 push라고 부른다. 그리고 다시 스택에 있던 데이터가 밖으로 나가는것을 볼 수 있다. 이것을 우리는 pop이라고 부르자. 위 사진을 자세히 보았다면 스택의 특이한 점을 알 수 있을 것이다. 보는것처럼 스택에는 출입구가 한곳밖에 없다. 우리는 이것을 LIFO(Last In First Out)이라고 부르기로 했어요. 말그대로 가장 늦게 들어온 데이터가 가장 먼저 나간..
[AWS] Docker을 사용하여 빠르게 CTFd 구축 하기
·
IT Study/AWS & Server, Network
CTFd는 우리가 흔히 아는 CTF 사이트 오픈소스이다. Docker hub에 업로드 된 ctfd 공식 이미지를 통해 정말 빠르고 쉽게 구축할 수 있다. 1. docker install 먼저 container 환경에서 ctfd를 운영하기 위해 docker을 설치한다. 도커의 경우 운영체제마다 설치 방법이 다르다. 가장 많이 사용하는 ubuntu와 내가 사용 중인 amazon linux2를 기준으로 설명한다. 타 운영체제의 경우 docker 공식 사이트에서 자료를 쉽게 찾을 수 있다. ubuntu 20.04 docker install 명령어 sudo apt update -y sudo apt upgrade -y sudo apt install -y docker.io amazon linux2 docker ins..
[AWS] OpenSSH로 EC2 접속하기.
·
IT Study/AWS & Server, Network
윈도우 10에서 ssh에 접속하기 위해서는 OpenSSH 라는 선택적 기능이 필요하다. OpenSSH OpenSSH를 설치 후 cmd에서 ssh 입력 설치가 제대로 된것을 볼 수 있다. ssh -i (키페어 경로) ec2-user@xxx.xxx.xxx.xxx 접속 시도를 해보자. 오류가 뜨는것을 확인 할 수 있다. Permissions for 'E:\\kgh-cmd.pem' are too open. 권한이 과도하게 열려있을때 발생하는 오류이다. 리눅스에서는 권한을 400으로 설정 하면 되지만 윈도우는 chmod가 없으므로, (키페어 파일.pem)의 속성 -> 보안 -> 고급 -> 상속 사용안함을 클릭 한다. 변경에서 파일 소유자를 현재 사용자로 변경한다(선택) ​ 적용 후 확인 ​ 다시 속성 창의 보안탭..
[AWS] PuTTY로 EC2 접속하기
·
IT Study/AWS & Server, Network
Putty 로 ssh접속하기 ​ (키페어이름).pem 파일은 putty에서 사용을 할 수 없다. putty에서 사용할 수 있는 형태로 키페어파일을 변경해줘야 한다. ​ PuTTYgen 이라는 프로그램을 이용하여 .pem 을 .ppk로 바꿔주는 작업을 할 것이다. Load 클릭 -> 키페어 경로 -> 모든파일 -> 키페어 파일 선택 을 하여 키페어 파일을 불러와 준다. Save private key 을 클릭하여 원하는 이름으로 .ppk 확장자로 저장한다(기본 지정) 이제 만든 파일으로 putty에서 접속을 해보자 Host Name: ec2-user@x.x.x.x 밑에는 자유롭게 이름을 지정한다. 생성한 (키페어이름).ppk 파일을 Browse 한다. 다시 Session 으로 가서 정보를 저장한 뒤 open..
[C] codeup 기초 100제[:1020]
·
IT Study/Programming
코드업 기초 100제 풀이 (내 코드) 1001 #include int main(){ printf("Hello"); return 0; } 1002 #include int main(){ printf("Hello World\n"); return 0; } 1003 #include int main(){ printf("Hello\nWorld\n"); return 0; } 1004 #include int main(){ printf("\'Hello\'\n"); return 0; } 1005 #include int main(){ printf("\"Hello World\"\n"); return 0; } 1006 #include int main(){ printf("\"!@#$%%^&*()\"\n"); return 0; }..
ITguny
능지차이