Windows 에서 브라우져로 Web 에 연결된 MS 의 Excel, PPT 등을 열때 다음과 같은 에러로 열리지 않는경우가 있다.


 "이 웹 서버는 SSL(Secure Sockets Layer)을 사용하지 않으며 기본 인증에 의해 제어되기 때문에 기본적으로 액세스가 비활성화되어 있습니다."


 참 굉장히 짜증나는 상황이 발생하는데, SSL 에 기본인증을 사용할 수 없다는 나름 보안과 인증을 신경쓴 부분이라 해결하려면 windows 의 레지스터를  다음과 같이 수정해야 한다.

  1. Windows 시작버튼 > 프로그램 및 파일 검색에 regedit 을 입력하여 실행
  2. 다음 경로로 이동
    1. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
  3. 편집 메뉴에서 새로 만들기로 DWORD32 BasicAuthLevel 을 입력
  4. 값데이터로 2 를 입력
  5. 다음 경로로 이동
    1. Office 2010 일 경우
      1. HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Internet
    2. Office 2013 일 경우
      1. HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common\Internet
    3. 편집 메뉴에서 새로 만들기로 DWORD32BasicAuthLevel 을 입력
    4. 값데이터로 2 를 입력



Reference: http://support.microsoft.com/kb/2123563/ko




Posted by leechwin
,

크롬 브라우져에서 "Your profile could not be opened correctly." 라는 메시지가 발생하는 경우가 있다.


원인은 크롬의 Profile Data 가 잘못되어서 이파일을 삭제하면 해결이 된다.


운영체제별 다음 파일을 지우면된다.


  • Mac OSX
    • cd /Users/{user}/Library/Application Support/Google/Chrome/Default
    •  rm -rf History*; rm -rf Web\ Data;
  • Windows 7
    • cd C:\Users\{username}\AppData\Local\Google\Chrome\User Data\Default\
    • Delete the file named “Web Data”
  • Linux
    • cd ~/.config/google-chrome/Default
    • rm -rf Web\ Data;


Reference: http://www.fourleaftechnology.com/index.php/General/google-chrome-profile-could-not-be-opened-correctly-error.html

'Web' 카테고리의 다른 글

[WIDLPROC] widl 을 widlprocxml 파일로 변환하기  (0) 2015.01.15
Concurrency Programming of Web  (0) 2014.11.27
[Browser] Bookmarklet  (0) 2014.08.23
Browser Object Model  (0) 2014.02.03
[Browserling] Cross Browser Testing Service  (0) 2013.12.10
Posted by leechwin
,

 자바의 개발 목적으로 플랫폼을 크게 3가지로 나눌 수 있다.

  • Java SE(Java Standard Edition)
    • 기본적인 자바개발환경 플랫폼
    • JVM + API 개발환경
  • Java EE(Java Enterprise Edition) - J2EE
    • Java SE + Web Server 개발 환경
    • JSP, Servlet, EJB, JMS 등의 기능
    • WAS 서버라고 부르며 Jeus Glass fish, JBoss, Apache, Jetty 등의 제품이 있다.
  • Java ME(Java Micro Edition) - J2ME
    • 임베디드 장비를 위한 개발 환경
    • Java SE 의 기능을 축소


자바 개발 환경

  • JRE(Java Runtime Environment)
    • 자바 실행환경
    • JVM + Java API
  • JDK(Java Development Kit)
    • JRE + Java Tool + Java Compiler


Posted by leechwin
,

Eclipse 에서 JSDT 와 같은 프로젝트를 import 한 경우 다음과 같은 에러가 발생하는 경우가 있다.


"An API baseline has not been set for the current workspace"


이 에러는 Eclipse Plug-in Development 와 JSDT 등과 같은 플랫폼코드단의 버그로 보인다.


위와 같은 에러가 발생 할 경우 다음과 같이 Preference 설정을 바꿔준다.

  1. Windows > Preferences > Plug-in Development > API Baselines > Options > Missing API baseline\

  2. Error 로 설정된 부분을 Ignore 로 변경해준다.



