상현에 하루하루

개발자의 하루

<body> 스크롤을 막자

우리는 여러 요구사항에 따라서 스크롤을 막을 필요가있습니다. 스크롤을 차단하는 방법? 매우 쉽습니다. <body style=“overflow: hidden”>overflow:hidden은 스크롤을 제거하고 스크롤 할 수 없게 차단합니다. 하지만 Safari에서는? 네 모바일 Safari에서는 작동하지 않습니다. 스타일에 대해서 많이 고민하고 적용도 해봤고 그다음 willmcpo/body-scroll-lock: Body scroll locking that just works with everything 😏 라이브러리를 알게되고 너무나 awesome했습니다. 간단하게 해결 할 수 있었죠. … Continued

대한민국 원 화폐단위 커스텀하기 (feat: i18next)

i18next에는 formatting이 가능하다. Formatting – i18next documentation포맷팅에 관한 자세한 내용은 공식문서를 살펴보면 좋을 것이다. Javascript 기본 Intl.NumberFormat() 함수로는 1,000 원을 표현할 수 없다. 굳이 왜 Intl.NumberFormat()을 말하냐면 i18next의 currency 포맷팅이 Intl.NumberFormat으로 한다. 화폐단위를 포맷팅하게 되면 이렇게 나오게된다. 하지만 우리는 미국 달러없이 달러라고 나오기를 원하고있다. 이런식으로 여러 나라를 동시에 표현할때면 맞겠지만 우리 서비스에는 미국 달러만 사용해서 … Continued

도메인 기관이전의 쓴맛

구글 도메인은 스퀘어스페이스에 인수되었다. 😱On June 15, 2023, Squarespace announced its intent to purchase domain registrations and related customer accounts from Google Domains. Learn more here. 나는 이 정보를 받고서 2030년까지 기간연장을했던 도메인이 과연 구글도메인에서 안정적이게 운영할 수있는 것인가? 의문이 들었다. 그리고 다시 떠올랐다. Killed by Google 안정적으로 내 도메인을 서비스해줄 곳이 없을까? 도메인 기관이전 … Continued

kubernetes traefik 서비스하기 ingressRouter

ingress route는 널리 사용되는 ingress 컨트롤러인 traefik에서 제공하는 사용자 지정 리소스입니다. 추가 기능을 제공하여 표준 Kubernetes ingress 리소스의 기능을 확장합니다. ingressRoute는 Traefik에만 해당되며 Kubernetes 핵심 API의 일부가 압니다. 이를 통해 TCP 라우팅, 미들뤠어 지원등 과 같이 Traefik에서 지원하는 고급 라우팅 기능을 정의할 수 있습니다. IngressRoute는 표준 Kubernetes Ingress에 비해 더 많은 유연성과 제어 기능을 제공합니다. … Continued

kubernetes traefik ingress 라우팅, cert-manger로 인증서관리

ingress는 외부에서 쿠버네티스 클러스터에 접근하기 위한 오브젝트를 가리키며 NGINX Traefik등의 구현이 있습니다. k3s는 Traefik을 번들로 제공하고 있습니다. Traefik ingress (helm) 테스트 애플리케이션 – 에코서버 배포 테스트응 위해 도커 애플리케이션 이미지를 만들기 번거로우니 적절히 에코서버 이미지를 가져와서 deployment를 사용하여 배포합니다. Traefik을 사용해 외부로 서비스 노출하기 파드는 서비스의 형태로 배포되었지만, 호스트에서 해당 파드로 직접 접근할 수는 없습니다.Ingress를 … Continued

proxmox k3s 튜토리얼

k3s란 K3S란 가벼운 Kubernetes로 쉽게 설치하고 적은 메모리/binary 파일을 사용하여 Edget/IoT 환경 혹은 CI/Dev 환경에서 k8s를 쉽게 사용할 수 있도록 도와주는 도구이다. Rancher Labs에서 만든 Kubernetes의 또 다른 버전. Kubernetes와 비교해서는 크게 두가지의 차이점이있다. 경량화, 외부 클라우드 서비스와의 연동 기능을 최소한으로 줄이고, 고가용성(HA) 배포를 위해 기본으로 사용하던 etcd 의존성을 없애고 sqlite를 기본값으로 사용한다. 또한 Docker와 … Continued

traefik ingress cert-manger 조합에서 traefik만 사용하는 방법으로 변경

echo-server-ingress.yaml 파일을 traefik의 리소스인 ingressRoute로 변경한다. cert-manager traefik에서 관리하도록 변경 tls-issuer.yaml tls-cert.yaml 두가지에서 만든 issuer랑 Certificate 리소스는 제거해주면된다. Certificate 리소스는 특별히 TLS 인증서를 관리하는데 사용되지만 ingressRoute에서 발급자를 구성하는데는 필요하지 않다. IngressRoute의 tls 섹션에서 참조하는 발급자는 TLS 인증서를 얻고 관리하는 방법을 지정하는데 사용됩니다. 별도로 정의한 발급자 또는 ClusterIssuer 리소스를 참조할 수 있습니다. 아니었다. cert-manager는 필요없다 docker-compose의 … Continued

Vite로 만든 프로젝트 배포하기 (github page, docker)

Github Page 형상관리를 git으로하고 github를 사용한다면 static한 파일을 배포해서 username.github.io/reponame으로 생성됩니다. 서버를 구매하지 않아도 코딩의 결과물을 무료로 배포 할 수 있습니다! Vite config Github action https://github.com/sitek94/vite-deploy-demo Docker 나는 github page가 아닌 내가 호스팅하고있는 서버에서 하고싶다. package.json serve라는 스크립트를 만들고 vite의 preview의 옵션들을 추가한다. docker-compose using traefik

mount.nfs: Resource temporarily unavailable

NFS 클라이언트 측에서 분명히 필요한 패키지도 잘 설치되어있는데 720p는 ssh config에 등록한 호스트여서 위처럼 적용하였는데 계속 이런 에러 메세지가 뜨는 것이다. 그렇게 무슨 문제일까 구글로 검색을 해봐도 뚜렷한 해결책이 나오지 않아서 위 명령어를 실행하는 VM에 문제가있는 것같다 생각해서 다른 VM을 띄워서 시도해봤다. 새로 만든 VM에서는 ssh key 설정도 하지 않아서 ip로만 설정했는데 문제없이 되는 것이다 … Continued

WordPress 관리자 계정 숨기기

관리자 계정을 가지고있는 워드프레스가있습니다. 사이트에 대한 전체 액세스를 요청하는 클라이언트가 있는 경우. 실제로 코딩하고 워드프레스를 관리할 수 있는 관리자의 계정을 삭제할 수 있습니다. 이렇게 된다면 비상 상황이 발생합니다. 사이트에 대한 관리자 액세스 권한이 없는 경우 권한을 다시 얻으려면 데이터베이스를 편집해서 유저에 대한 정보를 해킹해야 합니다. 내가 이제 관리하지 않게되는 사이트라면 “백도어”를 추가하지 않도록 해야합니다. 이는 … Continued