본문 바로가기

2. 선택 정렬 선택정렬은 정렬 알고리즘의 하나로 리스트 자료형에서 적은 비용을 부과하는 특징을 가지고 있다. 1. 주어진 리스트에서 최소값을 찾는다. 2. 리스트의 맨 첫번째를 n이라고 하고, 처음에는 n의 위치로 최소값을 이동한다. 3. 다시 최소값을 찾아 n+1 위치로 이동한다. 4. 정렬될 때까지 위 3번 항목을 반복한다. 리스트가 [ 5,4,2,1,0,3 ] 일 경우, pass table 최소값 0 [ 5,4,2,1,0,3 ] 0 1 [ 0,5,4,2,1,3 ] 1 2 [ 0,1,5,4,2,3 ] 2 3 [ 0,1,2,5,4,3 ] 3 4 [ 0,1,2,3,5,4 ] 4 5 [ 0,1,2,3,4,5 ] 5 『시간 복잡도』 O(n^2) 이며, 모든 수를 swap 할 경우이다. Ω(n^2) 이며, swap의 수가 ..
1. URL 접근 통제 실패 인증 페이지, 혹은 접근 불가능한 사항이 존재하는 페이지에 대한 인증 혹은 예외처리가 제대로 구비되어 있지 않아 인증 우회로 접속 가능한 경우 발생한다. 그림은 세션이 없는 사용자가 URL을 통해 관리자 페이지에 접근할 수 있는 상황으로 페이지 접속 중 세션에 따른 적절한 검토조치가 없을 경우 중요 정보를 담고 있는 페이지가 노출될 수 있다. 『 해결 방법 』 해당 페이지의 연결 주소[내용]를 권한이 없는 사용자들에게 보여주지 않는다. 모든 접근 통제의 검사는 중요 정보가 노출되기 전에 선행절차로써 이루어져야 한다.
Intel이 무어의 법칙의 판에 다시 발을 올려놓다. https://www.intel.com/content/www/us/en/newsroom/news/intel-components-research-looks-beyond-2025.html#gs.j633j5 Intel Breakthroughs Propel Moore’s Law Beyond 2025 Intel targets more than 10x density improvement in packaging and 30% to 50% logic scaling improvements, and looks beyond classic silicon transistors. www.intel.com 기사 원문 2020년 이후로 Intel의 반도체 패키징 기술, 트랜지스터 스케일링 능력은 비약적으로 상승하고 있다. 이는 20..
2. multer 패키지 multer는 파일, 이미지 업로드, 필터링 등의 폼 전송 데이터를 처리하기 위해 사용된다. npm install --save dotenv let multer = require('multer'); var storage = multer.diskStorage({ destination : function(req, file, cb){ cb(null, './public/images') // 출력 경로 정의 }, filename : function(req, file, cb){ cb(null, file.originalname) // 출력 파일명 정의 } var upload = multer({storage : storage , fileFilter : function(req, file, cb){ var ext = pat..
기술순서 1. URL 접근 제한(통제) 실패 2. XSS 3. Injection Flaws ( sql injection ) 4. 악성코드 실행 5. 하드코딩된 중요정보 및 평문전송 6. 통신 불안정 7. 인증 취약점, 세션취약점 8. 버퍼 오버플로우 9. 포맷스트링 취약점 10. 캡슐화 문제 11. 개발단계의 코드 문제 (널 포인터 역참조, 해제 자원 사용, 미초기화 변수 사용 등 ) 12. 에러처리 문제
1.이진탐색트리 (BST) 이진탐색트리는 오름,내림차순이 가능한 리스트 혹은 정렬된 구조의 자료형에서, 처음 크기의 값의 중간값을 임의의 값으로 정하고, 크고 작음 여부를 판별해나가는 방식으로 비교한다. 11을 찾기위해 이진탐색 트리를 사용할 경우, 중간값인 6보다 크거나 작음을 판별하기만 하면 되기 때문에 좌측 서브트리는 고려할 필요가 없다, 따라서 필요한 최소 검색 시간이 매우 줄어들게 된다. 『시간 복잡도』 전체 순회의 경우, 최상의 결과일 때 시간복잡도는 Ω(1) [ 첫번째에 찾은 경우 ] 최악의 결과일 때 시간복잡도는 O(n) [ 마지막에 찾은 경우 ] 이지만 이진탐색트리의 검색 시간 복잡도는 Ω(1), O(H) 로, 트리의 높이에 따라서 달라지긴 하나, 전체 순회보다 빠르다고 할 수 있다. def binarySearch..
1. dotenv 패키지 dotenv 는 node.js 프로젝트 내 환경변수를 파일에 저장하여 관리할 수 있도록 하는 라이브러리이다. npm install --save dotenv .env PORT=8080 HOST=localhost USER=ROOT PASS=TOOR env 파일의 내부는 다음과 같이 키-값 쌍으로 이루어져 있는데 server를 호출하는 js파일에 이와 같이 명시할 수 있다. server.js require('dotenv').config(); env 파일 내에 삽입된 코드[환경변수]는 server.js 동작 상에서 상주하고 있다. 특징 □ 서버파일에서 직접 DB 접근을 명시하지 않게 되어, 여러 플랫폼 환경에서 유연하게 사용할 수 있다. □ 사용자 중요정보 (비밀번호 등)를 노출하지 않아, 하드코딩 취약점에서 ..
로그4j, 쉘 권한 탈취 문제가 야기되다. 기사 원문 https://www.edaily.co.kr/news/read?newsId=01469446629277536&mediaCodeNo=257&OutLnkChk=Y 인터넷 서버서 최악 문제점 발견!...전 IT업계 ‘들썩’ 인터넷 서버에서 광범위하게 사용되는 소프트웨어에서 치명적인 문제점이 확인돼 보안 및 IT업계에 비상이 걸렸다.(제공=이미지투데이)10일(현지시간) AP통신 등은 인터넷 서버용 소프트웨어인 www.edaily.co.kr 자바 주요 라이브러리 중 하나인 log4j 라이브러리에서 취약점이 발견됐다. 해커들이 특정 코드의 채팅메시지를 서버에 입력하면, 서버 그리고 연결된 클라이언트의 모든 관리자 권한이 탈취될 수 있다고 한다. 쉘권한 탈취는 모든 종류의 보안 위협상황에서 최고 수준에 해당..