전체 글28 구글 API를 이용한 GDrive / GSheet 연동 🌍 Google Sheets 및 Google Drive API 액세스 설정Google Sheets와 Google Drive의 데이터를 액세스하려면 🔑 OAuth 2.0을 사용하여 적절한 권한을 요청하고 승인해야 합니다. 아래는 Google API Console을 사용하여 OAuth 2.0 자격 증명을 생성하고, Google Sheets 및 Google Drive API의 권한을 설정하는 방법을 단계별로 안내하는 과정입니다. 1. 🖥️ Google API Console에서 프로젝트 생성Google Cloud Console에 접속하여 🔑 로그인합니다.상단의 "📁 프로젝트 선택"을 클릭하고 "➕ 새 프로젝트"를 생성합니다.프로젝트 이름을 입력하고 "✔️ 만들기"를 클릭합니다.2. ⚙️ API 활성화G.. 소프트웨어/유용한 팁 2024. 10. 10. [플러터] 광고 통합 테스트 [배너, 전면, 리워드] 선행과정전면 광고를 넣기 전에 환경설정을 완료해야 한다.[플러터] 앱 광고 환경설정 광고 테스트 파일 구조파일 구조는 다음과 같다./lib /ads banner_ad_manager.dart //배너 광고 관리 파일 interstitial_ad_manager.dart //전면 광고 관리 파일 rewarded_ad_manager.dart //리워드 광고 관리 파일 /screens banner_ad_screen.dart // 배너 광고 스크린 interstitial_ad_screen.dart // 전면 광고 스크린 rewarded_ad_screen.dart // 리워드 광고 스크린 main.dart 전면 광고 관련 글[플러터] 전면 광고 추가하기리워드 광고 관련 글[플러터.. 소프트웨어/앱 개발 2024. 10. 10. [플러터] 배너 광고 추가하기 선행과정배너 광고를 넣기 전에 환경설정을 완료해야 한다.[플러터] 앱 광고 환경설정배너 광고 파일 구조파일 구조는 다음과 같다./lib /ads banner_ad_manager.dart // 배너 광고 관리 파일 /screens banner_ad_screen.dart // 배너 광고를 화면에 표시하는 파일 main.dart // 앱의 진입점 파일배너 광고 ad 로직 - banner_ad_manager.dart이 파일은 배너 광고를 관리하는 클래스입니다. 광고 로딩, 광고 준비 상태 확인, 광고 표시, 사용자에게 배너 광고 지급 처리, 리소스 해제 등을 담당합니다.배너 광고 테스트 ID는 다음과 같습니다.ca-app-pub-394.. 소프트웨어/앱 개발 2024. 10. 10. [플러터] 전면 광고 추가하기 선행과정전면 광고를 넣기 전에 환경설정을 완료해야 한다.[플러터] 앱 광고 환경설정 전면 광고 파일 구조파일 구조는 다음과 같다./lib /ads interstitial_ad_manager.dart // 전면 광고 관리 파일 /screens interstitial_ad_screen.dart // 전면 광고를 화면에 표시하는 파일 main.dart // 앱의 진입점 파일 전면 광고 ad 로직 - interstitial_ad_manager.dart이 파일은 전면 광고를 관리하는 클래스입니다. 광고 로딩, 광고 준비 상태 확인, 광고 표시, 사용자에게 전면 광고 지급 처리, 리소스 해제 등을 담당합니다. 전면 광고 테스트 ID는 다음과 같습니다. c.. 소프트웨어/앱 개발 2024. 10. 10. [플러터] 리워드 광고 추가하기 선행과정리워드 광고를 넣기 전에 환경설정을 완료해야 한다.[플러터] 앱 광고 환경설정 리워드 광고 파일 구조파일 구조는 다음과 같다./lib /ads rewarded_ad_manager.dart // 리워드 광고 관리 파일 /screens rewarded_ad_screen.dart // 리워드 광고를 화면에 표시하는 파일 main.dart // 앱의 진입점 파일 리워드 광고 ad 로직 - rewarded_ad_manager.dart이 파일은 리워드 광고를 관리하는 클래스입니다. 광고 로딩, 광고 준비 상태 확인, 광고 표시, 사용자에게 리워드 지급 처리, 리소스 해제 등을 담당합니다. 리워드 광고 테스트 ID는 다음과 같습니다. ca-.. 소프트웨어/앱 개발 2024. 10. 10. [플러터] 앱 광고 환경설정 Flutter 앱에 애드몹 광고를 설정해야 하는 이유우리는 항상 앱을 통해 수익을 창출하는 것을 꿈꾼다. 마치 나만의 작은 ATM을 만드는 느낌이라고 할까. 그 꿈을 이뤄낸 사람 중 한 명이 바로 '프로그래밍 좀비'님이다. 그는 자신의 앱을 통해 경제적 자유를 이루었고, 그 이야기는 많은 개발자들에게 영감을 주었다.https://soulduse.tistory.com/138 개인앱 300개 만들고 퇴사합니다.23년 2월 7일 작성한 포스팅 끝자락에 작성한 글이 현실이 되었습니다. 그리고 어찌 운이좋아서 수익이 폭증하게 되면 웃으며 회사를 졸업하는 시기가 더 빨라질수도 있지 않을까? 이soulduse.tistory.com 앱을 통해 돈을 버는 방법에는 여러 가지가 있다. 인앱 결제를 통해 사용자가 직접 비용.. 소프트웨어/앱 개발 2024. 10. 10. find_element 함수 개조 크롤러를 만들다 보면 find_element 함수를 정말 많이 쓰게 되는데이게 경우에 따라 원하는 태그에 접근하려면 여러 번 타고 타고 들어가야 하는 경우가 많다 보니뭔가 범용성이 좋은 함수로 개조하고 싶은 욕구가 느껴지기 마련이다.그래서 내 경우는 find_element를 find 함수에 넣어서 개조해 사용한다. 개조 find 함수"""Parameters:- element: webdriver 혹은 webelement를 인수로 받는다. 둘 다 find_element를 사용할 수 있다.- classes: 인수를 여러개 받는다. 타깃이 되는 태그 인자들을 받는다.- nth: 마지막 인자의 개수가 여러개일 경우 1번 2번 같이 지정이 가능하다.- add: 마지막 인자에서 개수가 정해지고 또 태그가 있을 경우가.. 소프트웨어/Python 2024. 5. 15. 웹 드라이버 함수로 배치? 클래스로 배치? 최근에 웹 드라이버로 크롤링 툴을 만드는데기존 방식은 셀레니움 웹드라이버를 선언 및 리턴하는 모습이었지만 뭔가 클래스에 넣어서 사용해보고 싶어서 바꿨는데기존 방식이 가지는 메리트가 더 커서 다시 기존 방식으로 돌아갔다.돌아간 이유두 방식 모두 find 내부에 find_element를 사용해 내부 인자를 찾는다.작동 방식은 이 글을 참조하면 될 것이다.아무튼 find로 내부 인자를 찾는데 인자가 겹치는 경우도 많고 러시아 마트로시카처럼 인자 안에 인자를 찾아야 하는 경우도 많이 생기다 보니 다음과 같이 해당 함수를 두 번 사용해서 작동하는 것을 기대했다.self.find(첫번째 인자).find(두번째 인자) 하지만 할 수 없다. 왜냐하면 첫 self.find(첫번째 인자)의 반환 값은 WebElement이.. 소프트웨어/Python 2024. 5. 15. PYQT5 스타일시트 적용 pyqt5로 기본으로 생성하는 ui창은 생각보다 밋밋하기에 스타일시트를 적용하는데웹에서 html을 꾸미는 파일이 css 라면 pyqt5에서 꾸미는 파일은 qss를 이용한다. 스타일 시트 적용 방법스타일 시트를 적용시키는 방법은 다음과 같으며ui를 생성하고 있는 pyqt5 위젯(QWidget) 혹은 윈도우(QMainWindow) 내부에 다음과 같이 써주면 된다.qss_file = QFile('stylesheet.qss')qss_file.open(QFile.ReadOnly | QFile.Text)qss_stream = QTextStream(qss_file)self.setStyleSheet(qss_stream.readAll())qss_file.close() 뭐 보면 스타일시트를 QFile이라는 객체로 열어주고.. 소프트웨어/Python 2024. 5. 14. ComfyUI Reactor 오류 수정 https://github.com/Gourieff/comfyui-reactor-node?tab=readme-ov-file GitHub - Gourieff/comfyui-reactor-node: Fast and Simple Face Swap Extension Node for ComfyUIFast and Simple Face Swap Extension Node for ComfyUI - Gourieff/comfyui-reactor-nodegithub.comReactor라는 노드는 Face Swap에 특화된 노드인데 성능이 상당히 괜찮다.다만 이걸 ComfyUI로 설치하려하거나 업데이트를 하면 같은 오류가 발생하는데... 오류 ReActor라는 라이브러리를 다운받으면 항상 이런 오류가 발생한다... 업데이트 해.. 소프트웨어/인공지능 2024. 5. 8. ComfyUI AI 사진 만들기 ComfyUI 설치를 모두 했다는 가정하에우리의 목적 AI 사진을 만들어봐야 하지 않겠는가? 노드 설명처음 실행을 하면 다음과 같이 기본으로 이미지 생성이 가능한 창이 나온다.오른쪽 Queue Prompt 버튼을 누르면 왼쪽부터 차근차근 노드들이 실행되는 구조인데기본 노드를 알면 AI가 사진을 어떻게 만드는지 대충 감이 잡히기에 기본 노드에 대해 알아보자 Load Checkpoint체크포인트 모델을 선정하는 곳입니다.모델의 학습한 결과에 따라 다른 그림이 나오기 때문에자기가 출력하고 싶은 사진 스타일에 맞게 체크포인트를 선정하고 사진을 생성한다.다음은 다른 모델을 사용해서 생성한 이미지들이다.Clip Text Encoder체크포인트에 연결된 CLIP Text Encoder는 언어모델로Positive는 긍.. 소프트웨어/인공지능 2024. 5. 8. ComfyUI Manager 설치방법 종종 ComfyUI를 사용할 때 다른 사람의 workflow.json을 쓰다 보면 나한테 없는 노드를 사용하는 경우가 대부분이기에 추가로 노드 Extension을 설치해서 같은 환경으로 만들어줘야 한다. 이걸 설치하랴 관리하려 무지 귀찮은 경우가 많은데 Manager를 다운로드하면 알아서 설치해야 할 Extension을 알려주고 업데이트 여부도 확인해 줘서 편리하다. 설치 방법일단 Packages → ComfyUI 에서 퍼즐 모양 버튼을 누르면 다음과 같이 설치 가능한 Extension 목록이 나온다.여기서 ComfyUI-Manager를 설치해 준다. ComfyUI를 실행할 시 다음과 같은 버튼이 보이면 성공이다. 여기 다른 사람의 workflow를 가져온 모습이다.빨간색으로 표시된 부분이 없는 노드라.. 소프트웨어/인공지능 2024. 5. 8. 이전 1 2 3 다음 💲 추천 글