IBM Watson JSON

이미지
IBM Watson은 JSON으로 사용됩니다 JSON을 잘 이용하면 Watson 사용 시 매우 유용할꺼 같습니다 한가지 예를 말씀드릴께요 (이전에 쓰인 제 글을 먼저 보시면 좋습니다 ->  IBM Watson 사용 후기 ) 위에 보시면 AI가 Menu? 를 물어봅니다 (정확히 말하자면 AI가 어떤 Menu로 하실껀가요? 를 물어봅니다) 이때, 사용자가 Taco, Pasta를 먹고 싶다고 말하면, Context 안에 Taco, Pasta가 저장이 되지만, 실제로 Finish 부분에서 Menu 확인을 위해 사용자가 입력한 Menu를 출력하면 제일 먼저 입력한 Taco만 출력이 됩니다. 그럼, 사용자가 입력한 Menu 전체를 출력하기 위해서는, 배열을 만들어야 하는데요. 이때, Watson에서 제공하는 JSON Editor를 이용할 수 있습니다. "context": {     " menu": "<? @Menu.values ?> "   } 이렇게 정의를 내리면 Menu라고 정의 된 Entities를 배열로 만들어 주는거구요 Finish 부분에서, 몇월 몇일에 어떤메뉴 확인 이란 출력을 위해, "output": {     "text": {       "values": [         "<?$date?>, <?$time?>에 <?$menu.join(', ')?> <?$name?> Confirm"       ],       "selection_policy": "sequential"     }   } 위와같이 join을 이용해 정의하게 되면, 사용자가 입력한 Menu들이 다 출력이 됩니다 lol 감사합니다

IBM Watson 사용 후기

이미지
IBM Watson Chat bot 교육을 갔다왔습니다 요새 AI 인공지능이 대세죠 lol 결론부터 말하자면, '사람 손이 많이간다' 입니다 :P 제가 전문가가 아니라 모르겠지만 개인적인 견해입니다 방법은 간단했습니다 시나리오를 만들고, 그에 맞춰 Dialog를 만들고, Dialog에 들어가는 단어(Entities)와 문장(Intents)을 만들고, 그에 따른 답변(Response)를 만듭니다 아래 예시를 보며 설명드릴께요 시나리오는 Taco, Pasta, Pizza를 판매하는 레스토랑 예약 Chat bot입니다. Dialog는 Welcome->Reservation or Menu->Date?->Time?->Menu?->Finish 입니다 단어(Entities)는 Taco, Pasta, Pizza 문장(Intents)는 예약할수 있나요? or 메뉴가 모가 있어요? 등이 있습니다 1. 처음에 Welcome 한다는 AI가 말해주는 문구와 함께 체팅이 시작됩니다 2. 그러면 사용자는 예약할수 있나요? or 예약하고 싶어요 등을 말하겠죠.    여기서 사전에 등록한 Intents 안에 사용자가 쓴 문구가 있으면,    그것을 AI가 인식하고 다음 단계인 Date? 를 물어봅니다 3. Date, Time은 기본적으로 Watson에서 제공하는 System Entities로 제공됩니다 4. 사용자가 Date와 Time을 말하고, 4. 그리고 마지막 단계인 AI가 Menu? (어떤 메뉴를 하시겠습니까?) 를 물어보고    사용자는 Taco, Pasta, Pizza를 말하는데,    이런 Entities를 AI가 인식하고 Context로 저장하게 됩니다    물론, Entities는 사전에 등록 되어져야 합니다 이렇듯, Watson을 이용해 이런 간단한 체팅을 만들기 위해서는 Dialog, Entities , Intents 를 만들어 줘야 하는거죠 AI가 학습해서 자동적으로

How to deploy the external drivers for Axis/JDBC/JMS Adapter

