반응형

2024/11 76

Android - Google Play Store 배포하기 및 주의 사항

안드로이드 애플리케이션을 성공적으로 개발했다면, 다음 단계는 많은 사용자들에게 이를 제공하는 것입니다. 가장 좋은 방법은 바로 Google Play Store에 앱을 배포하는 것입니다. 이번 포스팅에서는 Google Play Store에 앱을 배포하는 방법을 단계별로 설명하고, 배포 과정에서 발생할 수 있는 주의 사항과 문제 해결 방법을 예제와 함께 다룹니다.1. Google Play Console 설정하기Google Play Store에 앱을 배포하기 위해서는 Google Play Console을 사용해야 합니다. 다음과 같은 절차를 통해 설정할 수 있습니다:Google 계정 만들기 또는 로그인: 먼저 Google 계정이 필요합니다. 아직 계정이 없다면 Google 계정 만들기를 통해 새 계정을 생성하..

Android 2024.11.30

STM32 USB 호스트/디바이스 설정 및 사용법

안녕하세요! 오늘은 STM32F429ZI 보드를 사용하여 USB 호스트/디바이스 기능을 설정하고 사용하는 방법에 대해 알아보겠습니다. 개발 환경은 STM32CubeIDE로 진행할 예정이며, IO 설정부터 USB HID 예제까지 자세히 다루겠습니다. 이번 포스팅을 통해 STM32F429ZI에서 USB를 활용하는 방법을 확실히 이해할 수 있도록 도와드리겠습니다.1. 프로젝트 생성 및 USB 설정하기1.1 STM32CubeIDE에서 새 프로젝트 생성먼저 STM32CubeIDE를 실행하고 새로운 프로젝트를 생성해 주세요.File > New > STM32 Project를 선택합니다.Target Selection 화면에서 STM32F429ZI를 검색하고 선택합니다.프로젝트 이름을 정하고 Finish를 클릭하여 프로..

STM32 2024.11.30

SHA-1 (Secure Hash Algorithm 1) 해시 알고리즘

안녕하세요, '소프트웨어 공장'입니다! 오늘은 널리 사용되는 해시 알고리즘 중 하나인 SHA-1에 대해서 알아보고, 이를 JAVA와 Linux C로 구현하는 방법을 공유해드리겠습니다. 이 글을 통해 SHA-1이 어떤 방식으로 동작하는지 이해하고, 실제로 구현하는 경험을 가져보시길 바랍니다.SHA-1이란?SHA-1 (Secure Hash Algorithm 1)은 미국 국가안보국(NSA)이 설계하고, 미국 국가표준기술연구소(NIST)에 의해 표준화된 해시 알고리즘입니다. 이 알고리즘은 입력 데이터의 길이에 상관없이 160비트(20바이트)의 고정된 길이의 해시 값을 생성합니다.SHA-1은 다양한 보안 프로토콜과 애플리케이션에서 사용되었지만, 오늘날에는 충돌 가능성이 발견되어 더 강력한 해시 알고리즘인 SHA-..

STM32 FreeRTOS - 실시간 운영체제 프로젝트 가이드

안녕하세요, '소프트웨어 공장'에 오신 것을 환영합니다! 오늘은 STM32F429ZI를 이용하여 실시간 운영체제인 FreeRTOS를 설정하고, 기본적인 RTOS 프로젝트를 구성해보는 시간을 갖겠습니다. FreeRTOS는 임베디드 시스템에서 멀티태스킹 기능을 구현할 수 있는 강력한 도구입니다. 이번 포스팅에서는 FreeRTOS의 개념부터 태스크 생성, 세마포어와 큐를 이용한 멀티태스킹 구현까지 다뤄보겠습니다.1. FreeRTOS란 무엇인가?FreeRTOS는 오픈 소스 실시간 운영체제로, 임베디드 시스템에서 멀티태스킹을 구현하기 위해 자주 사용됩니다. FreeRTOS는 태스크(task)라는 단위를 통해 여러 작업을 병렬로 수행할 수 있도록 도와줍니다. 태스크의 우선순위에 따라 작업을 스케줄링하고, 세마포어,..

STM32 2024.11.29

Android - 애플리케이션 배포 준비하기 [AndroidManifest 설정 및 ProGuard 적용]

안드로이드 애플리케이션을 개발하는 과정에서, 배포 준비는 매우 중요한 단계입니다. 애플리케이션이 사용자에게 배포될 때의 안정성과 보안을 확보하기 위해 필요한 설정들이 많이 존재합니다. 이번 포스팅에서는 AndroidManifest 파일의 주요 설정과 ProGuard를 통한 난독화 적용을 중심으로 배포를 준비하는 과정을 살펴보겠습니다. 이 가이드를 통해 애플리케이션을 더욱 안전하고 효과적으로 배포할 수 있는 방법을 익히게 될 것입니다.1. AndroidManifest 설정하기AndroidManifest.xml은 모든 안드로이드 애플리케이션의 핵심적인 설정 파일입니다. 애플리케이션의 구성 요소, 권한, 버전 정보 등을 지정하는 중요한 파일이므로 배포 전 단계에서 주의 깊게 설정해야 합니다.주요 설정 요소들1..

