2016년 12월 22일 목요일

[Book #37] 난생 처음 한번 공부하는 - 미술이야기 1 (양정무 저)



"미술" 이라는 과목을 누구나 수업을 들었겠지? 지금도 있을 것이고 나 스스로 생각해보면 난 미술 시간이 가장 어려웠고 지금도 마찬가지이다. 아이러니 하게도 학교 시절 잠시 미술 특기생이었고 상장도 여럿 탔다면 뭔가 특별할 것 같은데 말이다.

여하튼 고대 미술 아니 르네상스 시기 이후의 그리스 로마 시대 그리고 서양 미술의 다양한 것들은 알지도 못하면서 자주 보게 되었다. 미술을 전공한 누나 덕분이긴 하지만 그다지 관심도 없었을 뿐 아니라 그것을 이해 하거나 이해하려는 노력 또한 없었기에 무엇을 봤는지도 미술관에서 도대체 왜 오래 서 있는지도 이해하지 못했던 나에겐 정말이지 딱(?) 좋은 책이다.

책을 구입하고 도착한이후 책의 두께를 보고 일단 헉~ 했다. 왠만해선 두꺼운 책 잘 안 읽히는 트라우마가 떠 오르기도 하고 말이다. 그런데 이상하게 이 책은 쏠림이 있다. 한번 읽기 시작하면 중간에 멈추기가 어렵다. 빠져든다는 표현이 맞을 것이다. 영화를 참 좋아 해서 "미이라", "갓 오브 이집트", "페르시아 전쟁", "300", "스타게이트" 등을 보면서 그에 대한 배경들에 잠깐 잠깐씩 의문이 들긴 했었지만 무엇을 찾아봐야 하는지 몰라 그냥 넘어 갔다면 난처한 미술이야기는 나에게 딱 들어 맞는 수준이다.

미술 작품들을 통하여 그당시의 시대상? 그리고 그들의 사회적인 모습들을 상상해 보는 것은 가장 재미있었다. 박물관에 가서 그냥 휘리릭 지나가지 않고 이제는 좀더 다른 생각과 그들의 삶을 상상해볼 수 있지 않을까 생각해 본다.  2편 책을 바로 다시 구입해서 읽고 있는데 마치고 나서 다시 한번 1편 부터 뒤돌아 볼 것도 필요 해 보인다.

** 책 목차
I 원시미술-미술을 아는 인간이 살아남는다
01 섹시한 돌멩이의 시대
02 그들은 동굴에서 무엇을 했을까
03 동굴벽화에 숨겨진 미스터리 코드
04 인류가 4만 년 동안 그려온 이야기
05 우리 가까이의 원시미술

II 이집트 미술-그들은 영생을 꿈꿨다
01 3000년 동안 최강대국의 지위를 누린 나라
02 변하지 않는 완벽한 세계를 그리다
03 피라미드가 들려주는 불멸의 꿈
04 네바문에서 투탕카멘까지, 고대 문명의 르네상스
05 너무나 화려했던 황혼의 빛
06 미술의 영원한 주제, 삶과 죽음

III 메소포타미아 미술-삶은 처절한 투쟁이다
01 수로가 열어준 문명의 강
02 신전을 짓고 제물을 빚어 번영을 기원하다
03 광야에서 도시혁명이 시작되다
04 권력의 목소리, 권력의 얼굴
05 페르시아, 메소포타미아 문명의 결정판

2016년 12월 8일 목요일

[이야기] CRM (고객관계관리) 시스템에서 사람을 배우다. - 외식업 버전

CRM을 개발한다. 운영 관리 한다는 내용으로 전산실 이야기를 풀어 보고자 한다. 내가 일하는 부서는 레스토랑을 운영하는 회사의 POS, ERP, CRM 시스템을 개발/운영 중인 조직이다. 살 얼음 같은 정보공개의 유무를 오가며 생각을 공유해 보고 싶다.

외식업 안에서 대기업에서 운영 관리 하는 회사를 제외하곤 전산팀/실을 직접 운영하는 곳은 손가락에 꼽힌다고 한다. 아니 어쩌면 그들만의 리그에서 서로 협업을 하거나 함께 고민을 해보자는 어떤 이야기도 없는 것을 보면 있어도 없다고 생각하는 쪽이 맞는 것이라고 생각을 한다. 또한 그 안에서도 자체 시스템(여기서 말하는 시스템은 IT 시스템의 제한적인 표현 임을 밝혀 둔다)을 운영관리 하는 것은 찾아 보기 더 힘든 것 중에 하나이다.

그런 찾아 보기 힘든 곳이 있으나 사실 알고 보면 의외로 많다. 이런 이야기들을 공개적으로 하는 것이 조심스럽기도 하고 뭔가 IT에 관한 전문적인 이야기가 나와야 할것 같고 관련 정보와 지식을 나열해야 할것 같은 스트레스를 받을 지도 모르겠다. 이 글은 CRM을 전문적으로 공부 하지도 또 그러한 연구를 하지도 않았을 뿐더러 그런 사람들을 대상으로 작성한 글도 아님을 밝힌다. 그럼 도대체 이런 글을 쓰는 이유는 무엇인가? 나와 같은 업종에서 전산이란 이름으로 불리는 사람들이 현업의 요구와 필요에 따라 시스템을 개발/운영관리 해야 하는 사람들에게 우리도 이러한 관점으로 발전시켜 나가는 것이 어떻겠는가 하는 의견 개진과 나 스스로의 생각들을 정리해 나가는 것이라고 보면 정확하다.


* CRM을 개발 한다는 것은 고객의 접점에 관한 고민이다.
시스템을 개발/운영하기 위해서 우리는 라이프 사이클(생명주기)와 같은 것에 관심을 갖게 된다. 그럼 시작이 어디냐? 하는 그런 원초적인 질문 말이다. 내 주변의 많은 많은 사람들은 일단 가입을 해야 되는거 아니냐 라고 말하겠지만 ( 문득 내 주변이 이상한 거야 라고 하면 어쩔 수 없다. 나를 탓해야지 ) 우리가 가져야 할 관점은 그 보자 좀더 광범위하게 가져 보는 것은 어떤가 하고 생각을 해 보았다. 내가 한번 그 사람들이 되어 보는 것이다. 글애 나라면 만약에 나를 기준으로 좀더 생각을 해본다. 상당히 쉽지 않은 생각이다. 자꾸 바이러스가 들어가서 자꾸 조직내 시스템과 프로세스를 집어 넣게 된다. 여하튼 그러한 고민들 통해서 아래와 같은 분할을 해 보았다.


[고객 접점의 분류 - 그림1]

고객은 레스토랑에 방문하기 전과 방문 그리고 방문한 이후에 진행되는 크게 3단계로 구분해서 볼 수 있다. 이러한 3단계의 구분에 상황과 형태는 다른지 모르나 이 3단계의 반복을 통해 우수고객이 될 수도 또는 한번 방문 하고 그걸로 끝인 고객이 될 수도 처음부터 방문하지도 않을 고객이 될 수 도 있다. 이와 같은 상황에서 우리는 보통 현업의 입과 눈빛을 마주하게 된다. 상세히 설명을 해주는 친절한 현업을 만나기는 하늘에 별을 따다 주세요라고 말하는 것과 같지 않을까 싶다. 그렇다고 친절한 부연설명과 안내가 있다고 하더라도 그걸 잘 받아줄 전산담당자도 그리 많지 않다는게 현실일 뿐이다. 씁슬하다. 뭐 나는 어떤 사람이라고 말하는건 좀 말할 자격이 안되는 것 같다. 그냥 스스로의 점수를 줘보자면 51점이면 후한 점수 아닐까 생각한다.

논점에서 벗어 났다. 우리가 고민하는 고객의 접점과 그 접점 사이에서의 우리가 해야 할 일들을 나열하고 정리 하다 보면 우리가 개선해야 하는 것들은 명확하다. 밖의 세상에서 IoT가 대세이고 O2O가 인기이며 분석을 하면 빅데이터 분석이지 하는 이야기들이 아주 관련이 없는 것은 아니나 인기를 따라가기 보다는 방문하는 고객(사람)에 관심을 더 갖는 것이 중요하다. 어쩌면 데이터의 분석이라는 것에 좀더 좁은 의미는 고객(사람)이 남기는 여러가지 데이터를 분석하고 활용하여 더 친근해질 수 있는 방법을 연구하는 것은 아닐까 생각이 든다. 물론 연구만 해서는 될 일이 아니겠다. 반복적으로 실행하고 실행된 결과를 기록하고 다시 돌아가 수정하고 반복하는 일들을 하다 보면 고객(사람)과의 관계는 이미 가까워져 있을 지도 모른다.

오래전부터 사고 싶었던(?) 아니 그 책의 내용이 궁금해서 구입하게 된 "CRM 2.0 - 전용준,황순귀 지음"의 책을 보면서 글애.. 글애 맞아 하던 부분이 있다. 바로 우리가 고민하는 고객의 접점의 관리와 개선은 전담 CRM팀이나 CRM 담당자 몇명이서 하는 것이 아니라는 것이다. 물론 이외 다른 여러가지 인사이트는 나의 뒷통수를 치게 만드는 좋은/재미난 말들이 많으므로 CRM과 관련된 업무를 하는 사람이라면 필독을 권한다. 다시 우리 이야기로 돌아 가면 위에서 말했던 접점에 관련되지 않은 조직원은 존재 하지 않을 것으로 본다. 그러한 모든 것들이 유기적으로 돌아 가야 하는 것이 맞다고 본다. 그러나 조직이 크건 작건 그러한 유기적인 모습을 찾아 보기가 쉽지만은 않다. 이 주제와는 맞지 않는 것 같아 왜 그럴 수 밖에 없는가에 대한 이야기는 다음으로 미뤄보고 우리가 관심가져야 할 것으로 돌아간다.

고객의 접점에서 기록할 수 있는 것에 관심을 가져 보는 것은 어떨까. 이미 많이들 알고 있겠으나 우리가 적용하고 있는 것들을 나열해 보면 다음과 같다. (분석을 위한 별도의 시스템과 구조는 제외 한다)

1) 웹  로그 - 구글 분석 도구 (무료버전)
2) 예약관리 - 직접 연락을 주어 하는경우 ( 내부시스템 )
3) 포스시스템 - 주문/결재 내역 (내부시스템)
4) ERP/CRM - 자원관리/고객정보 (내부시스템)
5) 외부 SNS / 뉴스 텍스트 등 (내/외부 시스템)

