clean

컴파일 된 결과물인 .target 폴더를 지워주는 메이븐 명령어

 

install

프로젝트를 빌드하여 jar 실행 파일을 만들어주는 명령어
(jar 파일이 target 하위 경로, mvn 폴더 내의 repository 경로에 생성)

 

package

install과 동일한 명령어
(jar 파일이 target 폴더에만 생성)

'IT' 카테고리의 다른 글

Ambari Uninstall  (0) 2023.07.04
YUM  (0) 2023.07.03
npm(Node Packaged Manager)  (0) 2023.07.01
Zeppelin  (0) 2023.06.30
Trino  (0) 2023.06.29

 

npm(Node Packaged Manager)이란

Node.js 로 만들어진 패키지 모듈을 관리 해주는 툴(yarn도 동일한 기능)

 

express-generator

- bin-www:서버를 실행하는 파일, 포트번호를 지정해 준다.
- public : 이미지,css,Javascript등의 파일을 포함하고 있다.
- routes : 페이지 라우팅과 관련된 파일을 저장하고, 실제 서버 로직을 구성
- views: 템플릿 파일(jade,ejs)을 포함한다.
- app.js: 핵심적인 서버 역할, 라우팅의 시작점
- package.json: 의존성 관리 및 버전관리

 

 

npm VS YARN

- npm은 패키지를 한 번에 하나씩 순차적으로 설치
- yarn은 여러 패키지를 동시에 설치하도록 최적화되어 있어 패키지 설치
- 속도 = yarn > npm

 

 

참고자료

https://velog.io/@yoojinpark/npm
https://joshua1988.github.io/vue-camp/package-manager/npm-vs-yarn.html

 

npm VS yarn | Cracking Vue.js

npm과 yarn npm과 yarn은 자바스크립트 런타임 환경인 노드(Node.js)의 패키지 관리자입니다. 전 세계의 개발자들이 자바스크립트로 만든 다양한 패키지를 npm 온라인 데이터베이스 (opens new window)에 올

joshua1988.github.io

 

npm이란 무엇인가?

자! 그럼 앞서 node.js를 통해서 서버를 구축할 수 있다는 것까지 살펴봤다. 그렇다고, 그럼 서버를 만들어서 웹사이트와 연결해 보자!. 하지만 서버를 처음부터 다 만들기에는 너무 번거로운 일일

velog.io

 

 

 

 

 

'IT' 카테고리의 다른 글

YUM  (0) 2023.07.03
maven  (0) 2023.07.02
Zeppelin  (0) 2023.06.30
Trino  (0) 2023.06.29
Linux make  (0) 2023.06.28

 

Zeppelin이란

Spark를 통한 데이터 분석의 불편함을 Web기반의 Notebook을 통해서 해결하기 위해 만들어진 애플리케이션

 

특징 및 주요 기능

- 분석코드 작성/실행/시각화 : 데이터 검색, 가공 및 변환, 분석 결과 시각화
- 협업 : 여러 사람이 동시에 분석 코드 작성을 같이할 수 있는 협업 기능
- 데이터바인딩 :  Angular JS를 활용하여 Dashboard를 구성
- 공유 및 확장 : Paragraph를 IFrame을 이용하여 다른 Website에 Embedded 할 수 있음.

 

구조

- NoteBook : 웹 상에서 코드를 작성-실행-결과확인-코드수정을 반복하면서 원하는 결과를 만들어 낼 수 있는 작업환경
- Visualization : 실행 결과를 시각화 도구로 분석해 볼 수 있는 기능
- Zeppelin server : NoteBook 생성 및 저장, 인터프리터 실행 및 쿼리 전달, API 통신
- Zeppelin interpreter : 데이터 분석, 검색, 처리 등을 위한 언어 제공(spark, hive, jdbc, Shell 등)

지원 언어

ALLUXIO, BigQuery, cassandra, elasticsearch, Flink, Geode, Hbase, HDFS, hive, ignite, lens, livy, postgreSQL, python, R, Scalding, tajo 등

