전체 글

·Linux
해당 포스팅은 rocky linux 기반으로 예제를 작성하였음 정보보안의 3요소?- 정보보안의 목적은 정보의 세 가지 성질 (CIA : 기밀성, 무결성, 가용성)을 유지하는 것 1. 기밀성 (Confidentiality)- 정보 자산에 접근할 수 있도록 인가된 사람이나 프로그램만이 "권한의 범위 내에서 정보에 접근"할 수 있도록 하는 성질- 비공개 정보를 누구나 열람할 수 있다면 기밀성이 손상된 상태 2. 무결성 (Integrity)- 정보 자산이 손상되진 않았는지, 일관성, 완전성을 유지하는 성질- 전송 혹은 보관된 데이터가 중간에 손실되거나 파손된다면 무결성을 잃은 것임 3. 가용성 (Availability)- 인가된 사람이나 프로그램이 "언제든지 정보 자산에 접근"할 수 있는 성질- 웹사이트 과부하..
·Linux
패키지 관리 시스템인 snap을 설치했는데, 위와 같이 enable 후 snap으로 프로그램을 install 하려고 하면error: too early for operation, device not yet seeded or device model not acknowledged이런 에러 문구가 났던 오류이다. 진짜 별의별 방법을 다해보고 SELinux 정책도 수정해보고 해봤는데 이런건 전혀 해결하는데 도움이 안됐고.... 아래 방법으로 성공할 수 있었다! $ sudo dnf install epel-release$ sudo dnf upgrade$ sudo dnf install snapd$ sudo systemctl enable --now snapd.socket$ sudo ln -s /var/lib/snapd/..
·Python
자료구조와 우선순위 큐를 사용하면 풀 수 있는 문제였다. 풀면서 설명이 잘 이해가 안되어서 제일 헷갈렸던 점이 있는데, 바로 예시 입출력에서 볼 수 있는 2 3 2 부분이다.2 3 2가 모두 선물 3개라고 이해하면 위 예제의 출력이 모순적인데, 맨 앞의 숫자 2가 충전할 선물의 개수이고 바로 뒤에 따라오는 나머지 숫자들의 나열이 선물의 개수만큼 가치가 입력되어 진 것이다. 즉 2(개) 3(선물1의 가치) 2(선물2의 가치) 이런 셈이라고 이해하면 쉽다! import sysimport heapqN = int(input())heap = [] for _ in range(N): data = list(map(int, sys.stdin.readline().split())) if data[0] == 0: ..
·Python
이번 문제는 앞서 풀었던 최대힙, 최소힙과 유사한 문제이지만 추가로 절댓값이 조건으로 추가된 문제이다. import sysimport heapqN = int(input())heap = [] # 비어있는 배열에서 시작for _ in range(N): calc = list(map(int, sys.stdin.readline().split())) for num in calc: if num == 0: if heap: print(heapq.heappop(heap)[1]) else: print(0) else: heapq.heappush(heap, (abs(num), num)) heappush로 숫자를 삽입할 때 튜플을 이용하는 것이 포인트였다..
·Python
저번에 파이썬의 heapq 라이브러리를 사용하여 최소 힙을 구현해보았었는데, 이번 문제와 같이 최대 힙의 경우에는 heapq 가 최대 힙 구현 기능을 제공하지 않는다는 특징이 있다. 참고로 heapq 의 heappush(heap, item) 메소드는 힙 불변성을 유지하면서 item 값을 heap으로 삽입해주고, heappop(heap) 메소드는 힙 불변성을 유지하면서 heap에서 가장 작은 항목들을 pop하고 반환해주는 메소드였다. 그러나 최대힙의 경우 이를 적절히 변형해서 구현할 수 있는데, 부호를 변경하는 방법을 사용해서 구현할 수 있다! import heapqheap = []values = [1, 5, 4, 2, 3]for v in values: heapq.heappush(heap, -v) #..
·Web Hacking
드디어 드림핵의 웹해킹 basic 부터 advanced client side & server side를 모두 학습 완료하였다!와~~~~🎉🎉✨ 사실 티스토리를 판지 얼마 안되어서 지금까지 계속 노션으로 공부한 것들을 기록해뒀기에 이렇게라도 인증을...ㅎㅎ 공부를 하면서 느낀건데 정말 웹해킹이라고 쉬운게 아니라 오히려 web 프레임워크와 신기술이 빠르게 만들어짐에 따라 배워야 할 웹해킹 기술들도 기하급수적으로 늘어나는 것을 체감할 수 있었다.. 시스템 해킹으로부터 도망친 곳에 낙원은 없다 (근데 시스템도 하다 보면 재밌음) 물론 드림핵이 전부가 아니고 정말 기초중에 기초일 뿐이며 심지어 공부했던 모든 내용들을 다 기억하고 있는 것도 아니지만, client side와 server side를 둘 다 공부하면..
여백 ::
The Orbit of Midnight Oil