스티브잡스 스탠포드 졸업식 연설

영어 리스닝이 안되서 포기했던 잡스의 졸업식 연설을
http://www.viikii.net 라는 사이트를 통해 번역자막과 함께 볼 수 있게 되었다.

주의점: 이 영상만 좀 문제가 있는지 화면상에서 (subtitle을 다른언어로 두세번 왔다갔다 해야 비로서 한글자막이 나오네요. )









by 지니짱 | 2008/06/29 00:20 | 영어 | 트랙백 | 덧글(0)

[GMO] 유전자 변형 농산물

유전자 변형 농산물(Genetically Modified Organism : GMO

TV에서 간략한 소개를 봤다.

기존 옥수수: 해충이 갈아먹는다.
유전자 변형 옥수수: 해충을 죽이는 살충유전자를 가진 옥수수를 만든다.

기존 옥수수: 옥수수 근처의 잡초를 없애기 위해 제초제를 뿌리면 같이 죽기도 한다.
유전자 변형 옥수수:  잡초에 내성을 가진 유전자를 가진 옥수수를 만든다.

따라서 유전자 변형 옥수수는 병충해나 제초제에 강해서 벌레에 해를 입지도 않고, 튼튼하기 때문에
더 많은 수확을 하며, 기존 재배방법에 비해 관리가 비약적으로 쉽다. 따라서 가격도 싸다.

그러나 이런 식으로 만들어진 유전자조작 면화를 먹은 양들은 집단 질병을 일으키며,
이런 음식을 먹은 벌들의 내장에도 변형 유전자가 발견되었다.
즉 변형유전자 그것을 먹은 포식자에게 남겨진다는 것이다.

이런 옥수수는 온갖 전분을 이용한 가공식품으로 만들어지며 우리는 알게 모르게 살충제를 먹게 되는 것이다. -_- 

by 지니짱 | 2008/06/20 23:42 | 미분류 | 트랙백 | 덧글(0)

[프리젠테이션 젠] 생각을 바꾸는 프리젠테이션 디자인

프리젠테이션 젠

생각을 바꾸는 프리젠테이션 디자인

원서명 : Presentation Zen: Simple Ideas on Presentation Design and Delivery
가르 레이놀즈 지음
정순욱 옮김

프리젠테이션 책 소개 :  http://www.acornpub.co.kr/book/presentation

에이콘 출판사 블로그 : http://www.acornpub.co.kr/blog

저자 블로그: http://www.presentationzen.com/


말주변도 없고 미적감각도 없는 공돌이 입장에서 잘 만든 프리젠테이션은 마치 마법의 동화책을 보는 듯한
느낌을 준다. 
프리젠테이션에 대해 단순한 파워포인트의 사용법이나 팁정도를 알려주는 기존책과 다른 
내가 전달하고자 하는 내용과  상대방이 원하는 내용을 간결하게 표현할 수 있을지에 대해
알려줄 수 있는 책이 되었으면 한다.

저자의 블로그에서 동영상 몇개를 보았는데,  commoncraft이후로 쉬운 영어와 좋은 프리젠테이션들을 볼 수 있어서
 좋았다.

가이가와사키의 이 책을 사야하는 이유

 

 

by 지니짱 | 2008/06/17 00:50 | 영화 책 | 트랙백(1) | 덧글(3)

[jsunit] javascript 테스팅프레임웍

홈페이지 http://www.jsunit.net/
다운로드 https://sourceforge.net/project/showfiles.php?group_id=28041
(이클립스 플러그인은 수동으로 plugin 디렉토리에 복사)
예제 http://www.jsunit.net/examples/index.html

참고할 만한 사이트: http://webjoy.kr/132
http://wiki.javajigi.net/pages/viewpage.action?pageId=4497

<html>
 <head>
  <title>Test Page for multiplyAndAddFive(value1, value2)</title>
  <script language="javascript" src="jsUnitCore.js"></script>
  <script language="javascript" src="myJsScripts.js"></script>
 </head>
 <body>
  <script language="javascript">
    function testWithValidArgs() {
        assertEquals("2 times 3 plus 5 is 11", 11, multiplyAndAddFive(2, 3));
        assertEquals("Should work with negative numbers", -15, multiplyAndAddFive(-4, 5));
    }
    function testWithInvalidArgs() {
        assertNull("A null argument should result in null", multiplyAndAddFive(2, null));
        assertNull("A string argument should result in null", multiplyAndAddFive(2, "a string"));
    }
    function testStrictReturnType() {
        assertNotEquals("Should return a number, not a string", "11", multiplyAndAddFive(2, 3));
    }
    function testWithUndefinedValue() {
        assertNull("An undefined argument should result in null", multiplyAndAddFive(2, JSUNIT_UNDEFINED_VALUE));
    }
  </script>
 </body>
</html>


의 형태로 테스트 코드 작성


샘플
jsUnitMyFirst.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <title>JsUnit Framework tests</title>
    <script language="javascript" type="text/javascript" src="../app/jsUnitCore.js"></script>
    <script language="javascript" type="text/javascript" src="myJsScripts.js"></script>
    <script language="javascript" type="text/javascript">
     function testAdd() {
      assertEquals(5, add(3, 2));
     }
     function testSimple(){
      var d = new Date();      //month는 0부터 시작
      assertEquals(5,d.getMonth());
     }
     function testDate10DaysBeforeAdjustDate(){
      var expectedDate = new Date(2008,5-1,22); //5월 22일
      assertEquals(expectedDate.getDate(),adjustDate('1').getDate());
     }
     function testMonth10DaysBeforeAdjustDate(){
      var expectedDate = new Date(2008,5-1,22); //5월 22일
      assertEquals(expectedDate.getMonth(),adjustDate('1').getMonth());
     }
     function testDateOneMonthsBeforeAdjustDate(){
      var expectedDate = new Date(2008,5-1,1); //5월 1 일
      assertEquals(expectedDate.getDate(),adjustDate('2').getDate());
     }
     function testMonthOneMonthsBeforeAdjustDate(){
      var expectedDate = new Date(2008,5-1,1); //5월 1일
      assertEquals(expectedDate.getMonth(),adjustDate('2').getMonth());
     }
     function testDateOneYearsBeforeAdjustDate(){
      var expectedDate = new Date(2007,5-1,1); //2007년 5월 1 일
      assertEquals(expectedDate.getYear(),adjustDate('3').getYear());
     }
     function testDateOneYearsBeforeAdjustDate(){
      var expectedDate = new Date(2007,5-1,1); //2007년 5월 1 일
      assertEquals(expectedDate.getYear(),adjustDate('3').getYear());
     }
     function testDate10DaysBeforeAdjustDate2(){
      var expectedDate = new Date(2008,5-1,22); //5월 22일
      assertEquals(expectedDate.getDate(),adjustDate2('10d').getDate());
     }
     function testMonth10DaysBeforeAdjustDate2(){
      var expectedDate = new Date(2008,5-1,22); //5월 22일
      assertEquals(expectedDate.getMonth(),adjustDate2('10d').getMonth());
     }
     function testDateOneMonthsBeforeAdjustDate2(){
      var expectedDate = new Date(2008,5-1,1); //5월 1 일
      assertEquals(expectedDate.getDate(),adjustDate2('1m').getDate());
     }
     function testMonthOneMonthsBeforeAdjustDate2(){
      var expectedDate = new Date(2008,5-1,1); //5월 1일
      assertEquals(expectedDate.getMonth(),adjustDate2('1m').getMonth());
     }
     function testDateOneYearsBeforeAdjustDate2(){
      var expectedDate = new Date(2007,5-1,1); //2007년 5월 1 일
      assertEquals(expectedDate.getYear(),adjustDate2('1y').getYear());
     }
     function testDateOneYearsBeforeAdjustDate2(){
      var expectedDate = new Date(2007,5-1,1); //2007년 5월 1 일
      assertEquals(expectedDate.getYear(),adjustDate2('1y').getYear());
      assertEquals(expectedDate.getYear(),adjustDate2('1y').getYear());
     }
     function testDateOneYearsBefore365DaysBeforeAdjustDate3(){
      var expectedDate = new Date(2007,5-1,1); //2007년 5월 1 일
      assertEquals(expectedDate.getYear(),adjustDate2('1y').getYear());
      assertEquals(adjustDate2('366d').getDate(),adjustDate2('1y').getDate());
     }
     function testDateOneYearsBefore12MonthBeforeAdjustDate3(){
      var expectedDate = new Date(2007,5-1,1); //2007년 5월 1 일
      assertEquals(expectedDate.getYear(),adjustDate2('1y').getYear());
      assertEquals(adjustDate2('12m').getDate(),adjustDate2('1y').getDate());
     }
     function testDateOneYearsBefore11 MonthBeforeAdjustDate3(){
      var expectedDate = new Date(2007,5-1,1); //2007년 5월 1 일
      assertEquals(expectedDate.getYear(),adjustDate2('1y').getYear());
      assertEquals(adjustDate2('11m').getMonth(),adjustDate2('1y').getMonth());
     }
     function testPeriod2date(){
      assertEquals(10, period2date("10d"));
     }
     function testLastChar(){
      assertEquals("m",lastChar("3m"));
      assertEquals("y",lastChar("1y"));
      assertEquals("d",lastChar("30d"));
      assertEquals("m",lastChar("2m"));
      
     }
    </script>
</head>   
<body>
</body>
</html>

myJsScripts.js

function add(a, b) {
 return a + b;
}

function adjustDate(period){
 var today = new Date();
 var yesterday;
 var year = today.getYear();
 var month = today.getMonth(); // getMonth()는 index를 return(0,1)
 var date = today.getDate();

 if(period =='1'){
     yesterday = new Date(year, month, date-10);
 }
 if(period =='2'){
     yesterday = new Date(year, month-1, date);
 }
 if(period =='3'){
     yesterday = new Date(year-1, month, date);
 }
 return yesterday;
}

function adjustDate2(period){
 //period가 유효하지 않은 경우 디폴트로 30일 전
 //period 형태는 -10d, -1m, -1y
 if(!period || period.length<1){
  period = "-10d";
 }
 
 var today = new Date();
 var yesterday;
 var year = today.getYear();
 var month = today.getMonth(); // getMonth()는 index를 return(0,1)
 var date = today.getDate();
 var idx = -1;

  
 if( period.indexOf('d')>-1){
  var str = parseInt(period.substr(0,period.indexOf('d')));
     yesterday = new Date(year, month, date-str);
 }else if( period.indexOf('m')>-1){
  var str = parseInt(period.substr(0,period.indexOf('m')));
     yesterday = new Date(year, month-str, date);
 }else if( period.indexOf('y')>-1){
  var str = parseInt(period.substr(0,period.indexOf('y')));
     yesterday = new Date(year-str, month, date);
 }
 return yesterday;
}

function period2date(period){
 var str = parseInt(period.substr(0,period.indexOf('d')));
 return str;
}
function lastChar(str){
 if(str){
  return str.charAt(str.length-1);
 }else{
  return null;
 }
 return
}

정상적으로 수행된 경우


에러난 경우
에러난 부분 설명 (Show selected 나  Show all 클릭시)

by 지니짱 | 2008/06/01 16:55 | 프로그래밍 | 트랙백 | 덧글(0)

[일드]여왕의 교실


이미지 더보기
여왕의 교실
편성정보 : 일본 NTV (2005년 7월 2일~2005년 9월 17일 방송종료)
제작사 : 일본 NTV
제작진 : 이와모토 히토시, 와타나베 토모아키 감독, 유카와 카즈히코 각본
출연진 : 아마미 유키, 하다 미치코, 하라 사치에, 카호, 시다 미라이, 나이토 타카시
줄거리 : 칸다 카즈미는 이제 6학년이 된 발랄하고 평범한 소녀. 초등학교에서의 마... 더보기
커뮤니티 : 시청자 게시판


스승의 날도 다가오고 하니 감상해보는것도 좋을 듯 합니다.

by 지니짱 | 2008/05/11 23:01 | 트랙백 | 덧글(0)

[비트토렌트] 일본 드라마 검색하여 보기

비트토렌트 설명 (위키백과)
http://ko.wikipedia.org/wiki/%EB%B9%84%ED%8A%B8%ED%86%A0%EB%A0%8C%ED%8A%B8


비트토렌트 한국 포럼
http://www.bittalk.org

뮤 토렌트 다운로드 받기
http://download.utorrent.com/1.7.7/utorrent.exe


무비알지 (정보공유사이트)
http://www.movierg.com/

비트토렌트 정보 검색 사이트
http://www.demonoid.com/
http://www.youtorrent.com/
http://www.torrentz.com/
http://tokyotosho.com/ (일본 사이트)

---------------------------------------------------

1. 비트토렌트 클라이언트 설치
2. 일본 드라마 탑 캐스터 를 검색
http://tokyotosho.com/ (일본 사이트) 에 접속하여 top caster로 검색
.torrent 파일을 다운로드 받거나 바로 열면 비트 토렌트 클라이언트가 실행되면서 다운이 됨.
3. 자막찾기
곰 플레이어로 받은 파일을 열고 , 자막도우미->자막찾기 선택하면 해당 파일의 자막이 검색됨
http://gom.gomtv.com/jmdb/view.html?intSeq=241737&searchSeq=240748
4. 자막을 영상의 파일명과 동일하게 하고 확장자만 smi로 변경




by 지니짱 | 2008/05/04 19:09 | 컴퓨터 | 트랙백 | 덧글(0)

[yes24] 동해 표기 이벤트 yes 포인트 2000점


[yes24] 동해 표기 이벤트 yes 포인트 2000점
















by 지니짱 | 2008/05/02 13:25 | 트랙백 | 덧글(0)

너는 머리냄새가 나는 아이다.

지난주 복지원 봉사활동을 가서 발달장애아들을 보고 온 후
전에 라디오에서 들었던 이야기가 생각나서 검색해보았는데 딱 나오네요.
너는 머리냄새가 나는 아이다.
내가 머리 감을 때는 엄마가 도와줍니다.
오늘도 엄마가 리본을 풀어 주고 샴푸를 묻혀 주었습니다.
“머리냄새가 많이 나는구나.”엄마가 말했습니다.
자주 감는데도 내 머리에선 유난히 머리냄새가 많이 납니다.
샴푸거품을 내면서 엄마가 물었습니다.
“니네 반 아이 중에서 공부를 못하거나, 가난하거나, 더럽거나,
신체가 부자유스러운 아이가 있는데
너와 친구가 되고 싶어 한다면 너는 어떻게 하겠니?”
나는 샴푸 거품 때문에 눈을 꼭 감은 채 가만히 엎드려
있었습니다. 왜냐하면 나는 예쁘고 명랑하고 공부도 잘하는
친구들을 많이 알고 있으니까요.

엄마가 낮은 목소리로 말했습니다.
“너는 머리냄새가 나는 아이다. 기억해라.
가난하거나, 더럽거나, 다리를 저는 아이를 보거든
아, 참! 나는 머리냄새가 나는 아이지! 하고…….
그러면 그 아이들과 네가 똑같다는 것을 알게 될 거다.”


정영음 마지막 방송 중에서

by 지니짱 | 2008/04/30 01:09 | 일상 | 트랙백 | 덧글(2)

[스크랩] 광우병 위험음식 탑30

이미지 삭제하였습니다.

가는곳마다 정보통신망법 제44조의2에 의해 삭제 조치된 글입니다 라고 뜨네요.

[스크랩] 광우병 위험음식 탑30
http://cafe.daum.net/dsjclub/37cB/25주소 복사

광우병 위험음식 탑 30

 

 


지난 3월, 정부에서 생필품 목록 52개를 선정한 것을 기억하십니까? 이번에 미국 쇠고기의 전격 수입이 결정됨에 따라 생필품 목록만 선정해야할 것이 아니라 광우병에 위험한 목록도 선정해야할 것 같습니다. 물론, 정부가 그런것까지 신경써줄 시간이 없다는 것을 잘 압니다. 그래서 직접 선정해 봤습니다.


<부위별 SRM분포정도보기>


 

<광우병 위험음식 TOP30, 이렇게 선정했습니다!>

1. 음식 중 쇠고기가 들어가는 비율
2. 첨가되는 쇠고기의 SRM(광우병위험물질)분포정도
3. 광우병 발생시 음식의 인기도에 따른 파급효과

위 세가지 항목을 고려하여 선정하였습니다.

광우병 위험음식 TOP 30 (5위까지는 설명이 곁들어지며, 6위~30위까지는 설명이 없습니다.)

1. 사리곰탕(설렁탕)


광우병 위험인자(SRM)의 분포비율이 높은 소의 뼈를 속까지 우려낸 한국인의 든든한 식사 단골메뉴. 값싼 미국산 소뼈가 수입된다면 수익증대를 위한 업자들의 애용이 예상되며, 미래에 발생할 피해도 우려할 수준이기 때문에 광우병 위험음식 1위로 선정하였습니다.

2. 햄버거


광우병이 아니더라도 여러가지 문제점이 있는 햄버거. 여러가지 고기들을 갈아서 패티를 만들기때문에 뼈가 유입될 확률이 높고, 업체의 대부분이 미국 프랜차이즈라는 점을 감안한다면 (지금은 호주산 쇠고기를 사용하고 있지만) 美쇠고기 수입재개 이후 미국 쇠고기를 패티원료로 쓰는 것은 시간문제이기 때문에 2위로 선정하였습니다.

3. 라면


국민음식 라면!! 구수하고 얼큰한 맛을 내기위해 스프에 '쇠고기'로 만든 분말이 첨가됩니다. 이 분말은 뼈를 엑기스로 만들어 가공하기 때문에 문제가 됩니다. 라면스프 중에 쇠고기 엑기스 분말이 차지하는 비율은 미미한 수준이지만 하루에 천만 개씩 팔리는 라면의 파급효과를 감안하여 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. 쇠고기 김밥



사정상 30개 정도로 압축을 했지만, 미국소 수입으로 인해 훨신 더 많은 음식들이 광우병에 노출될 것입니다. 우리나라의 식습관 특성상 육수를 이용한 음식이 많습니다. 그 중 쇠고기 육수(사골)는 주로 소뼈를 이용하는데, 소뼈는 살코기보다 SRM의 분포비율이 월등히 높습니다. 때문에 소뼈를 안 먹는 다른나라보다 광우병에 발생할 확률이 훨신 더 높습니다. 李대통령은 국민의 입장에 선다면서 그 사실을 정말 모르는 것일까요?

 

 

출처:http://bloggernews.media.daum.net/news/1065719?pos=1

function showSideViewForScrapInfo(curObj, userid, planetUserid, targetNick) { var sideView = new SideView('nameContextMenu', curObj, userid, planetUserid, '\uC190\uB2D8', targetNick, '17wYG', '', '\uB355\uC18C\uC911\uD559\uAD50\uCD1D\uB3D9\uBB38\uD68C', "unknown"); sideView.hideRow("member"); sideView.hideRow("planet"); sideView.showLayer();}function winPopup() { window.open('http://cafe.daum.net/_service/home?grpid=hV17', 'DaumPlanet', 'width=936,height=672,resizable=yes,scrollbars=yes'); return;}
출처 :[푸른와부] 원문보기 글쓴이 : 자유

by 지니짱 | 2008/04/29 00:05 | 일상 | 트랙백 | 덧글(12)

[watij] Watij 는 자바에서 웹 애플리케이션 testing 툴 진짜 브라우저로 테스트

watij

Watij 는 자바에서 웹 애플리케이션 testing 툴
Watir의 자바틱한 버전, Watij는 진짜 브라우저를 통해 웹 애플리케이션의 funtional test을 자동화한다。

http://www.watij.com

svn 주소 : https://watij.svn.sourceforge.net/svnroot/watij

http://groups.google.com/group/watij


package watij;

import watij.runtime.ie.IE;
import junit.framework.TestCase;
import static watij.finders.SymbolFactory.*;
 
public class GoogleTest extends TestCase {
 public static IE ie;
 protected void setUp() throws Exception{
  ie = new IE();
  ie.start();
     ie.bringToFront();
 }
    public void testGoogleSearch() throws Exception {
     
        ie.goTo("http://www.google.com");
        assertTrue(ie.containsText("Google"));
        //ie.textField(name,"q").set("XWiki");
        ie.textField(name,"q").set("지니랜드");
        //ie.button("Google Search").click();
        ie.button("Google 검색").click();
        //assertTrue(ie.containsText("/Java wiki engine/"));
        assertTrue(ie.containsText("bumjin.egloos.com/"));
       
       
    }
    protected void tearDown() throws Exception{
     ie.close();
    }
}

by 지니짱 | 2008/04/27 14:21 | 프로그래밍 | 트랙백 | 덧글(3)

◀ 이전 페이지          다음 페이지 ▶