inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

173만명의 커뮤니티!! 함께 토론해봐요.

레트로핏 사용 및 파이어베이스 클라우드 메시징 서버 키 발급 문제

해결됨

[초중급편] 안드로이드 데이팅 앱 만들기(Android Kotlin)

안녕하세요 선생님. 저는 현재 데이팅 앱 만들기 강의를 수강 중이고, 섹션 7 의 Retrofit 사용해보기 파트를 진행중입니다. Firebase의 서버 키 를 받아오려는데 화면이 강의와 달라 질문드립니다. (강의 화면) (제 화면) 자세히 알아보기 를 클릭하면 다음 문서로, https://firebase.google.com/docs/cloud-messaging/server?authuser=0&hl=ko#choosing-a-server-option 서비스 계정 관리 를 클릭하면 구글 클라우드 플랫폼 회원가입 화면으로 이동합니다. https://console.cloud.google.com/iam-admin/serviceaccounts?authuser=0&project=dating-app-b2c17&hl=ko 혹시 몰라 서비스 계정도 만들어봤는데 서버 키와는 무관한 듯 합니다. 아니면 아래 방법처럼 구글 클라우드 계정을 무료 크레딧으로 따로 만들면 서버 키가 생성될까요? https://minimin2.tistory.com/171?category=1014855

  • firebase
  • retrofit
  • kotlin
  • android
  • serverKey
  • cloudMessaging
  • firebase
신예리 댓글 1 좋아요 0 조회수 1052

uwsgi 소켓 설정 후 service nginx start시 502가 뜨는 오류해결 도움이 필요합니다!

미해결

django와 html을 연결하여 vscode내에서 로컬로 웹사이트를 볼 수 있게 설정한 뒤 aws를 이용하여 외부로 웹페이지를 배포하고자 유튜브에 올라와있는 (2257) Django 프로젝트 AWS 배포하기 - YouTube 를 참고하여 천천히 따라나갔습니다. vscode상에 있는 django와 html을 연결한 내용을 git에 올린 뒤 우분투에서 git clone을 통해 받아와 /home/ubuntu/내 프로젝트 를 완성하였고 유튜브를 따라 천천히 나아가다가 마지막에 service nginx start를 한 후 public 주소를 입력 시 502 에러가 뜨는 것을 확인하였습니다. 우분투 내에서 python manage.py runserver 0.0.0.0:8000을 입력하면 외부에서 홈페이지가 잘 뜨니 코드상에는 문제가 없는것 같고 우분투에서 /var/log/nginx/error.log을 통해 에러코드를 cat으로 확인하니 2022/06/14 14:17:05 [crit] 4751#4751: *1 connect() to unix:/home/ubuntu/Final-term-project-DjangoWeb-/uwsgi.sock failed (13: Permission denied) while connecting to upstream, client: 121.136.144.86, server: _, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:/home/ubuntu/Final-term-project-DjangoWeb-/uwsgi.sock:", host: "52.35.25.97" 이렇게 떠서 구글링을 통해 권한을 shmod로777로 변환해보거나 해도 여전히 502가 떴었습니다. 이에 제가 내린 결론은 /etc/nginx/nginx.conf /etc/nginx/sites-enabled/default uwsgi.ini 이 세가지를 설정하는 과정에서 값을 틀리게 입력했다는 것이 저의 생각입니다. 이것이 현재 저의 home/ubuntu/프로젝트/ 의 상태입니다. html과 django의 연결은 구글링을 통해 한 웹사이트로 구성하였으며 이는 git 에 올라갔고 git clone을 통해 우분투에 받아와진 상태입니다. uwsgi.ini의 상태입니다. vi /etc/nginx/nginx.conf를 통해 입력한 값입니다. vi /etc/nginx/sites-enabled/default를 통해 입력한 값입니다. 이후 sudo service nginx restart를 시도한 후 aws에 있는 제가 만든 인스턴스의 public주소를 주소창에 입력하자 502 에러가 나왔고 에러log는 맨위에 있는 것이 나왔습니다. 여러 오타도 찾아보고 사용자권한도 설정하며 계속 수정해나갔지만 결과에 도달할 기미가 보이지 않아 질문/ 답변에 찾아와 질문드리게 되었습니다. 도움을 주시면 감사할 것 같습니다.

  • django
  • uwsgi
  • nginx
  • python
  • error
