본문 바로가기

반응형

2021년기록

fullcalendar 한국어 일 제거하는 방법 vue3로 프로젝트를 하면서 달력을 써야하는 일이 생겼다. fullcalendar를 사용하기로 했다. 한국어만 지원하는 페이지인만큼 달력 locale도 한국어로 바꿨는데 day에 '일'이라는 글자가 나왔다.. 와 진짜 뵈기싫어.. 구글링을 했을 때 결과가 제대로 나오지 않아서 일본어로 locale을 변경해보니 일본어 역시 日이라는 글자가 붙어서 나왔다. 그래서 fullcalendar remove 日 치니까 스택오버플로에 질문한 사람이 있었다. https://stackoverflow.com/questions/55788550/fullcalendar-remove-day-suffix-in-daygridmonth-view-when-using-japanese Fullcalendar - Remove day suffi.. 더보기
SignalR OnDisconnected 호출되지 않는 버그 우회방법 Canvas를 이용해 개발중에 있는데 동일한 방에 들어와있는 유저들에게 같은 object를 공유하기 위해서 SignalR을 사용하였습니다. 그런데 이상하게 이미 방에서 나간 유저의 정보가 계속 남아, 방에 이미 나간 유저의 정보가 계속 보여서 혼란이 생기는 걸 확인한 뒤 OnDisconnected 메서드를 확인해봤습니다. OnDisconnected 메서드에서는 분명 Array에 있는 유저를 해제 시키는 작업을 하고 있는데 왜 유저 정보가 나올까 해서 디버그를 잡고 돌려봤더니 해당 메서드가 호출되지 않는 것을 확인했습니다.유저가 방을 나갔음을 인지하는 건 브라우저의 종료입니다. 검색을 해보니 Chronium 엔진을 사용하는 브라우저에서만 발생하는 것 같았습니다.실제로 IE나 FireFox에서는 정상적으로 .. 더보기
[fabric.js] canvas를 json으로 변환시 custom id 유지시키는 방법 fabric.js 에서 canavs의 object들을 json으로 변환시키려고 할 때 다음과 같은 코드를 작성하면 됩니다. var json = JSON.stringify(canvas); console.log(json); // 확인용 하지만 이럴 경우 object 생성시 설정했던 custom attribute가 사라진채 json 데이터가 만들어지는 것을 확인할 수 있습니다. 내가 설정한 속성이 포함되게 하려면 다음과 같은 방법을 사용하면됩니다. var json = JSON.stringify(canvas.toDatalessJSON(['id'])); // id : 추가하고자 하는 custom attribute console.log(json); //확인용 toDatalessJSON()에 대하여 fabric.js.. 더보기
Fabric.js Polygon 그릴 때 Zoom/Pan 발생시 좌표 어긋나는 버그에 대하여 회사에서 개발하고 있는 솔루션에 협업 기능을 넣고자 Canvas 작업을 하고 있습니다. 오픈 소스인 fabric.js 라이브러리를 사용하였고 버전은 4.3.1 버전을 사용하였습니다. Polygon을 그리기 위해서 구글에 서치를 해보면 AddPoint 함수로 Array에 포인트를 추가한 뒤 0번째 Array와 같은 포인트일 때 Polygon을 Canvas에 추가하는 소스가 많이 나옵니다. 저 역시 해당 소스를 가져다가 쓰려고 했는데 문제가 발생합니다. Canvas에서 Zoom In/Out이 일어나거나 Panning이 발생할 경우 좌표 정보가 틀어져서 Polygon Point가 엉뚱한 곳에 잡힌다는 것입니다. 마우스가 클릭된 좌표를 가져오기위해선 이벤트의 layerX, layerY 를 사용합니다. 이는 현재.. 더보기
[vue.js] Deselect checkbox if confirm is false 다음과 같은 코드를 짰다. 1. 체크박스를 체크한다. 2. confirm으로 정말 작업을 진행할 건지 물어보기 3. [확인]을 누르면 진행, [취소]를 누르면 진행하지 않고 체크박스에 체크되지 않도록 막기 -- template part -- vue component part IsCheckeBoxClicked(e, key, item){ var ret = // call Instance's function e.target.checked = ret; // If ret is false, deselect checkbox } @click 이 아니라 @change를 쓰는 이유는 @click은 이벤트 발생전에 호출되기 때문에, e.target.checked 값을 변경해도 체크 이벤트 발생 후 값이 true로 변경되기 때.. 더보기
장류진 - 나의 후쿠오카 가이드 https://webzine.munjang.or.kr/archives/143761 장류진 - 나의 후쿠오카 가이드 퇴근 시간이 가까워졌고 일도 할 만큼 했기에 단편 소설을 읽기로 했다.장류진 작가를 잘 몰랐기 때문에 어떤 기대도 하지 않고 읽기 시작했다.그러니까, 남자인지도 여지인지도 무슨 작품을 썼는 지도 모른채 친구에게 소설 작법 과외를 들었을 때 감명 깊었던 게 있었다.문장 하나를 쓸 때에도 이야기의 분위기를 담아야한다는 이야기였다.영화에서는 물건의 배치 하나, 조명 하나 허투루 쓰이는 게 없다는 설명이그때는 영화를 배우는 친구여서 더 강조하겠거니, 생각했다. 나의 후쿠오카 가이드 초반부를 읽을 때 부터아, 작가가 전형적인 한국 남성 작가이구나 하는 생각에 거부감이 들었다.왜 항상 나오는 비유. 그.. 더보기

반응형