Notice
Recent Posts
Recent Comments
Link
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

나 이정민

TIL(호이스팅, 알고리즘 코드카타 등등) 본문

카테고리 없음

TIL(호이스팅, 알고리즘 코드카타 등등)

나 이정민 2024. 12. 19. 17:45

호이스팅에 대하여!
-> 코드에있어 선언순서를 알맞게 바꿔주는게 호이스팅인것같다.

호이스팅의 개념:
변수와 함수 선언이 코드의 최상단으로 끌어올려진 것처럼 동작.
호이스팅의 특징:
var: 선언만 호이스팅되고 초기화는 끌어올려지지 않음.
let/const: 호이스팅은 되지만 "일시적 사각지대(TDZ)"로 인해 선언 전에 접근 불가.
함수 선언: 함수 전체가 끌어올려지므로 선언 전에 호출 가능.
주의할 점:
호이스팅은 코드의 가독성을 떨어뜨릴 수 있으므로 변수 선언과 초기화는 항상 코드 상단에서 하는 것이 좋습니다.


알고리즘코드카타 시간!
->부호에 대해 다시 공부하게되는 시간이였다.
<=: 작거나 같다.
===: 값과 자료형이 모두 같다.
&&: 모든 조건이 참일 때만 true. (AND 연산)
각도기 코드카타 문제를 하다가 공부하게됐는데, if, if else 를 사용하여 문제를 풀었다. if else 사용시에 
function solution(angle) {
    if (angle > 0 && angle < 90) {
        return 1; // 예각
    } else if (angle === 90) {
        return 2; // 직각
    } else if (angle > 90 && angle < 180) {
        return 3; // 둔각
    } else if (angle === 180) {
        return 4; // 평각
    }
}
 위와 같은 코드 중, 아래와 같은부분
 
else if (angle === 90) {
        return 2; // 직각
    } 
return 사이에 { } 를 붙이는게 인상적이었다.



for 반복문!
for (초기값; 조건; 증감식) {
    // 실행할 코드
}    
증감식 질문
증감식 (i += 2): 매 반복이 끝날 때마다 i를 2씩 증가시키는 이유는?
i += 2는 무엇을 의미할까?
i += 2는 i = i + 2와 동일한 표현입니다.
즉, i를 현재 값에서 2만큼 더하라는 뜻입니다.

초기값 i = 2로 시작하는 이유는 짝수만 다루기 위해서입니다.
증감식 i += 2는 i를 2씩 증가시켜 짝수만 차례대로 처리하기 위해 사용됩니다.
반복문 동작은 i 값을 2씩 증가시키며 조건을 만족하는 동안 짝수를 더하고, 최종적으로 합을 반환합니다.

-궁금증 해결!!!-

둘의 차이점: for 예문과 while 예문이 나와 둘다 검색해봤다.
**for**는 반복 횟수나 범위가 정해져 있을 때, 즉 몇 번 반복할 것인지 확실할 때 사용합니다.
**while**은 반복 횟수를 미리 알 수 없을 때, 즉 조건이 만족될 때까지 반복하고자 할 때 사용합니다.

i++의 동작
i++는 **i = i + 1**과 동일합니다.
즉, i의 값을 1만큼 증가시킵니다.
전위 증가 (++i)
동작: 먼저 1 증가한 후, 그 값을 사용합니다.
**후위 증가 (i++)**는 값을 사용한 후에 증가하고,
**전위 증가 (++i)**는 먼저 증가하고 나서 값을 사용합니다.



앞서 코드카타을 하면서 알게된것이다. 나눗셈 과정에서 / 와 % 을 검색해보며 알게됐다.


% 연산자의 역할
**%**는 나눗셈을 한 후, 나머지를 반환하는 연산자입니다.
예를 들어, 7 % 3은 7을 3으로 나눈 나머지를 구하는 것입니다.
7 ÷ 3을 하면 몫은 2이고, 나머지는 1입니다. 그래서 7 % 3은 1이 됩니다.
i % 2 === 0이 짝수 확인에 사용되는 이유
짝수는 2로 나누었을 때 나머지가 0인 숫자입니다.
예를 들어, 6 % 2 = 0, 8 % 2 = 0이므로 6과 8은 짝수입니다.
반면에 홀수는 2로 나누면 나머지가 1이 됩니다. 예를 들어, 5 % 2 = 1, 7 % 2 = 1은 홀수입니다.
따라서, i % 2 === 0 조건은 **i가 짝수인 경우에만 true**를 반환합니다.

