본문 바로가기

전체 글14

MUSTOOL ETM120M(TOOLTOP MDS120M) 오실로스코프 메뉴얼 중요한 알림알 수 없는 전압을 측정할 때는 먼저 프로브 핸들을 10배로 설정하여 오실로스코프가 과전압이 되어 손상되지 않도록 해야 합니다.1X 또는 10X 위치는 측정 중인 전압의 크기에 따라 결정됩니다. 1X 프로브 위치의 대역폭은 5MHz이고, 10X 프로브 위치의 대역폭은 100MHz입니다. 5MHz보다 높은 주파수로 측정할 때는 프로브 핸들을 10X 위치로 전환해야 하며, 오실로스코프도 10X 위치로 설정해야 합니다. 오실로스코프 프로브 라인의 캐패시턴스는 100 ~ 300pF로 매우 높기 때문에 신호가 프로브를 통과하여 오실로스코프의 입력단에 도달할 때 5MHz의 동등 대역폭으로 크게 감쇄됩니다.프로브 라인의 캐패시턴스를 맞추기 위해, 프로브 라인의 입력단의 캐패시턴스가 10배로 감쇄됩니다(핸들.. 2024. 4. 28.
A1 Mini 소개 이 페이지는 A1 Mini 3D 프린터의 주요 구성 요소를 소개하여 프린터를 이해하는 데 도움이 될 것입니다. A1 mini의 작동 원리는 무엇인가요? A1 mini 3D 프린터는 플라스틱 필라멘트를 사용하여 3D 개체를 생성하는 기계입니다. 디지털 모델을 물리적인 개체로 변환할 수 있습니다. A1 mini의 작동 원리는 일반적으로 다음 단계를 포함합니다. 디지털 모델의 생성 또는 획득: 먼저, 3D 모델을 만들거나 기존의 디지털 모델을 획득해야 합니다. 이는 컴퓨터 지원 설계 소프트웨어, 온라인 자원 또는 기타 소스를 통해 수행할 수 있습니다. 슬라이싱: 다음으로, Bambu Studio는 디지털 모델을 여러 개의 얇은 층으로 잘라냅니다. 각 층에 대한 정보는 프린터가 이해할 수 있는 언어로 자동으로 .. 2024. 4. 18.
플러터 달력 TableCalendar 패키지 앱에서 사용할 달력 위젯을 검색해보니 TableCalendar가 가장 적합해 보였다. TableCalendar에 대해서 알아보자. 설치 TableCalendar를 사용하기 위해서는 pubspec.yaml의 dependencies에 다음과 같이 추가하자. (현재 3.1.0이 최신버전이다.) dependencies: table_calendar: ^3.1.0 기본 사용법 TableCalendar를 사용하려면 firstDay, lastDay, focusedDay를 제공해야 한다. - firstDay : 달력의 첫 번째 사용 가능한 날짜, 이 날짜의 이전 날짜에는 접근할 수 없다. - lastDay : 달력의 마지막 사용 가능한 날짜, 이 날짜의 이후 날짜에는 접근할 수 없다. - focusedDay : 포커스할.. 2024. 3. 17.
울티클립(ULTICLIP) 나이프에 관심이 생겨 카페에서 활동을 하다 보니 울티클립이라는 말을 종종 보았었다. 울티클립이 무엇인지 종류가 어떻게 되는지 알아보자. 나이프 쉬스 먼저 울티클립이 왜 필요한지에 대한 배경 지식을 알아보자. 나이프 쉬스는 나이프의 칼날을 안전하게 보호하고 보관하기 위한 장비이다. 쉬스는 가죽, 나이론, 플라스틱 등의 재질로 만들어지며, 일반적으로 벨트에 고정시켜서 사용하거나 클립으로 달도록 되어 있다. 벨트에 고정하는 쉬스는 벨트에 부착 시 단단하게 고정되기 때문에 쉬스에서 나이프를 꺼내기 좋다는 장점이 있지만, 벨트에만 걸 수 있고 쉬스를 빼려면 벨트를 풀어야 한다는 단점이 있다. 클립 쉬스는 벨트나 주머니와 같이 걸 수만 있다면 어디든지 부착할 수 있다는 장점이 있다. 하지만 클립은 고정력이 약하기 .. 2024. 3. 15.
레벨 1 친숙 - 04 계산 표현하기 이 장에서 다루는 내용 산술 연산 수행하기 오브젝트 수정하기 불 타입 다루기 삼항 연산자로 조건부 컴파일하기 평가 순서 지정하기 이 장에서 연산을 수행하는 데 사용하는 값이나 오브젝트의 타입은 대부분 size_t로 지정한다. 이 타입으로 선언한 값은 '크기(size)'를 나타내며 음수가 될 수 없고 0부터 시작한다. 즉, 수학에서 흔히 자연수라고 부르는 음이 아닌 정수를 의미한다. 그런데 컴퓨터는 유한하기 때문에 자연수 전체를 직접 표현할 수 없고, 무한에 가까운 값을 적절히 근사한다. size_t로 표현할 수 있는 값의 상한은 SIZE_MAX로 표현한다. SIZE_MAX는 꽤 큰 값을 나타낸다. 플랫폼에 따라 다음 값 중 하나로 정해진다. 2^16 -1 = 65535 2^32 -1 = 429496729.. 2024. 2. 23.
레벨 1 친숙 - 03 결국은 제어 이 장에서 다루는 내용 if를 이용한 조건부 실행 도메인에 대해 반복하기 다중 선택하기 C 언어는 if, for, do, while, switch라는 다섯 가지 조건부 제어문(conditional control statement)을 제공하며, 이 장에서 이들에 대해 하나씩 살펴볼 것이다. if는 불리언 표현식의 값을 기준으로 조건부 실행(conditional execution) 기능을 제공한다. for, do, while은 반복문(iteration)이고, switch는 정수 값을 기준으로 다중 선택(multiple selection) 기능을 제공한다. 3.1 조건부 실행 첫 번째 살펴볼 구문은 if라는 키워드로 표현한 것으로 다음과 같이 작성한다. if (i > 25) { j = i - 25; } 이 코.. 2024. 2. 3.
레벨1 친숙 - 들어가며 이 레벨은 C 프로그램을 잘 작성하고 사용하는 데 필요한 지식을 제공한다. 여기서 잘 작성한다는 말은 C 언어의 최신 규격을 이해하는 것이며, 초창기 C 언어의 다양한 방언에서 저지르기 쉬운 실수를 피하고, 이식 가능한 새로운 구문을 사용한다는 뜻이다. 준비 C 언어는 제약이 없는 편이다. 다시 말해 프로그래머가 원한다면 자폭에 가까운 일도 할 수 있다. 먼저 몇 가지 제약 사항에 대해 알아보자. C 언어에서 가장 위험한 구문은 타입 변환(cast)이다. 레벨 1에서는 이에 대한 설명을 생략하고, 우선 빠지기 쉬운 함정 몇 가지를 소개한다. 이 레벨에서 받아들이기 힘든 내용 중 일부는 다음과 같이 일정한 순서에 따라 점진적으로 소개한다. 정수 타입은 부호 없는(unsigned) 버전 위주로 소개한다. 포.. 2024. 2. 3.
레벨0 만남 - 02 프로그램의 핵심 구조 이 장에서 다루는 내용 C 언어 문법 식별자 선언하기 객체 정의하기 컴파일러에게 지시하기 실전에서 다룰 프로그램은 앞 장의 예제 1-1보다 훨씬 다양하고 복잡하게 구성되겠지만, 기본 골격은 거의 비슷하다. C 프로그램에서 고려할 두 가지 관점이 있는데, 하나는 컴파일러가 이해할 수 있도록 프로그램을 작성하는 구문 관점이고, 다른 하나는 우리가 의도한 대로 작동하도록 프로그램을 작성하는 의미 관점이다. 이 장에서는 구문 관점과 의미 관점의 세 가지 핵심 요소인 선언, 정의, 문장에 대해 살펴본다. 2.1 문법 C 프로그램의 구조를 보면 특정한 문법에 따라 여러 텍스트 요소가 엮인 것을 알 수 있다. 텍스트 요소는 다음과 같다. 특수어 : #include, int, void, double, for, retu.. 2024. 2. 3.
레벨0 만남 - 01 들어가며 이 레벨에서는 C 프로그램의 목적과 구조, 사용법 등을 개략적으로 소개한다. 구체적인 설명은 하지 않는다. 지금은 C 프로그래밍에 대한 감을 잡고 궁금증이 일어 주요 개념을 파악하는 단계다. 자세한 내용은 레벨 1부터 소개한다. 1.0 이 장에서 다루는 내용 명령형 프로그래밍 코드 컴파일하고 실행하기 이 장에서는 C 언어의 다양한 구문으로 간단히 작성한 프로그램을 소개한다. C 프로그래밍은 원하는 작업을 컴퓨터로 처리하는 기법을 의미한다. C 언어는 명령을 내리는 방식으로 작업을 표현하는데, 이런 프로그래밍 방식을 명령형 프로그래밍(imperative programming)이라 부른다. 첫 프로그래인 예제 1-1을 통해 구체적으로 살펴보자. /* 장난스런 문장 같지만 정식 C 표현이다. -*- mode:.. 2024. 2. 2.
들어가며 이 책은 C언어에 대한 숙련도와 전반적인 프로그래밍 실력에 따라 단계를 나눠서 구성됐다. 특히 포인터와 같은 어려운 주제를 처음부터 깊이 다루어 개념을 잘못 이해하지 않도록 여러 레벨에 걸쳐 설명한다. C버전 현재 국제 표준 기구인 ISO에서 C 언어 표준을 관리하고 있다. 그래서 흔히 C89, C99, C11, C17(각각 1989년, 1999년, 2011년, 2018년에 재정)으로 부르는 C 표준이 발표됐다. C 표준 위원회는 최신 표준을 구현한 컴파일러가 예전 버전으로 작성된 코드를 컴파일 할 수 있도록 하위 호환성을 보장하는 데 상당한 노력을 기울인다. 아쉽게도 이런 하위 호환성 때문에 새 기능을 사용하면 큰 도움이 되는 프로젝트라도 코드 베이스를 업데이트하지 않도록 하는, 의도하지 않은 부작용이.. 2024. 2. 2.
파이썬 namedtuple 파이썬 namedtuple에 대해서 알아보자. 튜플(tuple)이란? 먼저 튜플(tuple)에 대해서 간단히 알아보자. 파이썬의 튜플은 불변한 순서형 자료형이다. 여러 값을 하나의 변수에 저장하는 데 사용한다. user = ('John', 25) print(f'name: {user[0]}, age: {user[1]}') # name: John, age: 25 튜플은 여러 값을 하나의 변수로 저장하는 장점이 있지만 인덱스로 필드를 접근해야 하므로 가독성이 떨어질 수밖에 없다. 위의 예제에서 user[0]만으로는 name이라는 정보를 알기가 힘들다. 튜플은 불변이므로 값을 변경할 수가 없다. user[0] = 'Alice' # 에러 발생 Traceback (most recent call last): Fil.. 2024. 1. 7.
파이썬의 던더 메서드 파이썬 객체를 제대로 사용하고 싶다면 던더 메서드와 파이썬의 데이터 모델에 대해서 잘 알아야 한다. 던더 메서드를 구현하면 사용자 정의 객체도 내장형 객체처럼 작동하게 되어, 파이썬스러운 표현력 있는 코딩 스타일을 구사할 수 있다. 데이터 모델이란? 파이썬의 데이터 모델은 객체의 규칙과 구조라고 생각하면 된다. 파이썬에서 문자열의 길이를 알고 싶다면 len(name) 처럼 len() 함수에 객체를 전달하는 방식이지만, 다른 언어들은 대부분 name.length()와 name.size() 처럼 객체의 메서드를 사용하는 방식을 사용한다. 파이썬의 객체의 길이를 알고 싶다면 len() 함수에 객체를 전달하는 동일한 방식이 사용되므로 새로운 클래스의 객체를 사용하더라도 일관성이 큰 장점이 된다. 하지만 다른 언.. 2024. 1. 7.