- 리액트 - 상태관리, 리렌더링, HooksimaginaringState컴포넌트 내부에서 동적으로 변할 수 있는 데이터 (입력된 값, 버튼 클릭 여부, 서버에서 가져온 데이터)컴포넌트 내부 로컬 데이터로 컴포넌트 밖에서는 상태를 직접 수정이 불가능하다상태가 변경되면 React는 해당 상태를 사용하는 컴포넌트를 리렌더상태가 변경되지 않더라도 전달받는 Props가 변경되면 리렌더 리렌더링 되는 경우State 변경시부모로부터 전달받는 Props 변경시부모가 리렌더링 될 경우 자식도 리렌더링됨 Hooks함수형 컴포넌트에서 상태와 생명주기 기능을 사용할 수 있게 해주는 기능기존의 클래스형 컴포넌트 대신 함수형 컴포넌트에서도 복잡한 기능을 구현 가능하도록 해줌함수형 컴포넌트에서 상태 관리나 부수 효과(DOM 조작, 데이터 가져오기 등)을 사용할 수 있도록 해줌클래스형 컴포넌..
- 2024-12-17 22:53:31(118일 전)
- 내부함수와 외부함수imaginaringJS에는 함수 내부에 다른 함수를 선언할 수 있다 (어메이징..)스코프와 클로저를 사용해서 전역변수를 대신할 수도 있는데, 한번 알아보자 외부함수함수 내부에 다른 함수를 포함하는 함수내부 함수를 정의하고 실행할 수 있는 스코프를 제공내부함수외부 함수 안에 선언된 함수외부 함수의 변수와 함수에 접근할 수 있음 (스코프 체인에 의해 가능).클로저내부 함수는 외부 함수의 변수에 접근 가능외부 함수는 내부 함수의 변수에 접근 불가외부 함수가 실행을 끝내도, 내부 함수가 외부 변수에 참조를 유지하기 때문에 메모리에 남아 있음이를 통해 전역변수를 대신하는 방식으로 코드 작성이 가능하다데이터 은닉화, 정보보호내부 함수를 사용해 콜백 함수로 외부 상태를 유지하는것이 가능// 사용 예시function outerFunct..
- 2024-12-16 22:17:35(119일 전)
- DOMimaginaring// 흔하디 흔한 html 문서 Hello World This is a paragraph. DOM(도큐먼트 오브젝트 모델)HTML 또는 XML 문서를 객체로 표현한 구조웹 브라우저는 HTML 문서를 읽고 DOM 트리 형태로 변환하며, 이를 통해 자바스크립트로 문서를 동적으로 조작// 트리표현- Document (최상위 객체) └── ├── │ └── → "Document" └── ├── → "Hello World" └── → "This is a paragraph." Document: HTML 에서 최상위 객체. (()=>{}에서 this를 출력하면 알겠지만 전체 최상위는 윈도우다)El..
- 2024-12-16 22:05:12(119일 전)
- 콜백imaginaring콜백 함수: 특정 작업이 완료된 후 호출됨왜 사용하나?비동기적 작업(예: 이벤트 핸들링, 타이머, API 호출) 처리.함수의 실행 순서를 조정하거나 로직을 분리할 때 유용합니다.사례자바스크립트에서 Array 메소드들은 대부분 콜백 함수 사용 (foreach, map 등등)setTimeout 등 비동기 작업에서 사용이벤트 핸들러에서 사용 Click me 단점가독성이 떨어지고 유지보수가 어려운 상황이 생길수도 있다 .. 콜백지옥이라 하는듯콜백 함수를 별도로 분리, Promise 사용, Async/Await을 사용하는 등 개선이 필요// 함수 분리function step1(callback) { console.log("Step 1"); callback();}function step2(..
- 2024-12-16 21:51:47(119일 전)
- 타입과 형변환imaginaring타입문자열 String숫자 Number불리언 Boolen참조타입 (오브젝트, 배열 등) 문자열 연산: + 연산에서 문자열이 우선됨.숫자 연산: +를 제외한 산술 연산 또는 비교 연산 시 숫자로 변환.불리언 연산: Falsy(false, 0, "", null, undefined, NaN)와 Truthy를 구분.느슨한 동등 비교 (==): 타입을 자동으로 맞춘 후 비교.엄격한 동등 비교 === (값과 타입을 &&) 인터프리터 언어 접할때마다 드는 생각인데,죄다 뭉뚱그려져 있어서 편한 부분도 있는데, 명확한 가독성은 떨어지는듯.익숙해지고 싶지 않은 편안함 이라는 느낌
- 2024-12-16 21:44:41(119일 전)
- 자바스크립트 엔진imaginaring자바스크립트는 인터프리터 언어로 알려져 있지만, 현대의 js 엔진은 더 빠른 실행을 위해 컴파일러와 최적화 과정을 포함한다고 한다. 엔진 동작 단계파싱 (Parsing)자바스크립트 코드를 토큰화하고 추상 구문 트리(Abstract Syntax Tree)를 생성변수와 함수 선언이 스코프에 등록됨변수의 선언부만 상단으로 끌어올려지고, undefined로 초기화함수 선언문은 전체 함수 정의가 호이스팅되므로 선언문보다 정의가 위에 있어도 정상 실행됨let과 const 선언은 스코프에 등록되지만, 초기화는 실행단계에서 이루어지기 떄문에 접근하면 TDZ에 의해 레퍼런스 에러가 발생한다 C에서 선언은 메인 위에 하고 정의를 아랫쪽에 적던 그런 느낌인것 같다.인터프리팅 / 컴파일링AST를 기반으로 바이트 코드 또는 최..
- 2024-12-16 21:38:33(119일 전)
- 모든 웹 사이트 강제로 다크모드 변경imaginaring흰 화면에서 글쓰는게 눈이 너무 시려서 스킨을 바꿧는데 아뿔사, 티스토리 자체 기능들은 적용이 안된다는 당연한 사실을 망각하고 있었다.찾아보니 크롬 확장 프로그램 Dark Reader 라는게 있더라모든 웹사이트를 강제적으로 다크모드로 변경해준다 언제즘 기본 기능으로 다크테마를 지원해줄까.. 적용하면 이렇게 변경된다츄라이츄라이
- 2024-12-16 21:21:17(119일 전)
- 리눅스마스터2급 2차 가답안 공개 - 2404회 - 채점결과 합격imaginaring가답안 공개가 내일인줄 알았는데 알고보니 오늘 올라왔더라;데비안 계열은 별로 준비를 안했는데 생각보다 데비안 계열 문제가 좀 많았었던듯. 가답안 채점 결과 점수가 생각보다 훨씬 안정권에 위치해 있어서 합격 확정이지 싶다 내년에 1급을 목표로 하고 있기도 하고, 다른 네트워크 자격증도 준비하려고 생각하기에리마2급에서의 서브네팅 문제는 과감히 버리고 나머지는 다 맞추자는 생각으로 준비했는데 전략이 통한것 같다 ㅎㅎ; 올해 마지막 자격증 시험인데 마무리가 좋은듯~~ 계속 일해오던 게임엔진 클라를 접고 백엔드 뎁옵 준비하며 싱숭생숭 했는데, 이번 시험들 합격하는거 보며 싱숭생숭한 기분을 떨쳐낼 수 있을것 같다,내년 중반까지 잘 준비해서 좋은 일이 생기길 희망한다
- 2024-12-16 20:59:20(119일 전)
- SQLD 합격imaginaring55회 sqld 합격가점수 공개 전 이번회차가 어려웠다는 후기가 많아서 살짝 걱정이 되었는데.가점수 공개때 안정권에 들어있어서 다행 내년에 따려고 생각중인 자격증들이 많아 SQLP 까지 도전할지는 모르겠지만 스타트가 좋다 ㅎㅎ뭐 큰 자격증은 아니라도 전향을 고려중인 백엔드 뎁옵에서 이력서에 한줄 추가.있으면 좋고 정도의 도움만 되도 기쁠것 같다 블로그 정리를 깜빡하고 있어서 관련 공부 내용을 못적은건 아쉽 .
- 2024-12-16 20:49:00(119일 전)
- 제네릭 클래스imaginaringC계열에서의 Template 개념// 기본 사용법class 클래스이름 { private T data; public T getData() { return data; } public void setData(T data) { this.data = data; }} 장점 타입 안정성컴파일 시점에 타입을 검사하므로 런타임 에러를 방지잘못된 타입을 사용하면 컴파일 오류 발생코드 재사용성하나의 클래스나 메서드를 다양한 타입으로 사용 가능제네릭을 사용하면 명시적인 타입 캐스팅을 하지 않아도 됨Box stringBox = new Box();stringBox.setItem("Hello");String value = stringBox.getItem(); // 타입 캐스팅 불..
- 2024-12-16 17:52:48(119일 전)
스킨 업데이트 안내
현재 이용하고 계신 스킨의 버전보다 더 높은 최신 버전이 감지 되었습니다. 최신버전 스킨 파일을 다운로드 받을 수 있는 페이지로 이동하시겠습니까?
("아니오" 를 선택할 시 30일 동안 최신 버전이 감지되어도 모달 창이 표시되지 않습니다.)