하늘높이의 프로그래밍 이야기

뭐 흔하디 흔한... 자바스크립트로 만드는 날짜 계산기지만...(별 어려운 기술도 아니구요.-.-)
하지만 혹시 필요한 사람 있을까? 혹은... 참고 할 사람이 있을까? 하여... 살짝 등록합니다.
(나중에 소스 잘못 리셋해서 내가 다시 쓸 수도 있고...)

<script type="text/javascript">
  //<![CDATA[
  //2011-04-07 Edit by kunmin00 스크립트
  function GetCellDate(year,month,day){

   var today = new Date();
   var dday = new Date(year,month-1,day);
   var days = Math.ceil((today-dday)/24/60/60/1000);
   var days = days-1;
   
   return days
  }

  document.write("<h2><a href='http://wipen.net/576'>결혼</a>한 지 D+" + GetCellDate (2010,10,23) + "일/<a href='http://wipen.net/613' >봉봉이</a>와 만날 날 D" + GetCellDate (2011,11,09) + "일</h2>" ) ;
  //]]>
</script>

이렇게 http://wipen.net에 넣었죠.^^ 아빠 블로거로의 한 걸음...

'Web Tech > JavaScript,XML' 카테고리의 다른 글

사이트 속도 개선 - PNG 최적화 하기  (0) 2015.10.02
AJAX 관련글 2008-03-12  (0) 2008.03.12
Prototype.js  (0) 2008.03.12

IE9에 추가된 기능 중 점프리스트라는 것이 있어서 블로그 메타테그로 추가해 보았다.
그런데... 뭐 누가 내 블로그 점프리스트를... 작업표시줄에 땡겨 놓을까 라는 생각이 들긴하지만....

어쨌든... 테스트 삼아 걸어본다.

메타테크 소스 등록

<meta name="application-name" content="Skylimit's Blog" />
<meta name="msapplication-task" content="name=하늘높이의 프로그래밍 이야기;action-uri=http://skylimit.pe.kr;icon-uri=http://skylimit.pe.kr/favicon.ico" />
<meta name="msapplication-task" content="name=하늘높이의 일상 속 사진 이야기;action-uri=http://www.wipen.net/;icon-uri=http://www.wipen.net/favicon.ico" />
<meta name="msapplication-task" content="name=Facebook;action-uri=http://www.facebook.com/#!/skylimit7;icon-uri=http://www.facebook.com/favicon.ico" />
<meta name="msapplication-task" content="name=Twitter;action-uri=http://twitter.com/skylimit7;icon-uri=http://twitter.com/favicon.ico" />
<meta name="msapplication-task" content="name=고릴라 3.0;action-uri=http://gorealra.sbs.co.kr;icon-uri=http://gorealra.sbs.co.kr/favicon.ico" />

그리고

IE9에 URL 바에서... URL을 드래그해서 작업표시줄에 갖다 놓으면....
이렇게 다음부터는... Jump List가 생겨난다.. 사내사이트나 인트라넷의 링크가 많다면 좋은 방법일 듯...

 

 

참고 문서: http://blogs.msdn.com/b/thebeebs/archive/2010/09/16/how-to-add-ie9-beta-pinning-to-you-website.aspx

'Web Tech' 카테고리의 다른 글

SBS뉴스 페이스북 페이지 퍼가기...  (0) 2016.03.29
페이스 북 URL 공유 캐시 지우기..  (0) 2011.05.02
W3C HTML Validator  (0) 2009.12.01

*혹시 저같이 고생하시는 분이 계실까 해서… 구성을 올려봅니다.
똑같이 쓸 데는 있을까 싶긴 하네요. @.@

 

최근에 집에 쓰던 공유기가 자주 멈추는 현상이 있어…(2005년 쯤 구입한 애니게이트 3000A)

공유기를 새로 구매했습니다. 이왕 새로 구매하는 거 거실까지 모두 Gigabit 으로 구성 해 볼까 해서..

