포토 커플러 : 전기적 특성 (VCE, CTR, ICEO 등) 포토 커플러 전기적 특성(Electrical Characteristics) - 1 포토 커플러 입력 특성(IF vs VF 특성)포토 커플러(Photo Coupler)의 입력단은 Forward Current(IF)의 증가에 따라 Forward Voltage(VF)의 증가의 형태를 나타내는 비례 특성을 갖는다. 포토 커플러 Application시 Surge가 큰 경우에 사용될 때에는 IRED와 병렬로 보호 Diode나 Surge 흡수용 캐패시터를 연결하는 등의 설계가 필요하다. 포토 커플러, 전기적 특성(Electrical Characteristics) - 2 VCE(sat) (Collector-Emitter 간 포화 전압)Collector-Em..
RARP 네트워크 서버 포맷 패킷과 사용자 프로세스 알아보기 RARP IntroductionRARP는 로컬 디스크에 있는 시스템이 부트스트랩 상태에 있을 때, 일반적으로는 디스크에 있는 환경 파일로부터 자신의 IP 어드레스를 얻는다. 그러나 X 터미널 또는 디스크가 없는 워크스테이션과 같이 디스크가 없는 시스템에서 RARP는 IP 어드레스를 얻는 다른 방법이 필요하다. RARP 네트워크에 있는 각각의 시스템은 네트워크 인터페이스 제조사에 의해 할당된 자신만의 유일한 하드웨어 어드레스를 갖는다. RARP의 원리는 디스크가 없는 시스템에서 인터페이스 카드로부터 자신만의 유일한 하드웨어 어드레스를 읽어서 누군가가 디스크가 없는 시스템의 IP 어드레스를 응답(RARP reply)하도록 요청하는 RARP requ..
RARP 예제, 재전송 주기란? tcpdump와 broadcast 어드레스 살펴보기 RARP Examples 우리의 네트워크에서 우리는 호스트 sun을 자신의 로컬 디스크 대신 네트워크로부터 bootstrap 하도록 할 수 있다. 호스트 bsdi에서 RARP 서버와 tcpdump를 실행시키면, 아래 그림과 같은 결과를 얻을 수 있다. tcpdump가 하드웨어 어드레스를 출력하게 하려고 0e flag를 사용하였다. 라인 1에 있는 RARP request는 브로드캐스트되고 라인 2에 있는 RARP reply는 unicast된다. 라인 2에 있는 sun으로부터의 출력은 호스트 sun(140.252.13.33)에 대한 IP 어드레스를 담고 있는 RARP reply를 의미한다. 라인 3에서는 일단 sun이 자신의..
안드로이드 txt 읽기 예제, InputStream 사용 (한글 깨짐 해결) 아래 안드로이드 TXT 예제(InputStream 사용)에서는 임의 XML 파일 이외에도 미가공 파일을 사용할 수 있다. res / 밑에 raw폴더와 asset 폴더에 오디오, 비디오, text 파일을 저장하고 해당 파일을 읽을 수 있다. InputStream을 이용해 raw 리소스 읽어 들이는 형식과 asset에서 읽어 들이는 형식으로 몇 개 짜보았다. main Keword는 InputStream으로 읽어서, 1byte씩 조각내서 쓴다. 한글 때문에 뻑나면, StreamReader로 해당 charset에 맞춰서 읽는다. String이나 StringBuffer나 StringBuilder 모두 사용해봤는데, 그다지 차이는 없는 듯..
안드로이드 포팅, 참고 자료 (AT91CAP9SDK 보드 기준) 안드로이드 포팅 보드 정보- Proven, Innovative Microcontroller [링크]- [AT91CAP9-STK]Linux Porting [링크] 안드로이드 포팅 참조- Android Porting [링크]- Android Porting On [링크]- Introduction Android [링크]- Android Porting Guide [링크] 안드로이드 포팅 참조 파일- Android_Media_.ppt [링크]- Sevencore_Android.pdf [링크] 이하 사항들은 안드로이드 포팅 정보의 요약 내용입니다. -- 안드로이드 포팅 시작 -- 버닝 방법 요약은 다음과 같다. (윈도우에서의 예로서, 리눅스와 더불어 리..
OLED LCD 소비전력 차이, 더 효율적인 디스플레이는? LCD vs OLED 소비전력 LCD와 OLED의 소비전력과 특성 구동 방식의 기술적 차이에 의한 소비전력 차이 - LCD : Back Light가 가장 많은 전력 소모 * CCFL에서 LED로 전환 중 (LED : CCFL의 70% 수준 전력 소모) - OLED : 각각의 발광 소자가 가장 많은 전력 소모 * 현재 알려진 바에 의하면 OLED는 LCD보다 약 30% 정도 적은 소비전력 소모된다고 알려져 있음(LCD는 항시 Back Light On, OLED는 필요한 부분의 소자만 빛 발산). 모바일 기술의 진화, 소비전력은? 모바일 기기 한정된 전력으로 소비전력 중요 - 모바일 기기 전력 소모에서 가장 큰 비중을 차지하는 것이 디스플레이 - 발..
[배열 초기화 C++] static const char 초기화 배열 초기화하는 방법은 간단합니다. 12345// headerstatic const char kEXAM[]; // cppconst char ClassName::kEXAM[] = { 'E', 'X', 'A', 'M', '0', '1' };cs 헤더 파일에 상수화 시킬 변수를 선언만 해주세요.이때, 배열 초기화 대상의 배열의 크기를 미리 지정해도 됩니다. 12345// headerstatic const char kEXAM[6]; // cppconst char ClassName::kEXAM[6] = { 'E', 'X', 'A', 'M', '0', '1' };cs 저라면, 아직 개발 단계고 배열의 크기가 확정되지 않았다면, 배열 초기화를 위해 크기는..
Java Spring 포트폴리오 6가지 알아보기 (자바 스프링) Java Spring LDAP DI와 AOP 외에도 스프링 프레임워크를 통해 적용되는 또 다른 공통 기법은 JDBC 쿼리 또는 JMS 메시징같이 불필요하게 복잡한 작업에 대해 템플릿 기반의 추상화를 만드는 것이다. 스프링 LDAP은 LDAP에 스프링 스타일의 템플릿 기반 액세스를 제공하며, 일반적으로 LDAP 작업에 포함된 단순 반복적인 코드를 제거한다. 스프링 LDAP에 관한 더 많은 정보는 아래에서 확인 가능하다. 링크 - http://projects.spring.io/spring-ldap/ Java Spring 리치 클라이언트 웹 기반 애플리케이션이 전통적인 데스크톱 애플리케이션에서 주목을 빼앗아간 듯 보인다. 하지만 아직 스윙(Swi..
C++ Qt 문자열 변환 예제 QString to LPCTSTR Qt와 MFC 또는 Qt와 C++을 응용할 때 발생하는 문제입니다. QString만 쓰는 환경이라면 상관없지만, LPCTSTR 같은 다른 자료형을 쓰는 환경이라면 변환이 생각만큼 잘 되지 않죠. ▶ QString to LPCTSTR 응용 개발환경 비주얼스튜디오 2013Qt 5.3.2유니코드 환경 32, 64 비트 릴리즈 / 디버그 모드 위와 같은 환경에서 QString을 LPCTSTR로 변환하는 소스입니다. 12345QString qt_string = "Test"; to LPCTSTR mfc_string = qt_string.toLocal8Bit().constData();cs QString = QStringQString.toLocal8Bit..
[디자인패턴] Qt 싱글톤 패턴, 로그 생성 프로그램 Qt에서 디자인패턴 중 싱글톤 패턴 기반으로 로그 파일을 생성하는 프로그램입니다. Qt도 C++을 기초로 제작된 언어라 싱글톤 패턴 소스는 C++의 것을 그대로 사용했습니다. 특별한 경우가 아닌 이상, C++ 디자인패턴 소스는 Qt에서도 구동됩니다. 이 포스트의 전체 프로젝트 파일은 아래 링크를 누르시면 받을 수 있습니다. [디자인패턴] Qt 싱글톤패턴 프로젝트 - SingletonFileIO.zip [링크] 우선, 실행 화면부터 보시죠. 메인 화면에는 메시지 레벨 3단계가 표시됩니다. UI는 꽤 단순하죠? 로그를 생성할 때, 메시지 레벨이 존재합니다. 위의 버튼에 보이는 ERROR, WARNING, INFORMATION으로 총 3개입니다. 디자인패턴..
[자바 스프링 트랜잭션] 전파방식 7개 (Java Spring) 자바 스프링 1. PROPAGATION_MANDATORY해당 메소드 호출 전에 반드시 진행 중인 트랜잭션이 존재해야 한다. 진행 중인 트랜잭션이 존재하지 않을 경우에는 예외가 발생한다. 자바 스프링 2. PROPAGATION_NESTED이미 진행 중인 트랜잭션이 존재하면 해당 메소드는 중첩된 트랜잭션(NESTED TRANSACTION)에서 실행돼야 함을 나타낸다. 중첩된 트랜잭션은 둘러싼 트랜잭션(ENCLOSING TRANSACTION)과 독립적으로 커밋되거나 롤백될 수 있다. 만약 둘러싼 트랜잭션이 없는 상황이라면 이는 PROPAGATION_REQUIRED와 동일하게 작동한다. 그러나 이 전파방식은 벤더 의존적이며 지원이 안 되는 경우도 ..
C# Invoke로 크로스 스레드 해결, 간략한 소스 응용 [C#강좌] C# Invoke는 이럴 때 써야 합니다. 아래 에러 메시지 보시죠. InvalidOperationException이(가) 처리되지 않았습니다. 또는, 이럴 때도 C# Invoke를 써야 하죠. 처리되지 않은 'System.InvalidOperationException' 형식의 예외가 System.Windows.Forms.dll에서 발생했습니다. 추가 정보: 크로스 스레드 작업이 잘못되었습니다. 'tb_received' 컨트롤이 자신이 만들어진 스레드가 아닌 스레드에서 액세스 되었습니다. 위 에러가 발생했을 때 해결하는 방법은 3가지였습니다. (C# Invoke를 사용하지 않았을 때) 1. 델리게이트를 선언하고 그곳에 맞는 콜백 함수..