개발 20

Vue.js 간단한 플러그인 만들기

Vue.js 플러그인 페이지의 로딩바를 보여주는 플러그인을 만들려고 한다. 요구사항 페이지 로딩 element는 1개만 관리하며 show/remove 한다. 페이지를 떠날때는 (뒤로가기 버튼 등) 로딩 상태를 remove 한다. (이 전 페이지로 갔는데 여전히 로딩중이면 이상하니깐~) element ui에서 제공하는 로딩 element를 이용한다. 결과물 로딩 클래스 /src/plugin/elloading/ElLoading.ts import * as $ from "jquery" export default class ElLoading { private readonly loadingElement: string private readonly elementId: string private readonly loa..

개발/Frontend 2020.11.20

Elasticsearch 기본 쿼리

개요 Elasticsearch cloud Seoul region이 2020년 8월에 출시했다. 현재 14일 무료 plan으로 테스트해보고 있다. 아래 내용은 모두 Elasticsearch 7.8에서 테스트 했다. 인덱스 생성 샤드는 1개, 레플리카는 0개로 설정한다. PUT /$index { "settings": { "index": { "number_of_shards": 1, "number_of_replicas": 0 } } }인덱스 생성 - mapping 정보 함께 생성 mapping정보를 입력하지 않은 index에는 PUT /$index/$type/$id와 같이 데이터 입력이 가능하다. 하지만 mapping정보까지 입력한 index에 데이터 입력시 에러가 발생할 수 있다. Elasticsearch 6..

개발 2020.08.20

모던 레거시가 되지 않기 위한 노오오력

프로젝트 개발 초기에 여러 고민들이 생긴다. 그리고 결정해야 한다. 작은 문제로 치부하고 넘어가면 나중에 큰 골칫덩이가 되어 돌아오며 반대로 여러 상황을 가정하고 확장성을 고려하여 시간을 투자했다가 오버 엔지니어링과 시간 낭비로 이어질 수 있다. 특히 빠르게 의사결정하고 결과물을 만들어야 하는 회사에서는 오래 검토하고 논의할 시간(또는 동료)조차 없다. 현재 시스템에서 개발/운영하며 아쉬운 부분이 많이 생각날 수 있다. 개발자라면 누구나 "새롭게 만든다면 잘할 수 있을 텐데"라고 생각한 적이 있을 것이다. 그럼에도 정작 새롭게 만든 시스템이 완벽하게 릴리즈 되어 유지되는 케이스는 본 적 없다. 한 번 만든 시스템이 완벽하다면 개발자라는 직업은 사라지지 않았을까? 그럼에도 절대 양보할 수 없는 부분들이 있..

개발 2020.08.05

맥에서 zip 압축해제 오류 (오류 22 - 유효하지 않은 변수, Illegal byte sequence)

맥에서 zip파일 압축 해제시 오류 22 - 유효하지 않은 변수가 발생했다. 터미널에서 unzip으로 해제시 아래와 같은 오류가 발생한다. $ unzip name.zip error: cannot create -�_+�++����.txt Illegal byte sequence error: cannot create -�_+�++����.txt Illegal byte sequence윈도우쪽에서 특이하게 압축된 파일인경우 발생하는 문제 같다. 귀찮아서 정확히 찾아보지는 않았다. 아무튼 아래 명령어로 해결할 수 있다. $ mkdir result # 반드시 압축 해제할 dir을 만들어야 한다. $ ditto -V -x -k --sequesterRsrc --rsrc ./result

개발/Linux,Server 2020.04.01