전체 글

· GIS
✔️ ST_Astext 공간 데이터를 텍스트 형태로 표현해주는 것 예를들면, 011111000021354 이런 geometry 데이터를 우리가 보는 geom 정보(POLYGON)로 바꿔줌 ST_Astext(geom) * from table -- 011111000021354 -- return : MULTILINESTRING M ((209238.497 / 533566.9 / 43.007, 209259.89 / 533566.9 / 43.105)) SELECT ST_AsText('0103000000010000000500000000000400000'); -- POLYGON((0 0,0 1,1 1,1 0,0 0)) ✔️ st_makePoint x,y,z 좌표를 이용해 포인트 생성 ST_GeomFromText and..
· DB/SQL
- 서브쿼리는 메인쿼리(외부쿼리)의 칼럼을 모두 사용할 수 있음 - 메인쿼리(외부쿼리)는 서브쿼리의 칼럼을 사용할 수 없음 - 서브쿼리는 소괄호로 감싸서 사용 서브쿼리에서는 ORDER BY 절을 사용하지 못하고, 메인쿼리 마지막 문장에 사용 가능 스칼라 서브쿼리(Scalar Sub Query): 하나의 컬럼처럼 사용 (표현 용도) FROM (SELECT ...) -- 인라인 뷰(Inline View): 하나의 테이블처럼 사용 (테이블 대체 용도) WHERE col = (SELECT ...) -- 일반 서브쿼리: 하나의 변수(상수)처럼 사용 (서브쿼리의 결과에 따라 달라지는 조건절)Copy 1. 중첩 서브쿼리( Nested Subquery ) (일반 서브쿼리) where문에서 사용하는 서브쿼리. 예제1) ..
· GIS
1. 작업공간 : 레이어, 스타일을 저장할 폴더 2. 저장소 생성 : 연결할 db 정보 입력 : 이 곳을 통해 이미지의 feature를 알 수 있다. : user, password - DB의 비번을 적어주는 것임. (pgAdmin 접속시 비번이 아니라) 3. 레이어 생성 Layer란 : feature정보(공간정보)를 나타내는 정보다. ✔️3-1) 새로운 SQL뷰 설정하기 나의 경우는 db에 geometry 데이터가 직접 담겨있는게 아니라, 프론트에서 그 데이터로 geom데이터를 만들어서 써야하기 떄문에 직접 db를 조회하는 sql문을 써야한다. 이 방식으로 하면 db 뷰에서 쿼리를 복잡하게 짜지 않아도 되고, 쿼리에 매개변수를 받을 수 있다. ✔️3-2) sql 문 작성 4. 스타일 ✔️ 4-1) 스타일..
· GIS
docker없이 설치하려면 geoserver는 java 기반이기 때문에 java를 쓸 수 있는 환경인 jre을 먼저 깔고 시작해야 한다.그러나 나는 java 개발자가 아니기 때문에 이런것 까지 번거롭게 설치해야 하나싶다. 때문에 docker로 geoserver를 설치해보고자 한다.이 방법이 설치 과정도 더 쉽고 mysql이나 다른 프로그램을 한번에 관리하기 더 수월하다 0. docker에 geoserver 설치 1. docker pull docker.osgeo.org/geoserver:2.24.x : 터미널에서 docker pull 을 통해 도커의 images에 geoserver 추가하기: npm pull 처럼 geoserver설치를 위한 cd를 가져오는 개념임→ 설치 완료되면 이렇게 Images에 생성..
· DB/SQL
DBMS (database management system) : 데이터의 집합을 관리하고 운영하는 소프트웨어 DBMS의 종류 : mysql, postgresql 등 MySQL: 관계형 DBMS(줄여서 RDBMS) SQL : DBMS에 데이터를 구축, 관리하기 위해 사용되는 언어 ✔️ 인덱스 react 에서 for문을 돌때 key를 쓰는 이유는 객체 하나하나를 다 비교하지 않고 바뀐 부분만 캐치하여 해당 요소만을 리렌더링 할 수 있기 때문이다. 이런 것 처럼 sql에서는 인덱스를 이용해 테이블을 전체 검색하는게 아니라, 해당 값을 빠르게 찾을 수 있다. CREATE INDEX idx_member_name ON member(member_name) member 테이블의 member_name 열에 인덱스를 지정..
v-model은 input, select, textarea에서 사용할 수 있다. input 이벤트: input type="text", textarea change 이벤트 : input type="checkbox", input type="radio", select default modifiers v.model.lazy- input 요소에서 포커스가 빠지면 data가 업데이트 된다. v.model.number - input에 입력된 값을 숫자형으로 바꿔준다. v.model.trim - js의 string의 trim 메서드와 같다. 입력값 앞뒤 공백을 제거해준다. checkbox에서의 true-value, false-value checkbox의 v-model로 바인딩한 data가 Boolean 형태이기 떄문..
prop을 자식 컴포넌트에 넘겨주는 것 처럼, 어떤 틀에 "template 자체"를 넘겨서 자식 컴포넌트에서 렌더할 수 있음. HTML 삽입 미리보기할 수 없는 소스
1. v-for문 안에서 v-if를 쓰지 않는다. 이유 : v-for문이 실행 된 후 v-if문이 실행되기 때문에, if문 조건에 따라 분기처리 되는게 아니라 for문을 도는 모든 요소을 다 거치게 된다. 해결 : computed에서 for문을 돌릴 배열을 만들어 그 값을 v-for로 사용한다. → 로직과 마크업 코드를 분리하여 가독성 증가 → 리렌더링 될 때마다 매번 for문이 실행되는게 아니라, computed 값이 바뀌었을 때만 다시 실행될 것이다. computed: { cheapProducts: () => { return this.products.filter(function (product) { return product.price < 100 }) } } 2. created나 watch에서 met..
data는 computed를 계산하기 전에 평가된다. 때문에 data의 값을 computed값으로 대입할 수 없는 것이다. 해결 : 굳이 이런 로직을 써야한다면, watch로 computed값이 바뀌었을때 data를 초기화해주는 방법을 활용할 수 있다. ※ data값으로 store값을 사용할 수는 있다. 참고자료 https://stackoverflow.com/questions/44318343/use-computed-property-in-data-in-vuejs
journey-dev
journey-dev