Reference: http://exploreeclipse.blogspot.kr/2014/01/eclipse-error-api-baseline-has-not-been.html

Posted by leechwin
,

Eclipse 에서 JAXB 를 사용한 프로젝트에서 다음과 같은 에러가 발생하는 경우가 있다.


"The currently selected JAXB library provider is invalid"


위와 같은 에러가 발생 할 경우 다음과 같이 프로젝트 설정을 바꿔준다.

  1. JAXB 프로젝트를 클릭 후 마우스 우클릭으로 Properties 설정에 들어간다.

  2. Project Facets 를 클릭하고 JAXB 항목의 버전을 변경

    1. Java SE 6 이면 2.1 버전

    2. Java SE 7 이면 2.2 버전

  3. 버전을 바꾸면 "Further configuration available" 이라는 링크가 생기는데 이곳을 클릭하면 설정이 나타난다.

    1. Platform 설정은 Generic JAXB 2.X

    2. JAXB implementation 의 Type 은 JRE 로 설정하고 OK





Reference: http://stackoverflow.com/questions/7039493/jaxb-project-in-eclipse-indigo

Posted by leechwin
,

Java, C, Javascript 등의 소스들에 대한 포멧팅 프로젝트인 SourceCleanUp 을 소개한다.


SourceCleanUp 프로젝트는 소스코드내에 불필요한 tailing space 나 tab 을 제거 및 tab 으로 쓰인 문자를 space 로 치환하여 인덴테이션을 통일시켜서 코드의 가독성 및 통일성을 가지게 하는데 목적이 있다.


  • Github: https://github.com/leechwin/sourcecleanup

  • Source Clean Up Rules

    • 모든 tab 은 space x 4 로 변경시킨다.

    • 문장끝에 space 와 tab 을 제거한다.

    • 윈도우즈에서 개행시 발생하는 "\r\n" 의 "\r" 을 제거한다.

  • 사용법

    • Github 사이트에서 dist/source-cleanup.zip 파일을 다운받고 압축을 푼다.

    • 터미널에서 압축파일을 푼곳으로 이동한후 다음 명령어와 같이 대상 폴더와 파일확장자 를 지정하면, 대상 폴더의 모든 하위 폴더에 파일을 뒤져서 Source cleanup 을 수행한다.

      • $ start.sh -p <target folder path> [options]

      • 다음은 원하는 지정한 폴더의 모든 js 파일들에 대한 SourceCleanUp 을 수행한 예제이다.


    • 다음과 java 파일에 대한 수행한 소스코드 변경 결과이다.


 리눅스에서 expandunexpand 명령으로 tab to space 등의 동작도 가능하다.

Posted by leechwin
,

[JSP] Scriptlet

Java 2014. 8. 26. 17:38

