2009의 게시물 표시

삭제

VC++ 에서 소리 만들기 예제

mmsystem.h 를 인클루드 해줘야한다. #pragma comment(lib,"winmm.lib") 도 해줘야한다. [code c] void Cexercise1Dlg::OnBnClickedButton1() {  WAVEFORMATEX wfme;  wfme.nSamplesPerSec = 2205;  wfme.nAvgBytesPerSec = 2205;  wfme.nBlockAlign = 1;  wfme.nChannels = 1;  wfme.wBitsPerSample = 8;  wfme.wFormatTag = WAVE_FORMAT_PCM;  WAVEHDR whdr;  MMRESULT mmres;  HWAVEOUT hwout;  int iSPS = 4410;  int fFreq = 1000;  int iBufLen = 2205;  char *WaveBuf = new char[2205];  //double dKoef = 2 * 3.1416 / iSPS * fFreq;  unsigned char tmp= 0x9c; for (int i=0; i ibuflen; !="MMSYSERR_NOERROR)" &="" &wfme,="" (!(whdr.dwflags="" (cos(i="" (dduration="" (dword)="" (ibuflen);="" (mmres="" *="" +="" 0){="" 125="" 127);="" ::zeromemory(&whdr,sizeof(whdr));="" ;="" ibuflen; [/code]

extjs 내가만든 stylesheet 적용하기

이전글 과도 관련이 있는데 ext를 이용해 만들어진 모양이 마음에 안들어 수정하고 싶을때 api를 찾아보면 cls라는 config가 보일것이다. 다른 테스트는 안해보고 관련 내용만 구글링해서 아래 코드를 작성해 적용했다. [code css] .myClass{      padding: 0 20px 0 20px; } [/code] [code javascript] var myPanel = new Ext.Panel({      layout: 'table',      items: [{            xtype: 'label',            text : ' 요부분',            cellCls : 'myClass'      },{            xtype: 'button',            text : '버튼'      }] }); [/code] 관련 쓰레드 링크걸어드립니다. 참고로 Animal이란 분은 가끔 무성의 합니다.ㅎㅎ https://extjs.com/forum/showthread.php?p=263968

Extjs에서 Panel을 column layout으로 설정하고 button 배열시 오류나는문제

Ext하면서 경험 하신분들이 많을것이다. Panel 을 column layout으로 설정하고 item중에 button을 넣으면 패널이 2개나타나면서 오류가 난다. 그래서, items에 패널을 만들고 그안에 button을 만들어 해결할수 있다. 좀 더 편한방법은 column layout을 사용하지 않고, table layout을 사용하면 쉽게 해결된다. 정확한 원인은 영어 울렁증으로 다 읽어보진 않았다. 아래 쓰레드를 참고하기 바란다. http://extjs.com/forum/showthread.php?p=172733

삭제

prototype 을 이용해 select box 채우기

