2023년 2월 24일 금요일

Programming Test

 Programming Test





print 'hello world!'
print 'hello world!'
print 'hello world!'
print 'hello world!'





print 'hello world!'
print 'hello world!'
print 'hello world!'
print 'hello world!'

2022년 9월 19일 월요일

Jupyter-lab에서 Plotly 차트가 출력되지 않을때 조치방법

아래처럼  jupyterlab-plotly를 설치해 준다.


# jupyter labextension install jupyterlab-plotly

Building jupyterlab assets (production, minimized)

2021년 1월 7일 목요일

SAP HANA Cloud와 JetBrains DataGrip 쿼리도구 연계하기

SAP HANA On-Premise는 자체 쿼리툴인 SAP HANA Studio(CS기반)과 XSA WebIDE(웹기반) 2종류를 제공한다. 하지만 SAP Cloud Platform의 HANA Cloud는 웹기반 쿼리툴만을 제공하고 SAP HANA Studio 연계가 되지 않아 CS기반으로 사용하고 싶을때가 있다.  

SAP HANA Cloud도 On-Premise도 표준 JDBC/ODBC를 제공하기 때문에 이러한 연계를 지원하는 다양한 3rd-Party 툴들과 연계하여 사용이 가능하다. 대표적으로 Toad, DBeaver, DataGrip 등이 있다. 

본 포스팅에서는 SAP Cloud Platform HANA Cloud와 JetBrains사의 DataGrip을 연계하는 방법을 살펴보겠다. 


먼저 JetBrains DataGrip 프로그램을 실행하고 왼쪽에 + 버튼을 클릭한다.



SAP HANA DB용 Driver를 등록하기 위해 Driver를 클릭한다.



Name에 SAP HANA Driver를 입력하고 아랫쪽에 + 버튼을 클릭하여 Custom JARs...를 선택한다.



jar파일 선택창이 뜨면, SAP HANA Client를 설치한 경로에 ngdbc.jar 파일을 선택한 뒤 OK 버튼을 클릭한다.



Class 항목을 선택한 뒤 com.sap.db.jdbc.Driver를 선택한다. 이 Driver는 ngdbc.jar 파일이 올바르게 로드 되면 자동으로 com.sap.db.jdbc.DriverSapDB 드라이버와 함께 리스트박스에 표시된다. 



Options 탭을 클릭한다. 



Other에 Icon을 클릭하여 HANA를 선택한다.  



OK 버튼을 클릭하여 Driver를 저장한다. 



이번엔 Data Source를 등록하기 위해 다시 왼쪽의 + 버튼을 클릭하여 Driver and Data Source 를 클릭한다. 



Name에 적당한 이름을 입력한 뒤, SAP HANA DB의 User 명과 Password를 입력하고, JDBC URL을 입력한다. HANA Cloud의 경우 스트링 마지막에 encrypt=true 파라미터가 추가 되고, 포트는 443번이며, On-premise의 경우 디폴트는 encrypt 파라미터가 없고 포트는 3<sid>15 형식이다. 
그리고 중간에 User Driver를 클릭후 위에서 생성한 SAP HANA Driver를 선택 한 뒤 아래 Test Connection 버튼을 클릭한뒤 Test Connection 결과가 정상적으로 출력되는지 확인한다. 



최종 연결이 되면 왼쪽 User명(스키마명) 아래에 테이블들이 나열된다. SQL Console에서 SQL을 입력후 Crtl + Enter를 입력하거나 위쪽 실행 버튼을 클릭한뒤 쿼리가 정상적으로 수행되는지 확인한다. 


이상으로 연계 포스팅을 마무리 한다. 다른 툴과의 연계도 마찬가지로 ngdbc.jar 파일을 등록하고, JDBC Driver, Class, URL등의 정보를 입력하여 사용하면 된다. JDBC나 ODBC사용은 여느 DBMS나 DW 시스템과 동일하다. 


문서의 끝.

2021년 1월 6일 수요일

SAP Cloud Platform의 런타임 종류

 SAP Cloud Platform은 4가지 형태의 런타임을 지원 한다. 어플리케이션의 개발 목적에 따라 런타임을 선택하여 사용하면 된다. 

