기본 콘텐츠로 건너뛰기

firfox tip

firefox 와 thunderbird 사용

  • fedora에서 제공되는 firefox 스크립트 파일
    • #!/bin/sh
      
      #
      # The contents of this file are subject to the Netscape Public
      # License Version 1.1 (the "License"); you may not use this file
      # except in compliance with the License. You may obtain a copy of
      # the License at http://www.mozilla.org/NPL/
      #
      # Software distributed under the License is distributed on an "AS
      # IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
      # implied. See the License for the specific language governing
      # rights and limitations under the License.
      #
      # The Original Code is mozilla.org code.
      #
      # The Initial Developer of the Original Code is Netscape
      # Communications Corporation. Portions created by Netscape are
      # Copyright (C) 1998 Netscape Communications Corporation. All
      # Rights Reserved.
      #
      # Contributor(s):
      #

      ##
      ## Usage:
      ##
      ## $ mozilla
      ##
      ## This script is meant to run a mozilla program from the mozilla
      ## rpm installation.
      ##
      ## The script will setup all the environment voodoo needed to make
      ## mozilla work.

      cmdname=`basename $0`

      ##
      ## Variables
      ##
      MOZ_DIST_BIN="/usr/lib/firefox-1.0"
      MOZ_PROGRAM="$MOZ_DIST_BIN/firefox"
      MOZ_CLIENT_PROGRAM="$MOZ_DIST_BIN/mozilla-xremote-client"
      MOZ_CLIENT_PROGRAM_PARAM="-a firefox"

      ##
      ## Set MOZILLA_FIVE_HOME
      ##
      MOZILLA_FIVE_HOME="$MOZ_DIST_BIN"

      export MOZILLA_FIVE_HOME

      ##
      ## Set LD_LIBRARY_PATH
      ##
      if [ "$LD_LIBRARY_PATH" ]
      then
      LD_LIBRARY_PATH=$MOZ_DIST_BIN:$MOZ_DIST_BIN/plugins:$LD_LIBRARY_PATH
      else
      LD_LIBRARY_PATH=$MOZ_DIST_BIN:$MOZ_DIST_BIN
      fi

      export LD_LIBRARY_PATH

      ##
      ## Make sure that we set the plugin path for backwards compatibility
      ##
      if [ "$MOZ_PLUGIN_PATH" ]
      then
      MOZ_PLUGIN_PATH=$MOZ_PLUGIN_PATH:/usr/lib/mozilla/plugins:$MOZ_DIST_BIN/plugins
      else
      MOZ_PLUGIN_PATH=/usr/lib/mozilla/plugins:$MOZ_DIST_BIN/plugins
      fi
      export MOZ_PLUGIN_PATH

      ##
      ## Set FONTCONFIG_PATH for Xft/fontconfig
      ##
      FONTCONFIG_PATH="/etc/fonts:${MOZILLA_FIVE_HOME}/res/Xft"
      export FONTCONFIG_PATH

      # Figure out if we need to ser LD_ASSUME_KERNEL for older versions of the JVM.

      function set_jvm_vars() {

      # see if the jvm exists in either of the locations
      if [ -L $MOZ_DIST_BIN/plugins/libjavaplugin_oji.so ]; then
      JVM_ORIG_LINK=$MOZ_DIST_BIN/plugins/libjavaplugin_oji.so
      fi

      if [ -L /usr/lib/mozilla/plugins/libjavaplugin_oji.so ]; then
      JVM_ORIG_LINK=/usr/lib/mozilla/plugins/libjavaplugin_oji.so
      fi

      if [ -z "$JVM_ORIG_LINK" ]; then
      return;
      fi

      JVM_LINK=`perl -e "print readlink('$JVM_ORIG_LINK')"`

      # is it relative? if so append the full path

      echo "${JVM_LINK}" | grep -e "^/" 2>&1 > /dev/null

      if [ "$?" -ne "0" ]; then
      JVM_LINK=$MOZ_DIST_BIN/plugins/${JVM_LINK}
      fi

      JVM_BASE=`basename $JVM_LINK`
      JVM_DIR=`echo $JVM_LINK | sed -e s/$JVM_BASE//g`
      JVM_COMMAND=$JVM_DIR/java
      if [ ! -r $JVM_COMMAND ]; then
      JVM_DIR=${JVM_DIR}../../../bin/
      JVM_COMMAND=$JVM_DIR/java
      # does the command exist?
      if [ ! -r "$JVM_COMMAND" ]; then
      return
      fi
      fi

      # export this temporarily - it seems to work with old and new
      # versions of the JVM.
      export LD_ASSUME_KERNEL=2.2.5

      # get the version
      JVM_VERSION=`$JVM_COMMAND -version 2>&1 | grep version | cut -f 3 -d " " | sed -e 's/\"//g'`

      unset LD_ASSUME_KERNEL

      case "$JVM_VERSION" in
      (1.3.0*)
      # bad JVM
      export LD_ASSUME_KERNEL=2.2.5
      ;;
      esac
      }

      function check_running() {
      $MOZ_CLIENT_PROGRAM $MOZ_CLIENT_PROGRAM_PARAM 'ping()' 2>/dev/null >/dev/null
      RETURN_VAL=$?
      if [ "$RETURN_VAL" -eq "2" ]; then
      echo 0
      return 0
      else
      echo 1
      return 1
      fi
      }

      function open_mail() {
      if [ "${ALREADY_RUNNING}" -eq "1" ]; then
      exec $MOZ_CLIENT_PROGRAM $MOZ_CLIENT_PROGRAM_PARAM 'xfeDoCommand(openInbox)' 2>/dev/null >/dev/null
      else
      exec $MOZ_PROGRAM $*
      fi
      }

      function open_compose() {
      if [ "${ALREADY_RUNNING}" -eq "1" ]; then
      exec $MOZ_CLIENT_PROGRAM $MOZ_CLIENT_PROGRAM_PARAM 'xfeDoCommand(composeMessage)' 2>/dev/null >/dev/null
      else
      exec $MOZ_PROGRAM $*
      fi
      }

      # OK, here's where all the real work gets done

      # set our JVM vars
      set_jvm_vars

      # check to see if there's an already running instance or not
      ALREADY_RUNNING=`check_running`

      # If there is no command line argument at all then try to open a new
      # window in an already running instance.
      if [ "${ALREADY_RUNNING}" -eq "1" ] && [ -z "$1" ]; then
      exec $MOZ_CLIENT_PROGRAM $MOZ_CLIENT_PROGRAM_PARAM "xfeDoCommand(openBrowser)" 2>/dev/null>/dev/null
      fi

      # check system locale
      MOZARGS=
      MOZLOCALE=`echo $LANG | sed "s|_\([^.]*\).*|-\1|g"`
      [ -f $MOZILLA_FIVE_HOME/chrome/$MOZLOCALE.jar ] && MOZARGS="-UILocale $MOZLOCALE"


      # if there's no command line argument and there's not a running
      # instance then just fire up a new copy of the browser
      if [ -z "$1" ]; then
      exec $MOZ_PROGRAM $MOZARGS 2>/dev/null >/dev/null
      fi

      unset RETURN_VAL

      # If there's a command line argument but it doesn't begin with a -
      # it's probably a url. Try to send it to a running instance.

      USE_EXIST=0
      opt="$1"
      case "$opt" in
      -mail)
      open_mail ${1+"$@"}
      ;;
      -compose)
      open_compose ${1+"$@"}
      ;;
      -*) ;;
      *) USE_EXIST=1 ;;
      esac

      if [ "${USE_EXIST}" -eq "1" ] && [ "${ALREADY_RUNNING}" -eq "1" ]; then
      # check to make sure that the command contains at least a :/ in it.
      echo $opt | grep -e ':/' 2>/dev/null > /dev/null
      RETURN_VAL=$?
      if [ "$RETURN_VAL" -eq "1" ]; then
      # if it doesn't begin with a '/' and it exists when the pwd is
      # prepended to it then append the full path
      echo $opt | grep -e '^/' 2>/dev/null > /dev/null
      if [ "${RETURN_VAL}" -ne "0" ] && [ -e `pwd`/$opt ]; then
      opt="`pwd`/$opt"
      fi
      exec $MOZ_CLIENT_PROGRAM $MOZ_CLIENT_PROGRAM_PARAM "openurl($opt)" 2>/dev/null >/dev/null
      fi
      # just pass it off if it looks like a url
      exec $MOZ_CLIENT_PROGRAM $MOZ_CLIENT_PROGRAM_PARAM "openurl($opt,new-window)" 2>/dev/null >/dev/null
      fi

      exec $MOZ_PROGRAM $MOZARGS ${1+"$@"}

  • firefox 0.9 또는 0.9.1에서는 아래와 같이...
    • #!/bin/sh
      
      BrowseName=`basename $0`
      eval MOZILLA_FIVE_HOME="/usr/local/$BrowseName"
      FLASH_GTK_LIBRARY=libgtk-x11-2.0.so.0
      export MOZILLA_FIVE_HOME FLASH_GTK_LIBRARY

      if $MOZILLA_FIVE_HOME/mozilla-xremote-client -a firefox "xfeDoCommand (openBrowser,$1)" > /dev/null 2>&1 ; then
      exit 0
      fi
      $MOZILLA_FIVE_HOME/$BrowseName "$1"

  • firefox 0.8 이하 버전 실행 스크립트 만들기
    • #!/bin/sh
      

      BrowseName=`basename $0`
      eval MOZILLA_FIVE_HOME="/usr/local/$BrowseName"
      FLASH_GTK_LIBRARY=libgtk-x11-2.0.so.0
      export MOZILLA_FIVE_HOME FLASH_GTK_LIBRARY

      if $MOZILLA_FIVE_HOME/$BrowseName -remote "openurl($1, new-tab)" > /dev/null 2>&1 ; then
      exit 0
      fi
      $MOZILLA_FIVE_HOME/$BrowseName "$1"
  • thunderbird 실행 스크립트
    • #!/bin/sh
      
      #

      export MOZILLA_FIVE_HOME=/usr/local/thunderbird

      case "$1" in
      -compose)
      opt=${*#*compose}
      # 오픈오피스쪽에서 메일을 보낼때 사용이 된다.
      # thunderbird is not running (thunderbird n'est pas lance)
      # "to=foo@nowhere.net"
      # "subject=cool page"
      # "attachment=http://www.mozilla.org", "attachment=file:///tmp/file.name"
      # example: "to=foo@nowhere.net,subject=cool page"
      if [ $(ps ax | grep thunderbird-bin | wc -l) -gt 1 ]; then
      $MOZILLA_FIVE_HOME/thunderbird -remote "xfeDoCommand (composeMessage,$opt)"
      else
      $MOZILLA_FIVE_HOME/thunderbird -compose $opt
      fi
      ;;
      -mail)
      # 파이어폭스에서 페이지를 메일로 보낼때 사용이 된다.
      opt=`echo $*| sed -e s/-mail// -e s/mailto:?/to=,/ -e s/body/attachment/ -e s/\&/,/`
      if [ $(ps ax | grep thunderbird-bin | wc -l) -gt 1 ]; then
      $MOZILLA_FIVE_HOME/thunderbird -remote "xfeDoCommand (composeMessage,$opt)"
      else
      $MOZILLA_FIVE_HOME/thunderbird -compose $opt
      fi
      ;;
      *)
      if [ $(ps ax | grep thunderbird-bin | wc -l) -gt 1 ]; then
      $MOZILLA_FIVE_HOME/thunderbird -remote "xfeDoCommand (openInbox)"
      else
      # thunderbird is not running (thunderbird n'est pas lance)
      $MOZILLA_FIVE_HOME/thunderbird
      fi
      ;;
      esac
  • 기본 브라우저 사용
    • 만일 그놈을 사용을 하고 있다면 : 환경설정> 기본 프로그램에서 브라우저 사용을 사용자 설정에서 만들어 준 스크립트 명으로 지정을 해준다.
      • /path/to/the_shell_script %s
  • thunderbird 에서 기본 브라우저 사용을 지정하는 방법은 다음과 같다. ~/.thunderbird/default/*/prefs.js 파일에 아래와 같은 라인을 넣어 준다.
    • user_pref("network.protocol-handler.app.http", "/path/to/the_shell_script");

속도 빠르게 하기

    user_pref("general.smoothScroll", true);
    
    user_pref("network.image.imageBehavior", 0);
    user_pref("network.http.max-connections", 48);
    user_pref("network.http.max-connections-per-server", 16);
    user_pref("network.http.pipelining", true);
    user_pref("network.http.pipelining.firstrequest", true);
    user_pref("network.http.pipelining.maxrequests", 100);
    user_pref("network.http.proxy.pipelining", true);
    user_pref("nglayout.initialpaint.delay", 100);

플레쉬 속도 빠르게 하기

  • mozilla 실행파일에 아래와 같은 라인은 넣어 준다. 이것은 gtk2를 사용을 하겠다는 것이다.
    • export FLASH_GTK_LIBRARY=libgtk-x11-2.0.so.0 
      

리눅스 모질라 한글 인쇄

  • 리눅스 모질라에서 한글을 인쇄하는 방법이다.
  • 레드헷에서 제공이 되는 모질라의 경우는 기본적으로 한글이 지원이 되나 그렇지 않을 경우는 아래와 같이 해주면 된다.
    • URL주소창에 about:config 를 입력을 한후 print.postscript.nativefont.ko 항목을 찾아 아래의 값을 넣어 준다.
      Baekmuk-Gulim-KSC-EUC-H
      
    • 계속해서 about:config 에서 오른쪽 마우스 버튼을 클릭을 하여 new -> string을 선택한다.
      preference name : print.postscript.nativecode.ko
      
      value : euc-kr
    • 또는 prefs.js 파일에
      user_pref("print.postscript.nativecode.ko", "euc-kr");
      
      user_pref("print.postscript.nativefont.ko", "Baekmuk-Gulim-KSC-EUC-H");
  • 위와같이 설정을 마치고 브라우즈를 재시작을 하면 한글이 인쇄가 되는 것을 볼 수 있다.

인터넷 키워드 URL

  • 모질라 주소창에서 한글로 입력시 해당싸이트에 들어 갈수 있는 방법을 기재한다. 예를 들어 모질라 주소창에 "엠파스"를 입력을 하면 www.empas.com에 들어가는 것이다.
  • 메뉴 - 편집 - 환경설정 에서 스마트 검색을 선택하고 그기서 인터넷 키워드 사용을 체크 한다.
  • 주소창에 "about:config"를 입력하면 환경설정 리스트가 나오는데 그기서 keyword.URL 이라는 항목을 찾아서 내용에 아래와 같이 넣어 준다.
    http://www.google.com/search?btnI=I%27m+Feeling+Lucky&ie=UTF-8&oe=UTF-8&q=       # google 이용
    
    http://search.netpia.com/search.asp?action=search&com=netpia_nb&keyword= # 넷피아 이용 잘안됨 UTF8을 지원을 하지 않기 때문
  • 그리고 모질를 재시작하고 주소창에 한글로 입력을 해본다. "깊은바다속으로"를 입력하면 www.intosea.com으로 접속이 될것 이다.
  • keyword.URL에 대한 자세한 사항은 http://www.mozilla.org/docs/end-user/internet-keywords.html 에서 확인을 한다.

기능 북마크 만들기

  • 아무런 북마크를 만들고 URL에 아래와 같이 입력을 한다. 익스에서 우짜고 저짜고 하면 걍 무시하고 한다.
    javascript:top.location='http://ocn.amikai.com/amiweb/browser.jsp?url='+top.location+'&langpair=2%2C9&c_id=JA&display=2'
    
  • 일본어 싸이트에 들어가서 번역된 페이지를 보고 싶으면 만든 북마크를 클릭을 하면 바로 번역을 해준다.
  • 다른쪽 URL 엠파스나 네이버를 이용을 할경우 javascript:top.location='URL궈리문'+top.location+'URL궈리문2' 이런식으로 적어 주면 된다.
  • 아래의 링크는 마우스 오른쪽 버턴을 눌러서 북마크 추가 한다.
  • gtk2용 모질라로 엠파스에 들어 가면 화면 레이어가 어긋난다. td관련 폰트를 10pt로 소스에서 지정이 되어 있어서 그런 것인데 웹페이지 소스는 바뀔 생각이 없는 것 같으니깐 모질라에서 바꾸자
    • $ cd ~/.mozilla/defaults/..../chrome     # 모지랄 설정 디렉토리에 있는 chrome디렉토리까지 들어 간다.
      
      vim userContent.css # userContent.css 라는 파일을 만들어 준다.
    • 다음과 같이 내용을 기재 한다.
      td {font-size:9pt !important}
      
    • 간단히 설명을 한다면 td부분에 대해서는 웹페이지에서 설정한것을 무시하고 폰트를 9로 하라는 이야기다.
  • 자 만들었으면 엠파스에 접속을 해보자 레이어가 잘 나오는것이 보이는 가? 아..완벽하지는 않다. 비밀번호부분 레이어가 그래도 깨지는데 이것으로 만족하자
  • 계속해서 자기만의 css를 추가 해 줄수 있는데 이럴경우 웹에서 지정된 레이어가 제대로 표시 못할 때가 많다. 그래서 많이는 추가 하지 말고 꼭 필요하다고 생각되는 것만 추가 하자.

확장툴

mozex 사용하기

  • mms 프로토콜을 사용을 하려면 mozex가 설치가 되어야 한다. mozex는 http://mozex.mozdev.org 에서 설치를 할 수 있다.
  • mozex를 설치를 하고 아래의 화면 처럼 지정을 하면 된다.

    mozex.png

  • Mailer: /PATH/thunderbird -compose "to=%a,subject=%S"
  • Source: /PATH/hanterm -e vim %t
  • Textareas: /PATH/gvim %t
  • 아래의 버전은 패치가 된 버전이다. Textarea 관련해서 한글이 깨지는 것을 방지 해준다.
  • 다운로드 : mozex.jar
  • 패치 파일은 다음과 같다.
    • diff -uNr unzip-5.50.org/convfn.c unzip-5.50/convfn.c
      
      --- unzip-5.50.org/convfn.c 1970-01-01 08:00:00.000000000 +0800
      +++ unzip-5.50/convfn.c 2004-10-28 04:35:07.045801088 +0800
      @@ -0,0 +1,53 @@
      +#ifdef _USE_ICONV
      +#include
      +#include
      +#include
      +#include
      +#define ICONV_BUFSIZE 260
      +char* getLegacyCharset() {
      + char *lang = getenv("LANG");
      + if(!lang) return "ASCII";
      + if(!strncmp(lang, "ko", 2)) return "UHC";
      + if(!strncmp(lang, "zh_TW", 5)) return "BIG5";
      + if(!strncmp(lang, "zh_GB", 5)) return "GB2312";
      + if(!strncmp(lang, "ja", 2)) return "EUC-JP";
      + if(!strncmp(lang, "ru", 2)) return "KOI8-R";
      + if(!strncmp(lang, "uk", 2)) return "KOI8-U";
      + if(!strncmp(lang, "th", 2)) return "TIS-620";
      + if(!strncmp(lang, "vi", 2)) return "TCVN";
      + if(!strrchr(lang, "8-FTU")) return "UHC";
      + return "ASCII";
      +
      +}
      +
      +
      +char* convertfn(char *filename) {
      + size_t ileft, oleft;
      + iconv_t cd;
      + size_t iconv_result;
      + size_t size;
      + char inbuf[ICONV_BUFSIZE];
      + char outbuf[ICONV_BUFSIZE];
      + char *inptr = inbuf;
      + char *outptr = outbuf;
      +
      + size = strlen(filename)+1;
      + strncpy(inbuf, filename, size);
      + ileft = size;
      + oleft = sizeof(outbuf);
      +
      + cd = iconv_open(nl_langinfo(CODESET), getLegacyCharset());
      +
      + iconv_result = iconv(cd, &inptr, &ileft, &outptr, &oleft);
      +
      + outbuf[ICONV_BUFSIZE - oleft] = 0;
      + if(iconv_result != -1) strcpy(filename, outbuf);
      +
      + iconv_close(cd);
      + return filename;
      +}
      +#else
      +char* convertfn(char *filename) {
      + return filename;
      +}
      +#endif
      diff -uNr unzip-5.50.org/convfn.h unzip-5.50/convfn.h
      --- unzip-5.50.org/convfn.h 1970-01-01 08:00:00.000000000 +0800
      +++ unzip-5.50/convfn.h 2004-10-28 04:35:07.045801088 +0800
      @@ -0,0 +1,5 @@
      +#ifndef _CONVERT_FILE_NAME_H
      +#define _CONVERT_FILE_NAME_H
      +char* convertfn(char *filename);
      +#endif
      +
      diff -uNr unzip-5.50.org/extract.c unzip-5.50/extract.c
      --- unzip-5.50.org/extract.c 2002-01-04 03:30:32.000000000 +0800
      +++ unzip-5.50/extract.c 2004-10-28 04:35:06.872827384 +0800
      @@ -2213,6 +2213,11 @@
      return (char *)space;

      #else /* NATIVE: EBCDIC or whatever */
      +#if 1
      +#include "convfn.h"
      + raw = convertfn(raw);
      +#endif
      +
      return (char *)raw;
      #endif

      diff -uNr unzip-5.50.org/fileio.c unzip-5.50/fileio.c
      --- unzip-5.50.org/fileio.c 2002-02-18 06:43:28.000000000 +0800
      +++ unzip-5.50/fileio.c 2004-10-28 04:35:06.872827384 +0800
      @@ -2133,10 +2133,15 @@
      return PK_EOF;
      G.filename[length] = '\0'; /* terminate w/zero: ASCIIZ */

      +#if 0
      /* translate the Zip entry filename coded in host-dependent "extended
      ASCII" into the compiler's (system's) internal text code page */
      Ext_ASCII_TO_Native(G.filename, G.pInfo->hostnum, G.pInfo->hostver,
      G.pInfo->HasUxAtt, (option == DS_FN_L));
      +#else
      +#include "convfn.h"
      + convertfn(G.filename);
      +#endif

      if (G.pInfo->lcflag) /* replace with lowercase filename */
      STRLOWER(G.filename, G.filename);
      diff -uNr unzip-5.50.org/funzip.c unzip-5.50/funzip.c
      --- unzip-5.50.org/funzip.c 2002-01-13 06:59:30.000000000 +0800
      +++ unzip-5.50/funzip.c 2004-10-28 04:35:06.872827384 +0800
      @@ -302,6 +302,7 @@
      uch h[LOCHDR]; /* first local header (GZPHDR < LOCHDR) */
      int g = 0; /* true if gzip format */
      unsigned method = 0; /* initialized here to shut up gcc warning */
      + setlocale(LC_ALL, "");
      #if CRYPT
      char *s = " [-password]";
      char *p; /* password */
      diff -uNr unzip-5.50/unix/Makefile unzip-new/unix/Makefile
      --- unzip-5.50/unix/Makefile 2002-02-17 02:00:38.000000000 +0900
      +++ unzip-new/unix/Makefile 2004-10-28 00:22:11.490658848 +0900
      @@ -81,16 +81,16 @@
      OSDEP_H =

      # object files
      -OBJS1 = unzip$O $(CRC32)$O crctab$O crypt$O envargs$O explode$O
      +OBJS1 = unzip$O convfn$O $(CRC32)$O crctab$O crypt$O envargs$O explode$O
      OBJS2 = extract$O fileio$O globals$O inflate$O list$O match$O
      -OBJS3 = process$O ttyio$O unreduce$O unshrink$O zipinfo$O
      +OBJS3 = process$O ttyio$O unreduce$O unshrink$O zipinfo$O
      OBJS = $(OBJS1) $(OBJS2) $(OBJS3) $M$O
      LOBJS = $(OBJS)
      OBJSDLL = $(OBJS:.o=.pic.o) api.pic.o
      -OBJX = unzipsfx$O $(CRC32)$O crctab_$O crypt_$O extract_$O fileio_$O \
      +OBJX = unzipsfx$O convfn$O $(CRC32)$O crctab_$O crypt_$O extract_$O fileio_$O \
      globals_$O inflate_$O match_$O process_$O ttyio_$O $M_$O
      LOBJX = $(OBJX)
      -OBJF = funzip$O $(CRC32)$O cryptf$O globalsf$O inflatef$O ttyiof$O
      +OBJF = funzip$O convfn$O $(CRC32)$O cryptf$O globalsf$O inflatef$O ttyiof$O
      #OBJS_OS2 = $(OBJS1:.o=.obj) $(OBJS2:.o=.obj) os2.obj
      #OBJF_OS2 = $(OBJF:.o=.obj)
      UNZIP_H = unzip.h unzpriv.h globals.h $(OSDEP_H)
      @@ -719,8 +719,8 @@
      freebsd: unix_make
      @echo 'NOTE: use bsd target for non-Intel FreeBSD compiles (if any).'
      $(MAKE) unzips CC=gcc LD=gcc AS=gcc- CF="-O3 -Wall -I. -DASM_CRC -DBSD $(LOC)"\
      - AF="-Di386 $(AF)" CRC32=crc_gcc
      + CF="-O3 -Wall -I. -DASM_CRC -DBSD -D_MBCS -D_USE_ICONV $(LOC)"\
      + LF2="-liconv $(LF2)" AF="-Di386 $(AF)" CRC32=crc_gcc

      # Generic BSDish Unix gcc. ``The -O3 only works with later versions of gcc;
      # you may have to use -O2 or -O for earlier versions. I have no idea why
      @@ -764,8 +764,8 @@
      linux: unix_make
      @echo 'NOTE: use linux_noasm target for non-Intel Linux compiles.'
      $(MAKE) unzips CC=gcc LD=gcc AS=gcc- CF="-O3 -Wall -I. -DASM_CRC $(LOC)"\
      - AF="-Di386 $(AF)" CRC32=crc_gcc
      + CF="-O3 -Wall -I. -DASM_CRC -D_MBCS -D_USE_ICONV $(LOC)"\
      + AF="-Di386 $(AF)" CRC32=crc_gcc
      # GRR: this echo is pointless; if user gets this far, no difference to install
      # @echo 'Be sure to use the install_asm target rather than the install target'