간단한 예이다. 우선 ajax로 요청한 결과이다.(json type이다) getAllRecords.htm?view=json [code js] {  records:[        { key1: "val11", key2 : "val21"},        { key1: "val12", key2 : "val22"},        { key1: "val13", key2 : "val23"},        { key1: "val14", key2 : "val24"},        { key1: "val15", key2 : "val25"}  ] } [/code] getItems.htm?view=json [code js] {  records:[         { key3:"val31"},         { key3:"val31"},         { key3:"val31"},         { key3:"val31"}  ] } [/code] js파일 : foo.js [code js] function foo1(){       new Ajax.Request('getAllRecodrds.htm?view=json',{             method : 'get',             onSuccess: function (transport) {                   var mysel = $('mysel');                   var res = transport.responseText.evalJSON();                   res.records.each(function(r){                         mysel.appendChild(

prototype.js invoke 사용시 user-defined 함수 호출방법[2]

이전 글에 이어서 하나더.... Element 배열에서 invoke 호출시에는 이전글처럼 String을 확장한다고해서 동작하지 않는다. Element 객체는 addMethods라는 놈이 있어서 이걸 사용하면된다. [code js] Element.addMethods(       updateOdd : function(element){             if( 어쩌고 저쩌고 ) {                   element.update('저쩌고 어쩌고');             }       } ); [/code] prototype utility method 를 확장할려고 해봤으나 잠깐 좌절하고 퇴근하였다. (회사망이 내부망이라 기억나는대로 블로깅하기때문에 오타가 있을수 있습니다)

prototype.js invoke 사용시 user-defined 함수 호출방법

실력 형편없어 4시간정도 삽질을 했다. [code js] function addSharp(s){       return '#'+s; } var color = ['00FF00','FFFFAA','AADDEE']; var rs = color.invoke('addSharp').join(','); [/code] 동작하지 않을것이다. 기본적으로 prototype api에도 substring이나 toUpperString 같은 함수만 예제로 나와있다. 직접 정의해서 해보면 급하게 실망하고 구글링하다 여기 들어오셨을 분들이 많을것같다.(-.-ㅋ 별문제없이 해결하시는 고수분도 있으시겠지만....) [code js] Object.extend(String.prototype, {       addSharp : function(el){             return '#'+this;       } } ); [/code] addSharp함수를 위와 같이 정의 해주면 된다. (보시는분중에 인자로 받은 el은 어떻게 되느냐? 하시는 분이 있을텐데, 아무값도 넘어오지 않는다. 저기도 삽질 포인트이다. prototype.js를 열어봤으나 아직하수라 정확히 이해 못했으므로 패스) 위 구문은 아래와 같이 해도 잘 동작한다. ( 혹자는 위 구문이 더 객체지향적이라한다. 하지만 아래구문도 직관적이라 별 차이 없는것 같다.) [code js] String.prototype.addSharp = function(e){       return '#'+this.; } [/code]  

Prototype.js 이용한 table 꾸미기

이미 알만한 분들은 다 안다는 prototype이다. 이미 prototype을 이용한 라이브러리들이 많은데 정리차원에서 간단한 예제하나 올려본다. [code html] <html>  <head>   <script src="prototype-1.6.0.3.js"></script>   <style>    .f1{     border: 1px solid;    }    . odd {     background-color: #EEE;    }   </style>  </head>  <body>   <table class="f1">    <tr>     <td>hello</td>     <td>hi</td>    </tr>    <tr>     <td>hellor2</td>     <td>hir22</td>    </tr>    <tr>     <td>hello</td>     <td>hi</td>    </tr>    <tr>     <td>hello</td>     <td>hi</td>    </tr>   </table>  </body>  <script>   $$('tr:nth-child(odd)').each(function(r){   r.className = "odd"  });  </script> </html> [/code] 본인이 생각하기 짧고 굻은 예제라 믿는다. prototype의 $$을 사용해 CSS3 셀렉터로 홀수행의 tr에 odd 스타일 클래스를 지정해준다. 단 한줄로 테이블 홀수행을

Extjs

작년에 Extjs 라는 자바스크립 프래임웍을 사용보았다. 처음 익숙해 지는데 시간이 꽤 걸린것 같다. 아직 자바스크립트 초보라 그런듯하다. 주로 JSON형식으로 object들을 생성하며 처음 익힐땐 꼭 예제를 보고 따라하기 바란다. 자신만만하게 API보고 해봤다가는 날밤까기 일수다. 아마 가장 많이 하는 실수가 configuration때 , (콤마) 를 마지막에 넣어서 일것이다. 화면에 아무것도 나오지 않는다. 하지만 파폭에서는 정상적으로 실행된다. 한글자료가 별로 없기때문에 사용하기 까다롭지만 API를 잘 보면 약간 부실해도 설명이 되어있다.(물론 영어로) 영어가 짧아서 더 힘들었던것 같다. 백문이 불여일견이라 혹시나 궁금한 분들은 예제들을 한번둘러보길 바란다. http://extjs.com 처음 시작하는 분은 먼저 ext 관련 js 파일들을 웹페이지에 불러주고 예제처럼 자신의 js파일을 만들어 추가한다. [code html] <script type="text/javascript" src="extjs/ext-core.js"></script> <script type="text/javascript" src="extjs/ext-all.js"></script> <!-- 등등 ... 그리고, 자신의 js 파일 추가 --> <script type="text/javascript" src="custom/myGrid.js"></script> [/code] myGrid.js 는 [code js] Ext.onReady(function(){    // create the example data store     var store = new Ext.data.SimpleStore({         fields: [            {name: 'company'},           

무심코 넘기기 쉬운 위험한 증세들

원문 주소 : http://kr.blog.yahoo.com/health_blog/9136?c=11 다음은 무시하고 넘길 경우 생명이 위험할 수도 있는 10가지 증상들이다. (미국 Mayo Clinic 제공) 1. 이유 없는 체중 감소 체중 감소는 대부분 좋은 일이라고 생각한다. 그러나, 별다른 이유 없이, 다이어트 노력 없이, 체중이 크게 감소한다면 바로 병원을 찾아야 한다. 기준은 한달 안에 체중의 5%가 빠지거나, 12개월 안에 체중의 10%가 빠지는 경우다. 원인은 갑상선 이상, 우울증, 간 질환, 암, 장내 신진대사 이상일 수 있다. 2. 지속적인 열 기준은 섭씨 38의 체온이 지속되는 경우다. 이는 여러 가지 요인의 감염-염증, 임파종, 면역 억제제 때문일 수 있다. 항암 치료 같은 화학 요법을 받고 있는 중이라면 특별한 이상이 아닐 수 있다. 3. 호흡 곤란 일반적인 코 막힘이나 지나친 운동에 의한 호흡 곤란이 아니라면 이는 건강의 분명한 적신호다. 만성 폐쇄성 폐질환, 고질적 기관지염, 천식, 심장 이상, 정신적 쇼크, 폐렴, 폐 혈전, 폐 섬유증, 폐 고혈압 등이 원인이다. 특히 가만히 앉아 있는데 호흡 곤란 증세가 온다면 그 즉시 병원을 찾아야 한다. 4. 배변 이상 이유없이 배변에 이상이 왔다면 캄필로박터, 혹은 살로넬라 같은 박테리아 감염이거나, 기생충 감염일 수도 있다. 혹은 염증성 대장 질환, 혹은 대장암일수도 있다. 전문가들은 다음과 같은 증상이 나타날 때 반드시 병원을 찾아야 한다고 말한다. - 이틀 이상 지속되는 극심한 설사 - 일주일 이상 지속되는 약한 설사 - 2주 이상 지속되는 변비 - 이상하도록 갑작스러운 배변욕구 - 혈변 - 검거나, 혹은 찐득한 변 5. 정신적 이상 사람이 경우에 따라 갑자기 성격이나 행동, 사고 방식이 뒤바뀌는 경우가 있다. 이는 감염, 뇌 부상, 뇌졸중, 혹은 저혈압의 영향일 수 있다. 아니면 복용하는 약의 부작용일 수도 있다. (이

의사들이 생각하는 최고의 술 안주

의사들이 생각하는 최고의 술 안주는 무엇일까? 강재헌(서울백병원 비만센터), 김정인(인제대 식품생명과학부), 이장훈(경희의료원 한방내과), 한영실(숙명여대 식품영양학과) 교수가 '최고의 술 안주 7'을 추천한다. ▲ 손상된 간세포 재생 돕는‘수육’ 단백질은 술로 손상된 간세포의 재생을 돕는다. 그러나 소나 돼지고기 같은 육류에는 양질의 단백질이 풍부하지만 포화지방이 많은 것이 흠. 수육으로 먹으면 이런 문제점을 해결할 수 있다. 껍질을 제거한 닭고기도 좋다. 햄, 소시지, 베이컨 같은 가공육은 포화지방이 더 많으므로 좋지 않다. ▲ 뇌 세포 영양 공급하는‘버섯’ 버섯에는 라이신과 트립토판 같은 필수 아미노산이 풍부해 술로 인해 손상된 뇌 세포에 영양을 공급한다. 또 간의 독성을 완화시키는 베타-글루칸이 풍부하고, 알코올 대사를 돕는 비타민B2와 비타민C가 많다. 버섯의 좋은 성분은 모두 수용성이므로 버섯을 물에 오래 불리거나, 버섯 불린 물을 따라 버리고 조리해선 안된다. 조리할 때는 물로 살짝 헹군 뒤 짜지 않게 조리해 국물까지 모두 먹는다. ▲ 주당에게 부족한 엽산 많은 ‘곶감’ 술로 인해 부족해질 수 있는 엽산의 함유량이 높고, 에너지 효율이 좋은 과당과 비타민C도 많다. 저장성이 좋아 언제든지 간단하게 술안주 삼을 수 있다. 호두와 함께 먹으면 맛이 좋을 뿐 아니라 콜레스테롤 수치도 낮아진다. 원문 : http://kr.blog.yahoo.com/taihyuk/2435 ▲ 간 해독하는‘굴·조개’ 고단백·저지방 식품일뿐 아니라 간 해독을 돕는 타우린과 베타인 성분도 풍부하다. 특히 굴은 겨울이 제철이므로 연말 술자리에 더없이 좋은 안주다. 음주 시 배부르지 않게 포만감을 얻고 싶다면 굴이나 조개로 전을 만들어 먹는 것이 좋고 배나 미나리, 배추 겉절이와 함께 무침을 해먹으면 비타민C를 보충할 수 있다. ▲ 산성화된 신체 중화하는 ‘미역’ 미역 등 해조류는 요오드, 칼슘, 철 등이 많이 함유된 알칼리성 식품으로 알코올 분해 시 생기는 아세트알

초간단 typeHandler 만들기

연습 겸 초간단 String Trim 타입 핸들러를 만들어보자. 먼저 iBatis config XML 파일에 핸들링할 자바타입과 핸들러를 적어준다. transactionManager 엘레멘트 전에 명시한다. <[code html] <typeHandler javaType="String" callback="CustomTypeHandler"/> [/code] 핸들러를 만들어주자 [code java] public class CustomTypeHandler implements TypeHandlerCallback {    public Object getResult(ResultGetter arg0 ) throws SQLException {        return arg0.getString().trim();    } } [/code] 기억나는 대로 적었으므로 제대로 동작하지 않을수 있다. 핸들러 클래스 작성시 이클립스에서 인터페이스를 명시해주면 추상 매소드명들은 자동으로 생성되므로 필요한 부분만 적었다.

iBatis 에서 Informix Procedure 실행시

무슨 이유에서인지 구문에러(Syntax error) 널포인터(null pointer exception) 에러 등이 난다. 일단 확인한 현상은 1. 프로시져가 리턴값이 없을때 2. 프로시져가 오랫동안 실행될때(시간이 꽤걸리는 작업이 롱 트랜잭션(Long transaction aborted)이 걸린다. 직접 돌려보면 잘 돌아간다) 알아낸건 프로시져가 리턴값을 가지면 구문에러는 없어지고 잘돌아가는 것처럼 보인다는 것이다. 실제로 확인해 보면 실행되지 않았다.(롤백된것 같다) 구글링중이며 혹시 같은 문제 격으시는분은 댓글 바랍니다.