SBH 댓글 0 좋아요 0 조회수 558

Mask RCNN 모델훈련시

해결됨

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

안녕하세요 종은 강의 잘 청강하고 있습니다. Mmdetection mask RCNN 모델을 훈련시키려고 하는데, 강좌중 정확도와 재현성에 대한 강의를 보고 궁금증이 생겼습니다. 정확도와 재현성을 조정이라는 표현이 맞는지 모르겟는데, 정확도와 재현성중 사용자가 둘중 어떤 것을 높여서 교육시키는 것이 가능한지요? 가능하다면 훈련시 어떤 변수를 조정해서 훈련을 시켜야하는지요?? Mmdetection. Config 변수가 너무 많아서 좀 복잡한것 같은데... 이러한 부분은 어떤 문서를 봐야 이해가 될수 있을까요?? 홈페이지도 너무 광범위해서 초보자는 좀 헤매게 되는것 같습니다. 참. 그리고 혹시 tracking 에 대한 강좌 계획은 없으신지도 궁금합니다.

  • 정확도#정밀도
  • keras
  • tensorflow
  • 머신러닝 배워볼래요?
  • python
  • 컴퓨터-비전
  • 딥러닝
Ramnant 댓글 2 좋아요 1 조회수 629

220614 carousel_slider.dart

해결됨

Flutter + Firebase로 넷플릭스 UI 클론 코딩하기 [무작정 플러터]

플러터 3.0 버전 carousel_slider : ^4.1.1 import 'package:carousel_slider/carousel_slider.dart' ; import 'package:flutter/material.dart' ; import 'package:netflixapp/model/model_movie.dart' ; class CarouselImage extends StatefulWidget { final List < Movie > ? movies ; CarouselImage ({ Key ? key , required this . movies}) : super (key : key) ; @override State < CarouselImage > createState () => _CarouselImageState () ; } class _CarouselImageState extends State < CarouselImage > { List < Movie > ? movies ; List < Widget > ? images ; List < String > ? keywords ; List < bool > ? likes ; int _currentPage = 0 ; late String _currentKeyword ; @override void initState () { super . initState () ; movies = widget . movies ; images = movies ? . map ((m) => Image . asset ( './images/' + m . poster)) . toList () ; keywords = movies ? . map ((m) => m . keyword) . cast < String >() . toList () ; likes = movies ? . map ((m) => m . like) . cast < bool >() . toList () ; _currentKeyword = keywords ! [ 0 ] ; } @override Widget build ( BuildContext context) { return Container ( child : Column ( children : [ Container ( padding : EdgeInsets . all ( 20 ) , ) , CarouselSlider ( items : images , options : CarouselOptions ( onPageChanged : (index , reason) { setState ( () { _currentPage = index ; _currentKeyword = keywords ! [_currentPage] ; } , ) ; } , ) , ) , Container ( child : Text (_currentKeyword) , ) , ] , ) , ) ; } }

  • 클론코딩
  • firebase
  • Flutter
알린이가젤좋아 댓글 1 좋아요 1 조회수 690

custom 데이터셋의 정밀도와 재현율 관련 질문드립니다.

미해결

[개정판] 딥러닝 컴퓨터 비전 완벽 가이드

안녕하세요. '딥러닝-컴퓨터비전-완벽가이드'를 수강하고 있는 고준규입니다. 다름이 아니라 정밀도와 재현율에 대해 질문이 있어서 글을 남깁니다. COCO 데이터셋이나 Pascal VOC 데이터셋과 같이 성능평가로 검증된 데이터셋이 아닌 직접 object detection을 사용하여 문제를 해결하기위해 custom 데이터를 활용하여 데이터 라벨링을 하였습니다. 이 때, 모델의 평가를 진행하였는데, precision score (0.6)가 recall score (0.9)에 비해 낮은 결과를 얻는 것을 확인했습니다. 이를 자체적으로 분석해본 결과, 사람이 직접 라벨링을 하다보니 사람이 놓친 부분을 모델이 탐지하여 precision score가 낮아지는 것을 확인하였고 결론지었습니다. 이럴 경우, custom 데이터셋을 새롭게 수정해서 학습을 시켜야하는 것이 맞는 방법인 것으로 보이나 현실적으로 이를 수정하기에는 비용이 생각보다 많이 들 것 같아서 다른 방법을 생각해보고 있습니다. 혹시 이와 관련되어 조언을 얻을 수 있을까요?

  • recall
  • python
  • precision
  • 머신러닝 배워볼래요?
  • 정밀도
  • 재현율
  • 컴퓨터-비전
  • 딥러닝
  • tensorflow
  • keras
