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..
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..
[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,..
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로 연결되어 있고, 개발자 모드가 켜져 있..
[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
페이지 이동할 때 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 !..
OpenAI(ChatGPT) API로 블로그 발행하기 - #5. Python으로 Blogger 발행하기 (Google OAuth API)
·
Automation
0. Todo Google Cloud 프로젝트 생성 Blogger API 사용 설정 OAuth 클라이언트 ID 생성 Python으로 Blogger 서비스 연동하기 Python으로 Blog 발행하기 1. Google Cloud 프로젝트 생성 ① Google Cloud 계정 생성 (https://cloud.google.com/) ② Google Cloud Console로 이동 (https://console.cloud.google.com/) ③ 프로젝트 생성 2. Blogger API 사용 설정 ① API 라이브러리 페이지로 이동 (API 및 서비스 → 라이브러리) ② Blogger 검색 ③ Blogger API 사용 설정 이미 사용중이라 아래와 같이 '관리'라 나오지만 원래는 '사용'이라는 버튼이 있다. 3..
crontab 랜덤 시간 후 작업 실행하기
·
Infra
crontab이란 일종의 작업 스케줄러로 "매일 10시에 A 작업을 실행해라.", "8시~13시 사이에 30분마다 B 작업을 실행해라." 등의 작업 생성이 가능하다. 기본적인 사용법은 다른 블로그를 참고 부탁하며, 여기서는 crontab을 사용해 랜덤 시간 후에 작업을 실행하는 설정을 기록해본다. 기본 형식 랜덤 시간을 발생시키기 위한 random 명령어와 일정 시간 후 실행시키기 위한 sleep 명령어를 사용한다. * * * * * sleep ${RANDOM:0:2}m ; /path/to/script 위 코드에서 RANDOM은 0-32767 사이의 랜덤한 숫자를 리턴하며, :0:2를 통해 2자리를 잘라낸다. 즉, sleep ${RANDOM:0:2}m 의 의미는 '랜덤으로 발생한 2자리 수 분(m) 만큼..