* 과거 SAP Cloud Platform - Neo 환경은 Retired 되었으니 Java 단독 런타임은 더이상 고려 대상이 아니다. 


  • Cloud Foundry Runtime
    • Cloud Foundry 프레임워크에 의해 관리되는 런타임 환경
    • 런타임 자원의 할당 및 관리를 지원하며 인스턴스의 탄력적 확장과 축소를 지원
    • 모바일, 포탈, SaaS 프로비저 닝 등 다양한 Cloud Foundry 기반의 서비스를 사용가능
    • Spring Framework 등 익숙한 프레임워크 사용이 가능
    • Java, Python, NodeJS 언어를 통한 개발

  • ABAB Environment
    • SAP ABAP 런타임의 클라우드 환경
    • ABAP 언어를 활용하여 클라우드 어플리케이션의 비즈니스 로직을 개발
    • ABAP RestFul 프로그래밍 모델을 통해 SCP 및 외부 서비스들과 연계
    • SCP는 웹 환경을 지향하기 때문에 UI는 SAPGUI가 아닌 Fiori 형태의 CDS Annotation 을 사용하여 개발 

  • Serverless Runtime
    • 런타임 자원의 플래닝이 없이 소규모의 어플리케이션을 배포하여 사용하는 런타임 환경
    • 클라우드 공급자가 어플리케이 션의 전체 생명주기를 관리 하고 개발자는 비즈니스 로직 만 작성
    • 확장 가능한 이벤트 또는 API 기반 어플리케이션 개발
    • NodeJS 언어를 통한 개발

  • Kyma Runtime
    • Kubernetes 프레임워크에 의해 관리되는 컨테이너 런타임 환경
    • 각 서비스들을 컨테이너화된 마이크로 서비스로 개발
    • 모놀리식 아키텍처 어플리케이션을 Kyma에서 제공하는 API, 인증, 모니터 기능과 결합하여 MSA 아키텍처로 쉽게 변환
    • Java, Scala, Go등 Docker로 구성가능한 언어를 사용하여 개발



문서의 끝.

2021년 1월 2일 토요일

SAP HANA 2.0 Log Mode 설정

 SAP HANA 2.0 Database는 두가지의 로그 모드가 있다. 

  1. Normal 모드
    • Log Segment가 백업이 수행되기 이전까지 로그불륨에 계속 씌여진다.
    • 백업이 장기간 수행되지 않는다면 로그볼륨 디스크가 Full 날 가능성이 있다.
    • Automatic Log Backup 기능으로 로그를 아카이빙하여 다른 디렉토리에 백업 가능.
    • 백업로그(아카이빙로그)가 저장되는 공간이 Full 날 가능성이 있기 때문에 Backint 백업 솔루션을 연계하여 관리하여 주는 것이 SAP의 권장 사항이다.

  2. Overwrite 모드
    • Log Segment가 로그볼륨에 가득차면 오래된 로그부터 덮어씌워 진다.
    • 로그볼륨 디스크가 Full 날 가능성은 없지만 point-in-time recovery 가 불가능 하다.
    • Overwrite 모드는 개발장비에서만 사용하는 것이 SAP의 권장 사항이다.


아래는 설정 파라미터의 위치이다.

Log 모드의 설정 파라미터 위치



Enable auto log backup 활성화 파라미터 위치



Log Backup 파일이 생성될 위치



문서의 끝.

2021년 1월 1일 금요일

SAP HANA 2.0 멀티 테넌트 SQL 포트 확인 방법


SAP HANA Database를 멀티테넌트로 구성 하였을때 각각이 사용하는 포트넘버가 다르다. 첫번째 포트 넘버는 3<SID>15이고 두번째 테넌트부터 테넌트를 생성할때 포트넘버를 지정해 줄 수 있지만, 지정해 주지 않았다면 자동으로 생성되고 아래와 같은 쿼리로 확인이 가능하다. 

SAP HANA 멀티 테넌트 SQL 포트 확인 쿼리
SELECT DATABASE_NAME, SERVICE_NAME, PORT, SQL_PORT, (PORT + 2) HTTP_PORT
FROM SYS_DATABASES.M_SERVICES
WHERE  ((SERVICE_NAME='indexserver' and COORDINATOR_TYPE= 'MASTER')
or (SERVICE_NAME='xsengine'));


문서의 끝.

2020년 12월 1일 화요일

SAP SQL Anywhere 17 한글 및 특수문자 설정

SAP SQL Anywehre 데이터베이스는 기본 NCHAR의 collation이 UCA로 되어 있어 이를 UTF로 변경해서 데이터베이스를 생성해야 한글이나 특수문자 사용에 문제가 없다. 
문제 해결을 위해 DB생성을 아래와 같이 진행한다. 

1. 데이터베이스 생성시 default collation 을 949KOR로 설정한다.



2. NCHAR 타입을 UTF8BIN 으로 설정한다.



3. Case sensitivity는 Ignore로 설정한다.



4. 아래와 같은 SQL로 데이터베이스 생성한다.



5. 한글이나 특수문자 활용이 가능하다.


문서의 끝.