구글 애드몹 본인인증과 주소확인 구글 애드몹은 여러가지로 참 까다롭다. 가입 초반에는 부정 트래픽 이슈로 한참을 괴롭히더니,,, 정상적인 트래픽으로 어느정도 수익이 발생하고 나면 본인인증과 주소 확인의 절차를 거친다. 나는 법인 사업자라 본인 인증에는 휴대폰 인증후 사업자등록증 제출 하니 한번에 처리가 되었고 주소확인은 구글 애드몹에서 직접 오프라인 편지를 보내준다. 요즘 시대에 좀 무식한 방법 이긴 하지만 주소지 확인에는 이것 만큼 확실한 방법이 또 어디 있나 싶기도 하다. 구글에서 우편을 보낸지 거의 일주일 만에 아래와 같은 우편물이 도착했다. 우편물을 뜯어서 6자리 핀번호를 확인후 구글 애드몹 주소확인 페이지에서 입력했다. 그리고 드디어 모든 확인 절차 완료!!이제 광고로 돈만 좀 더 많이 벌면 좋겠다. 아직 애드몹.. 더보기 TXT 에서 유효한 문장 분리하기 ( NLTK) txt 에서 유효한 문장별로 분리하는 로직을 짜느라 진짜 고생 많이 했었다. 그런데,,, 찾아보니 자연처 처리 툴킷이 있었음. 아오 -_-'shell > pip install nltkimport nltknltk.download('punkt')from nltk.tokenize import sent_tokenize# 파일 읽기with open('/mnt/data/b.txt', 'r', encoding='utf-8') as file: lines = file.readlines()# 문장별로 분리 후 출력with open('/mnt/data/output.txt', 'w', encoding='utf-8') as output_file: for line in lines: sentences = s.. 더보기 flutter tts 무음모드 에서 재생하기 (진동모드 에서 재생) flutter tts 모듈을 사용중인데 무음모드에서 작동을 안하길래 ... 플러터 개발자 오픈챗방에 왜 그런지 물어봤었는데 원래 그런거 라는 답변이 왔다. 네이티브 앱에서는 음성 설정을 무음모드에서 음성모드로 변환후 TTS 실행하고 다시 원복해주는 방식으로 처리한다고 얘기 하길래 찰떡 같이 믿고 있었다. 몇개월 동안 이건 어쩔수 없는거라고 포기 하고 있었는데 ... 왜 단톡방에 물어보고 직접 찾아볼 생각을 안했을까? 과거의 내가 정말 한심 스럽다. flutter tts 모듈에서도 그냥 무음모드에서 실행 되게끔 iosAudioCategory 설정을 지원해 주고 있었다. 아래와 같이 코드 추가해 넣으면 심플하게 해결 되더라. if (Platform.isIOS) { await wi.. 더보기 github.io 홈페이지 느려지는 문제 (CDN 적용) 평소에 문제 없는데 특정일에 github.io 페이지가 엄청 느려지는 문제가 간간히 발생한다. 구글링 해봤더니 jsdelivr 라는 오픈소스 cdn을 쓰면 문제가 해결되더라. 이걸 몰라서 한참 고민 했었다는 ... 사용법은 아래와 같이 아주 심플하다. https://cdn.jsdelivr.net/gh/`{username}`/`{reponame}`@{`branch`}/`{filepath}` 이거 변경하고도 문제가 생기면 이사 가야 할듯 ---> 이게 저장소 50M 용량 제한이 있어서 갈아탐 cdn.statically.io 로 갈아탔다. 더보기 전단지 제작비용 & 인쇄용 디자인파일 만들기 전단지는 사이즈마다 장수가 정해져 있는데 기본장수 대로 하는게 가격이 가장 저렴하다.전단지 제작비용이 인터넷 검색해보니 의외로 좀 비싸길래 숨고에서 견적을 받았다 . A5 사이즈 아트지로 4,000장을 70,000원 으로 거래함. 이제 전단지로 찍을 디자인 작업을 해야 하는데 디자이너가 아니다 보니 내 맥북에는 그 흔한 포토샵도 없고, 아크로뱃 PDF 편집기도 없다. 포토샵 대용으로 PhotoScape X 라는 프로그램을 사용해서 전단지 디자인을 했다. A5 사이즈라 1748 x 2480 픽셀 짜리로 이미지를 만들었다. 작업이 끝난후 이미지를 저장할때 기본이 브라우저용 이므로 해상도가 낮게 저장된다. 그래서 이미지를 저장할때 인쇄용으로 DPI를 300으로 설정하고 이미지 확장자는 압축없이 TIFF 확장.. 더보기 무료 또는 저렴한 CDN(콘텐츠 전송 네트워크) 서비스 목록 1. **Cloudflare** (무료 및 유료 플랜) - Cloudflare는 무료로 사용 가능한 CDN 서비스를 제공하며, 기본적인 성능 개선 및 보안 기능을 지원합니다. 무료 플랜에서도 상당히 강력한 기능을 제공합니다. - 유료 플랜에서는 추가적인 보안 및 성능 옵션을 선택할 수 있습니다.2. **Netlify** (무료 및 유료 플랜) - Netlify는 정적 사이트 배포와 CDN을 결합한 서비스로, 무료 플랜에서도 기본적인 CDN 기능을 제공합니다. 사이트를 쉽게 배포할 수 있으며, 자동 배포 파이프라인도 지원합니다.3. **Firebase Hosting** (무료 및 유료 플랜) - Firebase는 Google에서 제공하는 서비스로, 간단한 정적 파일 호스팅과 함께 CDN 기능.. 더보기 애드몹 세번째 광고차단 (제한적 광고게재) 첫번째는 내 폰을 테스트 기기로 등록하지 않아서 그런가 했다. 두번째 차단때는 가족들 폰을 기기로 등록 안해서 그런가 했다. 그리고 배너 게재 위치도 가이드에 맞춰서 수정했다. 그런데 또 3번째 광고 차단이다. 정확한 날짜는 모르겠고 대략 9월 28일 근처 인듯. 앱 출시 하고 거의 3달 동안 계속 차단 상태 이다. 트래픽이 갑자기 증가해서 광고 차단을 하는건지 광고 차단의 사유를 명확하게 알려줬으면 좋겠는데 그냥 너가 알아서 하고 우리가 나중에 판정 내려줄게 정도 느낌인듯. 애드몹의 광고 단가가 좋다고 해서 애드몹 하나만 쓸까 했는데 애드몹으 언제 광고가 차단 당할지 모르니 플랜2를 잘 만들어놔야겠다. 이제 좀 트래픽도 나오고 전단지도 한번 찍어볼까 했는데 맥빠짐. 더보기 플러터 에서 부모/자식 간의 함수 호출, 함수 콜백 (flutter callback, child function call ) 플러터에서 부모 자식간 함수 호출 하는법. 1. 부모에서 자식의 함수 호출 다트 클래스 만들때 마다 key 상속 받는걸 어디다 쓰나 했는데.. 다 이유가 있었음. import 'package:flutter/material.dart';class ParentPage extends StatefulWidget { @override _ParentPageState createState() => _ParentPageState();}class _ParentPageState extends State { // 자식 위젯의 상태에 접근할 수 있는 GlobalKey 선언 final GlobalKey childKey = GlobalKey(); @override Widget build(BuildContext conte.. 더보기 이전 1 2 3 4 ··· 9 다음