참고 자료

빅데이터 처리툴 Spark 의 실행과 데이터 시각화를 지원하는 툴 - KossLab 윤제상
https://www.oss.kr/editor/file/c4cb5e93/download/e34b49d3-1c78-4c67-80c2-142dc20360a7

 

오픈소스 일기 2: Apache Zeppelin 이란 무엇인가? - Jesang Yoon
https://medium.com/apache-zeppelin-stories/%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4-%EC%9D%BC%EA%B8%B0-2-apache-zeppelin-%EC%9D%B4%EB%9E%80-%EB%AC%B4%EC%97%87%EC%9D%B8%EA%B0%80-f3a520297938

 

오픈소스 일기 2: Apache Zeppelin 이란 무엇인가?

이번시간엔 필자가 Contribute하고 있는 오픈소스 프로젝트인 아파치 제플린(Apache Zeppelin)에 대해서 다뤄보도록 하겠다. 이미 잘 알고 계시는 분들보다 이것이 뭔지 잘 모르는 분들의 이해를 돕고

medium.com

 

공개SW 솔루션 설치 & 활용가이드 (apache zepplin) - openup(오픈소스 소프트웨어 통합지원센터)
 https://www.oss.kr/storage/app/public/oss/f5/99/[ApacheZeppelin]Solution%20Guide.pdf

 

 

'IT' 카테고리의 다른 글

maven  (0) 2023.07.02
npm(Node Packaged Manager)  (0) 2023.07.01
Trino  (0) 2023.06.29
Linux make  (0) 2023.06.28
Opensource License  (0) 2023.06.27

 

Trino?

분산 SQL 쿼리 엔진

 

구조

- Coordinator : 쿼리 플래닝, 워커 노드 관리
- Worker : 데이터 프로세싱

 

쿼리 실행 과정

구문을 쿼리로 변환 -> 분산 쿼리 계획 생성 -> Stage로 분할 실행 -> Worker 노드로 task 배포

 

Trino vs PrestoDB

- 일부 쿼리에서 더 높은 처리량과 낮은 지연 시간 제공
- 오픈소스 커뮤니티 활동량 많음

'IT' 카테고리의 다른 글

npm(Node Packaged Manager)  (0) 2023.07.01
Zeppelin  (0) 2023.06.30
Linux make  (0) 2023.06.28
Opensource License  (0) 2023.06.27
Swift  (0) 2023.06.26

 

What is make?

makefile이라는 파일을 참조하여 컴파일러에 명령을 전달하며, makefile에 기술된 Shell명령어들이 순차적으로 실행될 수 있게 함.

 

What is Makefile?

Make 명령어로 실행할 명령들을 기술해 놓은 파일.

 

Makefile 구조

- 목적파일(Target) : 명령어가 수행되어 나온 결과를 저장할 파일
- 의존성(Dependency) : 목적파일을 만들기 위해 필요한 재료
- 명령어(Command) : 실행 되어야 할 명령어들
- 매크로(macro) : 코드를 단순화 시키기 위한 방법

 

언제 사용??

여러줄의 명령어를 작성 및 실행해야할 때 사용
컴파일 시간을 단축시키고 싶을 때

 

'IT' 카테고리의 다른 글

Zeppelin  (0) 2023.06.30
Trino  (0) 2023.06.29
Opensource License  (0) 2023.06.27
Swift  (0) 2023.06.26
MinIO, OpenIO  (0) 2023.06.25

 

GPL(General Public License)

목적이나 형태의 제한없이 사용이 가능

 

AGPL(Affero GPL)

서버에서 프로그램을 실행해서 다른 사용자들과 통신하게 되면 실행되고 있는 프로그램의 소스코드를 사용자들이 다운로드 할 수 있도록 해야 하는 조항을 포함

 

LGPL(GNU - Lesser GPL)

전체 소스코드를 공개하지 않고 사용된 오픈소스 라이브러리에 대한 소스코드만 공개

 

