전체 글108 테일러 스위프트 상점 페이지 크롤링하는 어플리케이션 만들기 - (1) Sad Story한국인 스위프티로 사는 건 고난하다... 가사 해석도 해야 하고, 떡밥도 주워먹어야 하고, 인터뷰도 해석해야 하고, 바이럴 탄 게시물을 해석하려면 미국 밈도 알아야 함.. 하지만 뭣보다 힘든 건.....사인 씨디를 놓치는 것이다..사인 시디는 당연한 소리지만 진짜 순식간에 품절된다. 이번엔 뜨는 경우도 많았지만 너무 불시에 반짝 떴다 사라진다....그때 난 잔다고....물론 시디 앨범에 대한 재고 알림을 주는 봇이 있다. 하지만 말그대로 봇이다.. 디스코드나 트위터로 알려주긴하지만 다른 알림에 묻히거나 알람처럼 요란스럽게 짖어대지도 않는다 잠든 나를 깨울 만큼 강력한 알람이 필요햇다.... 사인 시디를 향하여!!!특정 사이트의 정보를 뽑아내고 싶으면 우선 그 웹이 open api를 제공.. 모바일 2024. 7. 25. 깃헙 액션으로 디스코드에 apk파일 보내기(feat. git tag) preview외주를 하면서 느낀 건 링크보다 apk로 주고 받는 게 더 편하신 분들이 있다는 것이다.... 매번 빌드하고 apk를 넘겨주기 번거로워서 디스코드 직통으로 명령어 한 줄로 apk를 보내드리려고 한다. 해당 코드는 김태성 님의 DroidKnight의 강연을 많이 많이 참고했다. 정말 감사합니다.. 강연에서는 debug.apk, release.apk 둘 다 보냈는데 나는 둘 다 보낼 필요가 없어서 release 버전만 사용한 점. 파일이 작아서 zip으로 압축하진 않았다. yaml 코드 name: "Build and Deploy APKs"on: push: tags: - preview/* workflow_dispatch:jobs: build: runs-on: ubuntu-.. 모바일 2024. 7. 21. 깃헙액션으로 플레이 스토어에 어플 자동 빌드 및 배포하는 법 preview현재 어플 출시를 위한 비공개 테스트인데 어플이 업데이트될 때마다 매번 aab 파일을 올리기 번거로워 자동 배포가 필요했다. 젠킨슨 같은 CICD 툴은 출시 예정인 어플에 비해 너무 무겁고 러닝커브가 높을 것 같아 일단 깃헙 액션으로 진행해 보려고 한다. 일단 현재 내 상황은이미 내부 테스트 및 비공개 테스트 진행 중파이어 베이스와 연결된 데이터베이스를 사용 중(사실 이건 중요하지 않음)가벼운 어플, 소규모 제작yaml파일은 다른 분들의 코드를 많이 참고 했다. action secrets에 서명키 등록하기우선 빌드를 위해 로컬에서 빌드할 때 사용했던 서명 키가 필요하다(참고로 나는 디버그 키와 릴리즈 키가 동일하다..). 이때 keystore가 사용되며 이 키는 내 레포지토리의 secret.. 모바일 2024. 7. 21. Kotlin Coroutine preview코루틴은 스탠다드 라이브러리 버전 1.3에 추가된 코틀린의 새로운 기능이다. 코루틴은 중단될 수도 있고 실행될 수도 있어, 코루틴을 추후 이어가기 위해 함수의 내부 상태를 보호하는 데이터 구조다. 코루틴을 순차적 혹은 동시성으로 실행하기 위해 스레드와 코루틴의 관계를 이해하며, 스레드 실행의 제어와 코루틴 디버깅을 어떻게하는지 알아보자. 코루틴 동시 실행병렬 실행과 동시 실행의 차이점을 알고 멀티 코어 프로세서의 멀티 스레드와 코루틴을 비교해서 생각하는 것이 중요하다. 멀티 코어 프로세서의 멀티 스레드는 일반적으로 병렬적으로, 코루틴은 병렬보다는 동시 실행에 더 많이 사용하기 때문이다. 둘의 차이는 간단하다. 피자를 먹으면서 대화하는 A의 경우 세 가지 행동으로 나눌 수 있겠는데 듣는 행위,.. 모바일/Android 2024. 7. 2. play store : java keystore로 google에서 제공하는 key대신 보유 key 업로드하는 방법 플레이스토어에 어플을 출시할 때 어플의 보안과 무결성을 보장하기 위해 어플은 개발자가 제공한 전자 키로 서명하여 무결성을 검증해야 한다. 플레이 스토어 출시할 때 보통 구글플레이어에서 제공된 키를 사용할 것을 권장하는데(안정성, 보안, 편리성), 이 방법 말고 로컬에서 키를 등록하고 싶은 경우가 있다. java -jar pepk.jar 명령어는 어플 업로드 시 전자 서명키(foo.keystore)을 포함하는 .pepk를 만드는 과정이다. foo.keystore에 개인키가 있으며 이걸로 어플을 서명하는데, pepk는 이 keystore를 https프로토콜로 upload해야하기 때문에 암호화를 시키는 도구다. 보이는 순서 대로 공개키를 다운 받는다.pepk tool를 다운받는다.커맨드창을 통해 내 개인 .. 모바일 2024. 6. 20. play store App bundle error : You uploaded an APK or Android App Bundle that was signed in debug mode. You need to sign your APK or Android App Bundle in release mode app bundle 파일을 올렸을 때 error code가 떴다.You uploaded an APK or Android App Bundle that was signed in debug mode. You need to sign your APK or Android App Bundle in release mode 앱 번들이 디버그 모드로 signed되어 있다는 뜻인데 manifest 단위 혹은 gradle:app에서 release mode에 debug모드를 설정해줬기 때문에 debug모드로 build가 되어 해당 오류가 생긴 것이다. build.gradle:appbuildTypes { release { isDebuggable = false } } Android.. 모바일 2024. 6. 20. [카카오] 추석 트래픽 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 날짜와 시간 정보가 있는 요청시간에 따라 초당 처리량의 최대값을 구하는 문제다. 시간만 주어졌다면 단순히 시간을 초로 변환해 구했겠지만 날짜 정보까지 들어와 계산하고 비교하는 게 까다로워 datetime 모듈을 사용했다. 문제에서 9월 15일 하루의 로그 데이터를 분석한다고 했으므로 시간만 비교해도 된다 ㅎㅎ 그래도 날짜가 나올 수 있으니 datetime모듈을 사용해서 비교하겠다. datetime 모듈에서 특히 주목해야할 메써드는 두 가지다. datetime.timedeltadatetime/date 인스턴스 간의.. 코딩테스트 2024. 6. 18. Suspicious indentation: This is indented but is not continuing the previous expression 들여쓰기가 잘못 되어 있을 때 컴파일러가 인식하지 못해서 생기는 오류. 단축키로 코드를 reformat하기 위해 ctrl + alt + L을 해주면 문제가 해결된다. 번외로 Code > reformat File를 눌러서 가능하다. 모바일/Android 2024. 6. 15. SQLite SQLiteSQLite는 어플리케이션 내부에 라이브러리 같은 곳에 포함된 경량 내장형 DBMS이며, 관계형 데이터베이스이다 db 저장하는 법fileSQLite 경량 db, 앱 자체외부 db, 타인과 공유(1) SQLIteOPenHelperDB를 편리하게 사용할 수 있도록 도와주는 클래스, 상속하여 사용한다.DB 저장 파일 생성한다.테이블 생성, 업그레이드, 기본 샘플 데이터 추가.SQLiteDatabase 객체 제공필수 재정의 메소드MyDBHelper() : helper class에게 필요한 정보(DB 파일 및 DB버전)를 넘겨준다.onCreate() : DB가 생성될 때 단 한 번만(최초 1회) 테이블 생성, 샘플 추가 가능onUpgrade() : 데이블 구조를 번경해야 할 때 사용하며, DB 버전이 .. 모바일/Android 2024. 6. 14. 제트팩 라이브러리 제트팩 라이브러리란?플랫폼 API : 운영체제에서 기본적으로 제공하는 APIART : Android Run Time새로운 기능을 추가할 때 운영체제 기능에 업데이트하기 어렵다. 꾸미기 같은 자잘한 기능을 업데이트하기 위해 운영체제를 업데이트를 하기 어렵기에 이를 라이브러리로 만들어 업데이트하는데 이때 등장한 개념이 제트팩 라이브러리다.안드로이드 운영체제의 버전과 상관 없이 라이브러리를 업데이트하면 최신 기능을 사용할 수 있기 때문에 하위 호환성이 증가된다. 공식 홈페이지에서 제트펙 라이브러리 확인하기 Android Jetpack 개발자 리소스 - Android 개발자 | Android DevelopersFollow best practices, eliminate boilerplate code, and .. 모바일/Android 2024. 6. 14. FDM (frequency division multiplexing) FDM이란통신에서 중복되지 않는 주파수 대역으로 분할하는 기술로 별도의 신호로 전달된다. 따라서 단일 전송 매체(무선링크, 케이블 등)로 여러개의 독립적인 신호로 전달할 수 있다.FDM가 사용되는 대표적인 예는 라디오와 TV이다. 라디오는 같은 시간 공기 중으로 다른 주파수로 신호를 보낸다. 케이블 TV는 하나의 케이블로 동시에 많은 TV 채널을 보낼 수 있다. FDM은 물론 telephon 시스템, 간선을 통해 멀티 telephone call을 전달할 수 있다.우선 신호는 송신 장치로부터 생성 및 변조되며 나눠진 대역을 통해 전달되고, 이 변조된 신호는 mulitplex(MUX)를 사용하여 결합 후 통신 채널을 통해 전송된다. 이후 수신 측에서 결합된 신호를 demultiplex를 통과해 개별 신호를 .. CS 2024. 6. 14. LIME CODE OverViewCAM/gradCAM과 다르게 LIME/SHAP는 모델과 독립적으로 존재하는 모델이다. 모델만 있으면 LIME/SHAP을 추가할 수 있다. LIME/SHAP은 local한 요소를 강조한다.정답인 경우 정답이라고 인식하게 된 부위를 붉은색으로 표시한다. 틀리게 나온 경우 어디를 보고 잘못 말한 건지 표시해준다. 이때 잘못 말한 경우를 보고 모델 튜닝도 가능하다. 예컨대 턱 부위를 보고 계속 잘못 판단한다면 그 부위를 특별히 조정할 수 있다. MLP MODEL! pip install lime구글 코랩, 아나콘다에서 기본 지원이 안 된다.import numpy as npimport matplotlib.pyplot as pltfrom skimage.color import gray2rgb, rgb2.. AI 2024. 6. 14. 이전 1 2 3 4 5 ··· 9 다음