Gigabit을 지원하는(NAT 170Mbps제한) 공유기를 구매하였습니다. 모델은.. IPTime N6004M이네요.

그리고… 6년 만에 새로 구매한 공유기를 이것저것 테스트 해보며^^ 와~ 요즘 공유기 좋아졌네 라고…

생각하고 있었는데…

 

공유기 아래 기가빗 스위치(넷기어 GS605 V2)를 쓰는 PC들이 엄청난 패킷 로스가 나는 것을 발견했습니다.

구형 모델인 에니게이트 쓸 때는 기존 스위치 아래에서는 기가 빗을 잘 썼는데… 이게 뭔일인가..

하여 랜선을 바꿔보고 별 짓을 다해도… 패킷로스가 주르륵…

 

공유기와 스위치, PC, 홈 서버의 구성을 변경 해야 겠다는 것을 느끼고..

아래와 같이 구성을 변경해 보았습니다.

-----원선-----공유기 ----PS3,Mac mini, 노트북, 무선 장비들…

               +-------*홈서버(Always On)---넷기어GS605 V2)—작업 PC,와이프 PC 등등등

* 홈서버 각종 스크립트 테스트 및 스토리지 서버
Linux linuxserver 2.6.34.7-66.fc13.i686.PAE #1 SMP Wed Dec 15 07:21:49 UTC 2010 i686 i686 i386 GNU/Linux


이러니까 속도가 그나마 정상적으로 나오네요.@.@ ㅋㅋ 47MByte(400Mbps)

아래는 Fedora core 13에서 적용한 브릿지 설정입니다. 참고하세요.

/etc/rc.local

#브릿지 인터페이스 생성

brctl addbr br0
brctl addif br0 eth0
brctl addif br0 eth1
ifconfig br0 mtu 9000
ifconfig br0 up
dhclient br0

ifconfig eth0 mtu 9000
ifconfig eth1 mtu 9000
ifconfig br0 mtu 9000

참고 문서:http://tldp.org/HOWTO/Ethernet-Bridge-netfilter-HOWTO-3.html

   1: /// <summary>
   2:    /// FFMPEG을 이용해서 프레임을 추출함
   3:    /// FFMPEGManager Class 1.0
   4:    /// Program by kunmin00
   5:    /// </summary>
   6:    public class FFMpegManager
   7:    {
   8:        const int IMG_COUNT = 60;
   9:  
  10:        /// <summary>
  11:        /// FFMPEG 을 이용해서 프레임 추출하기 kunmin00
  12:        /// </summary>
  13:        /// <param name="mediaFileInfo"></param>
  14:        /// <returns></returns>
  15:        public static Boolean GrapImageFromMediafile(MediaFile mediaFileInfo)
  16:        {
  17:  
  18:            TimeSpan duration = mediaFileInfo.DurationTime;
  19:  
  20:            LogHelper.LogMessage("[FFMPEG 이미지 추출 시작] " + mediaFileInfo.FilePath);
  21:  
  22:            Process myProcess = new Process();
  23:            FileInfo mediafileinfo = new FileInfo(mediaFileInfo.FilePath);
  24:            string mediafilename = mediafileinfo.Name.Replace(mediafileinfo.Extension, "");
  25:  
  26:            string LogPath = Application.StartupPath +"\\Temp";
  27:  
  28:            GlobalFunction.Current_Mainform.ChangeProgressBar(0, IMG_COUNT);
  29:            //디렉토리 체크
  30:            if (!Directory.Exists(LogPath))
  31:            {
  32:                LogHelper.LogMessage("[템프 폴더 생성]");
  33:                Directory.CreateDirectory(LogPath);
  34:            }
  35:  
  36:            try
  37:            {
  38:                for (int i = 0; i < IMG_COUNT; i++)
  39:                {
  40:                    myProcess.StartInfo.UseShellExecute = false;
  41:                    // You can start any process, HelloWorld is a do-nothing example.
  42:                    myProcess.StartInfo.FileName = "FFMPEG\\ffmpeg.exe";
  43:                    TimeSpan time = TimeSpan.FromSeconds((duration.TotalSeconds / IMG_COUNT) * i + 1);
  44:                    myProcess.StartInfo.Arguments = "-ss " + GetTimeStringFromTimeSpan(time) + " -vframes 1 -i \"" + mediaFileInfo.FilePath + "\" -y -f image2 " + ".\\Temp\\" + mediafilename + "_" + time.TotalSeconds.ToString() + ".png" + " -threads 4 -an";
  45:                    myProcess.StartInfo.CreateNoWindow = true;
  46:                    myProcess.StartInfo.RedirectStandardOutput = false;
  47:                    myProcess.Start();
  48:  
  49:                    GlobalFunction.Current_Mainform.ChangeProgressBar((i+1) * 100 / IMG_COUNT, IMG_COUNT);
  50:                    LogHelper.LogMessage("[" + (i+1) + "번째 이미지 추출] " + mediafilename + "_" + time.TotalSeconds.ToString() + ".png");
  51:  
  52:                    myProcess.WaitForExit();
  53:  
  54:                    Thread.Sleep(1);
  55:             
  56:                }
  57:  
  58:                LogHelper.LogMessage("[FFMPEG 이미지 추출 종료] " + mediaFileInfo.FilePath);
  59:  
  60:                myProcess.Close();
  61:                myProcess = null;
  62:            }
  63:            catch (Exception ex)
  64:            {
  65:                ExceptionHelper.ShowException(ex);
  66:                return false;
  67:            }
  68:  
  69:            return true;
  70:        }
  71:  
  72:        public static String GetTimeStringFromTimeSpan(TimeSpan duration)
  73:        {
  74:            return duration.Hours.ToString("00") + ":" + duration.Minutes.ToString("00") + ":" + duration.Seconds.ToString("00");
  75:        }
  76:  
  77:    }