컴포넌트와 라이브러리의 관계
컴포넌트는 주로 UI의 작은 단위로, 복잡한 UI를 쉽게 만들기 위해 사용됩니다.
라이브러리는 그 기능을 돕는 도구들을 제공합니다. 예를 들어, jQuery는 DOM을 쉽게 조작할 수 있는 기능을 제공하고, React는 컴포넌트 기반으로 UI를 만들 수 있게 도와주는 라이브러리입니다.
따라서 컴포넌트는 UI 설계의 구성 요소이고, 라이브러리는 코드에서 특정 기능을 쉽게 구현할 수 있도록 도와주는 도구입니다.






나의 말:
컴포넌트는 UI 설계의 구성 요소 라고했는데 많이 쉽게 풀어서 설명해줘
ChatGPT의 말:
ChatGPT
컴포넌트를 쉽게 설명하자면, 웹 페이지나 앱에서 하나의 작은 조각이라고 생각하면 됩니다. 예를 들어, 웹 페이지에 있는 버튼, 검색창, 프로필 사진 이런 것들이 모두 컴포넌트입니다.

쉽게 설명하자면:
컴포넌트는 **웹 페이지나 앱의 하나의 '부분'**입니다.
각 부분은 독립적이고, 특정한 역할을 합니다.
예시로 생각해봅시다:
버튼 컴포넌트: "클릭하세요"라고 써 있는 버튼이 하나 있다면, 이 버튼은 하나의 컴포넌트입니다. 버튼은 클릭을 처리하는 역할을 하죠.

검색창 컴포넌트: 검색을 위한 입력 박스와 검색 버튼을 합친 부분이 하나의 컴포넌트입니다. 이 부분은 사용자가 검색어를 입력하고 결과를 받는 기능을 담당합니다.

프로필 사진 컴포넌트: 사용자의 프로필 사진을 보여주는 작은 박스도 하나의 컴포넌트입니다.

컴포넌트가 왜 중요한가요?
컴포넌트는 작고, 독립적인 단위로, 필요한 부분만 수정하거나 재사용할 수 있기 때문에 개발이 훨씬 효율적이고 빠릅니다.

예를 들어:
버튼이 여러 번 사용되면, 그 버튼을 컴포넌트로 만들어서 재사용할 수 있습니다. 버튼을 하나씩 만들지 않고, 만들어 놓은 버튼 컴포넌트를 여러 곳에 삽입할 수 있죠.
수정할 때: 만약 버튼의 디자인을 바꾸고 싶다면, 컴포넌트만 수정하면 되므로 전체 웹사이트나 앱을 수정할 필요가 없습니다.
요약
컴포넌트는 웹이나 앱을 구성하는 작은 조각이고, 이를 재사용 가능하게 만들어서 더 효율적이고 빠르게 개발할 수 있게 해줍니다. 각 컴포넌트는 하나의 특정 역할을 담당하는 독립적인 부분입니다.

**렌더링(Rendering)**은 컴퓨터 프로그램에서 시각적인 콘텐츠를 화면에 표시하는 과정을 의미합니다. 웹 개발에서, 렌더링은 웹 페이지나 애플리케이션의 UI 요소를 화면에 그리는 작업을 말합니다. 즉, 코드나 데이터를 사용하여 화면에 보이는 콘텐츠로 변환하는 과정입니다.

**모듈화 (Modularization)**는 큰 시스템이나 프로그램을 작은, 독립적인 부분으로 나누는 작업을 의미합니다. 이를 통해 코드의 재사용성, 유지보수성, 확장성을 높일 수 있습니다. 모듈화된 코드는 각 기능을 담당하는 작은 단위로 나뉘어, 여러 명이 동시에 작업하거나, 나중에 기능을 변경할 때 더 쉽게 수정하고 관리할 수 있습니다.
    
알트 엘 오-> port 5500 라이브 로 새로고침없이 진행되는? vscode 팀장님 감사합니다 ㅠㅠㅠ

 

아아아아아아아 3강을 못벗어날거같은 이느낌이이이ㅏ링ㄴㅁ러ㅣㅏㅇㄴㅁ러ㅣ;ㅇㄴㅁ러ㅣㅇㄴ;ㅁ러;ㅣㅏㅁ