2025년 3월 13일 목요일

삼성 원격단말 테스트

삼성 개발자 사이트에 접속: https://developer.samsung.com/remote-test-lab




다음과 같은 화면이 보이게 된다.


난 갤럭시S로 테스트 해보고 싶다.

available을 누르면 다음과 같이 단말 선택 상세정보가 뜬다.


단말 위치가 글로벌 하게 있다. 사용시간 30분당 2 credit이 소모된다.
credit은 하루에 로그인 하면 20credit 준다고 되어 있고 우측 상단에 내 크래딧을 누르면 하루에 10코인을 충전해 준다.
FAQ 참조

start를 누르면 원격 단말이 실행된다.
원격 디버깅을 시작해 보자

connect를 누르면 RDB를 설치하라고 나온다.



다운로드를 누르면 rdb.zip파일이 다운로드 되는데 이를 압축 풀어서 실행하면 된다. 다운받아서 rdb.exe를 실행하면 다음과 같은 화면이 뜬다.

여기서 adb가 포함된 오류가 발생하면 환경변수에 adb경로가 추가되어 있지 않아서 그렇다. 시스템 변수에 추가해 주자. 
이제 android studio에 접속해 보면 디바이스 관리 탭에 원격 디바이스가 보인다.

이제 남은 시간동안 열심히 테스트 해보면 된다!!







구글 트랜드 rss 파싱하기

 

1️⃣ 패키지 설치


npm install axios fast-xml-parser

#rss-parser도 사용해 봤지만 rss-parser는 네임스페이스를 파싱하지 못한다고 한다.

2️⃣ Google Trends RSS 파싱 코드 (google-trends-parser.js)


const axios = require("axios"); const { XMLParser } = require("fast-xml-parser"); const GOOGLE_TRENDS_RSS_URL = "https://trends.google.com/trending/rss?geo=US"; async function fetchGoogleTrends() { try { // RSS 피드 가져오기 const response = await axios.get(GOOGLE_TRENDS_RSS_URL); // XML 파싱 const parser = new XMLParser({ ignoreAttributes: false, parseTagValue: true }); const feed = parser.parse(response.data); // RSS 구조 확인 const items = feed.rss.channel.item; if (!items) { console.error("❌ No items found in the RSS feed."); return; } // 트렌드 뉴스 출력 items.forEach((item, index) => { console.log(`📌 Trend ${index + 1}: ${item.title}`); console.log(` 📰 Link: ${item.link}`); console.log(` 🖼️ Image: ${item["ht:picture"]}`); console.log(` 📰 Source: ${item["ht:picture_source"]}`); // ht:news_item 처리 if (item["ht:news_item"]) { const newsItems = Array.isArray(item["ht:news_item"]) ? item["ht:news_item"] : [item["ht:news_item"]]; console.log(` 🗞️ News Articles:`); newsItems.forEach((news, idx) => { console.log(` ${idx + 1}. ${news["ht:news_item_title"]}`); console.log(` 🔗 ${news["ht:news_item_url"]}`); console.log(` 🖼️ ${news["ht:news_item_picture"]}`); console.log(` 📰 Source: ${news["ht:news_item_source"]}\n`); }); } console.log("------------------------------------------------------"); }); } catch (error) { console.error("❌ Error fetching Google Trends:", error.message); } } fetchGoogleTrends();

2025년 2월 24일 월요일

유튜브 url에서 id 추출

youtube의 여러 url 주소형식에서  id만 추출하여 embed url로 생성


function getYoutubeUrl(url){
// YouTube URL을 처리하기 위한 정규 표현식
const regex = /^(?:https?:\/\/)?(?:www\.|m\.)?(?:youtube\.com|youtu\.be)\/(?:.*v(?:\/|=)|(?:.*\/)?)([^#&?]*).*/;

const match = url.match(regex);

// 정규 표현식에 일치하는 부분이 있으면 동영상 ID 추출, 아니면 입력값 그대로 반환
return match ? 'https://youtube.com/embed/'+match[1] : url;
}


2025년 2월 19일 수요일

윈도우에서 여러 파일명 바꾸기

PowerShell을 사용하여 파일 이름 패턴 변경하기

1. Get-ChildItem cmdlet으로 파일 목록 가져오기

먼저 Get-ChildItem cmdlet을 사용하여 파일 목록을 가져옵니다.

PowerShell에서 실행
```
Get-ChildItem -Path ".\your_directory_path" -Filter "noto-sans-kr-*"
```
  • -Path: 파일이 있는 디렉토리 경로를 지정합니다.
  • -Filter: 파일 이름 패턴을 지정합니다. 여기서는 noto-sans-kr-* 패턴을 사용하여 "noto-sans-kr-"로 시작하는 모든 파일을 선택합니다.

2. Rename-Item cmdlet으로 파일 이름 변경하기

다음으로 Rename-Item cmdlet을 사용하여 파일 이름을 변경합니다.

PowerShell에서 실행
``` #실행명령
Get-ChildItem -Path ".\your_directory_path" -Filter "noto-sans-kr-*" | Rename-Item -NewName { $_.Name -replace "noto-sans-kr", "notoSansKr" }
```
  • Rename-Item: 파일 이름을 변경하는 cmdlet입니다.
  • -NewName: 새로운 파일 이름을 지정합니다. 여기서는 스크립트 블록 {} 안에서 $_ 변수를 사용하여 현재 파일 객체를 참조하고, -replace 연산자를 사용하여 "noto-sans-kr"을 "notoSansKr"로 변경합니다.

주의 사항

  • 위 코드를 실행하기 전에 반드시 백업을 해두세요. 파일 이름 변경은 되돌릴 수 없으므로 주의해야 합니다.
  • -replace 연산자는 대/소문자를 구분하지 않습니다. 만약 대/소문자를 구분하여 변경하고 싶다면 -creplace 연산자를 사용하세요.
  • 위 코드에서 your_directory_path는 실제 디렉토리 경로로 변경해야 합니다.
변경전

변경후