'Application Tech > C#,VB.NET' 카테고리의 다른 글

MS의 Project Oxford  (0) 2015.05.07

요즘에 집들이로 얻은 플삼이(PS3) 덕뿐에 DNLA와 Playstation 3에 대한 관심이 굉장히 커졌다.

그러다 보니... 플스에서 바로 재생가능한 영상들에 대해서 찾아보게 되었는데...

Mpeg 1, Mpeg 2, H.264는 당연히 지원될꺼라 예상을 했던 애들인데...

WMV(VC-1) DIVX는 의외 였음... WMV는 XBOX 단독일꺼라 생각했는데...

뭐 어쨌든 정식적인 루트를 통해 다운받은 영상물도... 재생이 잘되니 좋다^^ ㅋㅋㅋ

Types of files that can be played

The following types of files can be played under (Video).

  • Memory Stick Video Format
  • - MPEG-4 SP (AAC LC)
  • - H.264/MPEG-4 AVC High Profile (AAC LC)
  • - MPEG-2 TS(H.264/MPEG-4 AVC, AAC LC)
  • MP4 file format
  • - H.264/MPEG-4 AVC High Profile (AAC LC)
  • MPEG-1 (MPEG Audio Layer 2)
  • MPEG-2 PS (MPEG2 Audio Layer 2, AAC LC, AC3(Dolby Digital), LPCM)
  • MPEG-2 TS(MPEG2 Audio Layer 2, AC3(Dolby Digital), AAC LC)
  • MPEG-2 TS(H.264/MPEG-4 AVC, AAC LC)
  • AVI
  • - Motion JPEG (Linear PCM)
  • - Motion JPEG (μ-Law)
  • AVCHD (.m2ts / .mts)
  • DivX
  • WMV
  • - VC-1(WMA Standard V2)

또 시간 나면 플삼이에 대해서 포스트...

출저: http://manuals.playstation.net/document/en/ps3/current/video/filetypes.html


 

실버라이트 4 프로파일링을 하려고

커맨드 창에 vsperfclrenv를 마구 때려도 없는 파일이라네...

문서를 찾아보니.. Visual Studio Premium 버전부터 되는군요 쩝

