목록전체 글 (205)
nextjs env setting 개념 Next.js 프레임워크에서는 .env 파일을 사용하여 환경 변수를 설정할 수 있습니다. 일반적으로 .env 파일 내부에는 API 키, OAuth 토큰, 데이터베이스 연결 등 민감한 정보가 포함되어 있습니다. 중요한 정보를 .gitignore 파일에 넣어서 모든개발자와 공유하지 않도록 해주는 것이 좋습니다. 우선순위 process.env .env.${NODE_ENV}.local .env.local .env.${NODE_ENV} .env ${NODE_ENV}에 올 수 있는 값 dev, devlopment, prod, production, test, qa, staging 등 작성예시 DB_HOST=localhost DB_USER=root DB_PASS=s1mpl3 브라..
js - tagged template literal 설명 template literals 의 더욱 발전된 한 형태는 tagged templates 입니다. 태그를 사용하면 템플릿 리터럴을 함수로 파싱 할 수 있습니다. 태그 함수의 첫 번째 인수는 문자열 값의 배열을 포함합니다. 나머지 인수는 표현식과 관련됩니다. 결국 함수는 조작 된 문자열을 반환 할 수 있습니다 (또는 다음 예제에서 설명하는 것과 완전히 다른 결과를 반환 할 수 있습니다). function 이름은 원하는 어떤 것이든 가능합니다. Tagged Template Literal은 ES6(ES2015)부터 도입된 새로운 문자열 처리 방법인 템플릿 리터럴(Template Literal)을 확장하는 기능으로, 독특한 문법을 통해 개발자들이 더욱 효..
Unterminated regular expression literal.ts(1161) 오류상황 다음과 같은 컴포넌트 작성 중 export const ContextProvider = ({ children }: IContextProvider) => { return {children}; }; Cannot find namespace 'StateContext'.ts(2503) '>' expected.ts(1005) Unreachable code detected.ts(7027) Operator '
상황 ios 아카이브 실행 후 앱을 배포하려고 할 때, 빌드버전때문에 앱을 배포하지 못하는 상황이 생긴다. xCode에서 빌드버전을 올려주려고 찾아봤으나 보이지 않았다. 상황을 해결한 방법 ios > Runner.xcodeproj > project.pbxproj 파일을 다음과 같이 수정 MARKETING_VERSION 이라는 항목을 찾아서 (3군데 있음) 버전을 일괄적으로 변경해준다. 후에 다시 아카이브 → 앱 배포를 하면 해당 오류가 사라졌다.
오류상황 vscode 의 flutter 프로젝트에서 ios 빌드를 위해, cd ios (ios 폴더로 이동하여) pod install 실행 경고메세지로 다음과 같이 나왔다. [!] cocoapods did not set the base configuration of your project because your project already has a custom config set. in order for cocoapods integration to work at all, please either set the base configurations of the target runner to target support files/pods-runner/pods-runner.profile.xcconfig or ..
2 단계 : 큰 수 만들기 코딩테스트 연습 > 탐욕법(Greedy) > 큰 수 만들기 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한 조건 number는 2자리 이상, 1,000,000자리 이하인 숫자입니다. k는 1 이상 number의 자릿수 미만인 자연..
복합체 패턴 (Composite) 복합체 패턴은 객체들을 트리 구조들로 구성한 후, 이러한 구조들과 개별 객체들처럼 작업할 수 있도록 하는 구조 패턴입니다. 복합체 패턴은 앱의 핵심 모델이 트리로 표현될 수 있을 때만 사용하세요. 복합체 구성요소 Component 추상클래스 : 트리의 단순 요소들과 복잡한 요소들 모두에 공통적인 작업을 설명합니다. Leaf 클래스 : 잎은 트리의 기본 요소이며 하위요소가 없습니다. Composite 클래스 : 컨테이너(일명 복합체)는 하위 요소들(잎 또는 기타 컨테이너)이 있는 요소입니다. 컨테이너는 자녀들의 구상 클래스들을 알지 못하며, 컴포넌트 인터페이스를 통해서만 모든 하위 요소들과 함께 작동합니다. 요청을 전달받으면 컨테이너는 작업을 하위 요소들에 위임하고 중간 ..
2 단계 : 다리를 지나는 트럭 코딩테스트 연습 > 스택 / 큐 > 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 경과 시간 다리를 지난 트럭 다리를 건너는 트럭 대기 트럭 0 [] [] [7,4,5,6] 1~..
브리지 패턴 (Bridge) 브리지는 큰 클래스 또는 밀접하게 관련된 클래스들의 집합을 두 개의 개별 계층구조(추상화 및 구현)로 나눈 후 각각 독립적으로 개발할 수 있도록 하는 구조 디자인 패턴입니다. 브리지 구성요소 리모컨 클래스 : 추상화를 담당하며, 기기를 참조해서 기기가 여러가지 동작을 수행하도록한다. tv의 볼륨을 올리거나, 채널을 변경하거나 기능이 추가된 리모컨 클래스 : 리모컨 클래스에는 없는 또다른 기능이 추가된 advanced된 리모컨입니다. 기기 인터페이스 : 리모컨클래스에서 사용하는 메서드들을 미리 선언해 둡니다. 기기 인터페이스를 구현하는 여러가지 기기들 : 기기 인터페이스에서 선언한 메서드들에 대한 구현과 추가적인 메서드들을 포함할 수 있습니다. 요약 브리지 패턴은 추상화와 구현..
2 단계 : 2 x n 타일링 코딩테스트 연습 > 연습문제 > 2 x n 타일링 가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 다음과 같이 2가지 방법이 있습니다. 타일을 가로로 배치 하는 경우 타일을 세로로 배치 하는 경우 예를들어서 n이 7인 직사각형은 다음과 같이 채울 수 있습니다. 직사각형의 가로의 길이 n이 매개변수로 주어질 때, 이 직사각형을 채우는 방법의 수를 return 하는 solution 함수를 완성해주세요. 제한사항 가로의 길이 n은 60,000이하의 자연수 입니다. 경우의 수가 많아 질 수 있으므로, 경우의 수를 1,000,000,007으로 ..