목록전체 글 (80)
꾸준한 개발일기

Vue.js와 Spring으로 CRUD를 완성하고 추가적인 세부기능을 구현해보자 하였다. 그 중 먼저 검색기능을 컴포넌트로 만들어 재사용성을 높이고 싶었다. 수 많은 블로그를 둘러보며 얻었던 팁들과 함께 작성해보았다. 검색이나 페이징 값을 받을 VO 생성 SearchVo.java package app.com.model.vo; public class SearchVO { private String srhKeyword; public String getSrhKeyword() { return srhKeyword; } public void setSrhKeyword(String srhKeyword) { this.srhKeyword = srhKeyword; } } 아직 검색어 변수만 선언되어 있지만, 앞으로 페이징 변..
공간정보란? 지상·지하·수상·수중 등 공간상에 존재하는 자연적 또는 인공적인 객체에 대한 위치정보 및 이와 관련된 공간적 인지 및 의사결정에 필요한 정보(속성정보)를 말한다. 속성정보 레코드(Record): 행, 객체, Object ID, Feature ID 필드(Field): 열, 항목, 컬럼 공간정보 = 위치정보 + 속성정보 위치정보는 "원천기관"의 관리, 책임(제공기관을 통해서 오류 신고 가능) 정합성, 무결성 ,품질관리는 원천기관에서 메타데이터란? 데이터의 데이터로, 실제 데이터와 직간접적으로 연관된 정보를 제공해주는 데이터 좌표계가 있어야 함 공간정보의 유형: 벡터(Vector)와 래스터(Raster) ▶ 점선면 = point, polyline, polygon ▶ 이미지, 타일, 영상, 캐시 항..

form 방식이나 ajax로 구현한 게시판 crud에 vue.js와 axios 비동기 통신을 적용해보았다. Vue.js를 사용하면서 편의를 위해 SPA로 작성하고, 페이지 전환은 보통 라우터를 사용해야 하지만 내가 속해있는 프로젝트에서는 전자정부프레임워크 spring의 jsp를 사용하기 때문에 이 환경에 맞춰 만들어보려했다. v-show를 이용하여 페이지 전환을 하며 컴포넌트 별 화면을 껐다 켰다 해주었는데 그 중 메인 포인트는 컴포넌트 간의 데이터 통신이었다. 컴포넌트로 화면을 구성하게 되면 같은 웹페이지라도 데이터를 공유할 수 없다. 컴포넌트마다 고유한 유효 범위를 갖기 때문이다. 그렇다면 데이터 전달을 하려면 어떻게 해야할까? 형제 컴포넌트 간의 데이터 전달 방법 Vue.js에는 이벤트버스 라는 것..
리눅스에 git 프로젝트를 코드를 복사해 넣고 잘 수행되는지 테스트로 검증해보는데 permission denied가 발생하였다. [ec2-user@ip-172-31-89-12 springboot-webservice]$ ./gradlew test -bash: ./gradlew: Permission denied 해결방법은 간단하다. 실행 권한을 부여하면 된다. chmod +x gradlew [ec2-user@ip-172-31-89-12 springboot-webservice]$ chmod +x gradlew 입력하고 엔터를 쳐주면 한참 로딩이 걸린후 BUILD SUCCESSFUL in 2m 2s 5 actionable tasks: 5 executed 이러한 문구가 나오면 성공한 것이다.
사용자를 추가해 줄 때 id 값이 겹치지 않게 AUTO INCREMENT를 적용하려 한다. mariaDB를 사용할 때는 테이블을 생성할 때 AUTO INCREMENT를 적용해 주면 됐는데 현업에서 겪어보니 postgres는 시퀀스를 생성하는 방법을 많이 쓰는 듯 하다. 1. 시퀀스 생성 // 시퀀스 생성 CREATE SEQUENCE 테이블명_id_seq; // 시작값을 설정하고 싶은 경우 CREATE SEQUENCE 테이블명_id_seq START 숫자; create문을 사용하여 시퀀스를 생성해준다. 만약 기존 데이터가 있거나 시작값을 설정하고 싶다면 start 숫자까지 작성해주면 된다. 2. 기존에 존재하는 테이블이 적용하는 경우 ALTER TABLE 테이블명 ALTER COLUMN 컬럼 SET DEF..