JSP 에서 html 코드내에 Java 코드를 삽입하는 Scriptlet 기술에 대해 간략히 알아보자.

  • Scriptlet
    • 스크립틀릿은 JSP 에 쓰이는 기술이다.
      • JSP는 HTML기반에 자바코드가 결합되어 있으며, 스크립틀릿인 부분은 웹서버에서 실행되고 그 결과만 웹 브라우져로 전송된다.
    • 스크립틀릿은 JSP 파일내에 <% %>으로 구성되며, 그안에는 자바 코드를 기입할 수 있다.
    • 표현식
      • <%@ %> : 지시자(page, include, taglib)
      • <% %>   : 스크립틀릿
      • <%= %> : 표현식
        • 자바식 이 대입될수 있고 자바식은 상수나 변수 이름, 연산자를 포함한 식 또는 리턴 값이 있는 메서드 호출식이 될 수도 있다.
    •  예제

      • java.util.Calendar 클래스를 import로 추가 하여 <%%> 안에서 Java 로 계산 , HTML 에서 <%=> 로 변수값을 출력하는 예제


      • <%@ page language="java" contentType="text/html; charset=EUC-KR" pageEncoding="EUC-KR"%>

        <%@ page import="java.util.Calendar"%>

        <%

        Calendar calendar = Calendar.getInstance();

        int hour = calendar.get(Calendar.HOUR_OF_DAY);

        int minute = calendar.get(Calendar.MINUTE);

        int second = calendar.get(Calendar.SECOND);

        %>

        <html>

        <head>

            <title>Scriptlet</title>

        </head>

        <body>

          <h1>시간 <%=hour %>시 <%=minute %>분 <%=second %>초.</h1>

        </body>

        </html>


  • JSP(Java Server Page)
    • 자바로 동적 HTML을 만들기 위해 서버에서 실행되는 언어 
    • JSP 구성과 흐름도
      • 4. 웹서버는 jsp 요청이 오면 분석하여 서블릿컨테이너에 요청을 넘긴다
      • 5. 서블릿컨테이너에서는 jsp 파일에 해당하는 서블릿이 있는지 확인하고 없을 경우 jsp 파일을 서블릿으로 컴파일한다.
      • 6. 컴파일된 jsp 는 서블릿으로 변환되어 컨테이너에 적재
      • 8,9. 화면에 보일 내용을 정리해서 html 문서로 클라이언트에 전송
    • JSP/서블릿 컨테이너
      • jsp 요청이 오면 상응하는 서블릿이 처리한다.
      • jsp 요청에 상응하는 서블릿이 없다면 서블릿 컨테이너는 jsp 파일을 서블릿 소스로 변환해서 컴파일하고 서블릿으로 관리한다.
    • 서블릿
      • 웹어플리케이션(자바 웹프로그래밍)
      • 서블릿으로 컴파일된 후에는 메모리에서 처리되기 때문에 많은 사용자 접속도 원할히 처리할 수 있다.
      • jsp또는 다른 서블릿간의 데이터 공유가 쉽다. (page, request, session, application, scope 로 가능)


Posted by leechwin
,

[Browser] Bookmarklet

Web 2014. 8. 23. 00:35

브라우져의 북마크를 응용하는 기술인 Bookmarklet 에 대해 알아보도록 하자.


  • Bookmarklet
    • 북마크(Bookmark)와 애플릿(Applet)의 합성어.
    • 웹브라우저의 북마크를 활용한 작은 어플리케이션
    • 브라우져가 로딩된이후 북마크를 클릭하여 내부 자바스크립트가 동작는 플로우를 가진다.
  • Usage
    • 로딩된 브라우져의 정보를 외부 URL 의 Query 로 날려서 RestAPI 를 호출하거나 Dictionary lookup 등으로 영어사전등으로 활용가능하다.
    • 로딩된 DOM 등의 정보를 얻거나 수정하여 현재 배경화면 색등을 자신의 Theme 으로 변환가능하다.
    • Browser 의 window, document 등의 객체 정보와 외부 REST API 등을 활용한 다양한 방면으로 응용가능하다.


  • Basic
    • Previous knowledge for Bookmarklet
      • 다음과 같은 코드를 Browser 에서는 URL 에 "javascript" prefix 문자를 가진 contents 에 대해서는 자체적으로 파싱해서 처리
      •  <a href="javascript:alert('this is not uri');">link</a>

        Browser에서는 Bookmarklet 의 URL 정보에 기술된 Bookmarklet script 를 page 로드가 완료된뒤에 실행

      • Anonymous function 을 사용하여 namespace 충돌을 방지한다.

    • Simple Bookmarklet

      • 북마크를 클릭하였을경우 현재 브라우져의 엔진정보를 확인하는 북마클릿을 만들어보자.
        • Bookmarklet 생성 및 URI 수정
          • 임의의 북마크를 생성
          • 생성된 북마크를 수정하여 URL 에 다음과 같이 입력

          •  javascript:(function (){ alert(navigator.product);})();  

  • Advanced
    • External javascript library 삽입
      • 현재로딩된 페이지에 새로운 javascript 를 주입하는 기법
      • 기존 code symbol 과의 conflict 에 주의
      • 과한 용량의 파일을 주입하면 페이지가 멈출 수 있다
      •  javascript: (function () {

            var jsCode = document.createElement('script');
            jsCode.setAttribute('src', 'http://path/to/external/file.js');                 
          document.body.appendChild(jsCode);
         }());
    • HTML, Javascript 라이브러리나 REST 라이브러리 등의 테스트에 사용가능
      • Bookmarklet 만 배포 후 외부 URL 로 REST API 에 인자를 전달하여 테스트 가능
      • Cross-browser Test 가능
    • Validator 연동가능
    • 사용자 정의 Theme 가능
      • 사용자가 원하는 Theme 정의 가능
      •  javascript:void(document.body.style.background = 'black');


  • Practice
    • 구글검색기
      •  javascript:(function() {

        function se(d) {
         return d.selection ? d.selection.createRange().text : d.getSelection()
        }
        s = se(document);
        for (i=0; i<frames.length && !s; i++) s = se(frames[i].document);
        if (!s || s=='') s = prompt('Enter%20search%20terms%20for%20Google','');
        open('https://www.google.co.kr' + (s ? '#newwindow=1&q=' + encodeURIComponent(s) : '')).focus();
        })();
    • 메모장
      • Twitter 에 Mike Francis 가 bookmarklet code snippet 을 올린것이 화재
      • https://twitter.com/_mikefrancis/status/469788991668383744
      •  data:text/html, <body contenteditable style="font: 2rem/1.5 monospace; max-width:60rem; margin:0 auto; padding:4rem; ">

    • 게임
      • http://kathack.com/
      •  javascript:var i,s,ss=['http://kathack.com/js/kh.js','http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js'];for(i=0;i!=ss.length;i++){s=document.createElement('script');s.src=ss[i];document.body.appendChild(s);}void(0);

    • The Printliminator
      • http://css-tricks.com/examples/ThePrintliminator/



