전체 글 85

안드로이드 스튜디오에서 Websocket과 연결하기 (프론트)

어떤 유저가 로그인을 성공했을시에 websocket과 연결이 될 수 있게 구현했다.  mainactivity파일composable("login") { LoginScreen( viewModel = authViewModel, onLoginSuccess = { #로그인을 성공했을 경우에 val userId = authViewModel.getUserId() // ViewModel에서 사용자 ID 가져오기 val intent = Intent(this@MainActivity, ManageService::class.java).apply { putExtra("USER_ID", userI..

카테고리 없음 2025.04.02

celery beat와 UTC시간 (오류 해결)

celery beat를 이용해서 내가 원하는 알람시간의 스케줄을 저장하고 해당 알람시간이 되면 tasks.py를 실행시키는 코드를 짰다. 하지만 도저히 task.py가 실행되지 않았다. beat가 연결이 안되서 그런가 싶어서 테스트 코드를 작성했다. #celery.pyapp.conf.beat_schedule = { 'test_periodic_task': { 'task': '앱이름.tasks.test_periodic_task', 'schedule': crontab(minute='*/10'), #timedelta(seconds=10) #minute=1 그냥 이렇게 적으면 매 1분이라는 시각에만 동작하는 것. 8시1분 9시1분 이런식 },}@shared_taskdef te..

카테고리 없음 2025.03.25

Celery beat 사용

주기적으로 코드를 확인하는 기능을 구현하기 위해서 celery beat를 사용했다.(celery를 사용하기 위한 기본 설정은 이전 글에 있으니 참고하시면 됩니다.) #config/celery.py.....app.conf.timezone = 'Asia/Seoul'app.conf.beat_schedule = { 'test_periodic_task': { 'task': '앱이름.tasks.task이름', 'schedule': crontab(minute='*/1'), #timedelta(seconds=10) },}#minute=1 그냥 이렇게 적으면 매 시간의 1분에 동작하는 것. 8시1분 9시1분 이런식 예시 tasks.py입니다.from celery import sha..

카테고리 없음 2025.03.24

Django에서 celery+redis

지금 공부하는 과정이라 해당 글은 계속해서 수정이 될 예정입니다. 지금은 제가 이해한 것 까지만 정리하고 올리는 것이니 아래에 참고한 사이트를 첨부했으니 그것을 보시는게 더 도움이 될 것입니다. Celery를 장고에서 사용하기 위한 흐름을 글로 정리. 1. Django, Redis, Celery 패키지를 설치한다.2. docker를 설치하여 redis서버를 실행시킨다. 사용 환경 : vscode에서 Django를 사용함.vscode에서 redis가 잘 연결이 되었는지 확인하는 방법# redis docker 실행(해당 코드를 vscode 터미널에서 실행)docker run -d -p 6379:6379 redis #실행이 되고 있는 docker의 정보를 알수 있다.docker ps#위의 docker ps를 ..

카테고리 없음 2025.03.23

FCM 사용

안드로이드 스튜디오와 장고 서버를 REST로 연결.  원래 FCM token은 각 디바이스 당 하나의 토큰을 만든다. 여기서 문제점 몇가지를 생각할 수 있었다.한 디바이스에서 여러 유저가 사용하게 될 경우, 혹은 한 유저가 여러 디바이스에서 사용하게 될 경우 FCM token을 이용해서 push알림을 전송을 해야 하는데 유저마다 token값이 동일하게 된다면 a라는 유저가 설정을 해둔 값이 b라는 유저에게도 영향을 끼치고 그 반대도 마찬가지다.  해결방안 각 유저가 로그인을 할때 마다 새로운 FCM token을 생성을 해주는 방법이다. 저장된 token값은 로그아웃 시에 삭제한다. FCM token 사용 과정   1. 로그인 django view.py에서 입력한 user의 값이 db에 있는지 확인을 하고..

카테고리 없음 2025.03.22

ngrok 사용법(안드로이드 스튜디오 외부장치 연결 문제)

안드로이드 스튜디오와 장고 서버를 REST로 연결을 하는 과정에서 가상 에뮬레이터가 아닌 외부장치를 연결을 해서 사용하는데 문제가 발생했다.문제를 해결하기 위해 사용한 방법 1. 파이썬의 setting.py에 ALLOWED_HOSTS = 를 ['*'] 이렇게 모든 사용자를 받아들일 수 있게 설정을 해두었다.(개발할때만 사용) 2. 장고 서버를 실행을 할때는 로컬이 아닌  python manage.py runserver 0.0.0.0:8000를 실행했다. 3. cmd 에서 ipconfig명령어를 통해 찾은 ip주소를 이용도 했었다. 4. 서버에서 값을 가져오는데 지연시간이 발생할 수 있다고 해서 https://standuplee.tistory.com/12 해당 사이트틀 참고하여 수정도 했다. 5. clea..

카테고리 없음 2025.03.15

안드로이드 스튜디오와 Django연결하기-4

오늘은 안드로이드 스튜디오에서 Django DB로 값을 보내는 날이다. 어제했었던 코드에서 2가지만 추가를 해주면된다. ApiService.ktimport retrofit2.http.POSTimport retrofit2.http.Body@POST("tests/") fun createTest(@Body test: Test): Call@POST: 이 어노테이션은 HTTP POST 요청을 나타낸다. 주어진 URL("tests/")에 데이터를 전송하는 데 사용@Body: 이 어노테이션은 test 객체가 HTTP 요청의 본문(body)로 전송됨을 의미 MainActivity.kt// 입력 필드TextField( value = newTestText, onValueChange = { newTestTe..

카테고리 없음 2025.03.12

안드로이드 스튜디오와 Django 연결하기-3

회원가입이나 로그인 화면과 같은 어떠한 화면도 구현하지 않고 오로지 데이터를 주고받는 것에만 집중해서 코드를 구현하였습니다.  총 4개의 파일을 만들 것이다.   1. Test.kt (데이터 모델)2. ApiService.kt 3. RetrofitInstance.kt (Retrofit 인스턴스) 4.MainActivity.kt Test.kt - Django 서버에서 받아올 Test 데이터를 담는 클래스.package com.example.myapplicationdata class Test( val id: Int, val test: String) data class는 Kotlin에서 간단한 데이터를 저장하기 위한 클래스이다. ApiService.kt -  Retrofit을 사용하여 API를 호출..

카테고리 없음 2025.03.10

안드로이드 스튜디오와 Django 연결하기-2

이전 글을 읽고 오시는 것을 추천드립니다.  목차2data(app이름입니다.)\view.pyfrom rest_framework import viewsetsfrom .models import Testfrom .serializers import TestSerializerclass TestViewSet(viewsets.ModelViewSet): queryset = Test.objects.all() serializer_class = TestSerializer 어제 정리하지 못했던 view.py함수도 정리.viewsets: RESTful API를 쉽게 구축할 수 있도록 도와주는 클래스.TestSerializer: Test 모델의 데이터를 JSON 형태로 변환TestViewSet은 viewsets.Mod..

카테고리 없음 2025.03.09

안드로이드 스튜디오와 장고 연결하기

기록+공부용이라 존댓말이 아닌 대충 툭툭 던지는 어투를 사용하는 점 양해부탁드려요!! 새로 만들어보고 싶은 프로젝트가 생각나서 앱을 만들어야 한다.https://wikidocs.net/70718  2-03 장고 관리자필자가 장고를 처음 접했을 때 가장 인상 깊었던 것은 장고 관리자(Admin)였다. `admin.py` 파일에 몇 줄의 코드만 추가하면 마치 마법처럼 다양한 기능이 자동으로 제공…wikidocs.net위의 사이트를 참고하면 장고를 설치하고 기본세팅을 맞추기 편하다.  안드로이드 스튜디오는 xml을 사용하지 않고 jetpack compose로 바뀌었다. ui개발을 간소화하기 위해 바뀌었다던데 개인적으로 더 적응하기 힘들었다. 언어도 자바가 아니라 코틀린이다.   +저도 그저 블로그와 AI의 도..

카테고리 없음 2025.03.08