http://msdn.microsoft.com/ko-kr/library/z9z62c29.aspx

Visual Studio Ultimate

Visual Studio Premium

Visual Studio 2010 Professional 

Visual Studio Express

항목이 적용됨 항목이 적용됨 항목이 적용되지 않음 항목이 적용되지 않음


몇 주전에…

개인 서버로 사용하는 PC의 OS를 Fedora Core 13으로 업그레이드를 했는데….

이후 IPOD 동영상 인코딩을 위해  FFMPEG 등을 사용하기 위해 기존에 FreshRPMs를 사용하려고 봤더니..

너무 업데이트가 안되고 있는 것을 확인

 

요즘에 쓸만한 서드 파티 레포지토리를 찾아보았다.

그 중 맘에 드는 사이트가…

ATrpms… 페도라 코어 13의 rpm들도 따로 제공…

http://packages.atrpms.net/dist/f13/

 

#] rpm --import http://ATrpms.net/RPM-GPG-KEY.atrpms

#] vi /etc/yum.repos.d/atrpms.repo

 

[atrpms]
name=Fedora Core $releasever - $basearch - ATrpms
baseurl=http://dl.atrpms.net/f$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
enabled=1

#]yum install ffmpeg vlc faac gstreamer -y

 

IPOD  설치 환경 구축 완료!!

이제 기존에 올려놓았던 인코딩 스크립트를 이용해 인코딩을 해보죠^^

http://skylimit.pe.kr/146

집에 리눅스를 이것저것 작업하다가 커널 패닉이 났는데…

페도라 13을 새로 깔려고 준비 중이다.

윈도우를 키고 부트 프로그램을 깔아서 USB를 구울까…

맥에서 그냥 굽는 법은 없을까 하다가 하나 글을 발견…

 

$ diskutil list
/dev/disk0
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *80.0 GB    disk0
   1:                        EFI                         209.7 MB   disk0s1
   2:                  Apple_HFS HoonsHDD                79.7 GB    disk0s2
/dev/disk1
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:      GUID_partition_scheme                        *4.0 GB     disk1
   1:                        EFI                         209.7 MB   disk1s1
   2:                  Apple_HFS MemoryStick             3.7 GB     disk1s2

 

$ diskutil unmountDisk /dev/disk1
Unmount of all volumes on disk1 was successful

 

$ dd if=/Users/kunmin/Downloads/Fedora-13-i386-DVD.iso of=/dev/disk1

 

이렇게 하니까 구워지더라…

이 글은 하늘높이님의 2010년 7월 20일의 미투데이 내용입니다.

이번에 개발한 프로그램이 이번 월드컵과 관계가 있어서…

한국전을 포함한 웬만한 경기는 다 회사에서 보고 있어요.

 

물론 인터넷 생중계 방송을 봐도 충분히 화질이 좋지만…

한국전은… 인터넷으로 보니.. 모두 환호 후 실제 화면을 보게 되어 조금 짜증나더군요.

그리하여 구매한 TV카드...

(안테나는 몇 년전에 KOBA 전시회에서 받은 DTV 안테나가 있었지요.)

 

이 상품의 구매한 결정 포인트는…

제 노트북이 Windows 7 이므로.. Windows 7 에서 돌아갈  것(미디어 센터에서 돌아가면 더 좋음)

노트북과 Mac mini VMWare에서 사용할 예정이므로 USB 타입일 것

기본 안테나가 있을 것

그리고 가격!!

그래서 선택한 모델…

 

온에어 솔루션의 GT네요.

(온에어 솔루션… 예전 아날로그 TV카드의 최 강 모델이라 불리우던

사람과 셈틀의 온에어… 이 사람과 셈틀을 인수한 것이 온에어솔루션이죠.

아쉽게 한국 시장은 철수했다고 하나 충분히 지금도 시장에서 통할 수 있는 장비 입니다. ^^)

 