이미지
보통 Axis/JDBC/JMS Adapter 를 SAP EAI(PI)에 설치 시 SUM( Software Update Manager) 을 사용했을겁니다 이번에 Maria JDBC Receiver 사용이 필요하게 되어 Search를 하였더니, SUM 외에도 여러가지 방법이 있었습니다 전 NWDS를 사용하여 Deploy 했고 실제로 무리 없이 잘 설치가 되었으며, 소요시간도 약 10분 밖에 걸리지 않았고 SUM을 사용했을때 보다 더 간편하였습니다 아래 Link를 가서 절차대로 하면 됩니다 lol https://gad5158842f.us2.hana.ondemand.com/dtp/viewer/#/tree/1433/actions/17943 NWDS 사용 시 SAP EAI 시스템에 연결이 안되는 경우는 아래와 같이 연결을 시키면 됩니다

SAP PI HA (High Availability) Configuration with HP / SAP PI HA 구성

이미지
SAP PI HA (High Availability) Configuration with HP / SAP PI HA 구성 제가 운영하고 있는 SAP PI는 HP Unix 서버에서 Active-Active로 운영중이고, HA를 위해 서비스가드를 가지고 있습니다 (독단적인 Database 서버를 가지고 있지 않습니다) -SAP PI with HP Serviceguard- PI의 구성은 아래와 같습니다 여기서 중요한 점이 DBCI 서버의 DVEBMGS의 Instance Number와 AP(CI) 서버의 Dialog Instance Number는 동일해야 합니다 또한, AP(CI) 서버에 ERS가 설치 되어야 합니다 -> HA 구성 시 자동 설치 됨 그럼 HA는 아래와 같이 이뤄지게 됩니다 (V host는 대표 Logical Host 입니다) 위와 같이 구성 시 HA 소요 시간은 5분 이내이고 서비스는 계속해서 작동하게 됩니다 lol

SAP Netweaver Developer Studio with PI