jungyuko 댓글 1 좋아요 0 조회수 284

%f 질문 입니다.

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

print('%1.18f ' %(3.14159265358979)) print('%6.2f' %(3.14159265358979)) f 앞에 있는 숫자의 정수부분이 출력되는 값의 총 자리수라고 영상 11:25 에 말씀하셨는데 그렇게 되면 %1.18f 는 출력되는 값의 총 자리수가 1자리여야 되는 거 아닌가요..? 근데 왜 3.14159265358979 값이 전부 출력되는 건가요..?

  • 11:25
  • python
dmsgkrkt1 댓글 2 좋아요 0 조회수 344

혹시 다음 강의도 계획되어 있으실까요?

미해결

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트

오늘도 강의 잘 들었습니다. 개발을 하는 과정에서 주로 replit 을 사용했었는데, rgrok 를 사용하면 번거로움 없이 바로 포트포워딩을 통해 가상 배포? 를 진행할 수 있었군요. :) 혹시 다음 강의도 계획이 있으신지 여쭙고 싶습니다. 감사합니다.

  • ngrok
  • react
  • 다음강의
  • django
  • docker
  • python
이재화 댓글 1 좋아요 0 조회수 206

바뀐 국기 사이트에 대하여

해결됨

[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]

- 기존 사이트였던 www.countryflags.io 가 flagcdn.com 로 대체되면서 직접 따라해보니, 2가지 문제점이 있는 걸 발견했습니다. 1. 대문자로는 404 Not Found가 뜹니다. - 따라서 이미지 링크를 만들 때는 .lower() 로 소문자 변경 처리를 해줘야 합니다. - ex) https://flagcdn.com/48x36/US.png -> https://flagcdn.com/48x36/us.png 2. 국기 매칭 오류 - iso2와 Country_Region 를 매칭할 때부터 오류가 있는 것을 확인했습니다. - 시각화를 하면서 US가 워낙 인구가 많기에 눈에 보였지만 다른 것들도 제대로 매칭되었는 지는 확신할 수 없습니다. - 강의 자료를 바탕으로하면, US의 경우 AS로 매칭이 되어서 https://flagcdn.com/48x36/as.png 국기가 뜨더라구요. - 물론 강사님 말씀처럼, 이미지는 참고용이므로 크게 신경쓰지 않아도 될 문제같습니다. 그래서 저는 만들어진 데이터 프레임 값 중 US만 변경하려고 다음과 같이 허접하게 함수를 만들어서 보정했습니다. ㅎㅎ;; def test_func(row): if(row['Country_Region'] == 'US'): row['Country_Flag'] = 'https://flagcdn.com/48x36/us.png' return row doc_final_country = doc_final_country.apply(test_func, axis=1) 대강 국기가 잘 나오는 것 같네요. 혹시나 이 수업을 들으시는 누군가에게 도움이 될까..? 하여 간단히 기록 남겨봅니다..!

  • pandas
  • python
adamdoha 댓글 2 좋아요 2 조회수 419

처음 04:35초 메인패스트 부분부터 난관이네요..

미해결

[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)

MainFast에서 splashActivity 부분에 <intent-filter> 을 넣으니까 오류가 막 엄청뜨네요. 버전도 같은데 코드또한 약간 다릅니다. 강의에 안보이는 <activity 부분에 android:exported="ture" /> 도 저는 보입니다.. ERROR:C:\Users\i\AndroidStudioProjects\MySoloLife2\app\build\intermediates\packaged_manifests\debug\AndroidManifest.xml:25: AAPT: error: unexpected element <intent-filter> found in <manifest><application>. 라고 에러코드는 나와있습니다.

  • firebase
  • android
  • kotlin
재관 댓글 12 좋아요 0 조회수 995

개발자님 도와주세요

해결됨