가격도 35000원으로 착 하구요. 각종 쿠폰 신공을 쓰면 30000원 정도에도 살 수 있었죠.

다만 아쉬운 점은 5세대 튜너라 전기를 조금 많이 먹고… 크기가 조금 크긴 한데요.

그리고 노트북에서 TV를 실시간으로 고화질로 볼 수 있었죠. 오 굿굿굿!!

지쑝 화이팅!!

(Windows 7 Media Center 에서 잘 나옵니다. ㅋㅋㅋ, Mac Mini의 VMWare에서도 잘 나오구요.^^)

저는 계속 근무 해야 하지만…!! 지쑝 16강 이상 해 줄꺼지?

몇 주 전에 필요에 의해서 조사하다가 발견한 사항인데…

조금 옵션하고 몇 가지 테스트를 더 해본 후 올리려다가… 몇몇 필요한 사람이 있다고 하여 일단 먼저 올린다.

이 글을 추후 테스트 등을 통해 변경 될 수 있음을 밝힌다.

 

더 놔두었다가는… 당분간은 바빠서 못 올릴 것 같기도 하고…

목적은 이렇게 동영상에서 자막을 선택해서 보기 위해서다.

 

윈도우에서 하는 방법은 eu81273님이 만드신 http://eu81273.tistory.com/203 툴을 이용하는 방법이 있다.

하지만 나는 홈서버로 운영하는 리눅스 머신에서 인코딩을 해야 하기 때문에… 위의 툴은 이용할 수가 없었다.

 

그리고 Mp4box만을 이용해서 넣는 방법이 없을까… 메뉴를 샅샅이 뒤진 결과… 아래와 같은 옵션을 주면 저렇게 멀티 랭귀지 설정이 가능했다.

 

#] MP4Box -add "영어자막.srt":lang=en:layout=0x60x0x-1:hdlr=sbtl:group=2 -add "한글자막.srt":lang=ko:layout=0x60x0x-1:hdlr=sbtl:group=2:disable "MP4파일"

 

나머지 다른 설정은 이전 글을 참고 바람

 


 

2010/04/14 - [Hardware/Encording] - MP4Box 만을 이용해 Ipod/Iphone 멀티 자막 입히기


2010/01/07 - [OS, DB/Linux,Unix] - 리눅스에서 iPod/iPhone 동영상에 자막 넣자!!


2010/01/07 - [OS, DB/Linux,Unix] - 리눅스에서 iPod/iPhone 인코딩하자!!!

2009/12/09 - [Media Tech/H.264,VC-1,Codec] - FFMPEG Rebuild


'Hardware > Encording' 카테고리의 다른 글

자막을 지원하는 DNLA 서버 - PS Media Server 1.4  (0) 2011.10.11

아이팟 터치에서 트위터를 하다 보니…

트위터 링크를 클릭해보면… 티스토리를 페이지가 나오는 블로그들이 많이 보였다.

티스토리에는 /m을 하면 모바일 페이지가 나오는데… 크디큰 PC용 페이지를 안보이는 방법이 없을까?

그렇다고 모바일 링크를 따로 발급할 수도 없고…

 

자바스크립트로 브라우저 Agent값을 비교해 /m을 붙이면 되겠구나…

대충 아래 같이 작성 …

 

<!-- 모바일 브라우저 인식 -->
<script type="text/javascript">
    
    //Script by kunmin, 2010-04-06
    var mobilewords = new Array("Windows CE","Mobile");
    for (var word in mobilewords) {
        if (navigator.userAgent.match(mobilewords[word]) != null && confirm("모바일 브라우저 입니다. 모바일 페이지로 이동하시겠습니까?")) {
            //티스토리 /m 모바일 페이지로 이동
            location.href = "http://" + location.host + "/m" + location.pathname;
            break;
        } 
    }
</script>
<!-- 모바일 브라우저 인식 -->

 

승인 안 하면 기존 웹 페이지 나온다.

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\notepad]
@="URL:Notepad Protocol"
"AppUserModelID"="Hoon.Notepad"
"URL Protocol"="노트패드 열려라"

