2019년 12월 02일
Github에서 리액트 앱을 공유할 때, 서버 없이 간단하게 Github Page로 공유가 가능합니다.
yarn add --dev gh-pages
gh-pages 모듈을 설치 후 package.json에서 아래 내용을 추가해주세요.
{
...
"homepage": "/${path}",
"scripts": {
...
"predeploy": "yarn build",
"deploy": "gh-pages -d build"
}
}
yarn run deploy
만약 deploy 명령어로 배포 시 gh-pages 브랜치를 생성하는 과정에서 오류가 발생할 수도 있다.
git branch로 조회해도 없는 gh-pages가 이미 존재한다는 오류는 새롭다..
이럴 때는 당황한 뒤에 gh-pages 브랜치를 직접 생성한 후 push 해보자.
git checkout -b gh-pages
git push --set-upstream origin gh-pages
yarn run deploy
배포가 완료되면, gh-pages branch가 생성되어 있습니다.
Github에서 해당 프로젝트로 이동 후 Settings -> 하단 GitHub Pages
메뉴를 보시면 배포 된 깃헙 페이지 링크를 확인할 수 있습니다.
2019년 12월 11일
typescript 환경에서 console.log를 입력하면 상단에 `import console = require('console');`가 자동으로 import 생성된다. 해당 문제가 VSCode, Typescript 중 어디서 생성되는지 모르지만 해결방법은 있습니다. ## 해결방안 구글에서 해결방안 중 node_modules 내 파일을 수정하는 방안도 있었지만, 팀원들도 동일한 증상을 겪을 것 같아 declare 방법으로 진행하였습니다. 프로젝트 root 디렉토리에 console.d.ts를 생성 후 아래 코드를 추가합니다. ( 기존에 사용중이신 d.ts가 있으시다면 그걸 사용하셔도 됩니다. ) ```js declare module 'console' { export = typeof import("console"); } ``` > - 문제가 해결되지 않으면 `command + shift + p` 후 `TypeScript: Restart to Server`를 실행해주세요. > - tsconfig에서 baseUrl을 추가하신 경우, baseUrl의 경로가 root가 됩니다.
2019년 12월 09일
Jekyll을 사용하며 나타난 오류를 정리합니다. ## Scss Import Error + Tip ```bash Conversion error: Jekyll::Converters::Scss encountered an error while converting 'assets/css/index.scss': File to import not found or unreadable: filename. on line 1 Conversion error: Jekyll::Converters::Scss encountered an error while converting 'assets/css/index.scss': Invalid CSS after "": expected selector, was "---" on line 1 Conversion error: Jekyll::Converters::Scss encountered an error while converting 'assets/css/index.scss': Invalid CSS after "@import "theme"": expected "{", was ";" on line 3 ``` scss 파일은 빌드 후 css + minify 형태로 제공해주기 때문에 head에서는 src="index.css" 형태로 작성하게 됩니다. 파일 수 만큼 css를 import하면 속도가 느려 `index.scss 파일 하나에서 모든 scss 파일을 import` 하는 방법으로 bundle 작업을 진행하는게 좋습니다. jekyll은 scss에서 상단에 아래 문구가 적혀있으면 css로 빌드 작업을 진행합니다. ```bash --- --- ``` index.scss 파일에서만 위에 문구를 추가한 후 나머지 파일을 import 해줍니다. 만일 `index.scss에서 호출하는 scss 파일들은 상단에 --- 문구가 존재하면 에러가 나타납니다.` 호출하기 위한 파일을 구분하기 위해 `_theme.scss`...
2019년 06월 03일
문제 N개의 아파트가 일렬로 쭉 늘어서 있습니다. 이 중에서 일부 아파트 옥상에는 4g 기지국이 설치되어 있습니다. 기술이 발전해 5g 수요가 높아져 4g 기지국을 5g 기지국으로 바꾸려 합니다. 그런데 5g 기지국은 4g 기지국보다 전달 범위가 좁아, 4g 기지국을 5g 기지국으로 바꾸면 어떤 아파트에는 전파가 도달하지 않습니다. 예를 들어 11개의 아파트가 쭉 늘어서 있고, [4, 11] 번째 아파트 옥상에는 4g 기지국이 설치되어 있습니다. 만약 이 4g 기지국이 전파 도달 거리가 1인 5g 기지국으로 바뀔 경우 모든 아파트에 전파를 전달할 수 없습니다. (전파의 도달 거리가 W일 땐, 기지국이 설치된 아파트를 기준으로 전파를 양쪽으로 W만큼 전달할 수 있습니다.) 초기에, 1, 2, 6, 7, 8, 9번째 아파트에는 전파가 전달되지 않습니다. 1, 7, 9번째 아파트 옥상에 기지국을 설치할 경우, 모든 아파트에 전파를 전달할 수 있습니다. 3개의 아파트보다 더 많은 아파트 옥상에 기지국을 설치할 경우에도 모든 아파트에 전파를 전달할 수 있습니다. 이때, 우리는 기지국을 최소로 설치하면서 모든 아파트에 전파를 전달하려고 합니다. 해결방법 및 소스코드 처음에는 N개의 아파트를...