Apache License

아파치 라이센스 소스코드를 수정하고 배포할 때에는 아파치 라이센스 버전 2.0을 꼭 포함시켜야 하고 아파치재단의 소프트웨어라는 사실을 명시

 

MIT Lisence

라이센스와 저작권 관련만 명시



참고 : https://datalibrary.tistory.com/111

 

오픈소스 라이센스 한 번에 정리하기(GPL/LGPL/AGPL/Apache 비교)

오픈소스 소프트웨어를 사용해서 업무에 필요한 시스템을 개발하고 운영하는 경우가 점점 증가하고 있으며 비교적 낮은 비용으로 사용이 가능하기 때문에 이미 많은 곳에서 Linux와 같은 오픈소

datalibrary.tistory.com

 

'IT' 카테고리의 다른 글

Trino  (0) 2023.06.29
Linux make  (0) 2023.06.28
Swift  (0) 2023.06.26
MinIO, OpenIO  (0) 2023.06.25
Apache Bigtop  (0) 2023.06.24
OpenStack Swift란

클라우드 서비스의 분산 오브젝트 스토리지로 많이 사용

 

장점

- API로 제어 기능 제공
- downtime 없이 확장 가능
- 복제본 zone으로 저장
- 오픈소스로 적은 비용

 

Document

https://www.swift.org/documentation/

 

Swift.org

Swift is a general-purpose programming language built using a modern approach to safety, performance, and software design patterns.

www.swift.org

 

'IT' 카테고리의 다른 글

Linux make  (0) 2023.06.28
Opensource License  (0) 2023.06.27
MinIO, OpenIO  (0) 2023.06.25
Apache Bigtop  (0) 2023.06.24
Linux RPM  (0) 2023.06.23
minIO(미니오)란

AWS의 S3 SDK와 호환되는 오픈소스 오브젝트 스토리지

저장방식

FS(file-system) : minio 서버를 실행할 때 하나의 destination(경로, 목적지)을 설정해 주면 된다.

포트

Default 9000

 

콘솔 브라우저 UI 제공

1. minio 서버 실행 시 --console-address 포트를 입력
2. IP:port 접속
3. 로그인 (초기 : minioadmin/minioadmin)
4. bucket 관리

- 참고 : https://velog.io/@wkfwktka/minio-%EC%8B%A4%EC%8A%B5

 

MiniO (1/3) - 기본 사용법

기본적인 minio 사용법 입니다.

velog.io

 

 

OpenIO란

OpenIO 회사의 대규모 데이터 저장 및 관리 솔루션 오브젝트 스토리지

 

 

github & install

https://github.com/open-io/oio-sds

 

GitHub - open-io/oio-sds: High Performance Software-Defined Object Storage for Big Data and AI, that supports Amazon S3 and Open

High Performance Software-Defined Object Storage for Big Data and AI, that supports Amazon S3 and Openstack Swift - GitHub - open-io/oio-sds: High Performance Software-Defined Object Storage for Bi...

github.com

 

'IT' 카테고리의 다른 글

Opensource License  (0) 2023.06.27
Swift  (0) 2023.06.26
Apache Bigtop  (0) 2023.06.24
Linux RPM  (0) 2023.06.23
Ambari  (0) 2023.06.22

 

Bigtop이란

Apache Hadoop 관련 기술 스택을 포함하는 빅데이터 애플리케이션들을 빌드, 테스트, 패키징 하는 것을 지원

 

Bigtop 설치방법

git trunk, docker image, jenkins로 CI,

 

필요한 패키지

rpm-build, python-devel, git, gcc, gcc-c++, maven, openjdk, bigtop 등

 

 Apache Bigtop 사용 전 사전작업 (git으로 빌드할때)

1. git, gradle, java 설치 확인
2. 설치할 서비스 목록 정의
3. 빌드 방법 2가지 : command or json
참고 : https://github.com/apache/bigtop

 

