반응형

전체 글 463

HSTS 설정을 중복하게 하지말자. HTTP Strict-Transport-Security, HSTS

애저 서버에서 HSTS를 설정하고, 프론트 서버에도 HTTP Strict-Transport-Security, HSTS 설정했더니갑자기 결제모듈이 죽었다.사이트가 터지는줄 알았는데, nextjs tree는 살아있고 iframe 태그만 죽었던 것..왜냐하면 서버에서 설정해도 http로 접속해져서 넣은거였는데, 알고보니 헤더가 중복되어 발생하는 문제이건 아니겠지하고 최종테스트까지 넣은건데 당황스러웠다.이거때문에 별수없이 프론트는 hsts를 수동으로 리다이렉트하게 넣었다.서버는 자동으로!

취업/React.JS 2026.06.18

Next.js + WebRTC로 실시간 협업 플랫폼 만들기 - 프로젝트 기획

왜 이 프로젝트를 시작했는가업무를 하면서 화상회의, 문서 작성, 코드 리뷰, 메신저가 모두 분리되어 있다는 점이 불편했다.회의는 Zoom,문서는 Notion,대화는 Slack,코드 리뷰는 GitHub에서 이루어지는데 작업 흐름이 계속 끊겼다.특히 개발자 협업에서는 화면을 공유하면서 문서를 함께 수정하거나 실시간으로 의견을 남기는 일이 자주 발생하는데, 기존 서비스들은 특정 영역에만 집중되어 있었다.그래서 하나의 공간 안에서실시간 화면 공유음성 대화공동 문서 작성작업 이력 추적을 동시에 수행할 수 있는 협업 워크스페이스를 만들어 보기로 했다.프로젝트 목표Atlas Workspace는 개발자와 팀을 위한 실시간 협업 플랫폼이다.단순 화상회의 서비스가 아니라 다음과 같은 경험을 제공하는 것을 목표로 했다.하나..

코딩/Next.js 2026.06.12

[nextjs] 웹앱을 디버깅하면서 발견한 유튜브 새창열기 이슈

웹앱에서 유튜브 영상을 유저들이 추가할 수 있게 해놨는데, 이때 들어오는 iframe이 의도치않게 새창열기를 한다.유튜브 앱을 미설치할 경우 뒤로가기가 가능해서 돌아갈 수가 있는데,설치된 경우 백화현상(흰화면)이 출력되는 문제가 발생하더라.이를 해결하기 위해서 공식문서를 봤는데, 샌드박스라는 속성을 넣어주면 되더라.default가 차단. 속성이 없으면 모든 기능 허용여기서 allow-popups을 빼서 적용하면 새창열기가 차단되서 앱을 업데이트 하지 않아도 되니까일단 임시로 적용해서 모두 막음.그렇다고 그냥 '' 하면 유튜브조차도 안불러와진다.https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/iframe#sandbox HTML in..

[nextjs]파일 업로드는 그냥 서버 업로드가 답이다.

파일업로드 기능을 구현했다. 서버에 업로드 전에 당연하게 프리뷰를 위해 blob으로 이미지를 만들어 화면에 뿌려줬는데,pc, ios, aos를 구현했다. 근데 이상하게 잘 안된다?aos가 유난히 지랄나는 것. 알고보니 삼성 갤러리에서 사진을 전달할때 정보가 완벽하지 않은 것. aos 파일픽커로 들어가니 끊어지지 않는다. 파일이 깨지는 것도 없음.해당 내용을 보고 서버 업로드로 전환하기로 했는데, 네이버도 분석해보니 업로드 하는 방식으로 구현하고 있더라.그래야 ios, aos 버전업데이트에 영향을 받지 않다보니 그런거 같더라.역시 알아야지 왜 이방식을 쓰는것인지 알겠더라.

취업/React.JS 2026.01.06

[nextjs] CKeditor5 사진 추가시 하단 클릭불가현상.

