반응형

전체 글 803

Android - Logcat과 디버깅 도구 활용하기

Android - Logcat과 디버깅 도구 활용하기안드로이드 애플리케이션을 개발하다 보면 버그가 발생하는 것은 피할 수 없는 일입니다. 하지만 다행히도 Android Studio에는 강력한 도구들이 내장되어 있어, 효율적으로 버그를 추적하고 문제를 해결할 수 있습니다. 오늘 포스팅에서는 Android 디버깅에 필수적인 Logcat과 디버깅 도구들을 활용하여 버그를 추적하고 해결하는 방법에 대해 설명하겠습니다. 예제 코드와 함께 실전에서 어떻게 사용하는지 알아보겠습니다.Logcat이란?Logcat은 Android에서 로그 메시지를 출력하고 볼 수 있는 콘솔 도구입니다. 앱이 동작하는 동안 발생하는 로그를 볼 수 있어, 버그가 발생했을 때 문제의 원인을 찾는 데 큰 도움이 됩니다. Logcat은 Andro..

Android/Application 2024.12.05

BLAKE2 해시 알고리즘

BLAKE2 해시 알고리즘1. BLAKE2 해시 알고리즘 소개BLAKE2는 빠르면서도 안전한 해시 알고리즘으로, MD5와 SHA 계열 알고리즘보다 더 높은 속도와 보안을 제공합니다. BLAKE2는 기본적으로 두 가지 변형을 갖고 있습니다: BLAKE2b와 BLAKE2s. BLAKE2b는 64비트 아키텍처에 적합하며, BLAKE2s는 32비트 아키텍처에 적합합니다.해시 알고리즘은 주로 데이터 무결성 검증, 비밀번호 저장, 고유 식별자 생성 등에 사용됩니다. BLAKE2는 이러한 목적에 있어 높은 성능을 제공하면서도 충돌 방지 특성이 좋아 암호학적 응용 프로그램에 널리 사용됩니다.이번 포스트에서는 BLAKE2 해시 알고리즘을 JAVA와 Linux C 언어로 구현하는 예제를 소개합니다. 이를 통해 해시 알고리..

Git 소개 및 사용법 - 버전 관리의 시작

Git 소개 및 사용법 - 버전 관리의 시작Git이란 무엇인가?Git은 소프트웨어 개발 과정에서 코드의 변경 사항을 관리하기 위한 분산 버전 관리 시스템입니다. 개발자가 서로 협력하면서 코드 변경 이력을 추적하고, 필요에 따라 이전 버전으로 되돌리거나 변경사항을 비교하는 등 여러 가지 편리한 기능을 제공합니다. 이러한 기능 덕분에, 코드의 신뢰성과 협업의 효율성을 높일 수 있습니다. 개발자는 Git을 통해 코드의 각기 다른 버전들을 안전하게 관리하고, 여러 사람이 동시에 작업하는 경우에도 충돌을 최소화하면서 함께 작업할 수 있습니다.Git과 버전 관리 시스템의 필요성소프트웨어 개발 프로젝트에서는 다양한 기능을 추가하거나 기존 기능을 수정하는 과정에서 수많은 코드 변경이 이루어집니다. 이러한 변경 사항을 ..

git 2024.12.04

Android - 안정적인 앱 개발을 위한 단위 테스트와 UI 테스트 작성법

Android - 안정적인 앱 개발을 위한 단위 테스트와 UI 테스트 작성법안녕하세요, '소프트웨어 공장' 블로그에 오신 것을 환영합니다! 오늘은 안드로이드 애플리케이션을 안정적으로 개발하기 위한 중요한 기술 중 하나인 단위 테스트(Unit Test)와 UI 테스트(UI Test) 작성법에 대해 이야기해 보겠습니다. 안정적인 앱 개발을 위해서는 철저한 테스트가 필수입니다. 이번 포스팅에서는 단위 테스트와 UI 테스트가 왜 중요한지, 그리고 실제로 Kotlin을 사용해 어떻게 작성할 수 있는지 알아보겠습니다.단위 테스트란 무엇인가요?단위 테스트(Unit Test)는 코드의 특정 모듈이나 함수와 같은 작은 단위를 테스트하는 것입니다. 이렇게 하면 코드가 예상대로 동작하는지, 각 단위가 올바른 출력을 반환하는..

Android/Application 2024.12.04

Whirlpool 해시 알고리즘

Whirlpool 해시 알고리즘안녕하세요, '소프트웨어 공장' 블로그를 방문해주셔서 감사합니다! 오늘은 해시 알고리즘 중 하나인 Whirlpool에 대해서 깊이 있게 다뤄보려 합니다. Whirlpool은 매우 강력하고 안전한 해시 알고리즘으로, 다양한 보안 분야에서 사용될 수 있습니다. 이번 포스팅에서는 Whirlpool 알고리즘의 개념과 함께, JAVA 및 Linux C 언어로 구현한 예제를 보여드리겠습니다.Whirlpool 해시 알고리즘이란?Whirlpool은 2000년에 Vincent Rijmen과 Paulo S. L. M. Barreto에 의해 개발된 암호화 해시 함수입니다. 이 알고리즘은 메시지를 고정된 크기인 512비트의 해시 값으로 변환합니다. Whirlpool은 특히 보안성이 매우 뛰어나며..

