전체 글
-
자료구조와 알고리즘카테고리 없음 2025. 3. 11. 02:21
코딩테스트 문제를 Lv.1부터 풀다가 드디어 한계가 왔다 ㅎ (Lv.3 가기 너무 어려워 😂)자료구조와 알고리즘의 공부가 10000000% 필요한 순간이 왔.......다..겸사겸사 CS 공부도 제대로 공부하고 싶어, 인프런 워밍업 클럽 3기 CS 스터디에 참가했다.앞으로 잘해보자~ 찌니월드 !자료구조데이터가 어떤 구조로 저장되고 어떻게 사용되는지를 나타낸다. 글로만 봐서는 어렵게 느껴질 수 있지만, 우리는 이미 프로그래밍을 하면서 자료구조를 사용해왔다.가장 단순한 자료구조는 변수이다.숫자나 문자열을 저장하기 위해서 변수를 사용한다.그리고 저장한 숫자나 문자열에 접근하고 싶다면 변수를 참조한다.다른 자료구조는 배열이다.배열은 숫자나 문자열 등을 연속적으로 저장하는 자료구조이다.그리고 해당 숫자나 문자열..
-
[JavaScript] 동기와 비동기 이해하기Web/JavaScript 2023. 8. 23. 11:55
자바스크립트의 싱글 스레드 작업 수행 방식 동기 (Synchronous) JavaScript는 코드가 작성된 순서대로 작업을 처리한다. 이전 작업이 진행 중일 때는 다음 작업을 수행하지 않고 기다린다. 즉, 먼저 작성된 코드를 먼저 다 실행하고 나서 뒤에 작성된 코드를 실행한다. 이를 동기 방식으로 처리되었다고 한다. 그림 예제 1은 작업이 수행되는 시간은 총 1초가 걸린다. 1초쯤이야 괜찮을지 몰라도 만약, 그림 예제 2처럼 하나의 작업이 20초 걸린다고 하면? 동기적 처리의 단점은 하나의 작업이 너무 오래 걸리게 될 때, 모든 작업이 오래 걸리는 하나의 작업이 종료되기 전까지 기다려야하기 때문에, 전반적인 흐림이 느려진다. 비동기 (Asynchronous) 동기적 작업의 단점을 극복하기 위해 여러 개..
-
[HTML/CSS] 브라우저의 렌더링 과정 / display: none 과 visibility: hidden의 차이Web 2022. 12. 16. 15:04
브라우저의 렌더링 과정 DOM ➡️ CSSOM ➡️ 렌더트리(Render Tree) ➡️ 레이아웃 ➡️ 페인팅 DOM 브라우저는 HTML을 처리하여 DOM을 만든다. CSSOM DOM 트리를 생성하는 과정과 동일한 과정으로 를 통하여 CSS를 받아들이고 이것을 이용하여 CSSOM을 만든다. 렌더트리(Render Tree) 이제 DOM과 CSSOM을 합쳐서 렌더트리를 만든다. 렌더트리에는 페이지를 렌더링 하는데 필요한 노드만 포함된다. 📢 여기서 잠깐 !! display: none 과 visibility: hidden의 차이에 대해 짚어 넘어가보자. display: none은 렌더트리에 포함되지 않는다. 즉, 레이아웃에 포함되지 않는다. (당연히 요소가 보이지도 않는다 !) 그래서 해당 요소가 공간도 차지..
-
[JavaScript] 이벤트 등록, addEventListener()Web/JavaScript 2022. 10. 10. 21:03
addEventListener()란? addEventListener()는 이벤트를 등록하는 감지장치이다. 대상요소객체에 addEventListener() 감지장치를 붙인 후, 일어난 사건의 종류와 하고 싶은 일(함수)을 파라미터로 넣어 실행하면 감지장치가 작동하기 시작한다. // 대상요소객체.addEventListener(사건의 종류, 하고 싶은 일) btn.addEventListener('click', function() {console.log('클릭 성공!')}) 그러다 사건(이벤트)이 발생할 때(=사건이 감지되었을 때), addEventListener()의 파라미터로 넣었던 함수가 실행되는 것이다. event 객체 사건이 발생할 때는 event 객체가 만들어져서 방금 일어난 사건에 대한 정보가 기록..
-
[JavaScript] 노드 - childNodes속성 / nodeValue속성Web/JavaScript 2022. 10. 6. 21:31
# childNodes 속성 특정 노드에서 childNodes속성을 사용하면 자신에게 속해있는 모든 노드 자식들을 배열 형태로 반환해준다. 마치, 자식 노드 리스트같다. 예시를 통해 더 자세히 알아보자. 버튼 button 노드에게 자식노드가 있을까 ? 없을 것 같지만 사실 button 노드는 자식으로 text 노드를 가지고 있다. 이때, text 노드는 '버튼'이라는 글자를 가리킨다. 여기서 text 노드는 조금 더 알아보자면, 공백 또한 text 노드로 만들어진다. 이 점을 유의해보자. # nodeValue 속성 const btn = document.querySelector('button'); console.log(btn.textContent); // 버튼 console.log(btn.childNode..
-
[JavaScript] getAttribute()와 setAttribute()Web/JavaScript 2022. 10. 6. 04:52
getAttribute() 태그안의 원하는 속성의 값을 가져와서 문자열로 반환해준다. DOM 연습 const h1El = document.querySelector('h1'); h1El.getAttribute('title'); // 이것은 제목입니다. setAttribute() 원하는 문자열로 속성값을 지정해준다. h1El.setAttribute('title', '이것은 제목입니당'); // 이것은 제목입니당 getAttribute() 문제 li마다 있는 a의 href 속성의 값을 가져와서 반복문을 통해 빈 객체안에 차례대로 담아보자. 구글 네이버 다음 let 검색포털 = {}; const aEls = document.querySelectorAll('a'); aEls.forEach((item) => { 검..
-
[JavaScript] querySelector()와 querySelectorAll()Web/JavaScript 2022. 10. 6. 04:09
querySelector() document.querySelector('li')와 같이 노드를 선택할 수 있다. ()안에는 유효한 CSS 선택자를 작성하면 된다. 단, 선택한 요소가 여러개일 경우, 첫번째 노드만 반환해준다. querySelectorAll() 해당하는 모든 요소 노드를 배열 형태로 반환해준다. 그렇다고 배열은 ❌❌❌ 배열은 아니지만 querySelectorAll()은 for of문과 forEach()를 사용할 수 있게 만들어진 메소드다. 코코몽 코코몽 코코몽 코코몽 코코몽 // querySelectorAll() 해당하는 모든 요소 노드를 배열 형태로 반환해준다. // 그렇다고 배열은 ❌❌❌ // 반복문을 통해 코코몽 옆에 귀여워와 🥰, ❤️를 넣어보자. const liEls = docum..
-
[JavaScript] 문자열 다루기 - trim(), concat(), charAt()Web/JavaScript 2022. 9. 21. 01:36
trim() 문자열 양 끝의 공백을 제거해준다. let str1 = ' 코코몽 코몽이 코코찌니 '; console.log(str1.trim()); // 코코몽 코몽이 코코찌니 concat() 기존 문자열에 추가하고 싶은 문자열과 결합해서 반환해준다. let str2 = 'Jinhee Lee'; console.log(str2.concat('❤️')); // Jinhee Lee❤️ charAt() 문자열에서 지정된 위치에 존재하는 문자를 찾아서 반환해준다. let str2 = 'Jinhee Lee'; console.log(str2.charAt(3)); // h