개인 자료 정리 홈페이지 입니다.

Note > 자바스크립트 관련[jquery] filter, find

By a3040, Published on 3/18/2025, 1

jquery - filter : n.fn.init 객체에서 객체 내용 자체를 필터함[자기자신을 필터]

var b = $("body");

>> n.fn.init {0: body, length: 1, prevObject: n.fn.init, context: document, selector: 'body'}
ㅇ일때  b.find('body')는 찾을수 없음.
b.filter('body')로 찾아야함.



jquery - find : n.fn.init 객체의 요소를 선택해서 자식요소들을 찾음[자기의 자식요소들을 검색]

>> x = > n.fn.init {0: div#info_box, 
ㅇ일때  x.find('#info_box')는 찾을수 없음.
x.filter('#info_box')로 찾아야함.

#info_box 안쪽에 #first 가있을경우
x.find("#first")로 찾을수 있음..



Continue Reading
Note > 개발환경과도구정리cmake

By a3040, Published on 8/23/2024, 9

- cmake/cmake-gui


- 타겟이란? 만들려고 하는 목적물 이름

add_executable(Tutorial tutorial.cxx)


이 경우 윈도우 환경에서 Tutorial.exe 파일이 만들어지고 CMakeLists.txt에서 타켓이름은 Tutorial임


CMakeLists.txt

cmake_minimum_required(VERSION 3.10) #버전표시
project(Tutorial) #프로젝트명 표시
add_executable(Tutorial tutorial.cxx) # 실행파일 만들기


윈도우에서 CMake사용시 cl인지 gcc인지?

message(STATUS "C Compiler: ${CMAKE_C_COMPILER}")

message(STATUS "C++ Compiler: ${CMAKE_CXX_COMPILER}")

message(STATUS "C Compiler ID: ${CMAKE_C_COMPILER_ID}")

message(STATUS "C++ Compiler ID: ${CMAKE_CXX_COMPILER_ID}")


현재 타겟의 컴파일 옵션은?

#현재 CMakeListtxt에서 설정된것

get_target_property(TARGET_COMPILE_OPTIONS my_target COMPILE_OPTIONS)

#모든 타겟의 옵션 상속된것까지 /

get_target_property(ALL_COMPILE_OPTIONS my_target INTERFACE_COMPILE_OPTIONS) 


add_definitions()

 > 컴파일러에 전달할 전처리기 매크로(-D 옵션 포함)나 컴파일러 옵션을 추가

 

특정 컴파일러 대상으로

target_compile_definitions(my_target PRIVATE _UNICODE) 


add_definitions(-D_UNICODE) #cl에 /D_UNICODE 로 전달, GCC/Clang: -D_UNICODE 

이건 안됨 ? add_definitions(_UNICODE) #cl에 문자열로 전달됨


if (MSVC)  #msvc빌드일때 있음
  add_definitions(/D_UNICODE) # MSVC는 /D 사용
  #안됨?  add_definitions(/Wall)    # MSVC는 /Wall 사용
  add_compile_options(/Wall) 
else()
  add_definitions(-D_UNICODE) # GCC/Clang은 -D 사용
  #안됨?  add_definitions(-Wall)    # GCC/Clang은 -Wall 사용
  add_compile_options(-Wall) 
endif()



add_definitions(-D_XX=1) 은 global scop #define _XX 1 와 동일



외부 dll이 release로 되어 있어서 나도 Release 컴파일 할때 msvc 컴파일 옵션 추가하기

target_compile_options(${TARGET} PRIVATE /Od /Zi /Gy) # cmake에서 msbuild, cl.exe 사용시
target_link_options(${TARGET} PRIVATE /DEBUG /OPT:REF /OPT:ICF)



CMake Tutorial — CMake 3.30.2 Documentation

Continue Reading
Note > makerSIAM전자 시계, 컴퓨터 시간(RTC)가 유지된는 이유는

By a3040, Published on 10/10/2024,

전자 시계, 컴퓨터 시간이 유지된는 이유는?

- 컴퓨터 시간이 유지된는 이유는 

RTC모듈이 내장되어 있음.

- RTC모듈이 시간을 유지하는 방법은?

> 만들어질때 UTC 기준시간으로 초기화 되고, 그 이후는 자체 전원(보통 컴 보드에서 보이는 동그란 건전지)으로 유지되면서 

> 틱을 지속적으로 발생해서 초기화시간 + 만들어진 이후 틱개수 = 현재시간을 계산한다.


RTC 모듈은 제조 시점에 기준이 되는 UTC 시간으로 초기화됩니다. 이후에는 자체적으로 틱(tick)을 발생시켜 시간을 유지합니다. 구체적으로는 다음과 같은 과정이 있습니다:

  1. 초기화: RTC 모듈이 제조될 때 또는 처음 설정될 때 기준이 되는 UTC 시간으로 초기화됩니다.

  2. 틱 발생: RTC 모듈은 내부 클럭을 사용하여 초 단위로 틱을 발생시킵니다. 이 틱은 일정한 주기로 발생하며, 이를 통해 시간을 계산합니다.

  3. 시간 유지: RTC 모듈은 배터리 백업을 통해 전원이 꺼져도 시간을 계속 유지합니다. 내부 클럭이 계속 작동하여 틱을 발생시키기 때문에 시간이 정확하게 유지됩니다.

  4. 시간 읽기: 마이크로컨트롤러나 컴퓨터는 RTC 모듈로부터 현재 시간을 읽어와서 필요에 따라 타임존 변환을 통해 로컬 시간을 계산합니다.

Continue Reading