PC에 연결된 모바일 기기 화면을 명령어로 캡처하기 (안드로이드, iOS)
·
Mobile
모바일 앱을 개발하거나 USB로 연결된 모바일 기기의 화면 캡처가 필요할 때가 종종 있습니다.이번 글에서는 USB로 연결된 안드로이드나 iOS(아이폰) 기기의 화면을 캡처하는 방법에 대해 정리했습니다.1. 각 OS별 캡처 명령안드로이드adb exec-out screencap -p > screenshot.pngADB를 이용해 PNG 캡처 후 로컬에 저장adb devices로 연결 확인 가능windows에서는 cmd에서 가능 (powershell 불가)iOS (실물 기기)xcrun xcdevice screenshot screenshot.pngXcode CLI 도구를 이용해 iOS 기기 화면을 PNG로 저장xcrun xcdevice list로 연결 상태 확인 가능USB로 연결되어 있고, 개발자 모드가 켜져 있..
스마트폰에서 같은 네트워크 윈도우 서버 접근하기
·
Mobile
윈도우PC WSL에 웹서버를 구동시킨 후 같은 네트워크에 wifi로 연결한 스마트폰으로 접근하려 하니 잘 안된다.찾아보니 이것저것 설정을 해줘야 하는 부분이 있어 기록을 남겨본다.1. Windows IP 주소 확인Windows 명령 프롬프트에서:ipconfig또는 PowerShell에서:Get-NetIPAddress -AddressFamily IPv4WiFi 어댑터 IP 주소 확인 (보통 192.168.x.x 형태).2. WSL에서 웹서버 바인딩 설정웹서버가 localhost(127.0.0.1)가 아닌 모든 인터페이스에서 접근 가능하도록 설정 필요Express.js 예시:app.listen(3000, '0.0.0.0', () => { console.log('Server running on port ..
OpenAI(ChatGPT) API로 블로그 발행하기 - #2. DBeaver에 Oracle DB 연동하기
·
Automation
0. Todo Autonomous Database(Oracle DB) Wallet 다운로드 DBeaver 연동 1. Oracle DB Wallet 다운로드 ① 만들어둔 Database 클릭 ② 'Database connection' 클릭 ③ 'Download wallet' 클릭 이 화면의 TNS Name은 향후 툴에서도 사용되므로 확인해두자. ④ 지갑 암호 입력 후 'Download' 클릭 ⑤ 받은 지갑은 압축을 풀어 적당한 위치로 이동 (향후 파이썬으로 DB 접근 시에도 지갑 사용) 2. DBeaver 연동 ① OJDBC 다운로드 (https://www.oracle.com/database/technologies/appdev/jdbc-downloads.html) Oracle DB에 접속하기 위한 JDBC..
[supabase] 이미 가입된 이메일 검증하기
·
Backend
supabase를 사용해 회원가입 프로세스를 구현하다보면 이미 가입된 이메일로 가입 시도 시 '이미 가입되어 있으니 로그인을 시도하세요.'와 같은 안내를 하도록 개발하고 싶은 경험 있으실텐데요.보통 이메일과 비밀번호로 회원가입을 시도하는 경우 아래와 같이 코드를 작성하게 됩니다.import { supabase } from './supabaseClient'; // Supabase 클라이언트 import// 회원가입 처리 함수const handleSignUp = async (email, password) => { try { // Supabase의 signUp 함수 호출 const { data, error } = await supabase.auth.signUp({ email: email,..
[Python] 문장에서 가장 긴 단어 찾기
·
Backend
문장을 입력받아 가장 긴 단어를 찾는 예제를 작성해 보았다. 샘플코드 def find_longest_word(sentence): words = sentence.split() return max(words, key=len) # Example usage text = "It only takes about 20 minutes to find out about your accurate English level" print("Longest word:", find_longest_word(text)) 결과 Longest word: accurate
jsontest.com - json 응답을 주는 테스트 API 사이트
·
Development
API를 호출하는 기능을 개발하다보면 응답을 제대로 처리하기 위해 테스트 API가 필요한 경우가 있다. 특히 json 형태의 응답을 받게되는 경우가 많은데 테스트를 위한 API를 제공하는 사이트를 소개한다. jsontest.com http://www.jsontest.com/ JSON Test by jsontest JSONTest.com is a testing platform for services utilizing JavaScript Object Notation (JSON). To use, make a request to servicename.jsontest.com, where servicename is the name of a service listed below. We also support a nu..
개발자라면 꼭 알아야 할 Base64 인코딩/디코딩 원리와 실습
·
Backend
개발을 하다 보면 알 수 없는 영문 대소문자와 숫자가 섞여 있고, 끝이 = 또는 ==로 끝나는 긴 문자열을 마주칠 때가 있습니다. 바로 Base64 인코딩된 데이터입니다. 오늘은 이 Base64가 도대체 무엇인지, 왜 굳이 데이터 크기가 늘어나는 것을 감수하고 사용하는지, 그리고 파이썬(Python)으로 이를 어떻게 다루는지에 대해 정리해 보려고 합니다.1. Base64란 무엇인가?Base64는 이진 데이터(Binary Data)를 텍스트(ASCII 문자)로 변경하는 인코딩 방식 중 하나입니다. 컴퓨터 분야에서 '64'라는 숫자는 26을 의미합니다. 즉, 64진법을 사용한다는 뜻인데, 64개의 문자로 모든 데이터를 표현한다는 것이 핵심입니다.사용되는 문자: A-Z (26개), a-z (26개), 0-9 ..
페이지 이동할 때 Deprecated: stripos() 에러 발생 시 해결방법
·
Web
wordpress 구성 후 페이지를 이동할 때 아래와 같은 Deprecated: stripos() ~~ 라는 에러 메시지가 뜨는 페이지가 보인 후 다른 페이지로 넘어가는 현상을 보였다. 구글링을 해보니 조금만 수정하면 해결이 가능하였다. Deprecated: stripos(): Passing null to parameter #1 ($haystack) of type string is deprecated in /config/www/wordpress/wp-includes/functions.wp-scripts.php on line 133 우선 /config/www/wordpress/wp-includes/functions.wp-scripts.php 파일의 133 라인의 코드는 아래와 같다. if ( false !..
서버 하나에 docker-compose로 wordpress 여러개 구성하기
·
Infra
wordpress 구성의 필요성을 느껴 docker-compose로 구성해보고 방법을 정리해본다. 보통은 호스팅 업체(카페24, 클라우드웨이즈 등)를 사용해 wordpress를 구성하는데 여러개를 동시에 운영하는 것을 고려하고 있다보니 비용이 많이 발생할 것 같아 서버 하나를 마련해 여러 wordpress를 구성하려 한다. 여러 wordpress가 하나의 db에 database를 개별적으로 사용하는 방식으로 구성하고, https를 위해 wordpress 하나마다 swag를 사용하여 구성하였다. 구조 서버 하나로 구성 (현재는 AWS 사용) 향후 리소스 문제 발생 시 DB를 별도의 서버에 분리 예정 Ubuntu 22.04 LTS 기준 SSL 인증서 적용(https) 및 자동갱신을 위해 swag 사용 swa..
[Python] requests 사용해 API 호출
·
Backend
파이썬에서 API 호출 시 많이 사용하는 requests 패키지를 사용해 보았다. requests 패키지를 사용하면 간단한 코드만으로도 API 호출이 가능하다. 패키지 설치 pip install requests 기본 사용법 imports requests response = requests.get(url) response = requests.post(url) response = requests.delete(url, data={'key':'value'}) response = requests.head(url) response = requests.options(url) Json 응답 처리 (GET) API 응답이 json 형태일때 처리하는 샘플 코드를 개발해 보았다. json 응답을 테스트해볼 수 있는 사이트가..