최근에 다시 clojurescript 를 이용해서 작업할 일이 생겼습니다. javascript 는 편리하긴 하지만 구현하는데 재미가 없다는 심각한 결점이 있기 때문입니다. 게다가 최근 lein-figwheel 이라는 편리한 툴이 나와서 정말 편하게 작업을 할 수가 있습니다. 다만 lein figwheel 을 하면 불편하게도 console 에서 작업을 해야 하기 때문에 emacs 의 편리한 기능을 못써서 안타깝습니다. 따라서 nRepl 을 이용해서 편리하게 작업하는 방법을 소개시켜드릴까 합니다.

  1. CIDER 와 clojure-mode 를 설치해야 한다.

    package-install 명령을 이용하면 쉽게 설치가 가능하다.

  2. leiningen plugins 를 설정해야 한다.
    ~.lein/profiles.clj
    

    를 열어서 다음과 같이 추가해 준다. (2015. 12. 29 현재 0.10.0 버젼이 최신)

    {:user {:plugins [[cider/cider-nrepl "0.10.0"]]}}
    
  3. 개별 project.clj 설정에
    :figwheel {:nrepl-port 7002}
    

    내용이 defproject 와 같은 레벨로 추가가 되어 있어야 한다.

  4. .emacs 파일에
    (add-hook 'cider-connected-hook '(lambda ()
                              (cider-interactive-eval
                               "(use 'figwheel-sidecar.repl-api)\n(cljs-repl)\n")))
    
    (defun figwheel-connect ()
    (interactive)
    (cider-connect "localhost" "7002"))
    
  5. figwheel-connect 명령을 실행 프로젝트 루트 디렉토리에서
    lein figwheel
    

    을 실행해서 띄우고 , M-x figwheel-connect 를 이용해서 접속한다.


- sybase iq 는 메타 디비의 형태이다.
- sybase iq 에 접근을 위해서는 odbc 나 oledb 방식을 써야 합니다.
- odbc 방식은 사실 귀찮게 세팅해줘야 할 것이 많습니다. 따라서
  일반적으로 프로그래밍을 할때는 oledb 방식을 많이 씁니다.

- sybase iq 는 Adaptive Server Anyware (줄여서 ASA) 로 제어를 하게
  되는데 다음에 나오는 예제는 ASA 를 OleDB 를 이용해서 접근하는 방법을
  C# 으로 표현했습니다.

- oledb 방식을 쓸려면 iq 용 클라이언트를 설치해야 합니다. (그 안에
  oledb provider 가 포함)

 예제) 

using System.Data.OleDb; // 네임스페이스 추가


  string cnStr =
  "Provider=ASAProv.90;Eng=rskrt;Uid=rskrt;Pwd=password;Links=tcpip(Host=100.254.17.51)";
  // eng 는 디비 이름입니다.
  OleDbConnection Conn = new OleDbConnection(cnStr);

  try
  {
      Conn.Open();
  }
  catch (OleDbException ex)
  {
      MessageBox.Show(ex.Message);
      return;
   }

   MessageBox.Show("connection Success");

  http://www.connectionstrings.com/?carrier=sybase (참고 사이트)

+ Recent posts