초간단 초스피드 데이터 수집 (파이썬 크롤링)

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 import requests from bs4 import BeautifulSoup req = requests.get('https://www.cheonyu.com/product/view.html?qIDX=42562') soup = BeautifulSoup(req.text, 'html.parser') print(soup.select("#tab_01 > div.pic")) 여기서 상세페이지 이미지 url을 추출하고 싶은데 [<div class="pic" id="viewPcontent"> </div>] 이런식으로만 뜨고 끝이네요ㅜㅜ 뭐가 문제인지 모르겠어요 ㅠㅠ

  • 웹-크롤링
  • python
김경보 댓글 1 좋아요 0 조회수 231

[파이썬 입문] 제가 만든 함수에 문제가 있어요

미해결

아래와 같이 코드를 작성하여 함수를 만들었습니다! 마지막 4.get_week 함수에서 자꾸 오류가 뜹니다. 이유는 'inst' 가 define 되지 않았다고 하는데, 검색했을 때 자료를 찾지 못하겠네요. 1.get_today_date 함수 제작 def get_today_date () : year = input ( "현재 년도를 입력해주세요:" ) month = input ( "현재 월를 입력해주세요:" ) day = input ( "현재 일을 입력해주세요:" ) return year + '-' + month + '-' + day get_today_date () #이렇게 하면 입력하는 칸이 나타남 2. get_difference 함수 from datetime import date def get_difference ( data_string ) : now = date ( * map ( inst , date_string.split ( '-' ))) result = now - date ( 1950 , 1 , 1 ) return result.days 3. get_week_by_difference def get_week_by_difference ( days ) : #10 week = "일월화수목금토" return weeks [ days % 7 ] 4. get_week def get_week () : today = get_today_date () diff = get_difference ( today ) today_week = get_week_by_difference ( diff ) print ( today_week ) get_week () *오류코드 현재 년도를 입력해주세요:2022 현재 월를 입력해주세요:5 현재 일을 입력해주세요:31 --------------------------------------------------------------------------- NameError Traceback (most recent call last) <ipython-input-64-950ea7f2390c> in <module> () 6 print ( today_week ) 7 ----> 8 get_week ( ) <ipython-input-64-950ea7f2390c> in get_week () 1 def get_week ( ) : 2 today = get_today_date ( ) ----> 3 diff = get_difference ( today ) 4 today_week = get_week_by_difference ( diff ) 5 <ipython-input-58-d8bf9d33531a> in get_difference (data_string) 2 3 def get_difference ( data_string ) : ----> 4 now = date ( * map ( inst , date_string . split ( '-' ) ) ) 5 result = now - date ( 1950 , 1 , 1 ) 6 return result . days NameError : name 'inst' is not defined

  • 파이썬
  • python
  • 파이썬기초
  • 파이썬함수
HY J 댓글 1 좋아요 1 조회수 404

[Mac] pyautogui 라이브러리에서 Messagebox 관련 함수 실행 시 무한로딩 현상이 있습니다

미해결

안녕하세요. 아래와 같은 코드를 실행 하였을 때, import pyautogui as pg pg . alert ( title = '123' , text = '234' , button = 'ddd' ) 아래와 같이 실행 됩니다 메세지 박스에 ddd 버튼 클릭 시 마우스 커서가 뱅글뱅글 돌면서 무한대기 상태가 됩니다 Python 강제종료 이전까지 계속 대기 상태이구요.. 먼저 파이썬 버전의 문제인가 싶어 3.10 버전에서 3.9로 다운그레이드 하여 테스트를 해보았으나 현상 동일하였고 Visual Studio의 문제인가 싶어 jupyter notebook과 Pycharm을 이용하여 테스트를 해보았으나 현상 동일하였습니다... 도와주세요 ㅠㅠ

  • 파이썬
  • python
  • pyautogui
파파팟 댓글 0 좋아요 0 조회수 576

강의자료 다운이 안됩니다.

미해결

파이어베이스(Firebase)를 이용한 웹+안드로이드 메모 어플리케이션 만들기

한 번 해보고 싶었는데 시작부터 난관이네요...;;

  • android
  • firebase
조이혀니 댓글 1 좋아요 0 조회수 330

Plot 의 범례 이름이 안나와요... ㅠ

해결됨

일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석

안녕하세요? 항상 좋은 강의 해주셔서 감사 드립니다. 저는 아래와 같이 범례 이름이 나오지 않는데, 이유가 뭔가요? ㅠ - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

  • python
  • 웹-크롤링
