블로그 이미지
안녕1999

카테고리

전체 (3067)
자바스크립트 (20)
안드로이드 (14)
WebGL (4)
변비 (17)
정치,경제 (35)
C언어,ARM (162)
컴퓨터(PC, Note Book, 윈.. (41)
전자회로, PCB (27)
유머,안웃긴,GIF,동영상 (118)
국부론60 (71)
모듈(PCB) (3)
건강 (2)
FreeCAD (25)
PADS (43)
퇴직,퇴사,구직,취업 활동 (3)
C# (86)
엑셀 (8)
워드 (0)
LabView (6)
레고 (30)
FPGA (0)
Total
Today
Yesterday

달력

« » 2024.5
1 2 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 31

공지사항

최근에 올라온 글

자바스크립트에서, this를 사용하여 클래스를 만들었다고 하는 글들이 있다.
물론,
- 배열을 사용하지 않고, 1개만 생성했을때,
- 다수의 클래스에서 동일한 이름의 멤버를 사용하지 않았을때
  (클래스마다 멤버 이름이 모두 다른경우)
인 경우에는 문제가 없다.
전역변수 this(window)에 멤버변수로 추가했으니...

this는 호출자를 나타낸다.
- f();  인경우, f()함수 내부에서 this는 window이다.
- a.f(); 인경우, f()함수 내부에서 this는 a이다.

C++같은 오브젝트 오리엔티드 언어에서는 this가 명확하다.
자바스크립트에서도 명확하다, 그러나 주의할 점이 있다.
멤버함수 내부에서도, "this."을 명시하지 않으면, "전역"으로 취급된다
예)
{
   ...
   function f()
   {
      ...
   }
   return f(); <<--- f()는 전역함수로 취급된다.
}
//클래스(Class) 만들기. 함수에서 var를 사용하여 변수를 만들고, 리턴하면 된다.
//자바에서는 멤버를 추가하기만 하면된다.
function new_MyClass(value)
{
	var a={value:0};//아무거나 하나만 우선 넣는다.
	a.min=0;//멤버변수 추가
	a.max=100;
	a.inc=function(delta)
	{
		this.vaue+=delta;//a가 아니라 this인 것에 주목!!
		if(this.vaue<this.min)
		{
			this.vaue=this.min;
		}
		else if(this.vaue>this.max)
		{
			this.vaue=this.max;
		}
	};
}
var a=new_MyClass(10);
console.log(a.vaue); a.inc(10); console.log(a.vaue);


Posted by 안녕1999
, |
풍선이 쉽게 안불어집니다.
풍선 부는 펌프가 없어, 아래 펌프로 몇번하니 쑥쑥 불어집니다.

너무 빵빵해서, 만지다가 끝이 터졌습니다. 바람좀 빼고, 터진곳 다시 묶고, 남은 걸로, 아래와 같이 돌돌 말았습니다. 생각보다 쉽게 됩니다. 꼬아줄때는 한쪽방향으로 순서대로 2~3바퀴씩 돌려 줍니다.
중간에 돌려버리면, 한쪽이 풀려요. 한쪽 방향으로만 순서대로 돌려주세요.
너무 빵빵하면 터집니다. 약6cm정도 안불어야 합니다.
휘어진건, 손으로 곧게 펴면 됩니다.
어렵지 않으니, 도전해보세요.
아이가 너무 좋아합니다.

Posted by 안녕1999
, |
약 6년만에 마늘쫑 멸치 볶음 만들었습니다. ㅠ ㅠ
[ 옥션 ]
마린보이푸드 볶음멸치/품질굿/지리멸치/잔멸치
http://mobile.auction.co.kr/ego.aspx?t=vp&p=A109448635
옥션에서 세세멸치(아주잔멸치) 300g 약 6천원에 샀습니다.
멸치값이 비싸요. ㅠ ㅠ
좀더 큰 멸치로 하면 더 맛나는데, 6살 아이가 있어, 작은 멸치로 했습니다.

