목록구현 혹은 적용 (5)
정글에서 온 개발자
도입 이유기존의 local build → zip 파일을 호스팅 서버로 ftp 전송 → 압축 풀기 → systemctl 실행 의 프로세스를 단축하는 배포 자동화를 구축하고자 함버전별 아카이빙 혹은 추후 버전 롤백을 염두해 호스팅 서버가 ‘버전 스토리지’ 역할도 할 수 있도록 구성하고자 함 (docker image 스토리지 등으로도 사용 가능)구성 후 사용 방법git push 나 PR merge 등으로 배포하고 싶은 git 버전을 구성레포지토리의 Actions에 들어가서 자동 워크플로우 이름 → Run workflow → Run workflow를 클릭배포 완료 후 호스팅 서버에 접속하여 sudo systemctl restart server 실행이제 github에 올라간 새로운 버전이 호스팅 서버에서 돌아간다..
Linux System Service리눅스의 systemd가 관리하는 service를 system service라고 한다.systemd를 컨트롤하기 위해 systemctl을 사용한다.시스템 차원에서 등록한 service의 실행관리를 해준다.아파치나 mongodb, mysql을 직접 설치하고 돌릴 때, 모두 이 system service 가 실재 실행 파일을 찾아서 돌리는 것이였다.sudo systemctl start mongod와 같은 명령처럼, 내가 내 앱(파이썬이나 ,node.js, go로 만든) 서비스를 'myservice' 라고 지정했다면sudo systemctl start myservicesudo systemctl stop myservice와 같은 명령어로 쉽게 컨트롤 할 수 있다.시스템 서비..
만드는 이유조직도를 표현하기 위해서 만들게 됐다.앞에서 작성한 서버에 API 요청을 해서 자료를 받아온다. 다음과 같은 자료가 들어온다.구현Organize-Map 컴포넌트조직도 전체가 나타나게 될 컴포넌트다.최초의 루트 Organize를 포함한다.export class OrganizeMapComponent { auth : Auth = {} as Auth organize : Organize = {} as Organize constructor(private authService: AuthService, private companyService: CompanyService) { this.auth = this.authService.getAuth() this.companyService.getCo..
만드는 이유회사의 조직도를 구성해야했다.조직도는 트리구조로 되어있기에 DB로 트리구조를 표현할 방법이 필요했다.이러한 트리구조는 이 외에도 댓글의 댓글의 댓글, 게시판 내의 하위 게시판등 계층형 구조(Hierachy structure)에 자주 쓰인다.자료 조사Models For Hierachial DataTrees And Hierachies In SQL위 두 자료를 주로 참고했다.첫번째 자료가 큰 줄기를 잡아주고, 두번째 자료는 그 안에서 세부적인 변형들을 소개한다.정리크게 다음 네가지 방법이 있다.Adjacency List (인접 리스트)Path Enumeration (경로 열거)Nested Sets (중첩 집합)Closure Table (폐쇄 테이블)각 방법 개요인접 리스트 - 자식 노드가 부모 노드..
앵귤러에서 위와 같은 동적 폼을 만들기로 한다.nz-zorro(Ant for Angular)도 같이 사용하였다.HTML @if(i!=0){ 삭제 } 추가동적으로 생성되는 그룹 (vacation-pickers)를 만든다.그 안에 vacations.controls의 수만큼 반복한다.i를 따로 선언해서 넘겨줘야 해서, @if 대신 *ngFor 디렉티브를 사용하였다.form으로 제출할 값을 바꿔주는 이벤트 리스너를 달아준다. (onCalendarChange)동적으로 추가된 요소를 삭제할 버튼을 만든다. (가장 첫번째 요소는 삭제하지 못하게 하였다.)추가 버튼으로 요소를 동적으로..