ASPX 기반의 홈페이지를 제작 시, C# 코드를 불러와서 사용하는게 중요합니다. 호환도 쉬운데다가, 기존의 C# 메소드들을 그대로 이용할 수도 있기 때문이죠. 아래는 ASPX 페이지에서, C# 코드를 호출하기 위한 간단한 소스 코드입니다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 void Page_Load(object sender, EventArgs e) { MyLabelControl.Text = "time is " + DateTime.Now.ToString(); } // button click - event handler void Button1_Click(Object sender, EventArgs e) { MyLabelControl.Text = "Clicked at " + Date..
파이썬 pdb 사용, 디버깅 방법과 실행, 종료 (리눅스 공통) 디버깅 모드로 코드를 수행하기 위해 다음의 함수를 사용할 수 있습니다. pdb.run(statement[, globals[, locals]])디버깅 모드로 해당 구문을 수행호출 직후 코드를 실행하지 않은 채로 디버그 프롬프트가 나타남 pdb.runeval(expression[, globals[, locals]])기본적으로 pdb.run() 함수와 같지만 runeval() 함수가반환할 때 해당 구문의 결과를 반환하지만, 차이점 존재 pdb.runcall(function[, argument, ...])디버깅 모드로 해당 함수를 호출함수로 진입한 직후 디버그 프롬프트가 나타남 파이썬 코드 예. IDLE이나 Command의 python.exe를 수..
C# TCP에서 사용할 binary(바이너리) 프레임 포맷 예제 예를 들어, 아래와 같은 데이터를 다루게 된다면... Field Offset Type size(object) id 0 unsigned int 1 name 1 Byte Array 40 grade 41 sign float 8 아래와 같은 포맷을 만들어 볼 수 있습니다. 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647[StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)]struct DataPacket{ [MarshalAs(UnmanagedType.U4)] public uint Id; //..
파이썬 2 3 차이 4가지 (python print, int, float, string unicode) 1. print가 함수 형태로 변경 2.x style 12 >>> print "welcome to", "python3k"welcome to python3k cs 3 style 12>>> print("welcome to","python3k")welcome to python3kcs 또한 인자로 다음과 같이 구분자(sep), 끝라인(end), 출력(file)을 지정할 수 있습니다. 12>>> print("welcome to","python3k", sep="~", end="!", file=sys.stderr)welcome to python3k Colored by Color Scriptercs 이와 유사하게 입..
WebGL(웹지엘) 애플리케이션의 주요 구성요소 캔버스canvas3D 씬이 렌더링되는 부분이다. 캔버스는 HTML5 표준 요소이며 자바스크립트로 돔에 접근할 수 있다. 오브젝트object3D 씬을 구성하는 개체다. 이 씬은 삼각형 구조로 되어 있다. 폴리곤 데이터를 저장하기 위해 웹지엘 버퍼buffer를 사용하는데, 3D 씬 안에서 오브젝트를 렌더링하기 위한 버퍼 사용 방법을 설명한다. 광원light3D 세계에서는 광원이 필수사항이다. 씬 안에서 광원을 이용한 모델을 만들기 위해 셰이더shader를 사용한다. 그리고 3D 물체에서 빛의 반사, 흡수를 물리 법칙을 이용한다. 카메라camera3D 세계에서 캔버스는 뷰포트처럼 여겨진다. 시각 관점view perspective를 위한 다른 행렬의 이해가 필요하..
Qt toUpper(), 대문자 소문자 변환 (Qt3, Qt5 대소문자 차이) 요즘은 대게 Qt 5.x를 사용합니다. 그래서 4.x 이하의 예제를 가져다가 사용하다 보면 에러가 종종 뜨지요. 이번 포스팅도 그런 경우와 연관된 내용입니다. Qt 3.0 버전 이하에선 아래와 같은 소스도 허용이 되었습니다. 12char char_tmp = message_[0].toUpper();message_[0] = char_tmp;cs 그렇지만 이제는 QString에서 char을 받아들이는 것도, char에 QString 데이터 일부를 할당하는 것 조차도 허용하지 않습니다. 위의 그림처럼 초기화할 수 없다는 에러 메시지를 볼 수 있습니다. 에러 메시지cannot convert 'QString' to 'char' in in..
TCM과 FPGA 기반의 안전한 임베디드 시스템 논문 요약 1. INTRODUCTION - 컴퓨터의 발전과 함께 통신 기술, 특히 인터넷은 넓게 퍼져 있고, 임베디드 시스템은 실생활에 많이 사용되고 있음 - 임베디드 시스템 분야는 빠르게 성장하고 있으며 cellular phones, PDA, 스마트카드, 디지털 뮤직 플레이어와 같은 기기들이 사회에 보급 - 임베디드 디바이스는 점점 더 개인적이고 상업적인 인프라에 통합되고 있어 보안이 최고의 이슈가 됨 - 그러나 전통적인 소프트웨어 보호 기술은 임베디드 시스템을 안전하게 보호하지 못함 따라서 임베디드 시스템에 대한 보안 설계는 매우 중요 공격자는 쉽게 소프트웨어 전용 보호를 피할 수 있다. 임베디드 시스템은 리소스에 따른 제약이 있으므로 방어가 약해지고,..
오실로스코프 프로브 적절한 선택 기준 및 사용법 ■ 프로브란? - 테스트 지점 또는 시그널 소스와 오실로스코프 사이에 물리적, 전기적 연결을 만들어주는 장치. ■ 이상적인 프로브- 이상적인 프로브의 핵심적인 특성 ■ 오실로스코프 프로브 종류 ■ 프로브 선택 시 고려 사항- Signal Source에 대한 프로브의 영향 최소화 - 측정하고자 하는 신호의 손실 최소화 (1) 측정 신호 전압 (다이내믹 레인지) 감쇠 계수 - 1X, 10X, 100X, 1000X (2) 대역폭 & 상승시간 1. 모든 프로브에는 대역폭 한계 존재 - 대역폭이 신호에 미치는 영향 : 진폭 감소 → 부정확한 측정 결과 : 상승 시간 증가 신호를 손실 없이 전달하기 위한 조건 - 충분한 대역폭의 프로브를 사용. → 신호 주파수 보다 ..
[자바스크립트 강좌 002] 프로그래밍 유형과 javascript 단점 자바스크립트와 객체지향 프로그래밍자바스크립트는 클래스를 지원하지 않지만 객체지향 프로그래밍이 가능하다. 프로토타입 체인과 클로저로 객체지향 프로그래밍에서 제시하는 상속, 캡슐화, 정보 은닉 등의 개념을 소화할 수 있다. 실제로 GOF의 디자인 패턴을 자바스크립트로 구현한 코드들이 많이 공개되어 있고, 많은 개발자의 관심을 받고 있다. 자바스크립트와 함수형 프로그래밍자바스크립트는 함수형 프로그래밍이 가능하다. 함수형 프로그래밍은 높은 수준의 모듈화를 가능케 하는 매우 효율적인 프로그래밍 방법이다. 자바스크립트는 주요 특성인 일급 객체로서의 함수 특성과 클로저를 활용하여 이를 가능케 한다. 하지만 이 때문에, 가독성을 떨어뜨리기도 한다...
애노드와 캐소드의 차이점에 대해선 아래 그림부터 참조하시길. ATMEGA에서 7-Segment 출력 표를 살펴보면, 캐소드와 애노드의 16진수 표기법이 다릅니다. Anode - (+)극으로 산화 전극이라 번역.Cathod - (-)극으로 환원 전극이라 번역. 전자는 캐소드에서 애노드로, 전류는 애노드에서 캐소드로의 흐름을 갖습니다.산화 전극이니 환원 전극이니 하는 것보단, 차라리 애노드 캐소드라 부르는 게 더 쉽습니다. 둘의 차이를 좀 더 살펴보면, 전류 소모량이 다릅니다. 애노드 - 양극이 모두 묶여 한꺼번에 전원을 주면, 반대 방향의 캐소드에 아트메가 포트가 물려 포트 로우에 LOW 신호를 주면 동작하는 방식 캐소드 - 음극이 모두 묶여 그라운드로 향하게 되는데, 아트메가에서 HIGH 신호를 주면 동..
안드로이드 Pull To Refresh 소스 예제 (당겨서 새로고침 기능) 원본 소스 - 본인 수정본 - 위와 같은 기능이 Pull To Refresh(당겨서 새로고침)인데, 얼마전(2011년 기준)부터 안드로이드에서도 지원이 되기 시작했었는데 외국분이 간단히 구현해 놓으셨네요. 코드 복사 후 바로 실행은 되지 않는 터라, 제가 정리해 봤습니다. 압축 풀고 바로 Import 한 뒤 실행해 보면, 당겨서 새로고침 잘 될겁니다. PullToRefreshActivity.java 123456789101112131415161718192021public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVi..
Modbus PLC Simulator(TCP 전용 시뮬레이터 nmodbus 라이브러리) Modbus는 자동화 라인에서 사용하기 위해 1979년에 개발된 프로토콜입니다. 우리나라에서도 장비 회사 대부분이 이 프로토콜을 사용 중이기도 하죠. 그래서 Modbus PLC Simulator(시뮬레이터) 등 프로토콜에 대한 응용 프로그램, 라이브러리 등의 수요가 많은 편입니다. 이 포스트에서는 Modbus 프로토콜의 한 예제입니다. C#용으로 라이브러리, 소스 응용 예제를 포함합니다. 그나저나, 요즘 C# 지원이 많아졌네요. NI, 미쓰비시 등이 C#용 라이브러리 많이 내놓고 있어요. MFC로 만들어진 것 프로그램이 많아 당장은 아니겠으나, 조금씩 C#이 MFC의 자리를 대체할 것으로 보입니다. 대기업이 지원할 만..