데이터 아키텍처 전문가가 되는 방법 – 최수진

DA(데이터 아키텍처) 컨설턴트에 관한 얇은 책

2021년 이후에는 조금 맞지 않을
그리고 DA편향적인 생각이 많이 적혀있다.
개발자 다음단계를 준비한다던가…

DBA,DevOps,DA,Frontend,Backend…는 직군이 되서는 안되고 직책이 되야한다.
SoftwareEngineer는 보통 이 교집합을 수행한다.
DA만 하는 IT컨설턴트가 존재 하지 않는게 최선이다.

컨설턴트의 강점은 실력이 아니다.
권한이다.
검찰이 경찰보다 뛰어난건 지능이나 개개인의 능력이 아니라
지역의 이해관계에 얽히지 않은 벽을 뛰어넘는 권한이다.
컨설턴트도 마찬가지
대기업의 특정 부서나 직급에 상관없이
궁금한 것을 물어보고 잘못된 것을 지적할 수 있는 권한이다
제 3자이고 곧 떠날 사람이기 때문에 가능한 부분이다.

LG에서 휴대폰 사업이 잘못나가고 있는것을 누가 지적할 수 있었을까
구성원 하나하나다 다 개붕신이라 문제점을 인식하지 못하고 있었을리는 없다
좆지 직원들도 갤럭시,아이폰을 좋아하니까

  • DA
  • DBA
  • BA
  • AA
  • TA
  • ISP : Information Strategy Planning

고객의 업무에 맞는 데이터 모델
vs
개발하기 쉬운 데이터 모델

보통은 개발하기 어려운 데이터 모델은 잘못된 설계의 결과물이다
기존에 잘못된 업무를 그대로 따라서 모델링을 하면 이런 결과가 나온다
1 보통은 업무 자체가 변경되어야 하는 경우
2 상태값 설계가 제대로 안 된 경우

프로젝트 시작전에 처리되서 문서화되어야 할 것들

  • 일정
  • 설계
  • 용어정의

보통 이런것들은 무시되고 바로 프로젝트가 시작된다
프로젝트 진행과정에서 지속적으로 오버헤드를 발생시키는 문제들

개발자: SI-SM
DA: 모델링-튜닝

Seed Data 종류 구분

테스트 및 동작 각 상황에 따라 필요한 데이터

Seed 종류 4가지

  • factory seed data: 데이터베이스 초기화 후 애플리케이션 실행에 필요한 데이터
  • scenario seed data: 각 기능별 시나리오에 따라 필요한 최소한의 데이터
    (필수: factory)
  • dummy seed data: 새 사용자 가입 또는 클라이언트 개발시 목록을 테스트하는 용도
    (필수: factory, 보조: unit, integration, uat)
  • replica seed data: 실제 운영서버 배포전 민감정보 제거된 실데이터 테스트
    (필수: factory)

각 환경에서 seed 데이터 사용

  • unit test: factory, scenario
  • dev_local: factory, scenario
  • dev_server: factory, scenario
  • dev_spot: integration 테스트용도로 임시로 띄우는 환경
    factory, scenario 두가지
  • uat: factory, scenario, dummy
  • stg: replica seed data
  • prd: factory seed data 서비스 초기에 사용, dummy seed data 테스트 계정에 사용

대강 정리 해 보니 factory, scenario는 테스트 시에는 계속 사용될 것 같고
dummy도 필요할 때 지속적으로 쓰일 것 같다

연동테스트는 dev_spot?과 stg에서 주로 이뤄질 것 같고
회원가입부터 테스트 코드가 작성되어 있으면 factory seed만 있어도 될듯?

SEED 설명

factory seed

보통 서비스 운영중에는 새로 넣을 필요가 없지만
1 납품하는 서비스
2 테스트 환경을 구성하는 경우
반복적으로 사용

거래소 개발인 경우라고 가정하면

  • 코인 메타데이터
    • BTC
    • ETH

integration test seed data

연동서비스시 필요한 데이터
자동화 테스트

Scenario

