개발 카테고리 글 목록
네이버에 열린이웃으로 RSS 등록하기 여정 (RSS 직접 만들기)
지난번에 내 사이트의 게시물을 공유하는 RSS피드 기능을 만들어 게시하는 작업을 진행했다.나같은 커뮤니티나 플랫폼 사이트가 아닌 독자사이트는 글을 구독하기위해서 RSS 방식의 공유를 자주 사용하다보니 나름 필요하다고 생각했기 때문이다. 하지만 예전부터 이런 RSS가 제대로 보이는지, 사용되는지는 알기가 좀 힘들...
#문제해결 #php #SEO
비동기 HTTP 요청시 FormData 에서 발생할 수 있는 문제 해결
우리가 백단에 비동기요청, 그러니까 제이쿼리로 말하자면 ajax 요청을할때 다양한 데이터를 넘기기위해서 앞단에서 FormData를 통해 넘기는 경우가 있다. 그럴때 요청에서를 임의로 정해서 넘긴다면 문제가 발생할 수 있다. 일반적으로 나같은 경우에는 일반적인 백단 요청을 아래와 같은 형식으로 하곤 한다. 근데 만약에...
#문제해결 #JavaScript
QR 코드 생성기 제작
제작 비화이번에 QR 코드 관련으로 작은 이슈가 있었다.어떤분이 온라인 QR 코드 생성기를 통해서 QR코드를 만들어 배포했는데 몇백명이 그 코드를 통해 웹사이트에 접근하자 더이상 큐알 코드의 기능이 막혔다는 이야기였다. 내 상식으로는 조금 이해가 안갔다.단순히 큐알은 바코드마냥 어떤 텍스트데이터를 이미지화 시...
#JavaScript
구글 애널리틱스(gtag) 스크립트 로드 타이밍 문제
거참 요즘 이러니저러니 손대는거마다 실수연발이다.괜히 개발자 형님들이 잘돌아가는 코드는 손대는게 아니라고 했던가,나름 스크립트 최적화 하겠다고 기존에 스크립트 형식 로딩을 비동기 로딩으로 바꿨다가 애널리틱스 코드가 망가지는 상황이 발생했다. 대부분의 애널리틱스 사용하는 사람들도 알다시피, 위의 코드로...
#JavaScript
자바 스크립트로 에이전트 봇 검증하기
웹사이트는 일반 유저도 접근하는 곳이지만 봇도 접근하는 페이지이다.원래 크게 문제가 없다면 굳이 유저와 봇의 페이지 차이를 줄 필요는 없긴하다만 상대적으로 유저 인터랙션이 많은 스크립트 페이지의 경우에는 스크립트 처리과정 자체가 봇에게는 의미가 없을수도있다. 특히 스크립트로 백단 api를 요청해 사용자에게...
#JavaScript
Nginx IP 기반 요청 제한 거는 방법 (limit_req 모듈)
우리가 흔히 웹서버를 운용하다보면 동시접속을 과도하게 받는 경우가 있다.이런 동시접속 처리 자체는 서버가 잘 운용되고있고 대중화되었다는 지표이긴하나 통상적이지 않은 요청까지도 커버를 쳐야하는 상황에서는 그렇게 유쾌하진 않은 경우도 있다. 예를들어 위와 같은 서버 로그 기록이 있다치면 이걸 통상적인 요청...
#Nginx
도커 내부에서 nginx 돌릴때 호스트에서 logrotate 적용하는법
이번에도 나한테만 일어났던 그지같은 문제상황이라... 기록겸 남겨놓는다. 나는 docker 환경에서 프록시 서버를 구현해두고 그 프록시서버가 내부의 nginx 컨테이너들에 http 요청을 건네주는 원서버 다중웹사이트 구조로 웹 서비스를 제공하고있다. 이러다보니 실제 도커가 돌아가는 서버는 그냥 http 요청이 들어오면 도...
#문제해결 #Nginx #Ubuntu
Nginx 접속 차단 설정 (IP차단, 요청URI차단, 리퍼러차단, 에이전트차단)
웹서버를 운용하다보면 정말 예상외의 접속을 참 많이 받는다.워드프레스좀 만져본 사람들이라면 흔히 관리자 주소를 wp-admin에서 바꿔야한다는것도 다 같은 맥락이다. 웹 접속을 이용해 특정권한을 탈취하고 악의적인 작업을 하는경우도 있고, 그냥 통상적인 방법으로는 크롤링 서버를 통해 웹사이트가 제공하는 콘텐츠를...
#Nginx
사용자 인터랙션을 기반으로 실행되는 자바 스크립트 헬퍼 함수
저번에 페이지 로드 완료시 지연 로딩을 취하기위해서 addEventListener 핸들러 타이밍을 이용한 전략 제시를 포스팅했다. 모든 DOM 구현, 스크립트 처리를 그냥 의식의 흐름대로 처리를하면 초기 페이지 로드까지 꽤나 시간이 걸리는게 현실이다.특히나 요즘처럼 서버 사이드 랜더링(SSR) 방식으로 처리를하면 DOM 크기도...
#JavaScript
라라벨 캐시 파일 드라이버 구현 및 응용 사례
캐시(Cache)라고 모두들 알고 있을 것이다.자주 보는 데이터를 어디다가 보관해두고 필요할때마다 새 데이터를 받아쓰는게 아니라 보관해둔 캐시 데이터를 가져다 쓰는걸 말한다. 이런 캐시에 관련된 이야기는 여러 기술에서도 접목을 해서 각자 나름대로의 캐싱 전략을 통해 최적의 속도와 맞춤 서비스를 제공하고있다. 캐...
#Laravel #php