읽을 목록

카테고리 없음 2018. 3. 14. 16:14

개발


깔끔한 코드 모음


Anatomy of the Linux kernel


프로그래머 필독서 50선


리눅스로 개발하는 모든 사람들이 꼭 봐야하는 동영상


똑똑한 프로그래머를 멍청이로 만드는 방법


'평범하되 위대하게' 개발자 생산성 습관 7가지


The Elements of Computing Systems


어려운 것을 쉽게 배우는 방법


게으른 프로그래머의 힘 "혁신의 시작은 불평불만에서"


구글은 어떻게 0.1초 만에 검색할까?


당신의 코딩 학습 방식을 바꿀 사진


Threading Basics


Multithreading Technologies in Qt


사용자 수준 쓰레드와 커널 수준 쓰레드의 차이



그 외


삶에 도움을 줄 14가지의 놀라운 심리학적 지식







나 왜 이렇게 살고 있을까. 정신 차리자.

블로그 이미지

NCookie

,

Q_OBJECT 란

QT 2018. 2. 28. 11:12

Q_OBJECT


The Q_OBJECT macro must appear in the private section of a class definition that declares its own signals and slots or that uses other services provided by Qt's meta-object system.

http://doc.qt.io/qt-5/qobject.html#Q_OBJECT


Notice that the Q_OBJECT macro is mandatory for any object that implements signals, slots or properties. You also need to run the Meta Object Compiler on the source file. We strongly recommend the use of this macro in all subclasses of QObject regardless of whether or not they actually use signals, slots and properties, since failure to do so may lead certain functions to exhibit strange behavior.

http://doc.qt.io/qt-5/qobject.html - Detailed Description


Q_OBJECT는 siganl이나 slot 등 Qt의 meta-object system을 사용하려는 클래스에서 private 영역에 선언해야 하는 매크로이다. 라고 한다. 그리고 만약 위의 기능을 사용하지 않는다고 해도 이 매크로를 사용하는 것을 권장하고 있다.




The Meta-Object System


그렇다면 여기서 meta-object system이란 무엇일까


Qt에서의 meta-object system은 object 간의 통신 메카니즘을 위한 signal과 slot, 런타임 타입 정보, 그리고 동적 property 시스템을 제공한다.


그리고 아래 세 가지에 베이스를 두고 있다.

1. QObject 클래스 meta-object system을 이용할 수 있는 오브젝트에 대한 base 클래스를 제공한다.

2. 클래스의 private 섹션에 선언된 Q_OBJECT 매크로는 dynamic properties, signal, slot 등과 같은 meta-object의 기능을 사용할 수 있게 한다.

3. Meta-Object Compiler(moc)는 QObject의 subclass에게 meta-object 기능 구현에 필요한 코드를 지원한다.


moc 툴은 C++ 소스 파일을 읽어 Q_OBJECT 매크로가 선언된 클래스를 찾고, meta-object 코드가 포함된 소스를 생성한다. 이 생성된 코드는 클래스의 소스 파일에서 include 하는데, 일반적으로 클래스 구현과 함께 컴파일 및 링크가 된다.



원문을 보고 해석했는데, 이게 맞는지 잘 모르겠다.


나중에 정확히 이해하면 다시 정리해봐야겠다...




참고


http://doc.qt.io/qt-5/metaobjects.html

블로그 이미지

NCookie

,

Power-on Reset이란

임베디드 2018. 1. 31. 10:33

power-on reset(PoR)이란 전원이 Turn on 되었을 때 microprocessor 또는 microcontroller에 예측 가능하고 표준화된 전압을 제공하기 위한 회로이다. PoR 시스템은 microprocessor 또는 microcontroller가 전원을 켤 때마다 항상 같은 조건에서 시작할 수 있도록 해준다.


PoR 시스템은 peripheral일수도 있지만, 복잡한 프로세서나 컨트롤러의 경우 main chip 안에 포함되기도 한다. 대부분 기본적인 PoR 시스템은 저항과 캐패시터로 구성된다.(자세한건 나중에 다시 하련다.)



출처


power-on reset(PoR)

블로그 이미지

NCookie

,

  처음에 트랜지스터의 원리에 대해 간단하게 이해하려고 반도체에 대해 공부하다가 에너지 밴드라는 것을 알게 되었다. 정말 끝이 없다. 언제쯤 이것들을 정리할 수 있을까...


  Energy band(에너지 띠), 처음에 들었을 때는 이건 또 뭔가... 싶었지만 알고보니 중학교 때 들어봤던 것 같다. 그 때의 기억을 회상하며 다시 해보자.