그리고, 같은 판매자가 파는 아몬드, 건포도도 같이 구입했습니다.

물론 건포도는 조금만 넣었습니다.

5월초가 남부지방에서 마늘쫑 뽑는철이라, 처가집에서 한봉지 잘라왔습니다. 엄청 많은데, 먹을 만큼만.
마늘밭에선, 마늘쫑은 대부분 그냥 잘라서 버립니다.

마늘쫑은 나오기 시작할때 잘라야, 부드럽고 좋습니다.
지금 사용한 마늘쫑은 이런 기준에서 최상급이예요 ㅎㅎ
시중에 파는 마늘쫑은 길지만, 조금 억세요.
부드러운 마늘쫑 먹어보면, 시중에 파는 마늘쫑은 안사먹죠.(제 경우엔)

마늘쫑, 멸치, 아몬드, 건포도, 맛소금, 설탕, 식용유 적당량씩 넣었습니다.
멸치가 안짜서, 맛소금좀 약간 넣었어요.
그래도 전체적으로 안짜네요.(건강식 ㅎㅎ)
큰냄비에 절반정도. 몇달은 먹겠네요.

일부러 뚜껑닫고, 한번도 안 저었습니다.
귀찮은건 패쓰~ ㅎㅎ
뚜껑닫고, 약한불로 익히다가, 잘익은 냄새가 나면, 한번 휘휘 저어주고, 잠시후, 불을 꺼줍니다.
참 쉽죠?
이렇게 하면, 밑에는 푹익고, 위에는 설익어요.
푹익은 달콤한 마늘쫑과, 설익어 매콤한 마늘쫑을 취향대로 골라 먹을 수 있습니다.(우~~~~)

반찬통에 넣고, 냉동실에 넣으면, 1년 내내 먹을 수 있습니다.

새우 넣는것을 깜빡했네요.
(새우는 잡어섞인것에서, 골라야해서;;;)
새우도 좀 비싸더군요.ㅠ ㅠ

밥에 올려 놓으니, 맛나네요.
제가 귀차니즘에 대충 했지만, 정말 잘 만들었네요.(자화자찬 ㅎㅎ)

역시, 재료가 좋으니, 좋은 음식이 되네요.
Posted by 안녕1999
, |
기존에도 비슷한 아이디어가 있었지만,
에칭하는거에 비하면,
거의 혁명적이네요.
https://youtu.be/mwwA1d2s2OQ
1) 표면이 매끄러운 사진인화지(?)에 출력해서

2) 실버패이스트를 잘 펴서 바르고,

3) 약한열로 말려주고, 솜으로 닦아낸다.

4) 원하는 저항값이 될때까지 2),3)번 반복(약 2회)

5) 배선 완성

6) 납땜

7) 동작검사

'전자회로, PCB' 카테고리의 다른 글

노트북 모니터 화면(뚜껑) 분리  (0) 2017.06.18
PCB 회로 고밀도 실장(배선)의 문제점  (0) 2017.05.04
핸드폰용 매크로렌즈  (0) 2017.04.04
PCB 회로 모듈화  (0) 2017.04.01
PCB재료-폴리이미드 필름  (0) 2017.04.01
Posted by 안녕1999
, |
코코아 100% 코코아매스로, 쵸코우유를 만들어 보았습니다.
베리덕스
[ 옥션 ]
코코아매스500g
http://mobile.auction.co.kr/ego.aspx?t=vp&p=B376380009

우유를 따뜻하게 데우고, 쵸코매스를 넣고, 잘 저어주었습니다.
설탕도 약간 넣었습니다.

생각처럼 완전히 녹지는 않는군요. 온도문제가 아니라, 잘 휘저어 줘야 하나봅니다.
쵸코향은 조금 나는데, 사먹는 쵸코우유맛은 아닙니다.
코코아매스100%를 넣어서, 코코아 함량은 더 많을듯한데, 맛이 안납니다.
시중에 판매되는 쵸코우유는 설탕+바닐라향 등이 첨가된것 같습니다.