이미지
SAP에서는 NWDS(Netweaver Developer Studio)라는 Eclipse 환경의 Tool을 제공합니다 NWDS를 사용하여 SAP PI와 연결하여 Enterprise Services Builder를 유용하게 관리 할 수 있습니다 물론 PI 자체에서 JAVA Web 환경을 제공하지만, NWDS 만의 강점이 있습니다 그 강점은 나중에 다시 설명 드리겠습니다 일단 PI 자체 JAVA Web을 호출하는 방법은 간단합니다 PI URL(http://host:port/dir/start/index.jsp) 호출 후 Enterprise Services Builder를 Click 하시고 들어가시면 됩니다 그러면 아래와 같은 Enterprise Services Builder가 나오게 됩니다 그럼, NWDS에서 PI를 연결하는 방법을 알려드리겠습니다 lol SAP에서는 PI와 같은 버젼의 NWDS를 사용하시 길 권장드린다고 하네요 1. NWDS 실행 후 상단에 Window -> Preferences Click 2. Web Services -> Enterprise Service Browser Click 후 접속 정보를 입력 하시면 됩니다    이러면 Setting이 완성됩니다 3. Window -> Show View -> Other Click 4. Web Services -> Enterprise Service Browser Click 후 OK 5. Click Connect to ESR and input PI's USER and Password 6. Finish 이러면 PI 자체 Enterprise Services Builder와 비슷한 화면으로 나오게 됩니다 이제 SAP EAI는 ABAP + JAVA Dual Stack이 아닌, Only JAVA 환경으로 나오게 됩니다 이러면서

Cancel Messages with Errors in SAP PI (EAI)

이미지
SAP PI(EAI)에서 Messages가 Error 날 시 정리가 필요할때가 있습니다 그때 Program으로 Cancel 하는 방법이 있습니다 - Cancel Messages with Errors in SAP PI (EAI) - 1. T-code : SE38 / Program = RSXMB_CANCEL_MESSAGES / Execute 2. Input Date/Time 3. Others Tab, unchecked Log & TEST 4. Select Quality of Service Tab, check Cancel All Asynchronous Messages 5. Execute

전동 킥보드 나인봇 ES-2 후기 / ninebot by SEGWAY

이미지
와이프님 출퇴근용으로 전동 킥보드 나인봇 ES-2를 구매했습니다 (ninebot by SEGWAY) 일단 주행거리, 속도, 디자인 등 모든면에서 대 만족입니다 한가지 단점은 무겁습니다 :P 성인 남성이 들기에는 괜찮지만 여성이 들기에는 조금 힘이 듭니다 언덕에서 잘 올라가는지 궁금하실텐데, 제가 몸무게가 80 KG 좀 안되는데 경사가 좀 있는 언덕에서 못 올라갑니다 그런데, 와이프님이 탈때는 잘 올라가더라구요 와이프님의 몸무게는 날씬합니다 영상입니다 와이프 뒤를 따라오는 제 아들..lol

어린이집 식판 추천 "실리팡베베"

이미지
맞벌이 부부라 일 끝나고 집에와서 저녁먹고 설거지하고 아기 씻기고 등 하면 시간이 빨리 지나가죠 조금이라도 시간을 아끼려고 식기세척기를 구입했는데, 식기세척기에 사용 가능한 그릇이 있다는거 알고 계시나요? 예를들어, 플라스틱 용기에 식기세척기 사용 가능 표시가 없으면, 환경 호르몬이 배출된다고 합니다 그래서 식기세척기 사용 가능 어린이집 식판을 추천드리고자 합니다 실리팡베베 식판입니다 lol 첫번째, 용량도 적당하구요 (보기와 다르게 타사 제품과 같은 용량이 들어갑니다) 두번째는, 재질!! 세번째는, 뚜껑도 같은 소재이고 닫았을 시 음식물이 새질 않습니다 맞벌이 부부님들 힘내세요~ :P 본 Post는 지극히 저의 주관적인 생각으로 작성했습니다

XSLT에서 현재 날짜 시간 넣기 / XSLT Current Date and Time

이미지
SAP EAI에서는 XSLT Mapping을 많이 사용합니다 Mapping 이란 Source 와 Target System간의 데이터를 연결시켜주는 걸 의미합니다 아래 그림을 참고 하면 이해가 편하실겁니다 "SAP EAI(PI) Message Mapping" 다시 본론으로 들어와서, XSLT Mapping을 많이 사용하는 이유는 SAP EAI에서 주고 받는 데이터가 XML 형식으로 사용 되기 때문입니다 그런데, XSLT Mapping 사용 시 Target 특정 컬럼에 현재 날짜와 시간이 들어가야는 경우가 필요하실겁니다 (XSLT Date and Time) 아래와 같이 JAVA를 이용 한 쏘스를 사용하시면 됩니다 lol 1. 선언부분 xmlns:java="http://xml.apache.org/xslt/java" exclude-result-prefixes="java" 2. Target 특정 컬럼 부분 날짜 컬럼 : <xsl:value-of select="java:format(java:java.text.SimpleDateFormat.new('yyyyMMdd'), java:java.util.Date.new())" /> 시간 컬럼 : <xsl:value-of select="java:format(java:java.text.SimpleDateFormat.new('HHmmss'), java:java.util.Date.new())" /> 예시) <?xml version="1.0" encoding="UTF-8"?> <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:sap="http://www.sap.com/sapxsl" v

Blogger에서 나만의 가젯 추가 방법 / Add Custom Gadget

이미지
제가 Blog 시작한지가 얼마 안되는데요 구글 애드센스를 목표로 열심히 하고 있습니다 디지털 노마드라고 하죠 :P Blogger 가 기본적인 템플렛은 제공하는데 몬가 아쉬운 부분이 많습니다 저같은 경우에는 카테고리가 있으면 좋을것 같다 생각했습니다 아래 사진이 제 Blogger에 추가한 Category 입니다 먼저 Blogger 관리에서 레이아웃 부분에 사이드바(하단)에 가젯 추가 버튼을 누릅니다 항목이 여러개 나오는데, 여기서 HTML/JavaScript 선택 그 후에 제목(예: Category)을 입력해 주시고, 내용 부분에 쏘스를 넣어주시면 됩니다 해당 쏘스입니다 <div id='category' class='Kanadel1'>    <li class='cate'>       <a id='cate-all' href='/search/label/?'>All </a>    </li>        <li class='cate1'>       <a id='category-EAI' href='/search/label/EAI?'>EAI </a>                     <li class='cate2'>        <a id='category-SAP' href='/search/label/SAP?'>SAP </a>    </li>           <li class='cate3'>        <a id='category-IT Tip' href='/search/label/IT%20Ti