분류 전체보기 47

useState 동작 원리

리액트의 useState 훅에 대해 궁금해. 함수 컴포넌트는 매번 함수를 실행해 렌더링을 수행하고, 그때마다 함수 내의 변수가 초기화 되잖아. useState가 반환하는 value와 setter 중에 setter는 클로져를 이용해서 global.states[index]의 값을 바꾸는 건 알겠는데, value는 call by value 식으로 반환하니까 항상 같은 값을 가져야 하는 거 아니야? useState가 혹시 렌더링때마다 새로 실행되나?아주 정확한 질문이에요 — 이건 React의 렌더링과 훅의 내부 구조를 정확히 이해해야만 풀리는 부분이에요.핵심 포인트는 다음 문장으로 요약됩니다:useState()는 매 렌더링마다 새로 실행되지만, 내부적으로 React가 **훅의 상태 저장소(예: global st..

web/React.js 2025.11.09

JS의 AbortController 내장 API란?

좋은 질문이에요 👍AbortController는 JavaScript에서 비동기 작업(특히 fetch 요청) 을 중간에 취소(abort) 하기 위해 만들어진 내장 API예요.🧠 한 줄 요약AbortController는 fetch, async 함수, EventListener 같은 비동기 동작을 중간에 멈추게 할 수 있는 도구다.📘 기본 구조const controller = new AbortController(); // 컨트롤러 생성const signal = controller.signal; // 시그널 객체 추출fetch("https://example.com/data", { signal }) // 시그널 연결 .then(res => res.json()) .then(data =..

JavaScript 2025.11.09

개발자 취업준비가 충분한 시점

개발자로 취업하고싶은데, 준비를 어느정도 했을 때 이력서를 넣어야하지? 포폴이 어느정도 쌓여야, 뭐를 어느정도 쓸 줄 알아야 하는지 막 이런거. 좋은 질문이십니다. 👍개발자로 취업할 때 **"언제 지원을 시작해야 하는가"**는 많은 분들이 고민하는 부분이에요.너무 늦게 시작하면 기회가 줄고, 너무 일찍 내면 좌절감을 크게 느낄 수도 있죠.아래는 “준비가 충분한 시점”을 판단하는 기준을 단계별로 정리한 것입니다.🧭 1. 지원을 시작해도 되는 최소 조건다음 조건들을 충족했다면 **“이제 지원을 시작해볼 만하다”**고 볼 수 있습니다.✅ 기술 스택 기준React: 상태관리(useState/useEffect)·라우팅·API 호출·컴포넌트 분리 구조를 이해하고 있음Node.js (또는 백엔드 프레임워크): E..

이것저것 2025.11.09

Electron에서 데이터를 저장-읽기할 때는 app.getPath("userData") 경로를 사용해야 한다.

개발환경과 설치버전에서는 파일 경로가 다르다.Electron을 electron-builder로 패키징하면 보통 코드가 다음 구조로 들어간다.C:\Users\\AppData\Local\Programs\\resources\app.asar여기서 app.asar는 읽기 전용 압축 파일이다.개발환경에서 잘 작동하던 파일 경로가 빌드된 설치버전에서는 경로가 달라져서 파일을 못찾게 된다. 따라서 Electron에서 데이터를 저장-읽기할 때는 app.getPath("userData") 경로를 사용해야 한다.이 경로는 사용자별로 쓰기 가능한 폴더를 가리킨다.예시const dataFilePath = path.join(app.getPath("userData"), "BookRecords.csv");

JavaScript 2025.09.15

실리콘밸리의 잘나가는 개발자들이 만드는 코드와 내가 만드는 코드는 뭐가 다르지? 코딩이라는 게 데이터를 읽어와서 조작하고 저장하는 게 전부잖아? (chatGPT)

와, 아주 날카로운 질문이에요 👍겉으로 보면 “코딩 = 데이터 읽고 → 조작하고 → 저장하는 것” 맞습니다.근데 실리콘밸리 개발자들이 만드는 코드와 정호님이 지금 만드는 코드의 차이는, 문법 차원이 아니라 규모, 복잡성, 품질, 팀워크, 목적에서 갈려요.🔹 1. 코드의 규모정호님 코드보통 한 명이 만들고 실행 가능한 작은 프로그램이나 과제 수준.기능 단위로는 충분하지만, 수천/수백만 명이 동시에 쓰는 건 아님.실리콘밸리 개발자 코드수십~수백 명이 협업하는 대규모 시스템의 일부.예: 유튜브 댓글 하나 달리는 기능도 → DB 샤딩, 캐싱, 스팸 필터, 다국어 지원, API 보안까지 필요.🔹 2. 코드의 복잡성 (Scale of Problem)정호님 코드“CRUD” 중심 (Create, Read, Upd..

이것저것 2025.08.18

구체적으로 실리콘밸리의 잘나가는 젊은 개발자들과 나는 뭐가 다른지 궁금해. 하루를 보내는 방식같은 거. (chatGPT)

ChatGPT의 말:좋은 질문이에요 👍실리콘밸리의 잘 나가는 젊은 개발자와 지금의 정호님이 가장 크게 다른 건 "하루를 보내는 방식(루틴)"과 "환경 속에서 얻는 자극"이에요.🔹 실리콘밸리 개발자의 하루 (예시)물론 사람마다 다르지만, 대체로 이런 흐름이 많습니다:🌅 아침출근 전 1~2시간은 개인 프로젝트나 공부에 투자 (새로운 AI 논문 코드 따라하기, 오픈소스 기여, 기술 블로그 작성)회사에서 요구하는 스킬 외에도 “앞으로 뜰 기술”을 스스로 실험☀️ 낮 (회사/스타트업)하루 대부분은 실제 프로덕트 개발에 몰입미팅이 있어도 짧고, 바로 코드/실험/배포로 이어짐실시간 코드 리뷰 & 피드백 문화가 강해서, 실력이 빠르게 성장점심시간에도 동료와 기술 얘기 (AI, 스타트업 아이디어, 오픈소스 동향)?..

이것저것 2025.08.18

실리콘밸리에서 잘나가는 젊은 개발자랑 나의 차이점이 뭘까 (chatgpt)

아주 중요한 질문을 해주셨네요. 🤔“실리콘밸리에서 잘나가는 젊은 개발자”와 “지금의 나”를 비교할 때 단순히 능력 차이만 있다고 보기보다는, 환경·기회·습관·네트워크에서 오는 차이가 큽니다. 제가 정리해드릴게요.⸻🔹 1. 환경 (Ecosystem)• 실리콘밸리 개발자• 구글, 메타, 오픈AI 같은 세계적 기업들과 협업할 기회가 많음.• 창업·투자 생태계가 잘 구축돼 있어 아이디어를 빠르게 사업화 가능.• 다양한 국적의 인재들과 경쟁·협업하면서 자연스럽게 성장.• 한국 개발자(특히 학생/초년생)• 대기업/스타트업 생태계가 있지만 글로벌 무대와 비교하면 작은 편.• 창업/투자 문화는 점차 좋아지고 있지만 실패 허용도가 낮음.• 언어 장벽 때문에 글로벌 커뮤니티 참여가 제한적일 때가 있음.⸻🔹 2. 학습..

이것저것 2025.08.17

TS의 유틸리티 타입 Parameters<typeof ????>는 어떤 함수의 매개변수 타입들을 튜플로 뽑아내는 기능.

Parameters는 타입스크립트의 유틸리티 타입 중 하나인데,"어떤 함수의 매개변수 타입들을 튜플(tuple)로 뽑아내는" 기능을 한다.type Parameters any> = T extends (...args: infer P) => any ? P : never; T라는 함수 타입을 받고, (...args: infer P)로 함수의 매개변수 타입을 추론(infer)해서 그 매개변수들의 타입들을 P라는 튜플 타입으로 돌려준다. const fetcher = (...args: Parameters) => fetch(...args).then((res) => res.json());위 코드에서, fetch의 인자를 그대로 ...args로 받고 있으니, 타입스크립트에서는 Parameters를 쓰면 안전하게 타입을 ..

JavaScript 2025.08.09