본문 바로가기

반응형

분류 전체보기

(395)
[javascript] 간단한 무한 스크롤 단순히 무한 스크롤의 원리를 이해하고 활용하기 위한 용도로 작성해 보았던 무한 스크롤 인터렉티브 입니다. 시연 HTML 삽입 미리보기할 수 없는 소스 기존 JS 코드 const container = document.getElementById("container"); //추가되는 div 박스를 구분하기 위해 매기는 번호 let number = 6; // div 태그를 추가하는 함수 function addBoxFunc() { // scrollY 는 총 높이를 지속적으로 추적하는 용도이고, // Height 는 정적인 총 높이를 구하기 위한 변수입니다. const scrollY = window.scrollY + window.innerHeight; const Height = document.documentEle..
[단순용어] 스택 오버플로우/정수 오버플로우/버퍼 오버런 스택 오버플로우(Stack Overflow) 스택 오버플로우(Stack Overflow)는 컴퓨터 프로그램에서 스택 메모리 공간을 넘어서는 현상을 말합니다. 스택은 함수 호출과 반환을 관리하고 지역 변수를 저장하는 데 사용되는 메모리 공간으로, 이는 프로그램이 실행될 때 자동으로 할당됩니다. 스택 오버플로우는 일반적으로 재귀 함수에서 발생합니다. 재귀 함수는 자기 자신을 반복적으로 호출하므로, 스택 메모리에 임시 데이터가 저장됩니다. 그러나 함수 호출이 지나치게 많거나, 각 호출에서 사용되는 데이터가 너무 많은 경우, 스택 메모리가 가득 차서 오버플로우가 발생합니다. 스택 오버플로우는 보안 취약점으로서도 이용될 수 있습니다. 악의적인 공격자는 스택 오버플로우를 이용하여 프로그램의 실행 흐름을 조작하거나 ..
[단순용어] httpOnly httpOnly httpOnly 옵션은 쿠키에 대한 보안 옵션 중 하나입니다. 이 옵션을 적용하면 브라우저에서 쿠키를 접근할 수 있는 영역을 제한하여 보안성을 강화합니다. 일반적으로 쿠키는 브라우저에서 사용자가 웹사이트를 방문할 때 생성되며, 서버 측에서 데이터를 저장하고 클라이언트 측에서 접근하여 사용합니다. 그러나 쿠키는 JavaScript를 통해 접근할 수 있으므로, 악성 코드가 삽입되어 쿠키를 탈취할 수 있는 위험이 있습니다. 이 때문에, httpOnly 옵션을 적용하면 쿠키를 브라우저에서만 접근할 수 있도록 제한하므로, 악성 코드가 쿠키를 탈취하는 것을 방지할 수 있습니다. 이러한 보안적인 이유로, httpOnly 옵션은 보통 중요한 정보를 저장하는 쿠키에 적용됩니다.
[node.js] express.urlencoded 에 대한 이해 express.urlencoded 이 미들웨어 함수는 HTTP POST 요청의 본문(body)에 인코딩된 데이터를 해석하고, req.body 객체에 채워넣어주는 역할을 합니다. 간략하게 사용되는 예시를 보여 드리면 다음과 같습니다. const express = require('express'); const app = express(); app.use(express.urlencoded({ extended: false })); //false : querystring 모듈 사용 app.post('/login', (req, res) => { console.log(req.body.username); // POST 요청의 body에 포함된 username 값을 출력 console.log(req.body.passwo..
[node.js] static 파일과 static 미들웨어 미들웨어 미들웨어는 클라이언트 측의 요청과 서버의 응답 사이에서 문지기 역할을 하는 중간 계층입니다. 예를 들어 클라이언트 측에서 서버 측에 로그인 요청을 한다고 가정 할 때 중간 계층인 미들웨어는 요청으로 받은 정보가 서버 측에 전달해도 괜찮은지 그 여부를 판단하는 역할을 할 수 있습니다. static 파일 과 static 미들웨어 Node.js에서 static 파일은 클라이언트 측에서 서버에 요청을 보내면 서버에서 응답으로 전송하는 파일 중 변경되지 않는 파일을 의미합니다. 예를 들어, 이미지, CSS 파일, JavaScript 파일 등이 이에 해당합니다. Static 파일은 클라이언트 측에서 요청한 URL 경로에 대한 파일을 찾아서 응답으로 전송하는 방식으로 작동합니다. 이 때, Node.js에서는..
[node.js] MVC 패턴 MVC 패턴 MVC 패턴은 소프트웨어 아키텍처 디자인 패턴 중 하나이며, 각각의 역할을 분리하여 코드를 구성함으로써 유지보수 및 확장이 용이하게 되는 장점이 있는 모델 입니다. MVC는 모델(Model), 뷰(View), 컨트롤러(Controller)로 구성됩니다. 각각의 역할을 다음과 같이 정리 됩니다. 모델(Model): 데이터를 관리하고 처리합니다. 뷰(View): 사용자에게 보여지는 인터페이스를 제공합니다. 컨트롤러(Controller): 사용자의 요청을 처리하고, 모델과 뷰를 연결합니다. 아래는 간단한 예시 코드입니다. 대충 MVC 패턴이 각각 어떠한 느낌으로 이루어지는지 아는게 중요하다고 생각합니다. 참고) 참고로 예시는 MVC패턴의 이해를 위한 간단한 예시를 보여줄 뿐 실제 개발에서 아래와 ..
[알고리즘] 합병정렬 알고리즘(분할과 정복 알고리즘 유형 중 하나) With JS 합병정렬 알고리즘 분할 정복(Divide and Conquer) 알고리즘 중 하나로, 배열을 반으로 나누어 각각을 재귀적으로 정렬하고, 그 결과를 합쳐서 정렬된 배열을 생성하는 알고리즘입니다. * 분할과 정복 알고리즘의 원리 접은 글 내에 글자 중복이 있습니다. 중복된 부뷰이 지우고 수정한 부분이었는데, 수정 시에는 안 보이는데 등록 후에는 보이는 이상한 버그가 있네요더보기 분할 정복 알고리즘의 일반적인 구조는 다음과 같습니다. 분할(Divide) : 해결하고자 하는 문제를 작은 크기의 동일한 문제들로 분할 정복(Conquer) : 각각의 작은 문제를 동일한 방법으로 순환적으로 해결 합병(Combine) : 작은 문제의 해를 합하여 원래 문제에 대한 해를 구함 합병정렬도 위 구조에 따라, 배열을 분할하고..
[node.js] 패키지의 버전과 기호 버전의 첫 번째 자리 0.x.x : major 버전의 첫 번째 자리는 메이저(major) 버전입니다. 메이저 버전이 0 이면 초기 개발 중이라는 뜻입니다. 1부터는 정식 버전을 의미합니다. 이는 보통 하위 호환이 안 될 가능성이 높은 패키지 업데이트가 되었을 때 올립니다. 즉, 1.0.0 에서 2.0.0 으로 메이저 버전을 올렸다는 것은 하위 버전과 호환이 안 될 가능성이 높다는 것을 의미합니다. 버전의 두 번째 자리 x.0.x : minor 두 번째 자리는 마이너(minor) 버전입니다. 마이너 버전은 하위 호환이 되는 기능 업데이트를 할 때 올립니다. 즉, 1.5.0 에서 1.6.0 으로 올릴 때 새로운 기능이 추가 되었지만, 하위 버전과 호환이 가능하다는 것을 의미합니다. 버전의 세 번째 자리 x...

반응형