GitHub - apache/bigtop: Mirror of Apache Bigtop

Mirror of Apache Bigtop. Contribute to apache/bigtop development by creating an account on GitHub.

github.com

 

bigtop Documents

https://cwiki.apache.org/confluence/display/BIGTOP/Index

 

Index - Apache Bigtop - Apache Software Foundation

Index 작성자 : Gavin McDonald, 최근 변경 : Yuqi Gu - 1월 30, 2023 Welcome to the home of the Apache Bigtop space! The primary goal of Bigtop is to build a community around the packaging, deployment and interoperability testing of Hadoop-related pro

cwiki.apache.org

 

RPM 패키지 추가 예제

https://cwiki.apache.org/confluence/display/BIGTOP/Hello+world+example+for+adding+a+new+package

 

Hello world example for adding a new package - Apache Bigtop - Apache Software Foundation

Author: Dagang Wei (functicons@gmail.com) Status: FINALIZED JIRA: BIGTOP-3085 Created: 09/20/2018 Last modified: 01/22/2019 Structure OverviewPreparingMaking changes in Bigtopbigtop.bomCommonDEBRPMReviewBuilding Overview This document will walk you through

cwiki.apache.org

 

Bigtop Release (포함 컴포넌트 목록)

https://cwiki.apache.org/confluence/display/BIGTOP/Releases

 

Releases - Apache Bigtop - Apache Software Foundation

페이지 Index Releases 작성자 : Evans Ye, 최근 변경 : Yuqi Gu - 1월 19, 2023

cwiki.apache.org

 

설치 방법 한글자료(참고자료)

https://www.bearpooh.com/178

 

[Ambari 1] Apache Ambari 소개

하둡 에코시스템을 설치하기 위해 각 구성요소들을 직접 개별 설치하는 것은 여전히 어렵고 까다롭다. Apache Ambari는 하둡 에코시스템의 설치, 설정 배포, 모니터링 등의 운영 편의성을 제공하는

www.bearpooh.com

 

 

 

'IT' 카테고리의 다른 글

Swift  (0) 2023.06.26
MinIO, OpenIO  (0) 2023.06.25
Linux RPM  (0) 2023.06.23
Ambari  (0) 2023.06.22
Ambari mpack  (0) 2023.06.21

 

rpm 이란

리눅스 시스템에서 소프트웨어를 설치, 업그레이드, 제거하는 데 사용

 

 

RPM을 만들기 위한 패키지들

- rpm-build : 바이너리 및 소스 소프트웨어 패키지를 빌드하는 데 사용
- rpmdevtools : 패키지 개발을 지원하는 스크립트를 포함하는 툴
- createrepo : Repository 저장소를 만드는데 사용

 

 

spec file 구조

- Header Section: 패키지 기본 정보 정의하는 부분
- Preparations Section : 패키지 빌드 전, 다운로드 및 패치 또는 리소스 설정 작업하는 부분
- Build Section : 패키지를 컴파일하고 빌드하는 작업(바이너리 파일 생성)
- Install Section : 패키지 설치방법 정의하는 부분(설정 파일, 권한 설정 등)
- Files Section : 패키지에 포함되는 파일과 디렉토리 목록 정의하는 부분
- Scriptlet Section :
 

그 외 참고해야할 가이드

라이센스 가이드 라인
https://fedoraproject.org/wiki/Packaging:LicensingGuidelines

 

Packaging:LicensingGuidelines - Fedora Project Wiki

Licensing Guidelines Fedora Licensing The goal of the Fedora Project is to work with the Linux community to create a complete, general purpose operating system exclusively from Free and Open Source software. All software in Fedora must be under licenses in

fedoraproject.org

 

'IT' 카테고리의 다른 글

MinIO, OpenIO  (0) 2023.06.25
Apache Bigtop  (0) 2023.06.24
Ambari  (0) 2023.06.22
Ambari mpack  (0) 2023.06.21
Linux Rocky 8  (0) 2023.06.20

+ Recent posts