개발 중간 식겁한 현상이 있었다. 사진이 추가 되었는데 하단이 클릭되지 않는것..문제는 UAT(유저 액션 테스트- 인수테스트)가 다음날이라는 것...아시바 이거 어쩌지 했는데? ai가 찾아줬다.추가할때 바로 하단에 p태그를 삽입하는 것.그러면 입력공간이 쳐진거라 바로바로 붙을 수 있다.내 경우 onReady={ } 안에 해당 하는 dom이벤트를 감지해서 붙여주는 방식으로 구현했다.

코딩/Next.js 2025.12.25

[nextjs] 아이폰, 안드로이드 최신기기 input창 프리뷰 기능 적용.

구형폰에서는 잘되는데, 최신폰은 안되더라. 왜? 이런가 봤더니 최신이 맞는 내용.졸라 러프하게 보고 있더라.해결해보니까 이전 코드가 왜 이게 되지 하는 수준이었다...아무튼 사진은 file.arraybuffer()로 가져와서 blob으로 넣어 URL.createObjectURL(blobData)로 만들어 넣어주자.그렇게 해결했더니 ios, aos 모두 잘되더라 ㅎㅎㅎ 2026.01.06 - [취업/React.JS] - [nextjs]파일 업로드는 그냥 서버 업로드가 답이다. [nextjs]파일 업로드는 그냥 서버 업로드가 답이다.파일업로드 기능을 구현했다. 서버에 업로드 전에 당연하게 프리뷰를 위해 blob으로 이미지를 만들어 화면에 뿌려줬는데,pc, ios, aos를 구현했다. 근데 이상하게 잘 안된다..

코딩/Next.js 2025.12.21

[nextjs] CKEditor view 만들기

ckeditor를 이용한 개발중인데, 특이하게도 ckeditor는 뷰어가 없더라.그래서 그게 어딨지 했는데, 찾아보니까 영문이라 찾기가 어렵더라..한글로 문서가 있길래 참조했다.https://velog.io/@oo009pbh/%EC%9D%B4%EC%8A%88%ED%95%B4%EA%B2%B0-CKEditor-5-View-%EC%8A%A4%ED%83%80%EC%9D%BC-%EC%A0%81%EC%9A%A9 [이슈해결] CKEditor 5 View 스타일 적용에디터에서는 리스트, blockquotes, 이미지 정렬 등의 작업을 진행하고 저장을 했지만. 해당 html 코드를 보여줄때 저장한 버전과 다르게 나오는 문제가 있었다.https://ckeditor.com/docs/ckeditor5/latest/instal..

코딩/Next.js 2025.12.21

[nextjs] 그냥 요즘 많이 배운다.

아이폰의 경우 프리뷰를 보여줄때 png의 경우 decode가 터진다는 것을 배우고,내용은 알았는데, 실제로 겪어본 건 처음이었다.안드로이드에서 프리뷰를 보여줄때 리사이징해서 보여줘야한다는 것을 알았다.아무생각없이 프리뷰 원본 사이즈를 blob으로 변환해서 img src로 넣었다가 메모리가 터지더라 OOM떠서 이미지 깨짐 발생.그거보고 뭐지 하다가 되는것보니 리사이징 처리.200px 가로, 세로 넘었을 경우 비율에 맞게 축소해서 리사이징 처리해서 프리뷰로 보여주고 하는 방식으로 구현했더니메모리 문제가 사라졌다

코딩/Next.js 2025.12.16

CKeditor 이미지 파일 외 업로드시 해당 알림창 출력하기.

심플업로드 아니고 커스텀이니 알아서 알아들어요.extraPlugins는 적용안됩니다. 해당 내용을 적용하려면 업로드 시작에서 강탈해야하는데, 안그러면 에디터 자체에서 폐기해버려아무 반응없음.실행순서가 input -> click-> editor -> plugin 이라 너무 늦음.해당 이벤트는 CKeditor onReady 자체에 적용해야합니다.그래야 이벤트를 강탈 가능.해당 라이브러리는 @ckeditor/ckeditor5-react를 사용함// utils/ckeditor.ts// MIME → 확장자 변환 (있으면 유지)export function mimesToExts(mimes: string[]) { const mapping: Record = { 'image/jpeg': 'jpeg', 'ima..

728x90