본문 바로가기
반응형

전체 글1351

[티스토리] 2025년 블로그 수익 공개 2025년 블로그 수익2025년이 끝내고 2026년 새해가 시작된다. 한 해를 마무리 하는 시기에 블로그 수익 결산을 해보았다. 📌 [티스토리] 2024년 블로그 수익 공개 [티스토리] 2024년 블로그 수익 공개2025년 새해를 맞이하며2024년 수익을 정리해 보았다. 활동성은 줄었지만블로그 활동을 계속해서 하고 있긴 했다. But기술 블로그는 Ghat GPT로 인해 큰 의미를 잃었고일상 블로그도 5년차가 되니zoosso.tistory.com 작년부터 블로그 활동을 크게 하지 않기 때문에 올해도 우하향을 그리고 있다. Chat GPT가 일상화된 지금 기술 블로그 활동은 거의 하지 않고 있다. 일상 블로그에 포스팅 해놓았던 맛집과 여행 기록도 매장이 폐점되어 있거나 과거의 기록일 뿐 최신 정보가 필요.. 2026. 1. 1.
[클린 아키텍처] 6가지 컴포넌트 원칙 컴포넌트 원칙 (Component Principles)Robert C. Martin 제안한 컴포넌트 원칙으로총 6가지인데 컴포넌트 응집성(Cohesion), 결합(Coupling) 관점으로 나눌 수 있다. 📌 컴포넌트 응집성(Cohesion) 원칙1) REP (Reuse/Release Equivalence Principle, 재사용/릴리스 등가 원칙)2) CCP (Common Closure Principle, 공통 폐쇄 원칙)3) CRP (Common Reuse Principle, 공통 재사용 원칙) 📌 컴포넌트 결합(Coupling) 원칙1) ADP (Acyclic Dependencies Principle, 비순환 의존성 원칙)2) SDP (Stable Dependencies Principle, .. 2025. 10. 8.
요구공학(Requirements Engineering) 🔹요구공학이란 무엇인지?고객의 요구를 체계적으로 수집, 분석, 명세화하고이를 검증 및 관리하기 위해 추적성과 변경 관리를 포함하는 기법 🔹 왜 필요한가?↳ 요구사항 오류는 개발 단계가 지나갈수록 수정 비용이 기하급수로 증가 ↳ 요구가 계속 변경될 수 있는데 추적성(Traceability) 확보하면 변경에 대응하기 쉬움. ↳ 고객과 개발자 사이 합의점 도출 애매모호할 수 밖에 없는 문제• 이해 관계자 (Stakeholders)는 스스로 무엇을 원하는지 정확히 모른다. • 이해 관계자는그들만의 용어로 요구 사항을 제시한다. • 여러 이해 관계자들의 요구사항이 충돌될 수 있다. • 산업 특성상 새로운 이해 관계자가 나타날 수 있다.📌 기능 요구사항 (FR, Functional Requirements)• .. 2025. 9. 20.
[C/C++] 포인터 없이 메모리 직접 접근 메모리 직접 접근C/C++에서는 포인터 활용하여 메모리 접근 가능 하지만 임베디드 환경에서는 포인터 없이 직접 접근하는 경우가 많다. (이는 특정 주소에 "모드 설정" or "데이터 값" 처리하기 때문)예를 들어 0x2000_0000 번지에 값을 "10" 설정한다고 해보자.0x20000000 = 10;위와 같은 형태는 상수 = 상수로 당연히 처리 되지 않는다.(*)0x20000000 = 10;주소 값 형태로 하여 타입 캐스팅 하였지만 할당 받을 메모리 크기가 지정되어야 한다. 보통 양수로 값을 처리하기 때문에 아래와 같이 표현할 수 있다.(unsigned int*)0x20000000 = 10;마지막으로 컴파일러 최적화 처리를 방지하기 위해 아래 형태로 사용되는 편이다.(volatile unsigned i.. 2025. 7. 13.
[임베디드/ARM] 인터럽트 처리 (IRQ, GIC) 인터럽트(Interrupt) 란?CPU가 현재 작업을 하다가도 이벤트가 발생하면 그 작업을 중단하고 해당 이벤트를 처리하도록 만드는 것VIC(Vectored Interrupt Controller)• ARM7, ARM9 등 구형 ARM 프로세서에서 사용하는 인터럽트 컨트롤러 • 각 인터럽트의 우선순위, 마스킹 설정 가능 • 소형, 단일코어 기반 시스템에 적합 ex. MCU • 보통 32개의 인터럽트 소스 수 • 벡터 방식 GIC (Generic Interrupt Controller)• GIC은 VIC을 대체한 고성능 확장형 인터럽트 컨트롤러 • ARM Cortex-A 계열(멀티코어 시스템) ex. SoC • 수백 개 이상의 인터럽트 소스 수 • 분산 처리 방식IRQ vs FIQARM은 인터럽트 처리 방식 .. 2025. 7. 7.
[임베디드/펌웨어] UART UART (Universal Asynchronous Receiver/Transmitter)• 직렬 통신을 위한 하드웨어 모듈• 데이터를 하나씩(1 bit) 주고받는 방식 특징• 구현이 간단하고 하드웨어 자원이 적게 듦• 널리 사용되며 많은 디바이스가 지원 보통 콘솔 입출력용으로 사용 터미널 프로그램을 UART 포트와 연결하면 UART 통해서 받은 아스키 코드를 그 코드에 해당하는 문자로 화면에 출력 📌 [NAND Flash] ECC(Error Correction Code) 란? [NAND Flash] ECC(Error Correction Code) 란?들어가며 Digital 신호 처리 과정에서 Error가 발생할 수 밖에 없다. NAND 세대가 거듭될수록 성능이 좋아지지만 그만큼 Error 증가도 있.. 2025. 7. 6.
[C++] enum class와 enum enumenum은 순차적으로 나열된 정수형 상수를 만들 때 사용사용할 때는 enum 키워드 없이 이름을 가져와 사용하면 된다.enum SU { ONE = 1, TWO, THREE, FIVE = 5, SIX,};SU num = ONE;enum 변수 크기는 int형 크기이지만 int 형과는 엄연히 다른 자료형이다.#include using namespace std;enum week { SUN, MON, TUE, WED, THU, FRI, SAT };int main(void){ week w; w = 5; // error w = MON; int n = SUN; // error 자체는 없지만 권장하지 않음} 📌 [C] 열거형 타입 enum 이란? [C/C++].. 2025. 6. 29.
[임베디드] SSD 실제 저장 용량 Q) SSD/HDD 제품 정보와 실제 용량이 다른 이유는 무엇일까?• 용량 표기 방식의 차이 (Decimal vs Binary) • 파일 시스템 및 포맷 손실 • Over-Provisioning (OP, 여유 영역 설정) • 숨겨진 제조사 전용 영역1) 용량 표기 방식의 차이 (Decimal vs Binary)저장할 수 있는 용량 기가바이트(GB)와 테라바이트(TB) 단위가 존재한다. • 비트(bit) = 2진수(binary digits) → 0 or 1 처리 • 바이트(byte) = 1바이트는 8비트. ex) 1101_0010 • 킬로바이트(KB) = PC에서 가장 작은 파일 저장 단위는 보통 4KB이다  1KB = 1024바이트 = 1024 x 8 bit = 8192 bits • 메가바이트(MB) .. 2025. 6. 23.
주파수와 대역폭란 무엇일까? MHz (Megahertz, 메가헤르츠)• Million Cycles Per Second) • 주로 마이크로프로세서의 클럭 속도 표현에 사용 • 1초에 얼마나 많은 신호 변화가 일어나는지 표시 • 1 MHz = 1,000,000 Hz = 초당 100만 번 • 1GHz는 1초에 10억 번 신호 = 연산 가능 횟수도 많음 → 속도와 성능이 높아짐 대역폭• 얼마나 많은 데이터가 "한 번에 지나갈 수 있는가" • 흔히 초당 전송할 수 있는 데이터의 양 (bps, MB/s) 주파수 vs 대역폭✅ 높은 주파수 → 빠른 신호 전송 → 더 많은 데이터 통신 가능 → 대역폭 증가 2025. 6. 20.
[리눅스] vi 명령어 vi 명령어자주 사용하는 vi 명령어 모음집단축키내용i현재 커서 위치에 Inserto아랫줄에 Insertyy현재 줄 복사dd현재 줄 잘라내기p붙여 넣기:w문서 저장:w{파일명}파일명을 지정하면 새 파일로 저장:qvi에서 작업한 것이 없을 때 vi 종료:q!현재 문서 저장하지 않고 닫기:wq현재 문서 저장하고 닫기:set nu라인 번호 출력:set nonu라인 번호 출력 취소:숫자지정한 숫자라인으로 이동:?{문자열}커서 위치 뒤로 문자열 검색:/{문자열}커서 위치 앞으로 문자열 검색:%!xxdHex 형식으로 보기 vi 내용 치환단축키내용:%s{문자열 A}/{문자열 B}파일 전체에서 모든 {문자열 A}을 {문자열 B}로 치환:{범위}s{문자열 A}/{문자열 B}g범위 내 모든 행에서 {문자열 A}을 {문자.. 2025. 6. 8.
반응형