나열하다 보니 사실 우리가 고객의 접점을 나열한 것에서 수집될 수 있는 데이터는 극히 제한적이다. 개인정보보호법에 제약적인 사항도 있지만 여러가지 문제(?) 또는 제약으로 인하여 수집하거나 보관 또는 기록 할 수 있는 있는 방법이 별로 없다.

2016년 11월 14일 월요일

[Tip] Qlik.Printing.Sense.Service stopped working



If you see the above message, you can solve as follows.

1. Please, start Command Prompt as an administrator by right-clicking it and select Run as administrator.

2. Enter this command to reset the network adapter (end with the Enter key):
netsh winsock reset

3. Restart the computer.

4. Please, delete these two files:
C:\WINDOWS\system32\LavasoftTcpService64.dll
C:\WINDOWS\SysWOW64\LavasoftTcpService.dll (only for 64-bit Windows)


Reference URL
- https://community.qlik.com/thread/181612 (Qlik Community)
- http://hummingbird.tistory.com/6001 (LavaSoft)


2016년 10월 13일 목요일

[Oracle] UTL_HTTP 패키지를 활용한 웹서비스 호출 또는 URL CALL

웹/앱 리뉴얼 프로젝트를 진행 중에 내부에서 처리해야할 프로세스상 로직이 있었는데 오라클(데이터베이스) 단계에서 처리가 곤란하게 되어 외부서비스(웹)의 특정 URL/URI를 호출해야 되는 경우가 생겼다. 구글링으로 검색을 해도 상세히 설명 된 곳이 별로 없다. 잠깐 보게 되면 남겨져 있는 대부분 같은 질문과 대답만 있을 뿐이었다.