먹고나니, 녹지않는 찌꺼기가 보입니다.
쎄게 휘저어주면 녹을듯합니다.
Posted by 안녕1999
, |

스튜디오급 방음실을 만들려면, 돈이 많이 필요합니다.

방음실의 벽은 상당히 두껍습니다.

완벽한 방음을 원한다면, 벽을 진공으로 만들면 됩니다.

진공에서는 소리가 전달이 안됩니다.

소리는 전달 물질(매질)이 있어야 전파가 됩니다.

그러나 완벽한 진공벽은 만들 수 없습니다.

사람이 들어갈 문도 있어야하고, 진공벽을 지탱해줄 매개체도 있어야 하니깐요.


일부 녹음스튜디오 방음실은 방음실을 아예 공중에 띄우기도 합니다.

땅이나, 건물 벽으로 전달되는 충격음을 제거하기 위해서입니다.

녹음실이 스프링이나 고무위에 올려져 있는 형태입니다.


방음재, 흡음재의 종류는 다양합니다.

흔히 보는 계란판, 또는 계란판 처럼 생긴 스폰지등

방음재나 흡음재는 가격이 좀 비쌉니다.

방음재 흡음재는 소리를 100%완벽하게 차단할 수 없습니다.

그래서 여러겹으로 두껍게 밀폐 시공합니다.


여러겹으로 시공하는것보다 더 중요한것은, 물도 새지 않을만큼 밀폐시키는 것입니다.

작은 구멍이라도 있다면, 효과가 매우 떨어집니다.

가장 좋은 방법은 한겹씩 시공하고, 실리콘등으로 완전히 몰딩하고, 다시 한겹 시공하고, 다시 몰딩하고, 반복 하는것입니다.

사람이 들어가는 문도 2중 3중으로 만들어야 합니다.


더 완벽한 방음을 원하시면, 지하 깊은곳에 방음실을 만드세요.


나중에 나이들고, 할일 없어지면, 방음실 하나 만들어야 겠습니다. ㅎㅎ

Posted by 안녕1999
, |

VC++6.0 기준


Lib파일로 DLL을 만들 수 있을까?

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

가능해 보임


DLL을 Lib로 만들 수 있을까?

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

된다고 함.


exe를 Lib로 만들 수 있을까?

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

될것 같음



기존 소스를 최소한의 수정으로 DLL을 만드는 방법은?

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

DLL을 만들려면, dllexport, dllimport 매크로를 기존 함수 앞에 붙여줘야한다.

소스파일이 너무 많은 경우, 함수마다 일일이 다 붙여주기도 힘들다.

LIB_DLL_API 매크로는 해당 함수가 DLL에서 외부로 보여지게 만들어 준다.

표시가 없는 경우, DLL내부에 존재는 하지만, 외부에서 해당함수를 찾아서 사용할 수 없다.


#ifdef LIB_DLL_EXPORTS

#define LIB_DLL_API __declspec(dllexport)

#else

#define LIB_DLL_API __declspec(dllimport)

#endif


1) 헤더파일에만 표시해줘도 된다.

   소스파일에는 표시 안해도 됨.




실행파일에서 DLL링크 방법

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

DLL을 만들때, Lib파일도 같이 만들어진다.

VC++6.0 에서는 DLL파일이 만들어지는 경로는 지정할 수 있으나,

Lib파일이 만들어지는 경로는 Debug나 Release로 고정된듯하다.


아래와 같이 Lib 파일을 지정경로(개인용 Lib)로 복사하는 파일을 만들어 두고, 컴파일 후, 한번씩 실행해준다.

(컴파일 후, 자동으로 실행해주는 기능은 없는듯함)


//copy lib to Lib.bat

copy D:\C\Lib_DLL\Debug\aD.lib D:\C\Lib\aD.lib

