반응형

전체 글 247

Android - Service

안드로이드 애플리케이션 개발에서 Service는 백그라운드에서 작업을 실행하기 위해 사용됩니다. 화면에 UI를 보여주지 않고도 애플리케이션이 오래 실행되어야 하는 경우에 유용합니다. 예를 들어 음악 재생, 위치 추적, 파일 다운로드 등 다양한 백그라운드 작업을 처리할 때 Service를 사용할 수 있습니다.이번 포스팅에서는 Android Service에 대해 간단히 설명하고, 직접 구현해보는 예제를 통해 실습해보도록 하겠습니다. 예제는 Kotlin을 사용하여 작성되었습니다.Service란 무엇인가요?Service는 백그라운드에서 오랜 시간 실행되어야 하는 작업을 처리하기 위한 컴포넌트입니다. Activity와 달리 UI를 제공하지 않으며, 백그라운드에서 동작하게 됩니다. 크게 두 가지 종류의 Servic..

Android 2024.11.16

AES(Advanced Encryption Standard) 대칭키 암호화 알고리즘

대칭키 암호화는 데이터를 암호화하고 해독할 때 같은 키를 사용하는 암호화 방식입니다. 대칭키 암호화의 대표적인 알고리즘 중 하나가 바로 AES(Advanced Encryption Standard)입니다. AES는 현재 많은 분야에서 표준으로 사용되고 있으며, 강력한 보안성을 자랑합니다. 오늘은 AES의 개념부터 JAVA와 Linux C 언어로 구현하는 방법까지 알아보겠습니다.AES란 무엇인가?AES는 미국 국립 표준 기술 연구소(NIST)에서 개발한 고급 암호화 표준으로, 데이터 보안을 위해 대칭키 암호화를 수행하는 알고리즘입니다. 원래 DES(Data Encryption Standard)의 뒤를 이어 보안성을 강화하기 위해 개발되었으며, 128비트, 192비트, 256비트의 키 크기를 지원합니다. AE..

Android - Activity

안드로이드 애플리케이션을 개발하다 보면 가장 먼저 마주하게 되는 것이 Activity입니다. Activity는 안드로이드에서 화면을 구성하고 사용자와 상호작용하는 가장 기본적인 컴포넌트입니다. 오늘 포스팅에서는 Activity가 무엇인지, 어떻게 활용할 수 있는지 알아보고, 간단한 예제 코드를 통해 Activity를 직접 구현해 보겠습니다.Activity란 무엇인가?Activity는 안드로이드 애플리케이션에서 사용자와 상호작용하는 화면을 담당합니다. 애플리케이션에서 여러 개의 화면을 가질 수 있는데, 각각의 화면이 Activity에 해당합니다. 각 Activity는 애플리케이션의 한 화면을 구성하고, 사용자가 화면을 이동하거나 새로운 기능을 사용할 때마다 새로운 Activity가 실행됩니다.기본적으로 A..

Android 2024.11.15

ESP32 IDF 파일 시스템 - SPIFFS, FATFS

안녕하세요, '소프트웨어 공장' 블로그에 오신 것을 환영합니다! 오늘은 ESP32에서 파일 시스템을 활용하는 방법에 대해 다뤄보겠습니다. 특히, SPIFFS를 설정하고 사용하는 방법, 그리고 FATFS를 통해 SD 카드를 관리하는 방법에 대해 설명해드리겠습니다. 모든 작업은 VS Code 개발 환경을 기준으로 진행됩니다.ESP32 파일 시스템의 필요성임베디드 시스템에서 데이터를 저장하고 불러오는 기능은 매우 중요합니다. ESP32와 같은 마이크로컨트롤러 환경에서는 파일 시스템을 통해 비휘발성 저장소에 데이터를 안전하게 저장할 수 있으며, 이를 통해 시스템의 유연성과 데이터 보존성을 높일 수 있습니다. ESP32에서는 내부 플래시 메모리와 외부 SD 카드를 활용해 파일을 저장하고 관리할 수 있는 두 가지 ..

ESP32 IDF 2024.11.15

3DES(Triple DES) 대칭키 암호화 알고리즘

안녕하세요, 오늘은 대칭키 암호화 알고리즘 중 하나인 3DES (Triple Data Encryption Standard)에 대해 알아보겠습니다. 대칭키 암호화는 하나의 키를 이용해 데이터를 암호화하고 복호화하는 방식인데, 그 중에서도 3DES는 기존 DES의 보안성 문제를 해결하기 위해 개발된 알고리즘입니다. 이 글에서는 3DES의 동작 방식, 장단점, 그리고 Java와 Linux C로 구현한 예제를 소개하겠습니다.1. 3DES란?3DES(Triple DES)는 기존 DES(Data Encryption Standard) 알고리즘을 3번 반복하여 암호화하는 방식입니다. DES는 56비트의 키를 사용해 데이터를 블록 단위로 암호화하는 알고리즘이지만, 키 길이가 짧아 현재 기준으로는 보안이 취약합니다. 이를..

Android - 인텐트(Intent), 브로드캐스트(Broadcast)