#별것도 아닌 것으로 하루 시간을 보낸걸 생각하니 화가 치밀어 오르기도 하면서 나와 같은 사람이 분명 있을 꺼라 생각을 하고 정보를 공유하니 도움이 되시길 바란다. 이보다 여러가지 형태의 호출/호출 후 응답 데이터 활용 등이 있을 수 있으나 해당 포스팅에서는 웹서비스 호출을 하기 위한 준비 정도까지만 공유 하고자 한다.

#설정 후 그 이후 단은 적용하고자 하는 도메인과 요구사항에 따라 달라질 수 있으니 해당 내용에서는 제외 한다.

1. 자 일단 Oracle 에서는 웹서비스 호출 및 메일보내기(?) 등을 사용하기 위해 몇몇의 기본 패키지들을 제공하고 있다.

UTL_URL : URL의 인코딩/디코딩 하는 것을 지원
UTL_TCP : TCP/IP를 사용하여 외부 웹서버와 통신할 수 있는 기능을 제공
 - 참고 : "뇌를 자극하는 오라클 프로그래밍" p576  참고 하시길
UTL_SMTP - 메일보내기

이 포스팅에서 소개할 내용과 실사 내용 보고는 아래의 UTL_HTTP 이다.

UTL_HTTP : Oracle에서 web service 호출을 위한 기능 제공
 - Oracle Help Center : 바로가기


