• 카테고리
    • 전체 글

    • 카테고리1
    • 카테고리2
    • 카테고리3
    • 카테고리4
  • 태그
  • 방명록

'분류 전체보기'에 해당되는 글 1250건

  • 2010.01.30 [Google Apps Engine] JSP 사용하기 1
  • 2010.01.30 급 땡기는 물건,E-Book
  • 2010.01.30 오늘 옥션내 낚시형(경품 제공) 광고 보고 느낀거.
  • 2010.01.29 Linux 시스템화는 일단 뒤로. 1
  • 2010.01.29 이번엔 이름으로 보는 인생 경로.
  • 2010.01.29 재미있는 사이트. 14
  • 2010.01.28 Connection 사이트 내 블로그에 Windows Live Writer로 쓰는 법.
  • 2010.01.28 이번엔 Syncmail 어택이냐!!! 1

[Google Apps Engine] JSP 사용하기

기술자료/Web 2010. 1. 30. 18:29

원본글 : http://code.google.com/appengine/docs/java/gettingstarted/usingjsps.html


Java 서블릿 코드로만 직접 HTML 코드를 작성하여 구성하려면, HTML에 대한 관리 작업이 무척 어려워 질 것입니다. 그래서 템플릿 시스템을 활용하면, 인터페이스에 대한 디자인과 구현을 데이터 추가와 같은 로직과 분리하여 응용 프로그램과는 다른 파일로 구성하실 수 있습니다. Java에서도 다양한 템플릿 시스템이 있으며, App Engine에서는 대부분의 시스템들과 정상적으로 동작합니다.


이 튜토리얼에서는 JavaServer Pages(JSP)으로 방명록에 대한 사용자 인터페이스를 구현하려 합니다. JSP는 서블릿 표준에 의거하여 제공됩니다. App Engine에서는 자동적으로 WAR에 있는 JSP 파일을 컴파일 하고, URL 경로에 연결하게 됩니다.


Hello, JSP!

방명록 응용 프로그램에서는 출력 스트림에 직접 문자열을 쓰고 있는데, 이 부분을 JSP로 변경하도록 합니다.  JSP 예제로 제공되는 최신 버전을 가져와서 시작하도록 하죠.


war/ 디렉토리에서 guestbook.jsp라는 이름의 파일을 생성하고, 다음과 같은 내용으로 구성해보시기 바랍니다.


<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ page import="com.google.appengine.api.users.User" %>
<%@ page import="com.google.appengine.api.users.UserService" %>
<%@ page import="com.google.appengine.api.users.UserServiceFactory" %>

<html>
  <body>

<%
    UserService userService = UserServiceFactory.getUserService();
    User user = userService.getCurrentUser();
    if (user != null) {
%>
<p>Hello, <%= user.getNickname() %>! (You can
<a href="<%= userService.createLogoutURL(request.getRequestURI()) %>">
sign out
</a>.)</p> <% } else { %> <p>Hello! <a href="<%= userService.createLoginURL(request.getRequestURI()) %>">
Sign in</a> to include your name with greetings you post.</p> <% } %> </body> </html>

기본적으로 war/ 내 여러 파일, 하위 디렉터리(WEB-INF/ 외의 디렉터리들)을 탐색하여, .jsp로 끝나는 파일들을 자동적으로 URL 경로에 연결하게 됩니다. 이 URL 경로라는 의미는 .jsp 파일이 있는 경로입니다. 그래서 JSP 자체의 경로는 URL 경로 뒤에 파일 이름까지를 의미하게 됩니다. 이 JSP 파일은 war/ 바로 밑에 있게 되므로, URL이 /guestbook.jsp 가 되게 됩니다.


만일 사용자가 URL 경로를 / 만 입력하게 되면(즉 파일이름을 없애고 입력하는 경우), 방명록 응용프로그램에 있는 home page를 호출하게 됩니다. 이 guestbook.jsp 를 홈페이지로 등록하시고 싶다면, web.xml 내에서 이 경로에 대해 정의를 해주시면 됩니다.

web/WEB-INF/web.xml을 열고 <welcome-file-list> 항목 안에 <welcome-file> 이라는 항목을 추가한 뒤, 저장해주시면 됩니다. 이 guestbook.jsp 파일만 홈페이지로 사용하려면, 기존에 있는 index.html 을 삭제해주시면 됩니다. 이렇게 편집한 부분을 간단하게 보시면 아래와 같습니다.

<welcome-file-list>
    <welcome-file>guestbook.jsp</welcome-file>
</welcome-file-list>
TIP : Ecipse 에서 XML을 편집할 때, 위와 같은 코드로 바로 보이지 않을 것입니다. 기본적으로 “Design” 모드로 시작되기 때문인데, 만일 위와 같은 소스로 보시려면 “Source” 모드로 변경하시면 위와 같은 코드를 보실 수 있습니다.

수정이 완료되었으면, 개발용 웹서버를 중지 시켰다가 다시 시작한 뒤, 다음 URL을 입력하시기 바랍니다.