lgy890218 댓글 1 좋아요 1 조회수 420

쇼핑 크롤링 응용 질문 드립니다.

해결됨

일잘하는 마케터, MD에게 꼭 필요한 파이썬 데이터 분석

선생님께서 수업에서 보여주신 여러가지 크롤링을 응용해서 네이버 많이 구매하는 쇼핑 카테고리 크롤링 코드를 짜보았습니다. 그런데 해당 순위 100개까지 있는데, 현재 순위 15순위까지만 해서 나옵니다. 16위부터는 소스 자체에서 변화되는 것이 있을수 있는데 저로서는 한계네요 ;;; 리뷰 다음 페이지것까지 가져오기처럼 이것도 방법이 있을 것 같은데 혹시 알려주실 수 있을까요

  • 크롤링
  • 네이버쇼핑
  • 웹-크롤링
  • python
cat 댓글 1 좋아요 0 조회수 790

robomongo설치 관련 질문

미해결

남박사의 파이썬으로 실전 웹사이트 만들기

선생님 안녕하심까 지금 강의를 보면서 설치중인데 mongodb는 설치 완료 했습니다만 robomongo 설치과정에서 저는 선택지가 Studio 3T 밖에 없는데 이걸로 설치해도 될런지요?

  • python
김민수 댓글 2 좋아요 1 조회수 391

모킹에서 계속 오류가 납니다

미해결

풀스택 리액트 라이브코딩 - 간단한 쇼핑몰 만들기

모든 과정을 세번씩 돌려보면서 따라했는데도 안되네요... queryClient는 위와 같이구성하였고 BASE_URL은 '/'으로 설정하였습니다. 위와같은 오류가 발생합니다 어떻게 해결하여야할까요? https://github.com/shinwonse/shopping-mall 깃 주소 첨부드립니다

  • graphql
  • firebase
  • react
신원세 댓글 1 좋아요 0 조회수 454

강의를 듣고 응용해봤는데 질문있습니다

미해결

[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)