1) UTL_HTTP 패키지를 사용하기 위해서는 우선 ACL(Access Control List - 접근제어목록) 에 사용할 데이터베이스 사용자에게 권한을 부여해야 한다. 아래의 3가지 예제를 통하여 우선 진행 해보자.

 * Example Source
1-1) ACL에 사용하고자 하는 것을 추가 한다.

BEGIN
    DBMS_NETWORK_ACL_ADMIN.CREATE_ACL (
              acl => 'my_test_utl_http.xml',
              description => '테스트용 ACL 입니다. ',
              principal => 'ORACLE_USER',  -- ORACLE_USER란 사용자에게 권한 할당
              is_grant => true,
              privilege => 'connect');

      COMMIT;
END;

1-2) ORACLE_USER에게 권한을 할당 .
BEGIN
    DBMS_NETWORK_ACL_ADMIN.ADD_PRIVILEGE (
              acl => 'my_test_utl_http.xml',
              principal => 'ORACLE_USER',  -- ORACLE_USER란 사용자에게 권한 할당
              is_grant => true,
              privilege => 'connect');

      COMMIT;
END;

1-3) 접속할 HOST 정보를 추가
BEGIN
   DBMS_NETWORK_ACL_ADMIN.ASSIGN_ACL (
                         acl          => 'my_test_utl_http.xml',              
                         host         => 'www.oracle.com',
                         lower_port => 80,
                         upper_port => 80);
   COMMIT;
END;

2) 추가된 접속 정보가 잘들어 갔는지 SYS AS SYSDBA 권한으로 조회를 확인

select * from DBA_NETWORK_ACLS;
select * from DBA_NETWORK_ACL_PRIVILEGES ;

정상적으로 조회가 된다면 사전 준비가 된것 이다.
이제 간단하게 확인을 해보자.


* Example Source

DECLARE
  req   UTL_HTTP.REQ;
  resp  UTL_HTTP.RESP;
  value VARCHAR2(1024);

BEGIN

  req := UTL_HTTP.BEGIN_REQUEST('http://www.oracle.com');
  UTL_HTTP.SET_HEADER(req, 'User-Agent', 'Mozilla/4.0');
  resp := UTL_HTTP.GET_RESPONSE(req);

  LOOP
    UTL_HTTP.READ_LINE(resp, value, TRUE);
    DBMS_OUTPUT.PUT_LINE(value);
  END LOOP;
  UTL_HTTP.END_RESPONSE(resp);

EXCEPTION WHEN UTL_HTTP.END_OF_BODY THEN
    UTL_HTTP.END_RESPONSE(resp);
END;