테마

검색엔진

  • 엠파스 검색엔진을 추가 하자

링크

댓글

이 블로그의 인기 게시물

사람들이 보드게임을 하는 이유

사람들이 보드게임을 통해 얻고자 하는 건 무엇일까? 보드게임을 디자인함에 있어, 가장 먼저 `왜 사람들은 보드게임을 하려고 하는지`에 대한 문제에 접하게 된다. 사람들은 많은 이유들로 인해 보드게임을 즐긴다. 이제 그 이유들을 살펴보기로 하자. 성공적인 게임의 중요한 요소 중 하나는 플레이어가 현명한 판단을 내려 말을 이동시키거나 올바른 답을 찾았을 때 느끼는 희열에 있다. Whit Alexander와 Richard Tait는 어느 잡지사와의 인터뷰에서 자신들이 개발한 `크레니움(Cranium; 1998년에 발매된 유명한 파티게임)은 친구들 앞에서 영리하고 재미있는 사람으로 인정받을 수 있게 하기 위해 만들었다고 했으며, 최소한 게임을 진행하는 동안 1번 이상 같은 편끼리 하이파이브를 할 수 있도록 고안했다고 한다. 모든 성공적인 보드게임들은 플레이어 자신이 현명하고 창조적이며 냉철하다고 느낄 수 있게 해 준다. 이러한 `감정적 보상`은 사람들이 계속해서 보드게임을 즐기게 해 준다. 보드게임을 하는 가장 큰 이유 중의 하나는 친구들과 함께 어울릴 수 있는 기회를 제공하고 사교에 도움을 주기 때문이다. `던전 앤 드래곤(Dungeons & Dragons: TRPG의 대표작)` 같이 어렵고도 시간이 많이 걸리는 게임의 디자이너들 조차도 게임의 즐거움은 친구들과 같이 떠들고 얘기하는데 있다는 것에 동의한다. 사람들이 몸짓으로 단어 맞추기 보드게임을 하는 것을 살펴보라. `감정적 보상`이란 것이 무엇인지를 깨닫는 것은 어렵지않다. 보드게임중에 나오는 웃음의 양에 따라 그 보드게임이 전략 보드게임인지 사교 보드게임(파티 보드게임이라고도 불린다.)인지를 판단할 수 있다. 즉, 좋은 전략 보드게임은 플레이어들이 조용히 생각하도록 만든다. 그러나, 좋은 사교 보드게임은 시끌벅적한 소리와 웃음을 만든다. 전략 보드게임은 상대방에게 자신의 두뇌회전이 뛰어남을 과시할 수 있는 기회를 준다. 그들에게 있어서의 `감정적 보상`은 상대방이 놓...

Oracle Instant Client + sqlldr install

Instant Client Downloads + SQL*Loader 설치 http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html 아래와 같이 버젼에 따라서 3가지를 다운로드 합니다. basic, sdk, sqlplus instantclient-basic-linux.x64-11.2.0.3.0.zip instantclient-sdk-linux.x64-11.2.0.3.0.zip instantclient-sqlplus-linux.x64-11.2.0.3.0.zip 설치되어있는 oracle 에서 rdms , nls , sqlldr 를 복사합니다. cp -r /home/oracle/product/10/rdbms ~eek/usr/instantclient_10_2/ cp -r /home/oracle/product/10/nls ~eek/usr/instantclient_10_2/ # 파일 복사 cp -r /home/oracle/product/10/bin/sqlldr ~eek/usr/instantclient_10_2/ # 권한설정 chown -R eek.eek ~eek/usr/instantclient_10_2/ # 환경변수 등록 export NLS_LANG=AMERICAN_AMERICA.KO16KSC5601 export ORACLE_HOME=/home/eek/usr/instantclient_10_2 export ORA_NLS10=$ORACLE_HOME/nls/data

git commit 버젼 정보를 이용한 배포 버전 관리

cvs를 사용하다가 svn을 사용하니깐 편해졌다고 느끼고 있었는데 git을 사용하니깐 차원이 다른 편함이네요.  자유로워진 느낌이랄까.  회사를 옮기면서 버젼 관리 고민하다가 컴파일되어서 배포되는 파일들이 많아서 git commit hash 값으로 하면 관리하기 편할것 같아서 찾아보니 좋은 정보가 있어서 공유합니다. powershell로 되어있는데 python으로  약간 수정해서 사용하고 있습니다.  일단 버젼에 대한 고민이 없어진것 같아서 좋은것 같네요... 다른 분들은 어떻게 관리들 하시는지 궁금하네요??? ㅋㅋ python코드 공유합니다.  hash/email/날짜 git log -n 1 --format="%h - %H%n%ae%n%ai" c197222 - c197222f052002126ede8ec71b4fb1e655c29722 eek@메일주소 2014-02-05 19:25:00 +0900 변경확인 컴파일전에 commit안된 것들 있는지 확인 git ls-files --exclude-standard -d -m -k | wc -l  생성된 버젼 sample version.h파일 생성 version생성 스크립트 make_version.py 요약 commit hash/email/date 추출 파일들 commit 되어 컴파일되어있는지 확인 version.h파일 생성  컴파일 후 배포  끝. 참고:  http://blog.didenko.com/2013/11/version-inventory.html