본문 바로가기

전체 글42

프로그래머스 - 거리두기 확인하기 [Java, Javascript] https://school.programmers.co.kr/learn/courses/30/lessons/81302 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명개발자를 희망하는 죠르디가 카카오에 면접을 보러 왔습니다.코로나 바이러스 감염 예방을 위해 응시자들은 거리를 둬서 대기를 해야하는데 개발 직군 면접인 만큼아래와 같은 규칙으로 대기실에 거리를 두고 앉도록 안내하고 있습니다.대기실은 5개이며, 각 대기실은 5x5 크기입니다.거리두기를 위하여 응시자들 끼리는 맨해튼 거리가 2 이하로 앉지 말아 주세요.단 응시자가 앉아있는 자리 사이가 파티션으로 막혀 있을 경우에는 허용합니다 5개의 대기실을.. 2025. 3. 18.
effective Typescript (5) 동적 데이터에 인덱스 시그니처 사용하기자바스크립트 객체는 문자열 키를 타입의 값에 관계없이 매핑한다.타입스크립트에서는 타입에 '인덱스 시그니처'를 명시하여 유연하게 매핑을 표현할 수 있다.type Rocket = {[property: string]: string}const rocket: Rocket = {name: 'Falcon',variant: 'v1.0',thrust: '4940'}; //정상property: string이 인덱스 시그니처이며 다음 세 가지 의미를 담게 된다.키의 이름: 키의 위치만 표시하는 용도이다. 타입 체커에서는 사용하지 않기 때문에 참고 정보로만 생각해도 된다.키의 타입: string이나 number 또는 symbol의 조합이어야 하지만 보통은 string을 사용한다.값의 타입.. 2025. 3. 17.
effective Typescript (4) 타입 공간과 값 공간의 심벌 구분하기타입스크립트의 심벌(symbol)은 타입 공간이나 값 공간 중의 한 곳에 존재한다.심벌은 이름이 같더라도 속하는 공간에 따라 다른 것을 나타낼 수 있기 때문에 혼란스러울 수 있다.interface Cylinder { radius: number; height: number;}const Cylinder = {radius: number, height: number} => ({radius, height});interface Cylinder에서 Cylinder는 타입으로 쓰인다. const Cylinder에서 Cylinder와 이름은 같지만 값으로 쓰이며, 서로 아무런 관련이 없다. 상황에 따라 Cylinder는 값으로 쓰이거나 타입으로 쓰인다.때로는 이런 점이 가끔.. 2025. 3. 16.
effective Typescript (3) any 타입 지양하기타입스크립트의 타입시스템은 점진적이고 선택적이다.코드에 타입을 조금씩 추가할 수 있기 때문에 점진적이고 타입체커를 언제든 해제할 수 있기 때문에 선택적이다.이 기능들의 핵심은 any타입이다.let age: number;age = '12'; // 오류, 문자열 형식은 number에 할당할 수 없음age = '12' as any; // OKany 타입에는 타입 안정성이 없다앞선 예제에는 age가 number타입으로 선언됐다. 그러나 as any를 사용하면서 string 타입을 할당하였다. 타입 체커는 선언에 따라 number 타입으로 판단할 것이고 이는 혼란을 불러일으킨다.age += 1 // age = '121'any는 함수 시그니처를 무시한다함수를 작성할 때는 시그니처를 명시해야 한다.. 2025. 3. 14.
경영 철학과 기업 문화의 중요성 및 시스템 이론의 이해 오늘은 경영학에서 중요한 몇 가지 개념과 이론을 스타벅스의 실제 사례를 통해 쉽고 명확하게 정리해 보려고 한다. 특히 경영 철학과 기업 문화가 실제로 얼마나 중요한지, 그리고 이를 시스템 이론과 어떻게 연결하여 최적의 결과를 도출할 수 있을지 살펴보자.📝 경영 철학과 기업 문화의 중요성기업에서 '경영 철학'은 조직의 존재 이유와 방향성을 정해준다. 특히 유명한 사례로 스타벅스를 꼽을 수 있다.스타벅스의 창업자인 하워드 슐츠는 인간 중심 경영 철학을 강조했다.2008년 위기 당시, 그는 다시 CEO로 복귀하면서 "사람 중심 경영"을 통해 스타벅스를 성공적으로 회생시켰다.스타벅스가 강조한 경영 철학직원과 고객을 최우선으로 여기는 인간 중심의 철학커피 이상의 경험과 문화를 고객에게 제공이처럼 경영 철학은 기.. 2025. 3. 14.
effective Typescript (2) 구조적 타이핑에 익숙해지기자바스크립트는 본질적으로 덕 타이핑(duck typing)기반이다. 만약 어떤 함수의 매개변수 값이 모두 제대로 주어진다면, 그 값이 어떻게 만들어졌는지 신경 쓰지 않고 사용한다. 타입스크립트는 이런 동작, 즉 매개변수 값이 요구사항을 만족한다면 타입이 무엇인지 신경 쓰지 않는 동작을 그대로 모델링 한다. 하지만 타입 체커는 가끔 오류를 일으키기도 한다. 구조적 타이핑을 제대로 이해한다면 오류인 경우와 오류가 아닌 경우의 차이를 알 수 있게 된다.다음과 같은 예시 코드가 있다.interface Vector2D {x: number;y: number;}interface NamedVector {name: string;x:number;y:number;}function calculateL.. 2025. 3. 13.