강의의 게시판 만들기 부분을 실습하고 나서 게시글 양식으로 만드셨던 board_list_item.xml을 이렇게 변경해봤습니다. 나머지 글들은 강의에서 하던대로 따라해서 불러와지는게 되는데 제가 추가한 저 초록색사진은 글을 작성할때 즉 강의 상의 코드인 BoardWriteActivity.kt에서 사진이 첨부되면 그 첨부된 사진이 저 초록색사진에 같이 업로드 되게끔 만들고 싶습니다. 저 사진의 id값은 preview입니다. <? xml version ="1.0" encoding ="utf-8" ?> <ScrollView xmlns: android ="http://schemas.android.com/apk/res/android" xmlns: app ="http://schemas.android.com/apk/res-auto" xmlns: tools ="http://schemas.android.com/tools" android :layout_width ="match_parent" android :layout_height ="match_parent" android :orientation ="vertical" tools :context =".Sell" > <FrameLayout android :layout_width ="match_parent" android :layout_height ="match_parent" > <androidx.appcompat.widget.Toolbar android :id ="@+id/toolbar2" android :layout_width ="match_parent" android :layout_height ="wrap_content" android :background ="?attr/colorPrimary" android :minHeight ="?attr/actionBarSize" android :theme ="?attr/actionBarTheme" app :titleTextColor ="@color/white" app :layout_constraintEnd_toEndOf ="parent" app :layout_constraintStart_toStartOf ="parent" app :layout_constraintTop_toTopOf ="parent" > <TextView android :layout_width ="wrap_content" android :layout_height ="wrap_content" android :text =" 판매글 작성 " android :textSize ="23sp" android :textStyle ="bold" /> </androidx.appcompat.widget.Toolbar> <LinearLayout android :layout_width ="match_parent" android :layout_height ="match_parent" android :gravity ="center" android :orientation ="vertical" > <EditText android :id ="@+id/et_newtitle" android :layout_width ="330dp" android :layout_height ="50dp" android :layout_marginLeft ="20dp" android :layout_marginTop ="70dp" android :gravity ="center" android :maxLength ="15" /> <EditText android :id ="@+id/et_originalname" android :layout_width ="330dp" android :layout_height ="50dp" android :layout_marginLeft ="20dp" android :layout_marginTop ="20dp" android :gravity ="center" android :hint =" ※주의 : 책 제목 그대로 써주세요 ※ " android :maxLength ="100" /> <EditText android :id ="@+id/et_price" android :layout_width ="330dp" android :layout_height ="50dp" android :hint =" 숫자 옆에 원을 붙여주세요 " android :layout_marginLeft ="20dp" android :layout_marginTop ="20dp" android :gravity ="center" android :maxLength ="10" /> <ImageView android :id ="@+id/imageupload" android :layout_width ="wrap_content" android :layout_height ="wrap_content" android :src ="@drawable/baseline_add_black_48dp" android :layout_marginTop ="30dp" /> <EditText android :id ="@+id/et_newdetail" android :layout_width ="334dp" android :layout_height ="260dp" android :layout_marginLeft ="20dp" android :layout_marginTop ="30dp" android :layout_marginBottom ="10dp" android :background ="@drawable/boxline" android :ems ="10" android :gravity ="top" android :hint =" 내용을 입력하세요 ." android :maxHeight ="200dp" android :maxLength ="200" /> <LinearLayout android :layout_width ="wrap_content" android :layout_height ="96dp" android :layout_marginBottom ="60dp" android :gravity ="center" android :orientation ="horizontal" android :paddingTop ="30dp" > <Button android :id ="@+id/upload" android :layout_width ="wrap_content" android :layout_height ="wrap_content" android :layout_marginRight ="50dp" android :text =" 올리기 " /> <Button android :id ="@+id/cancel" android :layout_width ="wrap_content" android :layout_height ="wrap_content" android :text =" 취소 " /> </LinearLayout> </LinearLayout> <FrameLayout android :layout_width ="match_parent" android :layout_height ="match_parent" > <TextView android :id ="@+id/newtitle" android :layout_width ="35dp" android :layout_height ="wrap_content" android :layout_marginLeft ="15dp" android :layout_marginTop ="90dp" android :text =" 제목 " android :textSize ="16sp" /> <TextView android :id ="@+id/newname" android :layout_width ="wrap_content" android :layout_height ="wrap_content" android :layout_marginLeft ="12dp" android :layout_marginTop ="160dp" android :text =" 상품명 " android :textSize ="15sp" /> <TextView android :id ="@+id/price" android :layout_width ="wrap_content" android :layout_height ="wrap_content" android :layout_marginLeft ="10dp" android :layout_marginTop ="235dp" android :text =" 판매가격 " android :textSize ="13sp" /> <TextView android :id ="@+id/newpicture" android :layout_width ="35dp" android :layout_height ="17dp" android :layout_marginLeft ="15dp" android :layout_marginTop ="300dp" android :text =" 사진 " android :textSize ="16sp" /> <TextView android :id ="@+id/newdetail" android :layout_width ="35dp" android :layout_height ="28dp" android :layout_marginLeft ="15dp" android :layout_marginTop ="370dp" android :text =" 내용 " android :textSize ="16sp" /> </FrameLayout> </FrameLayout> </ScrollView> package com.example.joonggo2 import android.content.Intent import android.graphics.Bitmap import android.graphics.drawable.BitmapDrawable import android.net.Uri import android.os.Bundle import android.provider.MediaStore import android.util.Log import android.widget.Button import android.widget.Toast import androidx.appcompat.app.AppCompatActivity import com.bumptech.glide.Glide import com.example.joonggo2.databinding.ActivityBoardInsideBinding import com.example.joonggo2.databinding.ActivityMainBinding import com.example.joonggo2.databinding.ActivityMifBinding import com.example.joonggo2.databinding.ActivitySellBinding import com.google.firebase.ktx.Firebase import com.google.firebase.storage.ktx.storage import java.io.ByteArrayOutputStream class Sell : AppCompatActivity() { private lateinit var binding : ActivitySellBinding private val TAG = Sell:: class . java . simpleName val storage = Firebase. storage private var isImageUpload = false override fun onCreate (savedInstanceState: Bundle?) { super .onCreate(savedInstanceState) binding = ActivitySellBinding.inflate( layoutInflater ) setContentView( binding . root ) binding . upload .setOnClickListener { val title = binding . etNewtitle . text .toString() val originalname = binding . etOriginalname . text .toString() val price = binding . etPrice . text .toString() val content = binding . etNewdetail . text .toString() val uid = FBAuth.getUid() val time = FBAuth.getTime() Log.d( TAG , title) Log.d( TAG , content) val key = FBRef. writein .push(). key . toString () FBRef. writein .child(key) .setValue(BoardModel(title , originalname , price , content , uid , time)) Toast.makeText( this, " 게시물이 업로드 되었습니다 ." , Toast. LENGTH_LONG ).show() if ( isImageUpload == true ) { imageUpload(key) } val intent = Intent( this, AfterLoginmain:: class . java ) intent.addFlags(Intent. FLAG_ACTIVITY_CLEAR_TOP ) startActivity(intent) } binding . cancel .setOnClickListener { val intent = Intent( this, AfterLoginmain:: class . java ) intent.addFlags(Intent. FLAG_ACTIVITY_CLEAR_TOP ) startActivity(intent) } binding . imageupload .setOnClickListener { val gallery = Intent(Intent. ACTION_PICK , MediaStore.Images.Media. INTERNAL_CONTENT_URI ) startActivityForResult(gallery , 100 ) isImageUpload = true } } private fun imageUpload (key : String) { // Get the data from an ImageView as bytes val storageRef = storage . reference val mountainsRef = storageRef.child(key + ".png" ) val imageView = binding . imageupload imageView. isDrawingCacheEnabled = true imageView.buildDrawingCache() val bitmap = (imageView. drawable as BitmapDrawable). bitmap val baos = ByteArrayOutputStream() bitmap.compress(Bitmap.CompressFormat. JPEG , 100 , baos) val data = baos.toByteArray() var uploadTask = mountainsRef.putBytes(data) uploadTask.addOnFailureListener { // Handle unsuccessful uploads } .addOnSuccessListener { taskSnapshot -> // taskSnapshot.metadata contains file metadata such as size, content-type, etc. // ... } } override fun onActivityResult (requestCode: Int , resultCode: Int , data: Intent?) { super .onActivityResult(requestCode , resultCode , data) if (resultCode == RESULT_OK && requestCode == 100 ) { binding . imageupload .setImageURI(data?. data ) } } } 위 사진두개는 강의에서 하신 BoardWriteActivity.kt와 역할이 같은 xml과 kt파일입니다. 지금 이 코드에서 글과 갤러리에서 사진을 첨부하는 기능은 모두 구현되어있습니다. 그런데 사진도 메인화면에 뜨게끔 하려니 너무 막막해서 질문드립니다...

  • android
  • firebase
  • kotlin
ParkPark 댓글 3 좋아요 0 조회수 396

게시판 만들기에서 게시글 ListView만들기 에서 발생한 문제 질문드립니다.

미해결

[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)

강의를 보며 개발자님과 똑같이 하지 않고 저에게 필요한 부분들을 제 스타일대로 바꾸면서 듣고 있습니다. 잘 되다 이번에 문제가 생겼습니다. 현재 레이아웃이 겹칩니다.. 어느 부분의 코드를 보여드리야할까요.. 추가적으로 어떤 걸 말씀드려야하는지 알려주시면 더 자세하게 질문하겠습니다. 도와주세요

  • kotlin
  • android
  • firebase
wngh4191 댓글 3 좋아요 0 조회수 753

IsPrime 함수에서 for문 범위 질문 드립니다.

미해결

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

def isPrime ( x ): ''' 소수인지 판별하는 함수 ''' if x == 1 : return False for i in range ( 2 , x // 2 + 1 ): if x % i == 0 : return False else : return True 위 for문에서 범위가 2부터 x를 2로나눈 몫까지 반복되는데, 예시로 들어주신 16의 경우, i가 2,3,4,5,6,7,8까지 반복문이 돌게 됩니다. 그런데 마지막 8의 경우는 2로 나눴을 때 이미 2*8=16으로 한번 나눠지게 되니 for문에 포함이 안되어도 될 것 같은데 아닌가요? range의 범위가 range(2,x//2) 로 수정되어야 할 것 같은데, 맞는건지 궁금합니다.

  • python
  • 코테 준비 같이 해요!
임나래 댓글 3 좋아요 0 조회수 372

인기 태그

인프런 TOP Writers

주간 인기글