본문 바로가기

전체 글1532

[Kotlin][Android] Hilt 활용 예시 만들기 오늘은 kotlin 언어로 Hilt를 활용해 textview에 특정 객체로 부터 전달받은 데이터가 적용되는 예시를 만들어 보겠습니다. 그래들 설정=> 프로젝트 레벨 gradle 파일에 위와 같이 적용해줍니다 (버전 정보는 아래의 공식홈페이지 정보를 참고해주세요) => 앱 레벨 gradle 파일에 위와 같이 적용해줍니다 => 앱 레벨 gradle 파일에 위와 같이 적용해 줍니다. (버전 정보는 아래의 공식홈페이지 정보를 참고해주세요) https://developer.android.com/training/dependency-injection/hilt-android?hl=ko#kts Hilt를 사용한 종속 항목 삽입 | App architecture | Android Developers이 페이지는 C.. 2025. 7. 4.
[Kotlin][Android] Keystore를 사용해 암호화하기 안녕하세요.오늘은 안드로이드에서 keystore를 사용해서 안전하게 데이터를 보호하는 방법에 대해 알아보겠습니다. 1. keystorehttps://developer.android.com/privacy-and-security/keystore?hl=ko Android 키 저장소 시스템 | Security | Android DevelopersAndroid 키 저장소 시스템 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 키 저장소 시스템을 사용하면 암호화 키를 컨테이너에 저장하여 기기에서 키developer.android.com Keystore는 안드로이드에서 제공하는 안전한 저장소입니다.쉽게 말해, 중요한 비밀(예: 암호화 키, 인증서 등)을 스마트폰 내.. 2025. 7. 3.
[Python] NumPy를 이용한 간단한 행렬 연산 및 TensorFlow로 선형 회귀 모델 구축 오늘은 딥러닝의 가장 기본적인 개념인 "선형회귀(Linear Regression)"를 이해하고자 파이썬 데이터 처리 라이브러리 NumPy 와 딥러닝 프레임워크 TensorFlow 를 사용해 간단한 딥러닝 학습 예제를 만들어보겠습니다. 딥러닝 프로젝트에서 Python은 거의 필수적이라고 할 수 있을 정도로 광범위하게 사용됩니다.딥러닝의 핵심 라이브러리들이 대부분 Python을 기반으로 하고 있기 때문입니다! 선형회귀 (Linear Regression) 란 - 선형 회귀는 데이터들 사이의 "선형적인 관계"를 가장 잘 나타내는 "직선"을 찾아내는 통계/머신러닝 기법. 여기서 선형적인 관계란 변수들(X와 Y)이 직선 형태로 증가하거나 감소하는 경향을 보이는 관계를 말합니다. 예시1) 공부 시간에 따른 시험.. 2025. 7. 2.
[Java][Android] AssetManager를 활용하여 앱 내 에셋 파일에 접근하기 안드로이드 앱을 개발하다 보면 이미지, 텍스트 파일, 폰트, JSON 데이터 등 다양한 정적 리소스를 앱 패키지 내부에 포함시켜야 할 때가 있습니다. 이 파일들을 인터넷에서 다운로드하거나 외부 저장소에 저장하는 대신, 앱 자체에 번들링하여 언제든지 쉽게 접근하고 싶을 때 유용한 것이 바로 AssetManager입니다. 이번 포스팅에서는 AssetManager를 사용하여 앱의 assets 폴더에 있는 파일에 접근하고 내용을 읽어오는 방법을 MainActivity.java와 activity_main.xml 두 파일만을 사용하여 간단하게 구현해 보겠습니다. 우선 assets 폴더를 생성하고 파일을 추가해보도록 하겠습니다. 1. Project 뷰에서 app/src/main 디렉터리를 마우스 오른쪽 버튼으로 클.. 2025. 7. 1.
[React] Hook 함수형 컴포넌트 안녕하세요!리액트를 통해 개발을 하다 보면 useState, useEffect 같은 단어들을 자주 접하셨을 텐데요,이들은 모두 '훅(Hook)'이라는 리액트의 기능을 담당하는 함수들입니다. 훅(Hook)이 등장하기 전: 클래스 컴포넌트의 복잡함훅이 등장하기 전, 리액트에서 '상태(state)'를 관리하거나 '생명주기(lifecycle)' 기능을 사용하려면 반드시 클래스 컴포넌트(Class Component) 사용해야 했습니다. import React, { Component } from 'react';class CounterClass extends Component { constructor(props) { super(props); // state는 constructor 안에서 this.stat.. 2025. 6. 30.
[PHP] array_diff_assoc() 함수로 값과 키까지 비교하기 안녕하세요, 오늘은 array_diff_assoc() 함수를 활용하여 키와 값이 모두 동일한 항목을 기준으로 배열의 차이를 구해보도록 하겠습니다. array_diff_assoc() array_diff_assoc() 함수는 PHP에서 배열의 차이점을 비교할 때 사용되며, 값뿐만 아니라 키까지 정확히 일치해야 동일한 것으로 봅니다. array_diff_assoc(array $array1, array $array2): array $array1과 $array2를 비교하여, $array1에 있지만 $array2에는 없거나 다르게 있는 (값 또는 키) 요소만 반환함단순히 값이 같은지를 비교하는 array_diff()와 달리, array_diff_assoc()는 키와 값이 모두 같아야 동일하다고 판단값이 같아도.. 2025. 6. 29.
[Java][Android] Hilt 활용 예시 만들기 오늘은 Hilt를 활용해 textview에 특정 객체로 부터 전달받은 데이터가 적용되는 예시를 만들어 보겠습니다. 그래들 설정=> 프로젝트 레벨 gradle 파일에 위와 같이 적용해줍니다 (버전 정보는 아래의 공식홈페이지 정보를 참고해주세요)=> 앱 레벨 gradle 파일에 위와 같이 적용해줍니다 => 앱 레벨 gradle 파일에 위와 같이 적용해 줍니다. (버전 정보는 아래의 공식홈페이지 정보를 참고해주세요) https://dagger.dev/hilt/gradle-setup Gradle Build SetupHilt dependencies To use Hilt, add the following build dependencies to the Android Gradle module’s build.gradle.. 2025. 6. 28.
[Kotlin][Android] 코루틴(Coroutine) 사용하기 안녕하세요.이번 글에서는 코루틴(Coroutine)의 개념을 정확하게 이해하고, 실제 안드로이드 앱에서 코루틴을 활용하는 방법을 예제와 함께 살펴보겠습니다. 1. 코루틴(Coroutine)1-1. 코루틴이란?코루틴(Coroutine)은 함수의 실행을 일시 중단(suspend)하거나, 중단된 지점에서 다시 실행(resume)할 수 있는 비동기 프로그래밍 기법입니다.코틀린(Kotlin)에서는 코루틴을 통해 비동기 작업(예: 네트워크 요청, 파일 입출력 등)을 간결하고 효율적으로 처리할 수 있습니다.코루틴을 활용하면 복잡한 콜백 구조 없이, 동기 코드와 유사한 방식으로 비동기 로직을 작성할 수 있다는 장점이 있습니다.1-2. 비동기란?비동기(Asynchronous)란, 어떤 작업이 실행되는 동안 해당 작업의 .. 2025. 6. 26.
[Python] 음성 데이터를 Mel 스펙트로그램과 PyTorch 텐서로 변환해보기 딥러닝 모델은 음성 데이터를 직접 이해하지 못합니다. 따라서 음성은 숫자 배열, 즉 ‘텐서(Tensor)’ 형태로 변환되어야 합니다.이 글에서는 음성 파일을 불러와 Mel 스펙트로그램을 추출하고, 이를 PyTorch 텐서로 변환하는 전처리 과정을 실습해봅니다. 1. 라이브러리 설치 pip install librosa torch matplotlibLibrosa 는 오디오 데이터를 분석하고 처리할 수 있게 해주는 라이브러리입니다. 특히 음성이나 음악을 딥러닝에 넣기 전에 전처리하는 데에 최적화 되어 있습니다. 앞서 언급했듯이 TTS 에서 "음성 파일(wav)" 을 바로 모델에 넣을 수 없기 떄문에 사람의 말소리를 "배열"로 바꾸는 전처리 단계가 필요합니다. Librosa 라이브러리에는 오디오 파일 불러.. 2025. 6. 25.