728x90

IT 113

vee-validate 최적화

Veeprovider가 늘어날 수록, 유효성 체크 때문에 페이지가 굉장히 느려질 수도 있다.. 기본적으로 특별히 입력이 없더라도 textfield는 유효성 검사를 하는데, 그럴 필요가 없는 상황이라면 굳이 blur가 일어날때는 유효성 검사가 필요없을지도 모른다. 또한 input도 실제 인풋이 없을때(text입력이 없을때) 처리할 필요가 없다면 custom mode를 적용하여 좀 더 가볍게 validation 체크를 해도 좋다. https://vee-validate.logaretm.com/v3/guide/interaction-and-ux.html#custom-modes Interaction and UX | VeeValidate Interaction and UX Client-side validation is..

IT/Vue 2022.04.27

Frontend와 Backend간 editable table row 업데이트 / 삭제 로직

CRUD로 페이지를 만들다보면 업데이트, 삭제 request를 매번 보내야할지 한번에 보내야할지 애매한 경우가 있다. 예를들면 내 경우 부동산 매물 기능을 구현하던 중, 부동산 매물에 세부 방정보가 있을 수 있었다. 예를들면 쉐어하우스 경우 하나의 주택이지만 방을 따로 나눠 쓰기 때문에 사진 정보들은 한 곳에 올라가지만 세부적인 방별 월세 정보, 입주가능일 등은 달라질 수 있다. 이 경우 방별 정보는 개별적으로 추가되고 갯수 또한 동적이기 때문에 몇개의 방이 추가될거라는 예상이 불가능하다. 방별 정보는 없을 수도 있고, 10개 20개가 될 수도 있는거다. 아무튼 그 경우에 초기 첫 제출 시에는 건축물 정보와 함께 방 정보를 함께 기재해주고 모든 정보를 새롭게 추가해주면 된다. 이땐 House를 생성해주고..

IT/Django 2022.04.25

Django migration 파일에서 외부파일 오류

FileNotFoundError: [Errno 2] No such file or directory: ' 파일 경로가 분명 맞는데 이런 오류가 났다. 좀 찾다보니 window linux간 경로 오류 때문인것으로 결과를 내림. 제대로된 디버깅은 못해봤으나 해결방법도 그와 관련된거라, 아마 맞는것 같음. import os from onepaper.settings import BASE_DIR file_path = os.path.join(BASE_DIR, "addresses", "dong_datas.txt") f = open(file_path)기존코드 f = open( "addresses\dong_datas.txt", )이렇게하니 분명 그쪽에 파일이 있는데 못찾더라. 경로문제는 가장 윗족 버젼으로 해결했으..

IT/Django 2022.04.15

Django migration 파일들 합치기(migrations squash)

Django ORM은 엄청나다. ORM을 통해서 마이그레이션 파일들도 자동으로 생성해주는데, 물론 이 파일을 통해서 마이그레이션을 진행할 때, 유의해야할 것들이 있다. 하위호환 - 마이그레이션을 잘못진행하면 실 서버 배포시 DB업데이트와 view단 코드가 호환되지 않아서 서버 오류가 날 수 있기에 유의해야한다. 아무튼 이 부분을 해결했다면, 테스트 중에 migration 파일들이 여러개 생길 수도 있는데 뭣도 모를땐 그냥 github에 생성되는데로 올렸다. migration 파일 합치기 근데 점점 코드량이 많아지고 코드를 잘 관리하려고 하다보니 나중엔 꼭 나눌 필요 없는 마이그레이션 파일들은 하나로 합쳐야겠다는 생각이 들었다. python manage.py squashmigrations python ma..

IT/Django 2022.04.12

could not freeze hash of undefined

hard-source-webpack-plugin 으로 빌드 최적화를 하다가 제목과 같은 에러가 나는 경우가 있었다. 의존관계가 조금이라도 바뀌면 변경 된 사항을 제대로 업데이팅하지 못하는 과정 때문에 생기는 에러였다. 의존관계가 바뀐경우 cache 폴더를 삭제해주면 간단하게 해결이 가능한데, 에러 뜰때마다 수동으로 해줘야 한다는게 불편하기 때문에 hard-source-webpack-plugin-fixed-hashbug 이라는 개선 패키지가 있다. 해당 패키지는 의존관계 변경시 자동으로 cache폴더를 삭제 해준다. 변경 후 아직까지는 에러 없이 잘 동작하는 듯하다.

IT/Vue 2022.02.15

vue 중첩데이터 감시, vue watch nested data is not working

watch 요소는 특정 data가 변경이 일어났을때 동작하는 기능이다. 해당 기능을 통해 특정 data의 변화를 감지하고 그에 따른 처리가 가능하다. 비슷한 기능으로는 computed 요소가 있는데 공식문서에서는 명령형 프로그래밍인 watch 보다는 선연형인 computed를 선호한다고 되어있다. 나도 그런 이유로 주로 computed를 사용했으나 이번엔 특별히 computed 내부에서 추가적으로 처리해야할 로직이 없었고 단순히 options 내부 값들을 저장해주는 로직뿐이여서 watch 기능을 사용하게 되었다. 본론으로 들어가서, watch 기능을 사용하는데 nested object는 제대로 watch 요소가 제대로 작동하지 않는다. watch: { options: function(val) { loca..

IT/Vue 2022.01.13
728x90