IT공부 93

[지식루프 IT공부] CSR(클라이언트사이드 렌더링) 쉽게 설명

CSR(클라이언트사이드 렌더링)이 처음에는 좀 헷갈릴 수 있어요. 특히 "서버가 웹페이지를 제공하면 브라우저는 그냥 보여주기만 하는 거 아니야?"라는 생각은 SSR(서버사이드 렌더링)과 비교하면 자연스러운 의문이에요. CSR이 뭔지, 왜 클라이언트에서 렌더링을 하는지 쉽게 풀어서 설명해볼게요.CSR을 쉽게 이해하기일반적인 생각(SSR 기반):사용자가 브라우저에서 "example.com"을 요청하면, 서버가 완성된 HTML(예: 안녕하세요이건 콘텐츠예요)을 보내주고, 브라우저는 그걸 받아서 화면에 띄워주는 방식.CSR은 다르게 동작해요:서버는 완성된 웹페이지를 주지 않고, 최소한의 HTML(거의 빈 껍데기)과 JavaScript 파일만 줍니다.그러면 브라우저가 그 JavaScript를 실행해서 필요한 데이..

IT공부 2025.04.03

[지식루프 IT공부] 객체(Object)란 무엇인가?

객체(Object)란 무엇인가?프로그래밍에서 "객체"는 데이터를 구조화해서 저장하는 방법 중 하나예요. 특히 자바스크립트에서 객체는 키(key)와 값(value) 쌍으로 이루어진 데이터 집합입니다. 쉽게 말하면, 어떤 대상의 속성(정보)을 이름과 값으로 묶어서 표현한 거라고 생각하면 됩니다.예를 들어, 한 사람에 대한 정보를 객체로 나타내면: const person = {    name: "홍길동", // 키: "name", 값: "홍길동"    age: 30, // 키: "age", 값: 30    city: "서울" // 키: "city", 값: "서울" };여기서 name, age, city는 키이고, 각각에 연결된 "홍길동", 30, "서울"은 값이에요.객체는 중괄호 {}로 감싸져 있고, 키와 값..

IT공부 2025.04.02

[지식루프 IT공부] HTML속성과 DOM 프로퍼티 차이

HTML에서의 속성은 attribute로 element가 가지고 있는 것을 의미하고 정적인 속성을 뜻합니다. 또한 특성은 항상 name=”value” 의 형태를 따릅니다.아래와 같은 코드를 예시로 들어보겠습니다.위에서 attribute는 value=”codeit” 입니다. Dom에서의 속성은 property로 동적인 속성을 뜻합니다. 즉 , html Dom tree안에 존재하고 JavaScript에 의해 생성되고 조작되는 값입니다.만일 위와 같은 input 태그에 사용자가 코드잇이라고 한글로 입력하면 코드잇은 다른 값으로 대체 가능하고 변하기 때문에 property가 됩니다. 둘 사이가 약간 모호하고 일부 겹치는 부분이 있지만 일반적으로 HTML attribute 사용하여 초기 값을 설정하고 DOM pr..

IT공부 2025.03.25

[지식루프 IT공부] .remove, .prepend, .append, .before, .after 를 이용한 노드 삭제, 이동방법

1. .remove()를 이용한 노드 삭제.remove() 메서드는 DOM에서 특정 요소를 삭제하는 데 사용됩니다. 이 메서드는 해당 요소를 DOM 트리에서 완전히 제거하며, 더 이상 페이지에 표시되지 않습니다.예제: 노드 삭제html미리보기접기자동 줄바꿈복사` 항목 1 항목 2 항목 3 항목 2 삭제 `설명:코드 동작:항목 2 요소를 getElementById로 선택한 뒤, .remove()를 호출해 삭제합니다.버튼을 클릭하면 item2가 DOM에서 제거되어 더 이상 화면에 표시되지 않아요.결과:삭제 전: 항목 1항목 2항목 3삭제 후: 항목 1항목 32. prepend, append, before, after를 이용한 노드 이동prepend, append, before, after는 새로운..

IT공부 2025.03.25

[지식루프 IT공부] prepend, append, before, after의 차이

prepend, append, before, after의 차이.이는 JavaScript에서 DOM(Document Object Model)을 조작하는 방법인데, 각각의 메서드가 HTML 요소를 어떻게 다루는지 보여주고 있습니다.코드 분석*append (코드: tomorrow.append(last))의미: append는 특정 요소의 맨 끝에 새로운 요소를 추가합니다.코드 설명:last라는 요소(마지막)를 tomorrow라는 부모 요소의 맨 마지막 자식으로 추가해요.즉, tomorrow 요소 안에 이미 자식 요소들이 있다면, 그 뒤에 last가 붙습니다.예시 결과: 만약 tomorrow가 기존였다면, append(last) 후에는 기존마지막가 됩니다.*prepend (코드: tomorrow.prepend(f..

IT공부 2025.03.25

맥북 화면분할 단축키

제 유튜브에 있는 영상 링크드립니다. https://youtube.com/shorts/XNWP-QjTzjo?feature=share 구독과 좋아요 도 부탁드리며,, 흠흠  정렬 부분을 보시면 됩니다. 펑션키 + 컨트롤 + 시프트 +  방향키 인데, 펑션키 + 컨트롤 + 시프트  이 부분을 저는 닭발이라고 부릅니다. 키가 다 한군데 몰려있어서, 동시에 누르려면 손모양이 닭발처럼 되서요 ㅎㅎ  닭발 + 방향키 라고 외워두시면 헷갈릴 일은 없으실 듯 합니다.

IT공부 2025.03.25

[지식루프 IT공부] innerHTML이 위험한 이유

innerHTML를 사용하면 왜 위험할까요? 사용자로부터 입력값을 받아서 그 값을 innerHTML로 처리하면, 입력값에 악의적인 코드가 포함되어 있을 경우 사이트의 내부 코드나 동작이 바뀌거나 손상될 수 있기 때문입니다. 좀 더 구체적으로 풀어서 설명해볼게요.상황 설명사용자 입력값: 예를 들어, 웹사이트에 댓글 기능이 있다고 가정해봅시다. 사용자가 댓글 입력란에 텍스트를 작성하고 제출하면, 서버를 거쳐 클라이언트(브라우저)에 그 내용이 표시됩니다.innerHTML 사용: 그 댓글을 화면에 띄우기 위해 같은 요소에 innerHTML로 삽입한다고 해보면:const userInput = document.getElementById("user-comment").value; *// 사용자 입력값* documen..

IT공부 2025.03.24

맥북/윈도우 vscode 단축키

맥북 vscode 사용 시 편리한 단축키 소개드립니다.  #맥북 vscode 단축키 반복되는 코드를 한번에 수정하기맥 단축키: Command + D   또는 Command + Option + 방향기 ↑ / ↓ 로 선택윈도우 단축키: CTRL + D변수명/함수명 한번에 바꾸기단축키: F2코드 위/아래로 이동하기맥 단축키: Option + ↑ 또는 ↓윈도우 단축키: Alt + ↑ 또는 ↓코드 위/아래로 복사하기맥 단축키: Shift + Option + ↑ 또는 ↓윈도우 단축키: Shift + ↑ 또는 ↓코드를 한번에 주석 처리하기맥 단축키: Command + /윈도우 단축키: Ctrl+ /여러줄에 커서 선택하여 수정하기맥 단축키: Option + 마우스 클릭윈도우 단축키: Alt + 마우스 클릭다중 커서 선..

IT공부 2025.03.24

[지식루프 IT공부] JavaScript 배열의 기본 메서드 정리

📌 JavaScript 배열의 기본 메서드 정리JavaScript의 배열(Array)은 여러 개의 데이터를 저장하고 조작할 수 있는 다양한 메서드(method) 를 제공합니다. 아래에서 자주 사용되는 배열 메서드 15가지를 설명해드리겠습니다.✅ 배열 요소 추가 및 제거 메서드1️⃣ push(요소) - 배열 끝에 요소 추가배열의 끝에 새로운 요소를 추가합니다. let arr = ["a", "b"];arr.push("c"); console.log(arr); // ["a", "b", "c"]2️⃣ pop() - 배열 끝 요소 제거 & 반환배열의 마지막 요소를 제거하고 그 값을 반환합니다. let arr = ["a", "b", "c"];let removed = arr.pop();console.log(arr);..

IT공부 2025.03.18

[지식루프 IT공부] arguments 객체는 배열 메서드를 사용할 수 있을까?

❌ arguments는 배열이 아니므로, 일반적인 배열 메서드(map, forEach, filter 등)를 직접 사용할 수 없다.✅ 하지만 배열로 변환하면 사용할 수 있다. 1️⃣ arguments는 배열이 아닌 유사 배열 객체 (Array-like Object) 📌 즉, arguments는 length 속성이 있고, 인덱스를 통해 접근 가능하지만, 배열(Array)이 아니다!  2️⃣ 배열 메서드 사용 불가능한 예시  📌 에러 발생! → arguments.map is not a function이유: arguments는 배열이 아니라서 map()을 직접 사용할 수 없음. 3️⃣ arguments를 배열로 변환하는 방법 (배열 메서드 사용 가능하게 만들기)✅ arguments를 배열로 변환하면 map,..

IT공부 2025.03.18