에너지 준위


  원자 및 분자가 갖는 에너지의 값이다. 전자를 끌어당기는 원자핵에서 가까울수록 낮고 멀어질수록 높다. 에너지 준위가 높은 전자는 자유전자가 되기 쉽다. 그래서 최외각에 위치하는 전자는 원자간의 결합에 영향을 미치게 되는데 '원자가 전자'라고도 부른다.


  전자는 진동, 열, 빛이나 전자파의 조사, 다른 입자와의 충돌 등 에너지의 흡수 등으로 인해 에너지를 받게되면 에너지 준위가 더 높은 전자껍질로 이동하게 되는데, 이런 상태의 전자를 '들뜬 상태' 또는 '여기 상태'라고 한다. 반대로 가장 안정된 낮은 에너지 준위 상태를 '바닥 상태' 또는 '기저 상태'라고 한다.


  높은 에너지 준위로 들뜬 상태에 있던 전자는 불안정하여 안정된 상태의 낮은 에너지 준위로 돌아가려고 한다. 이 때 전자가 낮은 상태의 에너지 준위로 떨어지면서 빛이나 전자기파, 방사선 등의 에너지를 방출하게 된다.



에너지 띠(energy band)


결정 속에는 이온 껍질에 의한 주기적인 전기장이 존재하며, 이에 따라 결정 속에 전자가 가질 수 있는 에너지가 제한된다. 결정 속 전자가 존재할 수 있는 에너지 영역을 에너지 띠라고 부른다.


솔직히 나도 이게 뭔 소리인지는 잘 모르겠다. 어쨌든 에너지 준위에는 아래 그림과 같이 전자가 있을 수 있는 허용된 띠와 전자가 있을 수 없는 띠틈이 있다.




개인적으로 이 블로그에서 설명하는게 가장 잘 이해된다.



원자가띠와 전도띠


원자 내부의 전자들은 허용된 띠의 가장 낮은 에너띠부터 채워나가는데, 전자가 존재하는 가장 높은 에너지띠를 원자가띠라고 한다. 원자가띠에는 전자가 채워져있는데, 이 전자가 열에너지나 전기장으로부터 에너지를 흡수하여 더 높은 에너지띠로 전이하면 고체 내부에서 자유롭게 이동할 수 있다.


고체 내부에서 자유롭게 이동하는 전자를 자유전자라고 하며, 자유전자가 이동하여 전류가 흐르게 된다. 그래서 원자가띠 위에 있는 에너지띠를 전도띠라고 한다. 반도체와 부도체에서는 원자가띠 위에 띠틈이 있고, 그 위에 전도띠가 있다. 전도띠에는 전자가 차 있지 않아서 전도띠로 전이된 전자는 아주 작은 에너지를 주어도 자유전자가 된다. 전자가 원자가띠에서 전도띠로 전이하면 원자가띠에 전자가 비어 있는 (+) 성질을 띠는 부분이 생기게 되는데 이를 양공(holes) 또는 정공이라고 부른다.



마치며


솔직히 너무 깊게 파고든 것 같다. 지금 내게 중요한 것이 무엇인지 다시 한 번 생각해보자.



참고


에너지 준위 - 위키백과, 우리 모두의 백과사전


에너지 밴드


[반도체 이야기] 5. 에너지 띠(energy band)


'임베디드 > 개념' 카테고리의 다른 글

P형 반도체, N형 반도체  (0) 2018.01.04
다이오드  (0) 2018.01.04
단자와 반도체 소자  (0) 2018.01.03
JTAG  (0) 2018.01.02
개념 정리 목록  (0) 2018.01.02
블로그 이미지

NCookie

,

P형 반도체


전하를 옮기는 캐리어로 정공(Hole)이 사용되는 반도체이다. 양의 전하를 가지는 정공이 캐리어로서 이동해서 전류가 생긴다. 즉, 정공이 다수 캐리어가 되는 반도체이다.



N형 반도체


전하를 옮기는 캐리어로 자유전자가 사용되는 반도체이다. 음의 전하를 가지는 자유전자가 캐리어로서 이동해서 전류가 생긴다. 즉, 다수 캐리어가 전자가 되는 반도체이다.



다수 캐리어


다수반송자, 다수운반체라고도 부른다. n형과 p형 반도체 속에 있는 캐리어(전자 혹은 정공) 중에서 여러 개가 존재하는 캐리어를 말하며, 다수반송자 또는 다수운반체라고도 한다. 반도체의 전기저항은 이 다수캐리어에 의하여 결정된다. 



참고


P형 반도체 - 위키백과, 우리 모두의 백과사전


N형 반도체 - 위키백과, 우리 모두의 백과사전


다수캐리어 - doopedia

'임베디드 > 개념' 카테고리의 다른 글

에너지 띠  (0) 2018.01.04
다이오드  (0) 2018.01.04
단자와 반도체 소자  (0) 2018.01.03
JTAG  (0) 2018.01.02
개념 정리 목록  (0) 2018.01.02
블로그 이미지

NCookie

,