결과적으로 해당 웹사이트에 대한 응답에 결과를 출력하게 되므로 HTML 소스의 응답부분을 출력하게 될 것이다. 여러가지 오류사항이 나타날 수 있다. 나 역시 그런 오류들이 당황스럽게 만들기도 하였으니 몇 가지만 공유 하면 다음과 같다.


** 자주보게 되는 오류
* ORA-24247: network access denied by access control list (ACL)
- ACL 설정에 대한 문제 : 사전 준비과정에서 ACL 정보가 잘못들어 간 곳은 없는지 확인하는게 좋다. 가끔 오타가 있는경우가 많을 것이다.

사전 준비 과정에서의 ACL 값을 다 지우고 다시 하고 싶다면 아래의 프로시저를 사용 하면 된다.

exec DBMS_NETWORK_ACL_ADMIN.DROP_ACL(acl => 'my_test_utl_http.xml');

해당 ACL명칭을 사용된 이름을 확인하여 삭제 하면 된다.

* ORA-29273: HTTP request failed
* ORA-06512: at "SYS.UTL_HTTP", line 1130
* ORA-12541: TNS:no listener
* ORA-06512: at line 1

나 처럼 네트워크 라우팅문제 이거나 DNS 문제로 인하여 발생하는 어처구니 없는 상황일 수 있다. 네트워크 담당자에게 확인하거나 본이이 직접 해결하던가 필요 하다. 어찌 되었든 지속적인 접근에 응답이 없어서 그러한 것이다.

왜 안되지 안되지 하면서 허송세월 보내다가 CENTOS 서버 쉘에서

LINUX #] curl -v www.oracle.com

으로 실행해 보니 접속 내역을 보면서 확인 할 수 있다. 확인하다 보니 해당 도메인을 찾지 못하거나 IP정보의 네트워크 상의 라우팅 문제일 수 있으니 말이다. 모두가 쉽게 해결 되길. 좀더 상세한 각 패키지의 기능은 오라클 Help Center 를 활용하시길..


2016년 10월 3일 월요일

[MyStory] 한 부분만을 바라보고 판단하는 삶이 아니길 바라며

10여년 이상 아침 출근 후 하는 비슷한 패턴의 행동은 아마도 차(?) 커피 또는 녹차...
최근 들어 깔라만시 차를 마시게 되는 그 순간 들이 있다. 때론 종이컵에 때론 회사 1회용 컵에 그리고 어떠할 때에는 머그컵 잔을 가져다 사용하는 경우도 그러너데 문득 오늘 아침에 아이스 커피를 타고 나서 먹는 컵의 하자(?)에 대해서 이제서야 알게 되었다는 것이다. 언제 저 컵의 밑부분이 눌렸는지는 알수 없다. 지난주 금요일 부터 사용하던 컵이라서 어쩌면 그런 것을 알아 차릴 만큼도 아니었나 보다.



병이라고 말하던(?) 지인들도 있었다. 항상 놓여져 있는 방향과 놓여져 있는 위치에 그 컴이 존재 해야 함을 이유를 말할 필요도 없이 나에겐 그랬다. 문득 비틀어져 있던 겁을 알아 차린건 나도 모르게 다른 방향으로 컵을 우연히 돌려서 놓았다는 것과 다른 방향에서 컵을 바라 봤다는 것이다. 다양한 관점에서 삶을 바라 본다고 말하며 또 누군가에게 그래야 한다고 술취한 순간을 포함하여 강조 했던 부끄럽던 기억이 나는걸 보면 그렇게 많은 이야기를 하였지만 정작 (나라는 본인) 스스로는 그렇지 못했던건 아닌가 하는 생각이 가슴으로 스며들면서 부끄러웠다. 그저 비틀린 컵이 무엇이 잘못인가? 라는 이야기는 이번에 남기는 글과는 좀 차이가 있으니 다음에 한번더 이 부분은 이야기로 남겨보고 싶다. 기존에 우리가 기억하고 있던 정상적(?) 올바른(?) 것들도 또한 우리가 가진 어떤 한 관점의 일부일 뿐이란 것 말이다. 오늘의 별 쓸데없는 이야기를 이렇게 포스팅 하는 이유는 내스스로가 가진 어떤 한 관점과 인지하지 못했던 생각들 때문이다.