Posted by leechwin
,

[Ubuntu] libssl-dev

OS/Linux 2014. 8. 17. 19:26

 Ubuntu 에서 아파치웹서버나 TLS/SSL 에 관한 서비스 개발등을 이용하려고 할때 다음과 같은 에러가 발생하는 경우가 있다.

  • SSL/TLS libraries were missing or unusable

 이런경우는 SSL 개발에 관련된 라이브러리가 설치가 안되어서 발생하는 문제로 다음 명령어로 libssl-dev

build-essential 패키지를 설치하면 해결이 된다.

  • sudo apt-get install libssl-dev


 libssl-dev 패키지는 SSL 개발에 필요한 라이브러리와 헤더파일등을 가지고 있으며 아래에 링크에 자세한 내용을 살펴 볼수 있다.


'OS > Linux' 카테고리의 다른 글

[Ubuntu] disk usage  (0) 2015.12.20
UNIX TOOLBOX  (2) 2015.08.26
[Ubuntu] build-essential  (3) 2014.08.17
[Ubuntu] Terminal 관련 단축키  (0) 2014.06.08
[Ubuntu] grep 으로 원하는 문자열이 들어있는 파일 검색  (0) 2013.04.23
Posted by leechwin
,

[Ubuntu] build-essential

OS/Linux 2014. 8. 17. 19:17

 Ubuntu 에서 C, C++ 등을 개발하려고 컴파일을 할 때 다음과 같은 에러 메시지가 나오는 경우가 있다.

  • stdio.h: No such file or directory

 이런 경우는 개발에 필요한 stdio.h 등의 기본 라이브러리가 설치가 안되어서 발생하는 문제로 다음 명령어로 build-essential 패키지를 설치하면 해결이 된다.

  • sudo apt-get install build-essential


  build-essential 패키지는 개발에 필요한 기본 라이브러리와 헤더파일등을 가지고 있으며 아래에 링크에 자세한 내용을 살펴 볼수 있다.


'OS > Linux' 카테고리의 다른 글

UNIX TOOLBOX  (2) 2015.08.26
[Ubuntu] libssl-dev  (0) 2014.08.17
[Ubuntu] Terminal 관련 단축키  (0) 2014.06.08
[Ubuntu] grep 으로 원하는 문자열이 들어있는 파일 검색  (0) 2013.04.23
[Ubuntu] 한글 입력 설정  (1) 2013.04.19
Posted by leechwin
,