[HKEY_CLASSES_ROOT\notepad\DefaultIcon]
@="C:\\WINDOWS\\system32\\notepad.exe"

[HKEY_CLASSES_ROOT\notepad\shell]
@=""

[HKEY_CLASSES_ROOT\notepad\shell\open]
@=""

[HKEY_CLASSES_ROOT\notepad\shell\open\command]
@="C:\\WINDOWS\\system32\\notepad.exe \"%1\""

특정 프로토콜 URL을 만들 필요가 있었는데...

찾아보니 위와 같이 레지스트리에 등록해 주면 프로그램과 아규먼트로 넘어오더라

 위 테스트는 notepad://파일경로

 

'Application Tech' 카테고리의 다른 글

Openfire Server  (0) 2009.12.01

1. 자바스크립트(HTML)->실버라이트

[HTML 부분]

- 스크립트 부분

Code Snippet
  1. <script type="text/javascript" >
  2.     function SendSilverlightPlayer(msg) {
  3.         //실버라이트의 함수를 호출
  4.         var silverlightControl = document.getElementById("silverlightPlayer");
  5.         silverlightControl.Content.SilverlightApp.SendToSilverlight(msg);           
  6.     }      
  7. </script>

- Tag 부분(Object  선언 부분)

Code Snippet
  1. <object data="data:application/x-silverlight," type="application/x-silverlight-2" width="100%" height="100%" id="silverlightPlayer">
  2.             <param name="source" value="ClientBin/Test.xap"/>
  3.             <param name="onerror" value="onSilverlightError" />
  4.             <param name="background" value="white" />
  5.             <param name="minRuntimeVersion" value="3.0.40818.0" />
  6.             <param name="autoUpgrade" value="true" />
  7.             <param name="enableGPUAcceleration" value="true"/>
  8.  
  9.             <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration: none;">
  10.                  <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Microsoft Silverlight 가져오기" style="border-style: none"/>
  11.             </a>
  12.         </object>

[실버라이트 부분]

- 메인 함수 부분

Code Snippet
  1. public MainPage()
  2. {
  3.     // 변수를 초기화하는 데 필요합니다.
  4.     InitializeComponent();
  5.  
  6.     HtmlPage.RegisterScriptableObject("SilverlightApp", this);
  7.  
  8.  
  9. }

- 함수 선언 부분

Code Snippet
  1. [ScriptableMember]
  2. public void SendToSilverlight(string sMessage)
  3. {
  4.    // HtmlPage.Window.SetProperty("status", sMessage);
  5.     MessageBox.Show(sMessage);
  6. }

 

2.실버라이트->자바스크립트

- 실버라이트 함수 호출 부분

Code Snippet
  1. void btnTest_Click(object sender, RoutedEventArgs e)
  2. {
  3.     ///HTML Javscript 호출 GetProperty("test")
  4.     ///InvokeSelf(param1,parma2,param3);
  5.     ScriptObject myScriptMethod = (ScriptObject)HtmlPage.Window.GetProperty("TransMessage");
  6.     myScriptMethod.InvokeSelf(txtMessage.Text);
  7.  
  8. }

- HTML 부분

Code Snippet
  1. <script type="text/javascript" >
  2.  
  3.     function TransMessage(msg) {
  4.         alert("자바스크립트" + msg);
  5.  
  6.     }

참고: http://weblogs.asp.net/albertpascual/archive/2008/08/13/javascript-communication-to-silverlight-2-0.aspx

블루투스 마우스를 하나 질렀습니다.

노트북을 들고 다니니까 생각 보다 유선이 불편하더군요.

그리하여 검색하던 중 발견한 로지텍 V470 화이트 모델입니다.

디자인도 깔끔하고 AA 건전지를 사용하는 것이 맘에 들어 구매했는데…

생각보다 성능도 괜찮네요.^^

블루투스라 노트북에서는 따로 수신기를 들고 다니지 않아도 되는 것도 괜찮고요.