Android - 애니메이션 및 제스처 사용자 경험 극대화

Android - 애니메이션 및 제스처 사용자 경험 극대화안녕하세요! 이번 포스팅에서는 안드로이드 애플리케이션에서 사용자 경험을 극대화하기 위해 애니메이션 및 제스처를 추가하는 방법에 대해 알아보겠습니다. 사용자에게 시각적으로 매력적이고 직관적인 인터페이스를 제공하기 위해 애니메이션과 제스처는 매우 중요한 요소입니다. 이번 포스팅에서는 Kotlin을 사용하여 실제로 애니메이션과 제스처를 애플리케이션에 적용하는 예제를 살펴보겠습니다.1. 애니메이션을 통한 시각적 개선애니메이션은 사용자가 애플리케이션과 상호 작용할 때 중요한 시각적 피드백을 제공합니다. 예를 들어, 버튼을 클릭했을 때 버튼이 살짝 커지거나 줄어드는 애니메이션을 추가하면 사용자는 자신의 액션이 제대로 인식되었음을 쉽게 알 수 있습니다.1.1 ..

Android/Application 2024.12.03

STM32 저전력 모드 활용하기

STM32 저전력 모드 활용하기안녕하세요, 여러분! 오늘은 STM32F429ZI를 이용해 저전력 모드의 활용 방법에 대해 알아보려고 합니다. STM32 마이크로컨트롤러는 다양한 저전력 모드를 지원하여, 배터리 소모를 줄이고 효율적인 전력 관리를 가능하게 합니다. 이를 통해 전력 효율성을 극대화하는 방법을 배워 보겠습니다. 이번 포스팅에서는 전력 관리 기능, 저전력 모드의 종류, 설정 방법, 그리고 간단한 예제를 통해 저전력 모드를 어떻게 활용할 수 있는지 알아보겠습니다.STM32F429ZI의 전력 관리 기능STM32 마이크로컨트롤러는 다양한 전력 관리 기능을 제공하여 여러 상황에서 전력 소비를 최소화할 수 있도록 설계되었습니다. 주요 전력 관리 기능은 다음과 같습니다.Sleep Mode: 코어 클럭을 정..

STM32 2024.12.03

RIPEMD-160 해시 알고리즘

RIPEMD-160 해시 알고리즘안녕하세요, 소프트웨어 공장 블로그 방문자 여러분! 오늘은 해시 알고리즘의 하나인 RIPEMD-160에 대해 자세히 알아보겠습니다. 이 알고리즘은 데이터의 무결성을 보장하기 위해 사용되는 중요한 해시 함수입니다. RIPEMD-160을 이해하고 실제로 Java와 Linux C 언어로 구현해 보는 시간을 가져봅시다.RIPEMD-160이란?RIPEMD-160은 1996년에 COSIC 연구소에서 개발된 해시 함수로, 주로 데이터 무결성을 보장하기 위해 사용됩니다. 주로 SHA-1과 유사한 보안 수준을 가지지만, 설계 방식에서 차별화된 점이 있어 독립적인 보안성을 보장합니다. 해시 함수는 입력 데이터를 고정된 크기의 값으로 변환하는 함수인데, RIPEMD-160은 160비트 길이의..

Android - Notification 설정 및 Foreground Service로 백그라운드 작업 처리

Android - Notification 설정 및 Foreground Service로 백그라운드 작업 처리안드로이드 애플리케이션을 개발하다 보면, 사용자가 앱을 사용하지 않을 때도 특정 작업을 수행해야 하는 경우가 있습니다. 이때 가장 많이 사용되는 것이 백그라운드 작업을 처리하는 서비스입니다. 그러나 Android 8.0 (API 26)부터는 백그라운드에서의 작업에 제한이 생겼고, 이러한 상황에서 Foreground Service가 중요한 역할을 합니다. 오늘 포스팅에서는 Android Notification 설정 및 Foreground Service를 사용하여 백그라운드 작업을 처리하는 방법에 대해 알아보겠습니다.Foreground Service란?Foreground Service는 사용자가 인지할 ..

Android/Application 2024.12.02

STM32F429 보드의 LCD 제어 및 그래픽 라이브러리 활용

STM32F429 보드의 LCD 제어 및 그래픽 라이브러리 활용오늘은 STM32CubeIDE를 활용하여 STM32F429 보드의 LCD 화면을 제어하고, 그래픽 라이브러리를 이용해 간단한 GUI를 개발하는 과정을 소개하겠습니다. 이번 글에서는 LTDC(LCD-TFT Display Controller) 설정, IO 설정 방법, 그리고 LCD에 그래픽을 출력하는 예제를 단계적으로 설명드리겠습니다. 특히 STM32CubeMX 대신 STM32CubeIDE를 사용하여 IO 설정하는 과정을 자세히 설명하므로 따라오시기 쉽게 구성하였습니다.1. 프로젝트 설정1.1 STM32CubeIDE 프로젝트 생성먼저 STM32CubeIDE를 사용하여 새로운 프로젝트를 생성해야 합니다. STM32F429ZI를 대상으로 하는 프로젝..

STM32 2024.12.02
반응형