겉으로는 대범하거나 또는 다양함을 인정할 수 있는 그런 사람이라고 말하고 있으나 정작 스스로를 돌아볼 기회가 생겨 돌아보다 오롯이 나 하나만 보이는 그 순간 참으로 부끄럽고 민망하기 그지 없다. 오늘도 내가 세상을 위해 그리고 나를 위해 성찰해야 하고 또 뒤돌아 봐야 하는 것이 반드시 필요 하다는 것을 느끼는 하루 이다.








2016년 9월 26일 월요일

[MyStory] 울산 가는길.

조용히 달리는 기차 안에서 바라본 밖의 풍경은
죽음을 미리 경험하는 것과 같이 빠른 속도로 내 이기억을 휘감아 돈다. 

2016년 9월 13일 화요일

[Book #36] 어젯밤 꿈이 나에게 말해주는 것들 - 슈테판 클라인




나에게 꿈은 잠들면 무엇인가 상상의 나래를 펼치는 그러나 이루어질 수 없는 순간의 기억? 순간의 그냥 스쳐지나는 기억되지 못하는 하나의 작은 먼지와 같다고 해야 할까. 꿈은 그러 했다. 그래서 꿈에 대해서 해석을 하고 의미를 부여하며 오늘은 어떨꺼야~! 오늘은 물을 조심해야해 하는 것들에 대한 조언을 할 때 마다 뭐 그런 말이 어딨어. 그리고 난 꿈도 별로 잘 꾸지 않아. 라는 것이 내가 가진 꿈에 대한 리얼한 생각이며 이 책을 읽기 전까지의 생각이다.

그럼 생각이 왜 바뀌었냐? 두 가지 부분에서 그렇다 첫 번째 내가 꿈에 대한 해몽이니 해석 이니를 믿지 않았던 이유는 과학 적이지 않다는 생각 때문 이었고. 이러한 것은 뇌 과학 분야에서 오래 전부터 연구하고 실험한 결과를 알게 되면서 나의 무지의 하나라고 인정하게 되었다. 두 번째는 꿈에 대한 여러가지 이야기와 사례를 접하게 되면서 의식적으로 의도하고 생각하면서 잠드는 연습을 해본 바 실제로 꿈에 대한 기억조차 하지 못했던 나에게 꿈을 기억하게 되고 매번 꿈을 꾸게 된다는 사실에 있다.

내가 하는 어떠한 행동은 무의식 상태에서의 행동이다 이러한 행동은 프로이트에 의한 견해로 본다면 억압된 욕만의 표출이다. 저자는 이러한 억압된 욕망 만으로는 설명할 수 없는 몇몇의 사례들도 소개 하고 이에 관한 실험적인 결과물도 함께 공유한다. 다시 한번 생각해볼 일이다. 우리가 잠을 못 자서 피곤해.. 라고 하는 말들이 정작 휴가를 내고 하루 종일 집에서 쉬어도 사실 몸은 쉬고 있지만 정신은 쉬고 있지 못하기 때문이란 것을 다시 한번 공감하게 되면서 나의 다음 쉼은 이제는 바뀌어야 겠단 생각이 들었다. 우리의 뇌는 잠을 자는 동안에도 연속적인 상태로 학습하고 그림을 그려가는 것을 인정 한다면 사실 우리는 우리가 무엇을 어떻게 해야 한데~~~ ! 라고 단정 짓고 그것만을 맹신하라고 하고 싶진 않다. 다양한 방법과 다양한 의견을 받아 들여 보고 한번 스스로 정신의 휴식과 잠든 뒤 그 안의 내 정신 세계로의 여행을 떠나 보는 것은 어떨 까.

나의 사랑하는 아이들과 함께 꿈에 대한 이야기를 자주 해야 겠다.


언제 부터 였던가 생각해보니 아르바이트 겸 외부 컨설팅을 의뢰 받고 맥북 프로를 처음 써봤을 때 부터 였던 것 같다. 지금은 거의 대부분의 작업을 맥으로 작업을 하다 보니 윈도우에서만 실행되는 일부 프로그램들 때문과 회사 내부 ERP프로그램이 윈도우 ...