안녕하세요! 오늘은 안드로이드 개발에서 중요한 개념 중 하나인 인텐트(Intent)와 브로드캐스트(Broadcast)에 대해 알아보려고 합니다. 인텐트와 브로드캐스트는 안드로이드 앱 구성 요소 간의 상호 작용을 가능하게 해주며, 앱 내에서 또는 앱 간에 데이터를 주고받을 수 있게 도와줍니다.1. 인텐트(Intent)란?인텐트(Intent)는 두 가지 주요 기능을 담당합니다:액티비티 간의 전환: 화면 전환을 위해 사용됩니다.서비스 실행: 백그라운드에서 수행할 작업을 요청할 때 사용됩니다.인텐트는 명시적 인텐트(Explicit Intent)와 암시적 인텐트(Implicit Intent)로 나눌 수 있습니다.명시적 인텐트: 특정 컴포넌트를 직접 지정하여 호출하는 인텐트입니다. 주로 같은 애플리케이션 내에서 사..

Android 2024.11.14

ESP32 IDF Sleep

ESP32 저전력 모드 : Light Sleep Deep Sleep안녕하세요, '소프트웨어 공장'에 오신 것을 환영합니다. 오늘은 ESP32의 저전력 모드에 대해 다루어보겠습니다. 특히 ESP32에서 제공하는 두 가지 저전력 모드인 Light Sleep과 Deep Sleep에 대해 설명하고, Deep Sleep 모드를 설정하는 방법과 타이머를 이용해 웨이크업하는 방법을 다뤄보겠습니다. 이를 통해 배터리 효율성을 최대한 높이는 방법도 함께 알아보겠습니다.1. ESP32의 저전력 모드ESP32는 다양한 저전력 모드를 제공하며, 이 중에서도 주요한 모드는 Light Sleep과 Deep Sleep입니다. 이 모드들은 배터리로 동작하는 IoT 장치에서 전력 소모를 크게 줄여줄 수 있는 강력한 도구입니다.1.1 ..

ESP32 IDF 2024.11.14

DES (Data Encryption Standard) 대칭키 암호화 알고리즘

안녕하세요, '소프트웨어 공장'입니다. 오늘은 대칭키 암호화 알고리즘 중 하나인 DES(Data Encryption Standard)에 대해 알아보겠습니다. DES는 데이터 보호를 위해 널리 사용되었던 암호화 알고리즘으로, 1970년대 후반에 미국 정부 표준으로 지정되었습니다. 이제 DES의 작동 원리와 특징, 그리고 JAVA와 Linux C 언어로 구현하는 방법에 대해 살펴보겠습니다.DES란 무엇인가?DES(Data Encryption Standard)는 IBM에서 개발하고 1977년 미국 국가 표준으로 지정된 블록 암호화 알고리즘입니다. DES는 데이터를 64비트 블록으로 나누어 암호화하며, 56비트의 비밀키를 사용합니다. DES는 16번의 Feistel 구조 라운드를 통해 데이터를 암호화합니다.이 ..

암호화(Encryption)

암호화는 중요한 데이터를 보호하기 위해 데이터를 변환하는 과정입니다. 원래의 데이터를 다른 형태로 변환하여, 권한이 없는 사람은 이해할 수 없도록 만드는 것을 목적으로 합니다. 쉽게 말해 암호화는 데이터의 보안성을 높이고, 이를 통해 신뢰성을 확보하는 기술입니다. 이 암호화된 데이터를 다시 원래의 형태로 변환하는 과정을 '복호화'라고 합니다.대칭키 암호화와 비대칭키 암호화암호화 방식에는 여러 가지가 있지만, 가장 일반적으로 사용되는 방식은 대칭키 암호화와 비대칭키 암호화입니다. 이 두 가지는 암호화 과정에서 사용되는 키의 특징에 따라 크게 구분됩니다.대칭키 암호화대칭키 암호화에서는 하나의 키를 사용하여 데이터를 암호화하고, 그 데이터를 복호화하는 데도 같은 키를 사용합니다. 즉, 발신자와 수신자가 동일한..

Android UI : 다이얼로그(Dialog)

안녕하세요, 소프트웨어 공장입니다. 오늘은 안드로이드 애플리케이션 개발에서 중요한 요소 중 하나인 "다이얼로그"에 대해 알아보겠습니다. 다이얼로그는 사용자와의 상호작용을 돕기 위해 화면에 잠깐 나타나는 작은 창으로, 다양한 상황에서 사용될 수 있습니다. 다이얼로그를 활용하면 간단한 알림, 확인/취소와 같은 사용자의 입력 요청 등을 효과적으로 처리할 수 있습니다.다이얼로그의 종류안드로이드에서는 여러 종류의 다이얼로그를 제공합니다. 가장 많이 사용되는 다이얼로그의 종류는 다음과 같습니다.AlertDialog : 알림 메시지를 표시하고 사용자의 응답(예: 확인, 취소)을 받을 때 주로 사용됩니다.DatePickerDialog : 날짜를 선택하는 다이얼로그입니다.TimePickerDialog : 시간을 선택하는..

Android 2024.11.13
반응형