Android 2024.11.29

MD5 (Message Digest Algorithm 5) 해시

1. MD5란 무엇인가?MD5(Message Digest Algorithm 5)는 1991년 미국의 Ron Rivest에 의해 개발된 해시 함수입니다. 주로 데이터의 무결성을 검사하거나 디지털 서명을 생성할 때 사용됩니다. MD5는 주어진 입력 데이터로부터 128비트(16바이트) 길이의 해시 값을 생성하며, 이 해시 값은 입력 데이터가 조금만 달라져도 완전히 달라지는 특징을 가지고 있습니다.하지만 MD5는 보안성에 있어 심각한 결함이 발견되어 암호학적으로 안전한 목적에서는 더 이상 사용되지 않습니다. 그럼에도 불구하고, MD5는 여전히 체크섬 검증, 데이터 무결성 검사와 같은 비암호학적 용도로 사용되고 있습니다.이 포스팅에서는 MD5 알고리즘의 원리를 설명하고, Java와 Linux C 언어로 MD5 해..

STM32 인터럽트와 EXTI 설정

오늘은 STM32F429ZI 개발 환경에서 인터럽트를 이해하고, NVIC 설정 및 외부 인터럽트(EXTI)를 이용해 버튼을 제어하는 방법을 소개하려고 합니다. 본 포스팅은 STM32CubeIDE를 기반으로 진행하며, STM32CubeMX 없이 직접 IO 설정 및 EXTI 설정을 하는 방법을 다룹니다. 이를 통해 STM32F429ZI의 인터럽트 구조를 제대로 이해할 수 있도록 하겠습니다.인터럽트의 기본 개념인터럽트(Interrupt)는 특정 사건(Event)이 발생했을 때 CPU의 주 실행 흐름을 잠시 멈추고 사건을 처리하기 위한 특별한 함수(Interrupt Service Routine, ISR)를 실행하는 기법입니다. MCU에서 인터럽트는 실시간 처리를 가능하게 하며, 버튼 입력, 타이머 이벤트, 통신..

STM32 2024.11.28

Android 앱 성능 최적화 전략 - 메모리 관리부터 ANR 문제 해결까지

안드로이드 애플리케이션을 개발할 때, 성능은 사용자 경험에 큰 영향을 미칩니다. 느린 화면 전환, 자주 발생하는 ANR (Application Not Responding) 문제 등은 사용자로 하여금 앱을 떠나게 만들 수 있습니다. 이번 포스팅에서는 안드로이드 애플리케이션의 성능을 최적화하는 다양한 전략들을 소개하고, 각 전략의 실제 예제 코드와 함께 설명하겠습니다. 목표는 앱의 메모리 관리, 스레드 처리, ANR 문제 해결 등 성능 관련 문제들을 어떻게 최적화할 수 있는지 이해하는 것입니다.1. 메모리 관리 최적화1.1 가비지 컬렉션(GC) 최소화안드로이드에서는 자바와 코틀린의 가비지 컬렉터(Garbage Collector, GC)가 메모리 관리를 담당합니다. 하지만 불필요하게 자주 발생하는 GC는 앱의..

Android 2024.11.28

Knapsack 비대칭키 암호화 알고리즘

안녕하세요! '소프트웨어 공장' 블로그를 방문해주셔서 감사합니다. 오늘은 비대칭키 암호화 알고리즘 중 하나인 Knapsack 암호화 알고리즘에 대해 알아보도록 하겠습니다. Knapsack 암호화 알고리즘은 초기에 비대칭키 암호화 방식으로 주목받았지만 이후 다양한 연구를 통해 보안 문제점이 발견된 알고리즘입니다. 이번 포스트에서는 Knapsack 암호화 알고리즘의 기본 개념을 설명하고, Java와 Linux C 언어로 구현한 예제를 소개하겠습니다.Knapsack 암호화 알고리즘이란?Knapsack 암호화 알고리즘은 1978년 Ralph Merkle와 Martin Hellman이 제안한 초기 공개키 암호 시스템 중 하나입니다. 이 알고리즘은 "배낭 문제(Knapsack Problem)"를 기반으로 하고 있으..

STM32 아날로그 신호 출력 DAC 설정하기

이번 포스팅에서는 STM32 마이크로컨트롤러의 DAC(Digital to Analog Converter)를 사용하여 아날로그 신호를 출력하는 방법을 소개하겠습니다. STM32CubeIDE를 활용하여 DAC의 IO 설정을 진행하고, 이를 통해 PWM이 아닌 아날로그 형태의 신호를 출력하는 과정에 대해 설명해 드리겠습니다. DAC의 기본 개념부터 코드 예제까지 함께 다루어 보며, STM32 개발의 이해도를 높여보세요.1. DAC(Digital to Analog Converter)의 개념DAC는 디지털 신호를 아날로그 신호로 변환해 주는 장치입니다. STM32 마이크로컨트롤러에는 하나 이상의 DAC 채널이 내장되어 있으며, 이를 통해 PWM(Pulse Width Modulation) 대신 실제 아날로그 신호를..

STM32 2024.11.27
반응형