dummy 데이터와 비슷하기도 한데
integration 테스트를 회원가입 단계부터 차례로 진행할 경우 생기는 데이터와 같은 형태

dummy seed data

초기 사용자 가입시 또는 클라이언트 사용시
상황에 따라 추가할 수 있는 데이터

UI를 확인할 때 필요하다.

ex) SNS에서 친구 프로필 목록 화면인 경우

  • 이름
  • 전화번호
  • 이메일
  • 주소
  • 회사

replica seed data

실제 환경에서 테스트를 하는 경우

production -> 데이터 복제 후 민감정보 제거

GIS 관련 정보 2017

데이터 소스

국토지리정보원 www.niii.go.kr
기상청 www.kma.go.kr
환경공간정보서비스 https://egis.me.go.kr
국가수자원관리종합정보시스템 http://www.wamis.go.kr
도로명주소안내시스템 http://www.juso.go.kr
표준노드링크 http://nodelink.its.go.kr
– 지능형 교통체계 관리 시스템
부동산 공시지가 http://www.realtyprice.kr/notice
부동산 실거래가 http://rt.molit.go.kr/
서울지도 http://gis.seoul.go.kr
data.go.kr
한국전력
LURIS 토지이용규제서비스

통계지리정보서비스
https://sgis.kostat.go.kr/contents/shortcut/shortcut_05.jsp

학습/커뮤니티

공간정보중앙교육센터 https://necgis.go.kr
http://www.biz-gis.com/

데이터 변환

pdf to shp
cad to shp

관련툴 몰랐던거

QGIS – 지형분석
– wheel shade
– relief
– roughness index

QGIS2 3JS – 브라우저 연동

추가지식

http://www.nsdi.go.kr/?menuno=2926
http://www.dcvelocity.com/articles/20111128top_10_reasons_for_implementing_wms_wfm_together/

 

R로 GIS 이미지 만들기

https://github.com/Robinlovelace/Creating-maps-in-R

http://spatial.ly/wp-content/uploads/2013/12/intro-spatial-rl-3.pdf

 

gdal

http://www.gdal.org/gdal_grid.html

http://www.gdal.org/frmt_xyz.html

 

좌표 재투영/매핑

http://www.biz-gis.com/index.php?document_srl=51342&mid=GISFAQ

http://docs.qgis.org/2.2/ko/docs/training_manual/vector_analysis/reproject_transform.html

 

지적도 작업

“qgis 지적도 오차”

http://archjang.tistory.com/431

 

지형도 작업 – SHP,DEM

http://www.qgistutorials.com/ko/index.html

http://www.qgistutorials.com/ko/docs/credits.html

http://www.qgistutorials.com/ko/docs/working_with_terrain.html

http://www.qgistutorials.com/ko/docs/interpolating_point_data.html

http://www.qgistutorials.com/ko/docs/raster_mosaicing_and_clipping.html

http://www.qgistutorials.com/ko/docs/working_with_attributes.html

Spring Data JpaRepository 사용시 주의점. 이름중복. no such method

요즘 잘 기록을 안해놓다보니…

에러로그를 잃어버렸다.

이런 종류의 오류가 발생하는 경우에는 실행 순서에 따라 되다말다 하는 경우가 많아서 원인 찾기가 힘든데

사실 이것도 정확히 해결이라기보다는 원인 비슷한 것을 찾은 상황… 맞음말고 아님또말고다.

오류상황

PageEntity, 그리고 PageRepository extends JpaRepository<PageEntity, Long>

형태로 사용했는데

테스트코드에서는 이상없이 동작하지만… 웹에서 호출을 하면 오류가 발생하는 상황

해결

혹시나 해서…

PageEntityRepository로 변경을 했다.

무슨 에러로그를 보고 이걸 떠올렸었는데…

 

그러니까

네이밍을 중복 안되게 잘하쟈는…

스프링같은 라이브러리에서 네이밍을 할 때 프리픽스를 좀 붙여주면 좋겠다.

SPPageEntity 라던가.. 애플은 NSString이렇게 하는것처럼..