티스토리

TL&D
검색하기

블로그 홈

TL&D

tozoku.net/m

컴퓨터, 프로그래밍, 블록체인, S/W, A.I, Python, JavaScript

구독자
21
방명록 방문하기
공지 Tistory 초대장 10장 모두보기

주요 글 목록

  • Cloudflare 내 서비스의 캐시는 잘 동작하는 걸까? Cloudflare 를 사용하는 많은 사용자들이 생각보다 놓치고 있는 부분입니다. Cf-Cache-Status 는 기본적으로 HIT 가 설정되지 않는 이상 대부분 캐싱이 적중하지 않았다는 의미입니다. 대표적으로 DYNAMIC 은 Cloudflare가 판단할때 캐싱할 가치가 없다고 판단한건데 대표적인 이유는 공식문서에서 기재되어 있습니다. 위 이미지 및 링크에 명시된 확장자의 경우 별도의 설정 없이도 기본적으로 캐싱에 반드시 적중합니다. 하지만 첫줄 내용을 읽어보면 HTML은 기본적으로 cache 하지 않는다고 합니다. 이유는 동적 컨텐츠가 많기 때문이겠죠? 이걸 해결하기 위해서는 cloudflare 에 등록한 도메인별 캐시 설정이 필요합니다. 캐시 룰을 위와 같이 설정합니다. 캐시 적합성 -> 캐시에 적.. 공감수 137 댓글수 1 2024. 3. 30.
  • Mac Git Commit Message에 � 나올 때 � -> BS 라고 표기되는 이해할 수 없는 문자가 Jetbrains 계열의 제품군들을 사용할 때 커밋메시지에 종종 붙어나오는걸 볼 수 있습니다. git 설정을 변경함으로 써 해결이 가능합니다. git config i18n.commitencoding UTF-8 위 와 같이 터미널에서 설정 후 git config --global -l 이렇게 확인하면 적용된 것을 볼 수 있습니다. 공감수 127 댓글수 0 2022. 4. 8.
  • M1 - Python / Django 디버그모드 실행 오류 Apple M1 을 사용한지 어느덧 3주차인데, 그동안 프론트 작업만 진행하면서 파이썬을 런타임으로만 실행하고 디버깅 모드로 실행하는걸 확인조차 안했던 문제가 있었습니다. 오류 내용 syntaxerror invalid or missing encoding declaration 유사 문제를 가진 유저가 youtrack에서 존재하였고 다음과 같은 이슈였습니다. https://youtrack.jetbrains.com/issue/PY-14497 Django crash on run in debug mode : PY-14497 Crash only when try to run in debug mode. Run as single python script + buildout (not Django Server). Inter.. 공감수 626 댓글수 0 2021. 11. 20.
  • webpack dev server [wds disconnected!] webpack 사용중 개발서버와 연결이 끊기는 문제가 발생하였는데, 아무것도 건든게 없는데 갑자기 끊기니깐 화가치밀어 오르는 현상이 나타납니다. 별 이상한 방법들이 다 있었지만 의지의 Global Stack Overflow에서는 이러한 문제의 깔끔한 정답을 제시해주신분이 있습니다. https://stackoverflow.com/a/61438341 Keep getting [WDS] Disconnected! error I'm currently getting started on ReactJs. However, I've come across the following error in the console which doers not show in the terminal: [WDS] Disconnected!sock.. 공감수 829 댓글수 0 2021. 6. 30.
  • Django App내의 일부 테이블이 DB에 이미 존재하는 경우 보통 하나의 App내에 여러 테이블을 작성하면 흔히 "꼬였다." 라는 현상의 문제가 발생합니다. Django의 migration은 강력한 기능이지만 익숙하지 않은 유저들에게는 존재 자체만으로도 스트레스를 유발하죠. 예를 들어 다음과 같이 News 라는 테이블이 이미 실물 데이터베이스에 존재할 경우 django.db.utils.ProgrammingError: (1050, "1050 (42S01): Table 'news' already exists", '42S01') 위 와 같은 오류가 발생합니다. 하지만 models.py에는 News이외 에도 명시되어 있어서 아마 이 글을 찾은 여러분들은 migrations를 초기화 해도 안돼요 ㅜㅜ 와 같은 울상을 짓고 계실겁니다. 이런 경우에는 해결방법이 3가지정도 존.. 공감수 1,461 댓글수 0 2021. 6. 16.
  • django.db.utils.ProgrammingError: (1146, "1146 (42S02): Table '.django_site' doesn't exist", '42S02') django.db.utils.ProgrammingError: (1146, "1146 (42S02): Table '.django_site' doesn't exist", '42S02') 위 에러는 다양한 이유로 인해서 발생할 수 있지만, 저의 경우는 이미 사용중인 데이터베이스에 django로 migration을 하는 행위등을 통해서도 발생하는 것을 확인했습니다. 이러한 상황일땐 django sites 패키지의 경우는 migrations를 프로젝트 개발 코드내 포함되어 있지 않고 파이썬 패키지에 포함되어 있어서 굳이 삭제할 필요는 없습니다. 오류의 발생 원인은 간단합니다. makemigrations으로 migration 파일을 생성 migrate를 진행할때 django(sites)를 찾는데 해당 테이블이 실물.. 공감수 958 댓글수 0 2021. 6. 15.
  • Nuxt build exportOnlyLocals invalid option nuxt extractcss ignoreorder PostCSS Loader has been initialized using an options object that does not match the API schema nuxt에서 extractcss 관련한 오류가 발생하였는데, vuetify에서 생긴 문제로 보입니다. 많은 자료 조사 결과 다양한 해결책을 제시했는데 extractCss: true를 ignororder를 추가 (이미 설정됨) node-sass를 설치 (안됨) sass-loader를 설치 (안됨) sass를 설치 (이미 설치됨) 위 패키지들을 특정 종속성으로 맞추어줌 (안됨) nuxt 2.15.3으로 강제 설치 (콘솔로그는 사라졌으나 웹상에서는 여전히 오류 발생) postcss-loader.. 공감수 91 댓글수 0 2021. 4. 6.
  • Nuxt.js 개발 build reload가 매우 느릴때 https://stackoverflow.com/questions/63246744/nuxt-2-14-0-hot-reload-is-slow Nuxt 2.14.0 hot-reload is slow I want to know if it is normal that nuxt takes 2 or 3 seconds to make the hot reload changes? For example with Gatsby the Hot Reloads are instantaneous. I missed something ? here is my nuxt build c... stackoverflow.com Nuxt.js 2.14.+ 사용 중이었는데, 개인 개발 컴은 사양이 어마 무시해서 그런지 엄청 빠른데 업무용 노트북이 비정상적으로.. 공감수 1,001 댓글수 0 2021. 1. 27.
  • [GraphQL] ObservableQuery with this id doesn't exist Apollo Graphql Client 모듈을 사용하던 중 다음과 같은 오류를 접하는 경우가 종종 있습니다. ObservableQuery with this id doesn't exist 위 오류는 React Hooks 또는 Vue/Nuxt의 @vue/apollo-composable이나, @nuxtjs/apollo 등의 apollo client를 사용하는 모든 모듈에서 제공되는 fetchMore 즉 페이지 네이션을 쉽게 하기 위한 graphql client의 기능을 사용하던 중 발생하는 오류입니다. 하지만 지금 말씀드린 내용은 어디서 발생하는지를 언급한 것이며, 원인은 이러한 이유 때문은 아닙니다. 즉 언제나 그렇듯 모듈이 문제가 아니라, 사람! 사용자가 문제라는 것이죠. Dirty Solution 다른 .. 공감수 383 댓글수 0 2020. 12. 18.
  • @vue/apollo-composable define not defined Vue 또는 Nuxt에서 vue apollo 4를 사용하며 composition api에서 유연하게 작성하기 위해서는 @vue/apollo-composable이 필요로 합니다. 물론 없어도 @nuxtjs/apollo를 통해서 작성할 순 있지만, apollo가 setup 밖에 있다 보니, 변수 참조가 안되어 초기 데이터 로드를 query명과 일치하여야만 합니다. 굉장히 불편하며 모순적입니다. 현재 @vue/apollo-composable 4.0.0 은 알파 버전이며 오류가 나타나는 버전은 alpha.12 입니다. alpha.11도 동일하다고 하니... alpha.10을 설치하면 해결됩니다. 하지만 alpha의 저. 버전은 이상하게 package.json으로 재 명시해도 12로 설치가 되고, node_mod.. 공감수 65 댓글수 0 2020. 12. 17.
  • JEST vue warn setup binding property "" is already declared as a prop JEST에서 vue 또는 nuxt를 사용하는 도중 setup binding property "" is already declared as a prop Test Case 자체는 성공으로 Passed가 나타나지만 console에서는 오류가 나는 것을 확인할 수 있습니다. 위 오류는 Composition API를 사용한 JEST Test 결과에서 주로 등장을 하게 되는데, 가장 기본적인 해결 방법은 테스트 케이스 내에서 로컬 뷰에 VueCompositionAPI를 사용한다고 선언을 해주어야 합니다. import Vue from 'vue' import VueCompositionAPI from '@vue/composition-api' const localVue = createLocalVue() localVue.u.. 공감수 415 댓글수 0 2020. 12. 9.
  • JEST Unknown custom element: <client-only> - did you register the component correctly? For recursive components, make sure to provide the "name" option. Nuxt.js에서 JEST를 사용하다 보면 마주치는 오류중 하나로 template tag를 JEST에서 해석할 수 없어서 나타나는 증상 중 하나입니다. 대표적으로 nuxt-link 등의 nuxt만의 고유한 태그들에서 이러한 현상이 발생할 수 있습니다. Unknown custom element: - did you register the component correctly? For recursive components, make sure to provide the "name" option. 이것을 해결하기 위해서는 JEST setup에서 mocking된 component.vue를 하나 생성해주어야 합니다. // test/__mocks__/clientOnlyMock.vue setup.js를 통해 생성한 컴포넌.. 공감수 370 댓글수 0 2020. 12. 8.
  • python 3.8 RuntimeError: Event loop is closed python 3.8 이후부터 windows에서 async 한 개발을 하면 정상 동작을 하였음에도 불구하고 다음과 같은 오류가 나타납니다. RuntimeError: Event loop is closed 이러한 이슈로 많은 사람들이 해결책을 찾기 위해 aiohttp가 아닌 httpx를 사용을 권장하지만 근본적인 해결책은 되지 않는 것 같습니다. 이유는 미세까진아니고 조금 체감이 될 정도로 httpx.AsyncClient()가 aiohttp보다 느리게 체감됩니다. 해당 이슈를 해결하기 위한 해결책으로 baysul 이라는 유저가 다음과 같은 내용을 제시했는데 window를 사용함과 동시에 Python이 3.8 이상일 때 발생하는 현상으로 Window Selector 이벤트 루프 정책을 글로벌할게 설정하면 이를 .. 공감수 2,426 댓글수 0 2020. 11. 15.
  • Nuxt-ts Invalid component name: "_id" Nuxt.js에서 typescript를 사용하여 nuxt-ts를 사용할 경우 router에서 파라미터 하위 페이지에서 파일명이 _id.vue가 됩니다. 이러한 경우에는 파일명이 _id이니 class 명을 _id로 사용하게 되는데, 거기서 다음과 같은 오류가 발생하게 됩니다. [Vue warn]: Invalid component name: "_id". Component names should conform to valid custom element name in html5 specification. 사실 크게 문제되는 경우는 없지만, 콘솔창이 더러워지니 좀 신경쓰입니다. 해결방법은 class 명에서 _(언더바)를 제거해주시면 됩니다. // 변경 전 export default class _id extends.. 공감수 547 댓글수 0 2020. 11. 1.
  • TS2307: Cannot find module '@/components/*' or its corresponding type declarations. Typescript를 사용하여 Nuxt.js를 이용하다보면 다음과 같은 오류와 마주할 수 있습니다. TS2307: Cannot find module '@/components/PostList' or its corresponding type declarations. https://typescript.nuxtjs.org/guide/setup.html#configuration Setup Nuxt TypeScript Support mainly comes through a Nuxt module, @nuxt/typescript-build, and its types @nuxt/types. typescript.nuxtjs.org typescript nuxt에서는 위 와같이 설정하는 것을 문서로 표기되어 있으며, vue-.. 공감수 1,253 댓글수 0 2020. 10. 26.
  • 『Nuxt.js』Failed to execute 'appendChild' on 'Node': This node type does not support this method. Nuxt.js에서 Generate를 사용하여 Product 환경에 배포하려고 할 때 발생되는 현상으로, 많은 사람들의 의견이 갈리는데 대체로 $nuxt에서 html 구조를 이상한태그를 추가하여 발생하는 오류라고 합니다. 때문에 번들링에서 생기는 오류로써 이를 해결하기 위해서는 gulp 같은 방식을 사용해야 하는데 따로 설치를 하지 않고도 처리를 진행할 수 있는 방법이 nuxt에서는 가능합니다. github.com/nuxt/nuxt.js/issues/5800#issuecomment-570110683 Failed to execute 'appendChild' on 'Node': This node type does not support this method. · Issue #5800 · nuxt/nuxt.js .. 공감수 764 댓글수 0 2020. 9. 16.
  • FCM Foreground doesn't work FCM(이하, Firebase Cloud Message)에서는 크게 2가지의 알림이 있습니다. Background Notification(백 그라운드 알림) Foreground Notification(포어 그라운드 알림) 주로 설정하게 되는 것이 setBackgroundHandler를 통해 Background 알림을 작성하게 됩니다. 백그라운드는 주로 다음과 같은 상황에서 동작합니다. 다른 탭을 보고 있을 경우 브라우저를 보고 있지 않은 경우 서비스워커는 백그라운드에서 동작하지만, 브라우저는 닫혀있는 경우 백그라운드 알림은 Windows10에서는 다음과 같이 우측 하단을 통해서 알림이 오게됩니다. 하지만 Foreground 즉 포어그라운드의 동작은 서비스워커를 설정한 즉 본인의 사이트를 보고 있는 경우 .. 공감수 217 댓글수 0 2020. 9. 10.
  • GORM Preload시 pk말고 다른 키 지정하기 Go 언어에서 GORM을 주 ORM으로 사용하고 있지만, gorm v2가 점차 발전하고 있지만, 바꾸는게 답이없으니... 기존 gorm을 사용하고 있는데, 보통 Preload를 사용하면 table_id 라는 컬럼 형식으로 작성되있으면 해당 키를 따라 가긴하는데 user_id가 아니라 uid 이런식이면 따라가지 않는 현상이 빈번하게 보여 이때 GORM에서는 Associations(연관성)에서 해당 방식에 대해 설명하고 있지만 지정 키라고 한국어로 언급이 애매하게 되있고 유사한게 joinForeignkey가 존재합니다. Stackoverflow에서 비슷한 내용을 찾을 수 있었고 https://stackoverflow.com/questions/41040046/golang-gorm-preloading Golan.. 공감수 121 댓글수 0 2020. 9. 9.
  • GORM v1 Create시 UpdatedAt Nil(Null)값 할당하기 GO언어 생태계의 대표적인 ORM으로 GORM을 많이들 사용하실텐데 GORM v2자료가 많이 없다보니 저도 v1이 익숙해서 v1을 사용합니다. v1에서는 ORM Conventions라고 해서 Timestamp Tracking이 존재합니다. http://gorm.io/docs/conventions.html#Timestamp-Tracking GORM에서 언급된 Timestamp의 추적은 GORM CALLBACK으로 구성되있는데 https://github.com/jinzhu/gorm/blob/master/callback_create.go#L31 // updateTimeStampForCreateCallback will set `CreatedAt`, `UpdatedAt` when creating func upda.. 공감수 258 댓글수 0 2020. 7. 29.
  • Go Dockerfile 멀티스테이징 scratch를 이용한 경량화 + 타임존 맞추기 how to make dockerfile with local timezone on go? Go언어를 사용해 Docker를 이용하면 정말 찰떡궁합 같은 존재가 되는데, 기본적으로 scratch라는 이미지를 많이 사용합니다. 저는 주로 로컬 개발시에는 WSL2로 할 땐 goland에서 build 후 터미널에서 compose를 재구성하는데, compose가 아직 현재 시점에선 jetbrains가 docker connect는 되는데 이상하게 windows wsl docker-compose로 구성돼있음에도 불구하고 linux가 아닌 window에서 실행되어 에러가 나네요... 혹시 방법을 아시는 분은 댓글 부탁드립니다! Dockerfile FROM golang:alpine as builder COPY . /app.. 공감수 561 댓글수 0 2020. 6. 26.
  • [Mysql, MariaDB] [1292] Truncated incorrect DOUBLE value mysql, mariadb를 사용하다보면 종종 볼 수 있는 오류 중 하나 인데, [1292]의 특징은 Update나 INSERT할때 주로 만나볼 수 있습니다. Update의 경우는 상당히 단조로운 패턴이 등장하는데, and 쿼리가 아닌 , 콤마로 구분해주면 된다는 썰이 있고, INSERT의 경우는 SELECT는 제대로 결과값이 나오는데도 불구하고 INSERT INTO 쿼리가 삽입이 안되는 경우가 있는데 이는 http://blog.naver.com/PostView.nhn?blogId=standcode&logNo=220574024068&categoryNo=104&parentCategoryNo=4&viewDate=&currentPage=1&postListTopCurrentPage=1&from=postView .. 공감수 9,348 댓글수 0 2020. 6. 8.
  • GORM 컬럼명 지정하기 개발자마다 또는 사용자마다 사용하는 코드 스타일 및 컨벤션은 제각각 다릅니다. 하지만 언어마다 권장하는 표준 방식이 존재하는데 이를테면 Python에서는 snake_case를 // snake_case(스네이크 케이스 표기법) snake_case = 1 camel_case = "" pascal_case = None Javascript와 Go에서는 camelCase를 사용할 것을 권장합니다. // camelCase(카멜 케이스 표기법) // JS snakeCase = 1 camelCase = "" pascalCase = null // Go snakeCase = 1 camelCase = "" pascalCase = nil Python은 Class 명을 작성할 때는 파스칼케이스를 // Class명은 반드시 Pa.. 공감수 329 댓글수 0 2020. 5. 14.
  • mysql 1406 / Data too long for column '' at row ? Mysql / Maria DB 사용중 종종 Data too longData too long for column '' at row 위 와 같은 에러 문구를 볼 수 있는데, 이러한 상황에서는 DB에서 Global로 설정되어 있는 'STRICT_TRANS_TABLES' 가 명시되어 있으면 Data Insert를 엄격하게 관리하기 때문에 Column의 길이를 늘려도 계속해서 발생할 수 있는데, 이를 해제하면 길이를 초과할 경우 알아서 잘라서 버려버리고 에러를 출력하지 않게됩니다. 이는 무결성 검증에 굉장히 안좋은 현상을 초래할 수 있고, APP 검증보다는 당연히 DB상에서 검증하는게 훨씬 효율적이기에 이러한 설정이 되있다고 하는데, mysql 5.5에서는 이게 기본적으로 해제가 되있다고 하는군요... selec.. 공감수 3,804 댓글수 0 2020. 5. 4.
  • Oracle Cloud VM Instance 포트 개방 안될때 많은 게시물들을 보면, Iptables 관련 내용만 언급되는데, 저는 iptables를 모두 제거시키고 도커포트로만 오픈이 리스닝 상태인데도 불구하고 포트스캔을 돌려보면 해당 포트가 닫혀있는것을 확인했었습니다. 하지만 서버측에서는 리스닝 상태인걸 볼 수 있죠... 그래서 보안목록이나 그룹을 잘 못 설정했나 했었는데, 기본으로 설정되어 있는 22번 포트의 경우는 ? 소스 범위가 22로 고정이 안되있고 모두라고 되있더라구요 그래서 혹시나해서 변경해보았습니다. 네 잘됩니다.. 아마 가상 네트워크를 타고 올때 포트가 클라이언트가 요청한 포트가 아닌 다른포트로 던지는지 일치시켜주면 안되는 현상인 것 같은데 저도 그냥 저의 뇌피셜이니 참고만해주세요! 공감수 648 댓글수 0 2020. 5. 1.
  • DevTools failed to parse SourceMap 언제부턴가 갑자기 크롬 개발자 도구에서 로그를 보던 도중 DevTools failed to parse SourceMap이라고 경고를 주는데, 상당히 거슬리는 데다가 출력도 엄청 많이 나옵니다. 이를 해결 하기 위한 방법으로는 우측 톱니바퀴를 누르면 나오는 옵션이 있는데 거기서 Selected context only를 체크하면 해당 경고가 숨겨집니다. 공감수 360 댓글수 0 2020. 3. 20.
  • Django S3 ValueError : I/O operation on closed file Django 에서 AWS S3 사용시 ValueError : I/O operation on closed file 라는 오류를 접하게 됐는데... https://github.com/jschneier/django-storages/issues/382#issuecomment-377174808 S3Boto3Storage raises ValueError: I/O operation on closed file. · Issue #382 · jschneier/django-storages When running python manage.py collectstatic we get the following exception: Traceback (most recent call last): File "manage.py", line.. 공감수 474 댓글수 0 2020. 2. 27.
  • alpine linux google-cloud-logging 설치 오류 distutils.errors.CompileError: command 'gcc' failed with exit status 1 ERROR: Command errored out with exit status 1: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-nfup7a1n/grpcio/setup.py'"'"'; __file__='"'"'/tmp/pip-install-nfup7a1n/grpcio/setup.py'"'"'; f=getattr(tokenize, '"'"'open'"'"', open)(__file__); code=f.read().replace('"'"'\r\n'"'".. 공감수 275 댓글수 0 2020. 2. 16.
  • Gitlab-ci 적용해본 썰 #2 - container registry 업로드 Gitlab-ci 적용해본 썰 #1. Container Registry 구성하기 Gitlab-ci 적용 해본 썰 #1. Container Registry 구성하기 사건의 전말 Gitlab에서 Gitlab-ci를 사용해보고자 하려했더니, gitlab container registry를 활성화 시켜야 하고, gitlab container registry를 사용하려면 SSL을 사용하여야 하고, SSL을 붙였더니 registry 도메.. gmyankee.tistory.com 서론 지난 Container Registry 구성을 잘 따라오셨다면, Gitlab 최신 버전부터 보이지도 않는 명령을 수행하셔야합니다. 사실 저도 기억이 안 나요... 안보였던 거 같은데.. Gitlab(도커) 컨테이너 레지스트리를 구성하고.. 공감수 885 댓글수 0 2020. 2. 13.
  • npm ERR! code 128 OVERMAP version 2를 Nuxt를 사용하여 개발을 진행중이었으며... wysiwyg(위지시그, 에디터)가 필요하여 NHN의 국뽕에 취해버린 TOAST UI를 써보고자 하였더니, nuxt용으로 누가 이미 개발했다... 기승전 한국인 README를 잘 보면 Production에선 사용하지 말라고하지만 하지말라면 더 하고싶어지는게 인간미죠 어쩔 수 없이 vue용을 설치하고자 했는데... npm ERR! code 128 npm ERR! Command failed: git clone --mirror -q git://github.com/adobe-webplatform/eve.git /root/.npm/_cacache/tmp/git-clone-da584994/.git npm ERR! fatal: could.. 공감수 1,028 댓글수 0 2020. 2. 12.
  • Gitlab-ci 적용해본 썰 #1. Container Registry 구성하기 순서(목차) 서론 docker-compose를 사용하여 설정 구성 SSL 키 파일 설정 Gitlab 컴포즈 빌드 컨테이너 레지스트리 로그인 결과 확인 서론 Gitlab 을 온 프레미스(On Preimse, 설치형) 사용중인데, CI/CD 배포 자동화가 필요한데... 그래서 찾아보니 gitlab-ci 라는게 있는데 그게 그렇게 편리하다고 합니다. 근데 이걸 사용하려면 docker container registry가 필요하다는 군요? 그런데 이게 웬걸 Gitlab 최신 버전에서는 docker container registry를 같이 구동시켜준다고!? 그래서 docker container registry를 설정했는데 도커 이미지 파일이 업로드가 안되서 보니깐 원격지 registry 서버를 사용하려면 SSL이 .. 공감수 3,411 댓글수 0 2020. 1. 24.
    문의안내
    • 티스토리
    • 로그인
    • 고객센터

    티스토리는 카카오에서 사랑을 담아 만듭니다.

    © Kakao Corp.