copy D:\C\Lib_DLL\Release\a.lib D:\C\Lib\a.lib


정적링크/동적링크

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

1) 정적링크

실행파일을 만들때, DLL만들때 생성된 Lib파일을 참조하여,

exe파일 실행시, DLL파일의 함수들을 한꺼번에, 자동으로 끌어오는 방법이다.

exe파일 실행시, DLL파일이 없다면, 에러를 내뿜고 종료된다.


2) 동적링크

exe파일에서, 필요시, DLL파일의 특정함수를 끌어오는 기능이다.

사용자가 GetProcAddress, LoadLibrary함수를 사용해서, 각 함수별로 끌어와야한다.

함수포인터변수를 만들고, 해당함수의 주소를 불러오는것이다.

함수 포인터 변수(함수별로 각각 모양이 다름)+함수명(문자열)+끌어오는 코드가 필요함.

exe파일 실행시, DLL이 없는 경우 사용자가 에러를 핸들링할 수 있다.

동적링크는 주로, 윈도우의 시스템 DLL에 있는 함수를 끌어올때 사용한다.


디버그용과 릴리즈용 DLL  구분

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

디버그용과 릴리즈용 DLL을 만들어야 디버깅이 편하다.

디버그용은 소스가 있다면, DLL 내부까지 디버깅이 가능하다.

보통 디버그용은 파일명 뒤에 'D"를 붙인다.


exe파일에서 DLL정적 링크

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

#include "..\Lib\a_DLL.h"

#ifdef _DEBUG

#pragma comment(lib, "a_DLLD.lib")

#else

#pragma comment(lib, "a_DLL.lib")

#endif



기존에 만들어둔 Lib파일을 일괄적으로 DLL로 변환할 수 있을까?

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

헤더파일에 함수명앞에 DLL EXPORT 매크로만 추가하면 됨(?)



DLL파일을 사용함으로써 장점,단점

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

1) 장점

- 컴파일 시간 감소(Lib와 동일)

- 기존 Lib 파일 대비, 링크 시간 감소

- 여러개의 프로그램이 있을때, DLL하나만 업데이트하여, 모든 프로그램의 성능이 개선될 수 있음.

- 윈도우에서 DLL은 1개만 로드하므로, 여러개의 프로그램이 동시에 실행되고, 동일한 기능을 DLL로 묶을 경우,

  DLL파일 크기만큼 메모리가 절약되나, 3G정도의 메모리를 사용하는 요즘에는 1M크기의 DLL은 아무런 이득이 안됨.


2) 단점

- 프로그램 수정시, exe, DLL 2가지중에 어느것을 업데이트 해야할지 복잡해짐.

  exe파일로 만든 경우에는 exe 파일 한개만 교체하면, 업데이트가 되지만,

  DLL이 있는 경우, 어느것을 업데이트 해야할지, 아니면, 2개다 교체해줘야하는 번거로움이 있음.

- exe, DLL버젼이 서로 안맞는 경우, 문제가 됨

- DLL을 타인이 무작위로 사용할 수 있음.

- DLL파일을 만들기위한 프로젝트를 만들고, 관리해야 함.

- DLL이 분리되어 있어, DLL 내의 소스 수정이 필요한 경우, 절차가 번거로움.

  exe 파일은 한번에 모두 됨.

- DLL이 수정된 경우, 해당 DLL을 사용하는 기존의 다름 프로그램도 영향을 받아, 문제가 될 수 있음.

- DLL버젼 표시가 어려움.

  exe 파일에서 DLL파일의 버젼을 표시해주지 않는 이상, DLL파일의 날짜로만 구분이 가능해짐.


평가 : 단점이 더 많아 보임....



기타

----

DLL파일을 동적링크함으로써, 해당 응용프로그램을 자유롭게 확장할 수 있다.

Posted by 안녕1999
, |

최근에 달린 댓글

글 보관함