http://localhost:8080/guestbook

(간혹 설정 상으로 http://localhost:9999/guestbook 일 수도 있습니다.  - 포트 번호는 각자 확인해보시기 바랍니다. )

 

이제 응용프로그램에서는 guestbook.jsp에 내용을 보여줄 것입니다. 만일 로그인 되셨다면, Nickname을 표시할 것입니다.

맨 처음 JSP를 실행하면, 개발 서버에서는 JSP를 Java 소스코드로 변경 시킵니다. 그리고 난뒤 Java 소스 코드를 Java bytecode로 컴파일 하게 됩니다. Java 소스와 컴파일 된 클래스들은 임시 디렉터리에 저장됩니다. 만일 원래 JSP 파일을 변경하게 되면, 개발 서버에서 자동적으로 JSP들을 재생성하고, 컴파일 하게 됩니다.

App Engine으로 응용 프로그램을 업로드 하게 되면, SDK에서 모든 JSP내용들을 bytecode로 컴파일하고, 이 컴파일 된 bytecode만 업로드 하게 됩니다. 즉, App Engine에서 동작중인 응용프로그램은 이미 컴파일 된 JSP 클래스들입니다.


방명록 Form

방명록 응용프로그램에서 새 인사말을 올리는 작업을 하려면, 사용자 입력 받을 수 있는 웹 폼이 필요합니다. HTML 기반의 폼은 JSP로 만들 수 있습니다. 여기서는 입력 폼의 위치를 새로운 URL, /sign 으로 구성하여, 이곳에서 새로운 서블릿 클래스로 동작할 수 있게 해줍니다. SignGuestbookServlet.SignGuestbookServlet에서는 값을 입력하는 폼 관련 처리를 수행한 뒤, 자동적으로 /guestbook.jsp 로 리다이렉트 될 수 있도록 합니다. 지금부터 새로운 서브릿에서는 등록된 메시지를 로그로 기록할 수 있게 합니다.


guestbook.jsp를 연 뒤, </body> 태그 위에다 아래의 코드를 넣어주시기 바랍니다.
( 굵게 표시된 <form> .. </form> 부분만 넣어주시면 됩니다. )

...

  <form action="/sign" method="post">
    <div><textarea name="content" rows="3" cols="60"></textarea></div>
    <div><input type="submit" value="Post Greeting" /></div>
  </form>

  </body>
</html>

guestbook 패키지 안에 SignGuestbookServlet 라는 이름으로 새로운 클래스를 만들어주시기 바랍니다. 클래스 내용은 다음과 같이 넣어주시면 됩니다.

package guestbook;

import java.io.IOException;
import java.util.logging.Logger;
import javax.servlet.http.*;
import com.google.appengine.api.users.User;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;

public class SignGuestbookServlet extends HttpServlet {
    private static final Logger log
= Logger.getLogger(SignGuestbookServlet.class.getName());

    public void doPost(HttpServletRequest req, HttpServletResponse resp)
                throws IOException {
        UserService userService = UserServiceFactory.getUserService();
        User user = userService.getCurrentUser();

        String content = req.getParameter("content");
        if (content == null) {
            content = "(No greeting)";
        }
        if (user != null) {
            log.info(
"Greeting posted by user "
+ user.getNickname() + ": " + content);
        } else {
            log.info("Greeting posted anonymously: " + content);
        }
        resp.sendRedirect("/guestbook.jsp");
    }
}

이제 새로 만든 서블릿 클래스를 설정하기 위해 war/WEB-INF/web.xml 을 열어 아래의 내용 처럼 SignGuestbookServlet 이라는 서블릿을 선언한 뒤, /sign URL에 연결합니다.

<web-app xmlns="http://java.sun.com/xml/ns/javaee" version="2.5">
    ...

    <servlet>
        <servlet-name>sign</servlet-name>
        <servlet-class>guestbook.SignGuestbookServlet</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>sign</servlet-name>
        <url-pattern>/sign</url-pattern>
    </servlet-mapping>

    ...
</web-app>

새로운 서블릿은 java.util.loggin.Logger 클래스를 상속 받아 메시지를 쓰게 됩니다. loggin.properties 파일을 사용하여 이 클래스의 동작을 제어하게 되는데, 시 시스템 속성은 응용프로그램의 appengine-web.xml 파일에 설정할 수 있습니다.

<appengine-web-app xmlns="http://appengine.google.com/ns/1.0">
    ...

    <system-properties>
        <property name="java.util.logging.config.file" 
value="WEB-INF/logging.properties"/> </system-properties>
</appengine-web-app>

서블릿 로그 메시지는 로그 레벨을 INFO 형태로(log.info()를 사용함) 메시지를 기록합니다. 하지만, 기본적으로 출력되는 로그들은 최소한 WARNING 이상이 되어야 하기 때문에, 그냥 INFO로 로그를 기록하면 출력되지 않습니다. INFO 레벨의 로그도 출력되게 하려면, guestbook 패키지 안의 모든 클래스에 대한 로그 레벨을 logging.properties 파일을 열어 그 안에 guestbook.level 엔트리를 다음과 같이 수정해주셔야 합니다.

.level = WARNING
guestbook.level = INFO

...
TIP : AppCfg 라는 도구를 다운 받아 활성화 시켜주시면, App Engine에서는 java.util.logging.Logger API를 이용하여 기록하는 모든 로그 메시지를 the Admin Console 에서도 확인 할 수 있습니다. Admin Console에서도 로그 레벨에 따라 메시지를 찾아 보실 수 있습니다.

 

다시 빌드 하시고, 재 시작하신 뒤, http://localhost:8080/ 에 접속하시면 테스트를 하실 수 있습니다.(다시 또 언급 드리지만, 포트 번호 설정에 따라, http://localhost:9999 일수도 있습니다. 자세한 것은 web.xml에 설정한 포트 번호를 참고하시기 바랍니다. ). 입력 폼이 뜨면, 그 안에 적당한 문자열을 넣으시고 Submit을 해주세요. 웹 브라우저에서 폼에 입력한 내용이 응용프로그램에 전달하게 되면, 자동적으로 깨끗이 빈 폼으로 되돌아가게 됩니다. 이 때 로그 내용을 보시게 되면, 아까 입력한 문자열을 보실 수 있습니다.


다음은…

지금까지 사용자들이 인사말을 입력할 수 있도록 제공되는 사용자 인터페이스를 구성해 보았습니다. 이제 App Engine의 datastore를 사용하여, 사용자들이 입력한 인사말들을 저장하는 방법과, 그 내용을 다른 이들에게 보여주는 방법에 대해 살펴보도록 하겠습니다.


JDO를 이용하여 Datastore를 사용하기에서 계속되겠습니다.

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

급 땡기는 물건,E-Book

잡글 2010. 1. 30. 15:46

아이패드에 대한 내용을 보다가, 그 아이패드를 바라보는 시점이 이북과 연결이되어

갑자기 E-Book에 대해서 보기 시작했다.

아마존에서 나온 킨들이나, 소니에서 나온 제품들…

많은 제품들을 바라보면서 느낀건 애석하게도 이게 전부 미쿡에서 활용도가

높다는 사실. 한글을 지원하기 위해서는 폰트 핵과 같은 개별적인 수정이

필요한데다가, AS 등은 이미 물건너간거 같고…

 

그래서 국내에서도 하는 서비스가 없을까 찾던 중,

인터파크가 LG 이노텍과 조인식을 갖고 이북 사업을 한다고 했는데,

지금 인터파트에 들어가봐도 이 소식에 대해서 크게 이야기 되지 않고 있다.

(아니 찾기가 애시당초 불가능했고, 검색에서 이북, E-Book 등으로 검색해도 나오지 않는다.)

결국 눈을 제품 자체로 해서 돌렸고, 쭉 검색해 보니 두가지가 나왔다.

하나는 삼성에서 낸 파피루스, 두번째는 아이리버의 스토리.

그러나 지금까지 바라본 스팩이나, 기능들에대헛는 아이리버의 스토리에 손을 들어준다.

(게다가 파피루스는 소량생산 후 더 이상 생산 안하는 듯!)

 

일단 전체적인 디자인을 무척 깔끔한 모양으로 되어 있다.

게다가 무게도 287g. 크기 B5 정도로 아담하고!

iriver_story_001

iriver_story_002

iriver_story_003

[ 제품 사이트 주소는
  ->http://product.iriver.co.kr/product/product_ebook_view.aspx?iCode=328082

입니다. ]

 

 

그래서 포커스를 아이리버의 스토리에 맞추어 가격을 바라보았다.

다음의 소핑하우 기준으로 최저값은 298,610원!

기능이나 활용도에서 급땡겼으나, 근좌 금전 절약 모드에 들어가서

사는 것을 잠시 망설임.

 

지금 내가 가진 장비들을 쭉 나열해 봤는데, 애석하게도 이 이 북이 낄 자리가 없어 보였다.

핸드폰, MP3, 스마트 폰, 노트북(타블릿 기능 지원)

사실 각 기능은 기능 대로 활용도가 있기 때문에 중간에 무언가를 뺄 수도 없고,

그 기능을 이북이 대처하기도 불가능하기는 하지만, 기본셋으로 들고 댕기게 되는

물건의 양이 장난이 아닌 것이다. 가방이 터질듯;;;;;

 

그러나 역시 이북은 가지고 싶은 마음이다.

들고 댕기면서 영문으로 된 각종 PDF 파일들을 썩히는 것도 마음에 안들고..

(스마트 폰에서 보기에는 많은 무리가 있다 -_-;;;; )

 

이번에 인터파크 하는 것 보고, 조금 더 기다려 봐서 추후에 어떻게 할까 고민해봐야 겠다.

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

오늘 옥션내 낚시형(경품 제공) 광고 보고 느낀거.

잡글 2010. 1. 30. 09:48

넷상에서 지내는 시간이 많기 때문에, 어지간한 낚시에는 잘 안걸린다고

스스로 자부(?) 같은 것을 했으며, 그런 낚시 따위에 걸리는 바보가 있냐고,

핀잔을 주기도 했다.

휴대폰 충전기가 필요해서 옥션에 로그인을 했고, 필요한 물품 잘 구매했다.

그런데 왼쪽에 쪽지가 아직 미수신이라고 해서 아, 그런가, 해서 클릭했다.

한동안 이놈의 옥션 로긴 안했으니, 간만에 나에게 무언가 알려주겠지… 라는 생각에.

그런데 갑자기 뺑뺑이 판이 생기고, 경품 추첨이라고 한다. 얼래? 라는 마음에 Stop이라는 버튼을

클릭질. 오오.. 5000원권 당첨!

이야.. 그래 어디 그 쿠폰 쌓였나 해서 보는데, 뭔가 입력하랜다.

어라?

자세히 보니 이런….

auctionfishing

이런 닝기미… 저기서 입력하시면 5년간 지들이 내 정보를 가지고 울거 먹겠다는거,

즉, 5년 동안 나에게 전화질 하면서 이런 권유 저런 권유 하겠다는거?

뭐냐!!!! 라고 지랄 하면, 동의 하시지 않았냐.. 하….

 

어제 아버지께서 보시던 뉴스에 나왔던 내용 중 하나가,

“사진이 도착했습니다! 보시겠습니까?” 라는 낚시로 2500원 자동 결재 시켜 버리는

지능적 사기(그 서비스 제공자는 사기가 아니라 주장한다! 정통부가 허락해준 한도로

했을 뿐이다! 억울하다!!!! 이지랄이든데…) 뉴스가 있었다.

 

진짜, 방심하면 그냥 돈 뜯기고 정보 뜯기고 한다.

빌어먹을 만큼 치열하기 때문이지 않나 싶다.

 

사실 이런거 기업이미지 100% 손상시키는 거 아닌지 모르겠다.

여튼 난 최소한 저 동양 생명 보험 가입은 안 할거다.

(주)디엔에스 가 했던 거라해도, 솔직히 저 따위식으로 낚시 해서

건진다면 절대 사양이다!!!!!

 

닝기미

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

Linux 시스템화는 일단 뒤로.

잡글 2010. 1. 29. 14:16

이번달 내내 내 업무 시스템을 Linux화 하겠다는 의지는 결국 이번주 수요일 종료했다.

우분투를 중심으로 9.1, 8.04, 9.04 등등 다양한 우분투 플랫폼들을 버전별로 활용했다.

 

이 작업에 사용된 시스템은 Lenovo ThinkPad T61 8892-AZK 모델.

각 설치관련 이력은 다음과 같다.

  • Ubuntu 9.10 최신 버전 Download.
  • Ubuntu 9.10 설치.
  • 오픈 소스 기반 기타 필요한 응용 프로그램 설치. PuTTY, filezilla, Opera, Chrome 등등.
  • VMWare 6.X for Linux 설치. 설치 진행 안됨.
  • IBM Lotus Notes 8.02 설치. 설치 후 사용 거의 불가, 이에 8.5 로 업그레이드 하나 동일한 문제 발생.
  • 최초 설치 때 ext4가 문제라고 판단. 수소문 끝에 8.04가 호환성이 우수하다는 소식을 접함
  • Ubuntu 8.04 다운 그레이드 작업 시행.
  • 다운그레이드 중 파일 몇가지 유실.
  • 상기 응용 프로그램 재설치.
  • Notes 8.5 설치. 정상 확인.
  • VMWare 6.X 설치. 정상 확인.
  • NVidia 그래픽 가속 기능 확인
  • 그러나 8.04에서는 Quadro M140 미지원 확인.
  • 9.10 다시 설치. 이때 ext4에서 ext3로 변경
  • VMWare 및 Notes 문제 재 발견 및 확인.
  • 9.04 찾음.
  • 9.04 에 비디오 드라이버 가속 기능 확인.
  • VMWare 및 Notes 설치. 제대로 작동
  • 운영 시작을 선언.
  • 업무중 .NET 개발이 있기 때문에, VMWare를 사용한 활용 시작.
  • 내가 본 VMWare의 최악의 성능 자랑!!!!! 거의 제대로 동작안함.
        충격 받고, 다시 Virtual Box(오픈소스)라는 제품으로 변경
  • 나름 안정적인 성능 제공.
  • IME 문제가 돌연 발생 ( 패키지 충돌인지.... ). 한글입력이 되었다가 안되었다 하는 문제 발생.
  • 일부 웹브라우저에서는 주소창 전체 선택이 안되는 경우도 발생(Chrome, Opera 10 등)
  • Blogging 도구에 대해서는 Live Writer 대한 부러운 눈빛만 보이고, 딱 데체 할만한 제품 보이지 않음.
  • HWP 2008 구매. 설치, 나름 만족.
  • 개인 파일 관리용 Folder에 대한 Mount 작업에 익숙치 않아 결국 전체 개인 환경 리셋 3번 발생.

 

다사다난 했다고 하면 다사다난 했고 삽질이라면 삽질을 많이도 저질렀다.

아마 이 작업한다고 까먹은 시간은 대략 2~3주.

사실 제일큰 문제는 역시 Linux용 개발 도구 및 업무용 도구.

개인적으로 활용한다면야, 그냥 취향 비슷한 오픈소스 기반의 대체도구를 활용하면 되겠지만,

누가 오픈소스용 Notes 클라이언트를 제공하겠는가? HWP 편집기는?

 

그런데, 이 상업용 도구들의 특징은 미묘하게 9.1에서 모두 다운.

편법처럼 하는 방법이 9.04에서 모두 설치해서 이를 가지고 9.1 업그레이드 한다고 한다.

하지만, 이 시도도 결국 물건너갔다. 아무리 놀아도 업무는 봐야 되겠기에...

현재는 다시 Windows 7으로 리턴했으며, .NET 개발도구의 지저분한 설치등의 문제로

VMWare Workstation 6.5 버전에 별도 개발 환경을 구축해 버렸다.

 

변화의 실패에 아쉬움이 더해가는건 사실이지만, 그래도 많은 것을 익혔다고 생각한다.

그리고 아직은 업무용 환경에서는 Linuix는 시기상조.

만일 현재 개발 팀이 Linux 기반으로 무언가를 만들고 있다면 모르겠지만,

그런 환경이 아니라면, 역시 그냥 대부분이 쓰는 도구로 사용하는게 좋을지도 모르겠다.

업무가 정리되고 안정되면 나중에 시간을 내서 다시 Linux에 대한 재 검토를 시도해보려고 한다.

(특히 Virtual Box의 발견은 최고의 대 발견이라고 생각한다!!!! )

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

이번엔 이름으로 보는 인생 경로.

잡글 2010. 1. 29. 04:38

이번엔 이름이다. 이름을 넣고 OK를 누르면 20대, 50대, 80대를 경계선 삼아,

일생에 대한 나름 라이프 사이클을 보여준다.

내 라이프 사이클은 이꼬라지다.

20대까지 잘나가다가, 20대 초반부터 흔들리다, 20대 후반에 좀 날라본다.

그러다 30대 전까지 추락하다가, 40대까지는 또 오름세.

그리고, 뒤질때까정 그냥 대충 대충 사는듯.(80세 이후 이야기는 별 관심도 없으니까..)

 

장난삼아 한번 해볼만 한듯.

아래의 OK 버튼 옆의 조그만한 입력창에 이름을 넣고 OK 하면 됨.

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

재미있는 사이트.

잡글 2010. 1. 29. 04:10

새벽에 뜬금없이 떠진 눈에 당황하다가, 사이트 뒤적뒤적.

그러다 발견한 사이트.

 

먼저 생일과 이름을 입력하면 나름대로 점친 결과를 보여주는 사이트가 있다.

http://kr.oreuranai.com/ 

여기에다 내 정보를 입력하니까, 아래와 같은 결과물을 보여준다.

 

 

이 타입의 사람에게는 이런 경향이 있다.

+ 다른 사람에게 친절하게 대하고 싶다.
+ 이상한 곳에서 운이 좋다.
+ 색다른 음식을 좋아한다.
+ 일 처리가 빠르다는 말을 다른 사람으로부터 듣고 있다.
+ 온화함이 넘친다.
+ 항상 배가 부르지 않도록 한다.
+ 야성적인 매력이 어울린다.
+ 여러 가지로 강인한 부분이 있다.
+ 때로는 예상외의 일을 해 버린다.
+ 슬쩍 보여주는 것에 약하다.
+ 불가사의한 박력이 있다.

특히 김형진 에게는 이러한 경향이 있다.

・약간 적당하다.
・터무니없는 가능성을 간직하고 있다.
・몸에 신경을 써 야채를 먹으려고 하지만 지속되지 않는다.
・포인트 카드를 많이 만들어 버린다.
・멍하게 텔레비전을 본다.

나로부터 김형진 에게의 어드바이스

・남자는 늑대라고 가슴 속 깊이 새겨 둬라.

 

다 훌륭한데, 내가 남자다 –_-;;;;

 

그리고 다른 하나.

http://kr.mazemon.jp/

이름 두 개 합치면 그 이름 합친 값을 이용해서, 각종 몬스터들을 보여주는데,

심심해서 여친님 이름과 조합해 보았다.

 

새다. 게다가 쌍두에 독수리다.

체력은 바닥인 주제에 힘은 무쟈게 쎄다!

뭔가 훨훨 날아다닌다는 생각에 상당히 멋있어 보인다.

그런데 쌍두라서 방향 잡기 쉽지는 않아보이는데…

 

마지막.. 내 미래 사진 보기.

The Future Photo Museum 한국어
김형진のFuture Photo
by Free Game Library FREEM!

(C)The Future Photo Museum 한국어 (C)Free Game FREEM Supported by Free Online Game Matome

내가 저만큼만 살 빠지면 조금의 행복감 느낄 수 있을것도 같은디.

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

Connection 사이트 내 블로그에 Windows Live Writer로 쓰는 법.

기술자료/Web 2010. 1. 28. 11:42

IBM에서는 MS의 MOSS 2007의 대항마로 Lotus Connections 라는 도구를 들고 왔더군요.

회사내에서도 이것을 설치하여 운영 중인데, 커뮤니티 개념의 활동을 여기서 주로

할 수있도록 배려 해주더군요. 그런데 이 안에도 Blog가 있는데, 그 안에 탑재된 편집기가,

MOSS 2007의 편집기에 버금갈 정도로 불편하더군요 -_-;;;;;;

그래서 Live Writer를 붙이는 방법을 조금 조사해봤고, 그 결과를 Report 합니다.


(주의! 전 영문판이라서 양키 말로 나옵니다. 양해 바랍니다. 한글판 깔면 한글로 나와요 )



위의 선택사항 중 Other blog service (기타 블로그 서비스)를 선택하시면 됩니다. 그리고 다음~

다음과 같은 내용이 뜨는데, 이제 실제적인 블로그 설정 내용이 필요합니다.


위의 내용을 입력하기 앞서 먼저 그럼 필요한 설정 내용이 있어야 되겠군요.

그럼 이번엔 Connection 사이트에 접속합니다.

로그인 해주시고...

사이트에 들어가셨으면 맨 상위 툴바 메뉴 에 있는 "블로그" 클릭하시고

그 다음 아래쪽의 "내 블로그"를 클릭하세요.

그리고 난 뒤에 원하는 블로그의 링크를 클릭하세요.

이번에 컴퓨터 공학 관련 자료를 한번 정리하려고 만든 Computer Sciences 블로그를

예로 들어봐야 겠군요. 원하는 블로그를 클릭해서 들어갑니다.

자 여기서 주소줄의 내용을 긁어 옵니다.

제 블로그의 주소는 아래와 같습니다.

http://platon.mauminfo.com/blogs/6f782857b91c/?lang=ko_kr


일단 기억만 해두시고...

여기 블로그의 외부에 제공하는 API URL은 다음과 같습니다.

/blogs/services/xmlrpc">http://<hostname>/blogs/services/xmlrpc

굵은 글씨 부분이 바로 그 API 주소 입니다.
일단 저기까지 파악되셨으면 아까 설치하려다 만 부분으로 다시 돌아갑니다.

자 이제 다음과 같이 넣어 주시기 바랍니다.


Web address of your blog ( 여러분의 블로그의 웹 주소 )에는

http://platon.mauminfo.com/blogs/146c9570-be4f-6f782857b91c/?lang=ko_kr

를 넣고, 아이디와 암호를 넣은 뒤,

자, 다음을 눌러보시죠!


앗!!!! 그런데?!


이게 무신 일..... 애석하게도 Connect 에서 제공하는 블로그를 외부에서 접근하려면,

http가 아닌 https 여야 되는것 같더군요.

일단 OK를 클릭하시고! 아까 넣었던 주소 중에 이번에는 http를 https로 변경해서 넣어주세요.

https://platon.mauminfo.com/blogs/1457b91c/?lang=ko_kr

자 그럼 이번에 해보시면 무사히 무언가 자동으로 처리되어 넘어가고

다시 무언가 입력하는 화면이 나옵니다. 여기가 바로 블로그에서 제공하는 외부 API 설정입니다.

일단 Type of blog that your are using( 현재 사용 중인 Blog의 유형 )에서

Metaweblog API를 선택하세요. 그리고 안의 주소에 다음과 같이 넣어주세요.

http://platon.mauminfo.com/blogs/services/xmlrpc

여기서 주의할 것은 아까 처럼 https를 넣게 되면 위의 캡처 화면과 동일한 에러를 뿜는다는거.

꼭 http로 해주세요. 그럼 다음과 같이 정리될 겁니다.


다음을 눌러주시구요....

그러면 실제 사용할 블로그를 선택하는 창이 뜨는데 여기서 올바른 블로그를 선택해주세요.

(안그러면 어뚱한데 글이 올라갑니다)

선택 하 다음!

그러면 무언가 자동적으로 쭉 진행되다 다음과 같은 알림 창이 뜹니다.

현재 블로그의 테마나 기타 설정 내용 대로 Windows Live Writer에서도 사용할 꺼냐는 것입니다.

최소한 블로그를 보는 것 처럼 편집하려면 역시 이게 좋기 때문에, 가급적 Yes를 선택해주시면 됩니다.

자 그럼 쭉 프로그레스가 차면서 무언가 열심히 작업합니다.

끝나면 마침 확인 창 같은 화면이 뜹니다.

블로그 닉네임은 자신이 알아보기 쉬운 말로 적어주시면 됩니다. 뭐 Connect - Computer Sciences 라고 적으셔도 되고..

그냥 두셔도 됩니다. Finish 하시면 됩니다.


그러면 다음과 같은 훤한 입력을 위한 화면이 뜹니다.


이제 열심히 포스팅 해주시면 됩니다 ㅋ.

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

이번엔 Syncmail 어택이냐!!!

잡글 2010. 1. 28. 09:48

지금 미라지 SCH-M480을 사용중인데, 싱크메일이라는 서비스로 최소한 메일 하나는

제대로 챙겨보고 있었다. 업무의 연장선이 길어진 문제도 있지만,

급할때나, 수시로 메일을 확인할 수 있는 매력은 제대로 인듯.

 

그런데, 오늘 아침 메일이 상당히 오래된 것들만 있길래, 왜 그런가 해서 쭉 보는데,

왠걸. 싱크하는데 오류가 나는 것이다.

 

서버에 연결할 수 없습니다. 나중에 다시 시도하십시오.

이 오류 메시지가 반복적으로 표시되면 관리자에게 문의하십시오.

지원코드 : 0x85010017

 

내 미라지에서는 저 에러를 Active Sync에 뿜고 끝난다.

 

이런... 왜 그럴까.. 라는 마음에 다시 회사에 와서 싱크 메일 사이트로 접속했다.

 

https://m.syncmail.co.kr/owa

 

하... 로그인 하니 아래의 화면을 쭉 뿜고 역시 뻣는다.

 

Request
Url: https://m.syncmail.co.kr:443/owa/default.aspx
User host address: 211.240.107.212
Exception
Exception type: Microsoft.Exchange.Data.Storage.ConnectionFailedTransientException
Exception message: Cannot open mailbox /o=TEAMEX2007/ou=Exchange Administrative Group (FYDIBOHF23SPDLT)/cn=Recipients/cn=neohind.
Call stack

Microsoft.Exchange.Data.Storage.ConnectionCachePool.OpenMailbox(String serverDn, String userDn, String mailboxDn, Guid mailboxGuid, Guid mdbGuid, Object identity, ConnectFlag connectFlag, OpenStoreFlag openStoreFlag, CultureInfo cultureInfo, String clientInfoString, Boolean secondTry)

Microsoft.Exchange.Data.Storage.ConnectionCachePool.OpenMailbox(String serverDn, String userDn, String mailboxDn, Guid mailboxGuid, Guid mdbGuid, Object identity, ConnectFlag connectFlag, OpenStoreFlag openStoreFlag, CultureInfo cultureInfo, String clientInfoString, Boolean secondTry)

Microsoft.Exchange.Data.Storage.ConnectionCachePool.OpenMailbox(String serverDn, String userDn, String mailboxDn, Guid mailboxGuid, Guid mdbGuid, Object identity, ConnectFlag connectFlag, OpenStoreFlag openStoreFlag, CultureInfo cultureInfo, String clientInfoString)

Microsoft.Exchange.Data.Storage.MailboxSession.Initialize(LogonType logonType, ExchangePrincipal owner, DelegateLogonUser delegateUser, Object identity, OpenMailboxSessionFlags flags)

Microsoft.Exchange.Data.Storage.MailboxSession.CreateMailboxSession(LogonType logonType, ExchangePrincipal owner, DelegateLogonUser delegateUser, Object identity, OpenMailboxSessionFlags flags, CultureInfo cultureInfo, String clientInfoString)

Microsoft.Exchange.Data.Storage.MailboxSession.Open(ExchangePrincipal mailboxOwner, WindowsPrincipal authenticatedUser, CultureInfo cultureInfo, String clientInfoString)

Microsoft.Exchange.Clients.Owa.Core.OwaWindowsIdentity.CreateMailboxSession(ExchangePrincipal exchangePrincipal, CultureInfo cultureInfo)

Microsoft.Exchange.Clients.Owa.Core.UserContext.Load(OwaContext owaContext)

Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.CreateUserContext(OwaContext owaContext, UserContextKey userContextKey, UserContext& userContext)

Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.PrepareRequestWithoutSession(OwaContext owaContext, UserContextCookie userContextCookie)

Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.InternalDispatchRequest(OwaContext owaContext)

Microsoft.Exchange.Clients.Owa.Core.RequestDispatcher.DispatchRequest(OwaContext owaContext)

System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()

System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

Inner Exception
Exception type: Microsoft.Mapi.MapiExceptionLogonFailed
Exception message: MapiExceptionLogonFailed: Unable to open message store. (hr=0x80040111, ec=-2147221231) Diagnostic context: Lid: 18969 EcDoRpcExt2 called [length=573] Lid: 27161 EcDoRpcExt2 returned [ec=0x0][length=132][latency=0] Lid: 23226 --- ROP Parse Start --- Lid: 27962 ROP: ropLogon [254] Lid: 17082 ROP Error: 0x80040111 Lid: 26937 Lid: 21921 StoreEc: 0x80040111 Lid: 27962 ROP: ropExtendedError [250] Lid: 1494 ---- Remote Context Beg ---- Lid: 26426 ROP: ropLogon [254] Lid: 22787 Error: 0x0 Lid: 13032 StoreEc: 0x8004010F Lid: 59409 Lid: 45073 Lid: 11173 StoreEc: 0x80040111 Lid: 22970 Lid: 8620 StoreEc: 0x80040111 Lid: 1750 ---- Remote Context End ---- Lid: 26849 Lid: 21817 ROP Failure: 0x80040111 Lid: 26297 Lid: 16585 StoreEc: 0x80040111 Lid: 32441 Lid: 1706 StoreEc: 0x80040111 Lid: 24761 Lid: 20665 StoreEc: 0x80040111 Lid: 25785 Lid: 29881 StoreEc: 0x80040111
Call stack

Microsoft.Mapi.MapiExceptionHelper.ThrowIfError(String message, Int32 hresult, Int32 ec, DiagnosticContext diagCtx)

Microsoft.Mapi.ExRpcConnection.OpenMsgStore(OpenStoreFlag storeFlags, String mailboxDn, Guid mailboxGuid, Guid mdbGuid, MapiStore msgStorePrivate, String& correctServerDn, ClientIdentityInfo clientIdentityAs, String userDnAs, String applicationId, CultureInfo cultureInfo)

Microsoft.Mapi.ConnectionCache.OpenMapiStore(String mailboxDn, Guid mailboxGuid, Guid mdbGuid, ClientIdentityInfo clientIdentity, String userDnAs, OpenStoreFlag openStoreFlags, CultureInfo cultureInfo, String applicationId)

Microsoft.Mapi.ConnectionCache.OpenMailbox(String mailboxDn, Guid mailboxGuid, Guid mdbGuid, WindowsIdentity windowsIdentityAs, String userDnAs, OpenStoreFlag openStoreFlags, CultureInfo cultureInfo, String applicationId)

Microsoft.Exchange.Data.Storage.ConnectionCachePool.OpenMailbox(String serverDn, String userDn, String mailboxDn, Guid mailboxGuid, Guid mdbGuid, Object identity, ConnectFlag connectFlag, OpenStoreFlag openStoreFlag, CultureInfo cultureInfo, String clientInfoString, Boolean secondTry)

 

 

이런 쌍!!!!

 

안정적인 서비스 제공이라고 광고지는 제대로 뿌리는데,

결과는 왜 저모냥이냐!!!!

 

서버 운영은 잘 하고 있으면 잊혀지지만, 한번 못하면 그냥 찍히는거 모르나...

이사람들이,하루 이틀 장사하는 것도 아니고...

 

UPDATE 2010.01.28. 오전 09:33

이제 되네 닝기미.

운영 똑바로좀 하삼...

그리고 원인이 생기고 사라졌으면 그에 따른 로그 정도는 남겨주시고.

해결됐다고 쌩까지 말고.

생각보다 진짜 답답한 운영을... 할말이 없으면 마음에도 없는 사과라도 하든가 쓰읍.

 

UPDATE 2010.01.28. 오전 09:46

답변 메일이 있었군.

나 말고도 다른 사람들도 안된 문제였네.

뭐 어쨌던, 자세한 설명은 없었으니 패스. 이거 부각 안되는 자신의 모습을 봐달라는 그런 액션은 아닌거지?

생활 서비스에서 그런거 바라는 거 아니겠지?

 

여튼 비상 대비에 대한 점수를 준다고 한다면 10점 만점에 6점 정도.

이거 좀 뭔가 답답함이 팍팍 느껴져서...게다가, 서비스의 생동감도 없고(게시판이 없어서 인지도)

 

다음에는 이런 일이 없도록 똑바로 하세요.

728x90
블로그 이미지

하인도1

[하인드/하인도/인도짱 의 홈페이지] 저만의 공간입니다. 다양한 소재들을 나열하는 아주 단순 무식한 홈페이지 입니다. 다양한 문서 자료도 있겠지만, 저의 푸념들도 있답니다.

  • «
  • 1
  • ···
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • ···
  • 157
  • »
250x250

블로그 내에 소스 코드 삽입 이사온 기념 스킨도... RSS 전문 기능 비활성화 관련. 스킨 바꾸어 보았습니다. 서버 파일 정리 좀 했습니다.

«   2026/03   »
일 월 화 수 목 금 토
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31

me2sms Buscuit Google Apps Engine 지름신 비스킷 것 좀 블로그 매뉴얼 Tutorial Visual Studio java 오류 인터파크 불만 SharePoint 수 Azure me2photo MOSS 2007 windows moss 친구 e-book 개발환경 협업 2010 WSS twi2me me2dayzm

  • Total :
  • Today :
  • Yesterday :

Copyright © 2015-2025 Socialdev. All Rights Reserved.

Copyright © 2015-2025 Socialdev. All Rights Reserved.

티스토리툴바