2026/04/11

오늘의 이야기

JavaScript로 페이지 요소 값 가져오기 및 세션을 통한 값 전달

열코 하세요.



페이지 최상단의 특정 항목 값 알아내기
JavaScript를 사용하여 페이지 최상단에 있는 특정 항목의 값을 알아내는 방법은 매우 간단합니다. document.getElementById 또는 document.querySelector를 사용하여 특정 요소를 선택하고, 해당 요소의 값을 가져올 수 있습니다.

예제 코드:
HTML

<!DOCTYPE html>
<html>
<head>
    <title>Get Element Value</title>
</head>
<body>
    <div id="topElement">This is the top element</div>
    <script>
        // 특정 ID를 가진 요소 선택
        const topElement = document.getElementById('topElement');
        
        // 요소의 텍스트 내용 가져오기
        const elementValue = topElement.innerText;
        
        console.log(elementValue); // "This is the top element" 출력
    </script>
</body>
</html>
AI가 생성한 코드입니다. 신중하게 검토하고 사용하세요. FAQ의 자세한 정보.
위 예제에서는 id가 topElement인 요소를 선택하고, 해당 요소의 텍스트 내용을 innerText 속성을 사용하여 가져옵니다.

또 다른 방법으로는 document.querySelector를 사용할 수도 있습니다:

HTML

<!DOCTYPE html>
<html>
<head>
    <title>Get Element Value</title>
</head>
<body>
    <div class="top-element">This is the top element</div>
    <script>
        // 특정 클래스를 가진 요소 선택
        const topElement = document.querySelector('.top-element');
        
        // 요소의 텍스트 내용 가져오기
        const elementValue = topElement.innerText;
        
        console.log(elementValue); // "This is the top element" 출력
    </script>
</body>
</html>
AI가 생성한 코드입니다. 신중하게 검토하고 사용하세요. FAQ의 자세한 정보.
이 방법은 CSS 선택자를 사용하여 요소를 선택할 수 있어 더욱 유연합니다.

세션을 통해 하위 페이지로 값 전달하기
세션을 통해 하위 페이지로 값을 전달하는 방법은 여러 가지가 있습니다. 여기서는 JavaScript와 HTML을 사용하여 세션 스토리지를 활용하는 방법을 설명하겠습니다.

1. 값 저장하기 (상위 페이지)
먼저, 상위 페이지에서 세션 스토리지에 값을 저장합니다.

HTML

<!DOCTYPE html>
<html>
<head>
    <title>Save to Session Storage</title>
</head>
<body>
    <input type="text" id="inputValue" placeholder="Enter some value">
    <button onclick="saveToSession()">Save</button>

    <script>
        function saveToSession() {
            const inputValue = document.getElementById('inputValue').value;
            sessionStorage.setItem('savedValue', inputValue);
            alert('Value saved to session storage!');
        }
    </script>
</body>
</html>
AI가 생성한 코드입니다. 신중하게 검토하고 사용하세요. FAQ의 자세한 정보.
2. 값 가져오기 (하위 페이지)
하위 페이지에서 세션 스토리지에 저장된 값을 가져옵니다.

HTML

<!DOCTYPE html>
<html>
<head>
    <title>Retrieve from Session Storage</title>
</head>
<body>
    <div id="displayValue"></div>

    <script>
        window.onload = function() {
            const savedValue = sessionStorage.getItem('savedValue');
            document.getElementById('displayValue').innerText = savedValue ? savedValue : 'No value found in session storage.';
        }
    </script>
</body>
</html>
AI가 생성한 코드입니다. 신중하게 검토하고 사용하세요. FAQ의 자세한 정보.
이 예제에서는 상위 페이지에서 입력된 값을 세션 스토리지에 저장하고, 하위 페이지에서 해당 값을 가져와서 표시합니다.

JavaScript로 7일 전 날짜 구하기
JavaScript를 사용하여 7일 전의 날짜를 구하는 방법은 매우 간단합니다. Date 객체와 setDate 메서드를 사용하면 됩니다.

예제 코드:
JavaScript

// 현재 날짜 가져오기
let currentDate = new Date();

// 7일 전 날짜 계산
currentDate.setDate(currentDate.getDate() - 7);

// 결과 출력
console.log(currentDate);
AI가 생성한 코드입니다. 신중하게 검토하고 사용하세요. FAQ의 자세한 정보.
이 코드는 현재 날짜에서 7일을 빼서 7일 전의 날짜를 계산합니다.

이 블로그 게시글이 도움이 되셨길 바랍니다! 추가적인 질문이 있거나 다른 도움이 필요하시면 언제든지 말씀해 주세요. 😊





오늘의 이야기

클라우드 기능 활용한 이메일 발송법, 파이어스토어&파이어베이스-메일 발송

자동 메일링



• 이 블로그 게시물은 클라우드 기술을 사용하여 이메일을 더 쉽게 보낼 수 있는 방법을 설명합니다. 특히 신규 가입자에게 환영 이메일을 보내거나 사용자 지원 요청을 처리하는 시나리오에서 그렇습니다.

• 이메일 전송을 자동화하고 애플리케이션 내 사용자 지원 기능을 향상시키기 위해 클라우드 기능을 사용하는 이점을 강조합니다.

• 게시물은 파이어베이스 프로젝트 설정, 파이어베이스 CLI 설치, 파이어스토어 트리거 이메일 확장 설치 등에 대한 단계별 안내를 제공한다.

• SMTP 연결 URI, Firebase 수집명, 주소에서 기본 설정, SMTP 비밀번호 등 확장에 필요한 필수 구성도 포함합니다.

• 또한 게시물은 연락처 요청을 제출하라는 클라이언트 요청에 의해 트리거된 클라우드 기능에 대한 코드 스니펫을 포함하여 이메일을 보내기 위해 화재 기반 전송 이메일 확장을 활용하는 호출 가능한 클라우드 기능을 작성하는 방법을 보여준다.

• 클라우드 기능이 확장자에 의해 모니터링되는 Firestore 수집 지원_요청에 문서를 추가하여 문서의 내용을 기반으로 이메일 전송을 트리거하는 방법을 설명합니다.

https://blog.canopas.com/how-to-send-emails-using-cloud-functions-firestore-firebase-send-email-ff4702a16fef

How To Send Emails Using Cloud Functions, Firestore & Firebase-Send-Email

A Guide to Cloud Functions, Firestore, and Firebase-Send-Email

blog.canopas.com





오늘의 이야기

뷰모델로 안드로이드 오토에서 코드 재사용

view ???



• 이 기사는 구성 변경 및 사망 시에도 생존하는 핵심 제트팩 라이브러리인 ViewModels를 사용하여 Android Auto에서 코드를 재사용하는 방법을 탐구합니다.

• 뷰모델은 안드로이드 오토 및 카 앱 라이브러리에서 사용할 수 있어 개발자가 MVVM 패턴을 유지하고 안드로이드 오토의 일반 앱에서 기능을 재사용할 수 있다.

• 안드로이드 오토는 CarService, Session 및 Screen을 포함하는 특정 설정을 가지고 있으며 화면은 수명 주기를 인식하지만 ViewModelStoreOwner가 아닙니다.

• 이를 해결하기 위해 저자는 화면용 ViewModelStoreOwner를 만들고 수명 주기가 파괴된 상태에 도달하면 이를 제거하여 적절한 ViewModel 관리를 보장합니다.

• 저자는 의존성 주입을 위해 Koin을 사용하여 ViewModel을 주입하는 방법을 보여주므로 루트 Koin 범위에서 ViewModel을 쉽게 검색할 수 있습니다.

• 기사는 뷰모델에서 데이터가 변경될 때마다 화면을 무효화하는 것의 중요성을 강조하여 화면이 그에 따라 업데이트되도록 보장합니다.

https://proandroiddev.com/android-auto-and-viewmodel-reuse-your-code-in-your-car-f883437b7ea3

Android Auto and ViewModel: Reuse your code in your car!

See how we can leverage ViewModelStoreOwner and Koin to use ViewModels in Android Auto.

proandroiddev.com





오늘의 이야기

제트팩 구성으로 실시간 줌 클론 구축

화상회의



• 이 기사는 Compose용 Stream Video SDK를 사용하여 실시간 Zoom 클론 앱을 구축하는 방법을 보여주며, 마이크 토글링, 카메라 뒤집기, 이모지 리액션 전송, 통화 남기와 같은 필수 영상 통화 기능을 구현하는 데 중점을 둔다.

• 저자는 API 키를 획득하고 응용 프로그램 클래스에서 SDK를 초기화하는 것을 포함하여 스트림 비디오 SDK 설정에 대한 자세한 지침을 제공한다.

• 구현은 Call 객체를 생성하고, MeetingRoomViewModel에서 미팅 호출을 처리하고, SDK에서 제공하는 사용자 정의 가능한 구성 요소로 미팅 룸을 설계하는 것을 포함한다.

• 비디오테임 구성 요소는 모든 구성 요소의 기본 래퍼 역할을 하여 앱의 외관을 사용자 정의할 수 있습니다.

• SDK는 CallAppBar 및 ControlActions와 같은 구성 요소에 영상 통화 기능을 쉽게 통합하여 카메라를 뒤집고 통화를 남기는 것과 같은 작업을 가능하게 합니다.

• 회의에서 이모지 반응을 보내는 것은 Call 객체에 반응 데이터를 보내는 것으로 이루어진다.

• 저자는 투명한 문서화, 엔지니어와의 직접적인 커뮤니케이션, 구현을 특정 요구에 이해하고 적응하는 능력을 포함하여 오픈 소스 SDK를 사용하는 이점을 강조한다.

https://proandroiddev.com/build-a-real-time-zoom-clone-with-jetpack-compose-a18047101496

Build a Real-Time Zoom Clone with Jetpack Compose

After regularly using and enjoying video conferencing solutions at work, I felt inspired to create a Zoom clone app using Jetpack Compose…

proandroiddev.com





오늘의 이야기

수정자 로컬: 제트팩 구성에서 분석 처리를 위한 강력한 도구


이미지 feer Dale3




• 컴포지션 로컬의 덜 알려진 형제자매인 모디파이어 로컬은 제트팩 컴포즈 애플리케이션에서 분석을 처리하는 편리한 방법을 제공합니다.

• 일반 분석 이벤트 이름과 함께 재사용 가능한 구성 요소를 생성할 수 있으므로 화면을 지정하는 추가 매개변수가 필요하지 않습니다.

• ModifierLocal을 사용하여 분석을 구현하기 위해 ModifierScreenName이라는 사용자 정의 수정자가 생성되어 분석 목적으로 화면 이름을 선언합니다.

• 이 수정제는 모든 화면에 쉽게 추가할 수 있으며 화면이 표시되면 분석 이벤트를 자동으로 종료합니다.

• 버튼 누름을 캡처하기 위해 onTapAnalyticsEvent라는 보다 정교한 수정어가 도입되어 동일한 요소에 여러 탭 검출기가 있는 문제를 해결합니다.

• 클릭 가능한 요소에 이 수정자를 추가하면 화면 이름과 콘텐츠 유형으로 분석 이벤트를 기록할 수 있습니다.

• 이 접근법은 분석의 구현을 단순화하고 코드 재사용성을 촉진한다.

https://proandroiddev.com/add-powerful-analytics-modifiers-in-jetpack-compose-with-modifierlocal-399e3f8b7914

Add powerful analytics modifiers in Jetpack Compose with ModifierLocal!

Did you ever hear about CompositionLocal’s smaller brother: the ModifierLocal? Check how to utilize it and make analytics handling a…

proandroiddev.com





오늘의 이야기

DevExtreme dxChart와 dxDataGrid 설정 방법


dxDataChart



 


안녕하세요! 오늘은 DevExtreme의 dxChart와 dxDataGrid를 설정하는 방법에 대해 알아보겠습니다. 이 글에서는 차트와 그리드의 축 범위, 간격, 색상 등을 설정하는 방법을 다룹니다.


dxChart 설정 방법


x축과 y축의 범위 및 간격 지정


dxChart에서 x축과 y축의 범위와 간격을 지정하려면 다음과 같이 설정할 수 있습니다:


JavaScript
 



$("#chartContainer").dxChart({
dataSource: dataSource,
argumentAxis: {
min: 0,
max: 100,
tickInterval: 10,
visualRange: {
startValue: 0,
endValue: 100
},
wholeRange: {
startValue: 0,
endValue: 100
}
},
valueAxis: {
min: 0,
max: 100,
tickInterval: 10
},
// 기타 설정
});


AI가 생성한 코드입니다. 신중하게 검토하고 사용하세요. FAQ의 자세한 정보.

이 코드를 사용하면 x축과 y축의 최소값, 최대값, 그리고 눈금 간격을 설정할 수 있습니다. visualRange와 wholeRange 속성을 사용하여 범위를 고정할 수 있습니다.


포인트 색상 지정


각 포인트의 색상을 지정하려면 customizePoint 콜백 함수를 사용할 수 있습니다:


JavaScript
 



$("#chartContainer").dxChart({
dataSource: dataSource,
series: {
type: "line",
customizePoint: function(pointInfo) {
if (pointInfo.value > 50) {
return { color: "#ff3333" }; // 빨간색
} else {
return { color: "#33ff33" }; // 초록색
}
}
},
// 기타 설정
});


AI가 생성한 코드입니다. 신중하게 검토하고 사용하세요. FAQ의 자세한 정보.

이 코드는 value 값이 50보다 큰 포인트는 빨간색으로, 그렇지 않은 포인트는 초록색으로 설정합니다.


dxDataGrid 설정 방법


특정 셀의 배경색 변경


dxDataGrid에서 특정 셀의 배경색을 변경하려면 onCellPrepared 이벤트를 사용합니다:


JavaScript
 



$("#gridContainer").dxDataGrid({
dataSource: dataSource,
columns: [
{ dataField: "field1" },
{ dataField: "field2" },
// 기타 열 설정
],
onCellPrepared: function(e) {
if (e.rowType === "data" && e.column.dataField === "field1") {
if (e.data.field1 === "특정값") {
e.cellElement.css("background-color", "yellow");
}
}
}
});


AI가 생성한 코드입니다. 신중하게 검토하고 사용하세요. FAQ의 자세한 정보.

이 코드는 field1 열의 값이 "특정값"인 경우 해당 셀의 배경색을 노란색으로 변경합니다.


색상 코드


마지막으로, 몇 가지 색상 코드를 소개합니다:



  • #ff3333: 밝은 빨간색

  • #ffcc00: 탠저린 옐로우

  • #99ff66: 인치웜

  • #00FF00: 초록색


이 색상 코드를 사용하여 차트와 그리드의 시각적 요소를 더욱 풍부하게 만들 수 있습니다.




이 글이 도움이 되셨길 바랍니다! 추가로 궁금한 점이 있으면 언제든지 댓글로 남겨주세요. 😊





오늘의 이야기

안드로이드 프로세스 라이프사이클 및 코루틴: 라이프사이클-어웨어 작업을 위한 완벽한 매치

Android life cycle



• 안드로이드 프로세스 라이프사이클과 코루틴은 원활하게 함께 작동하여 안드로이드 애플리케이션에서 라이프사이클 인식 작업을 관리하는 강력한 방법을 제공한다.

• 이 기사는 예상치 못한 문제를 방지하기 위해 금붕어를 돌보는 것과 유사하게 안드로이드 개발에서 구성 요소의 수명 주기를 관리하는 것의 중요성을 강조한다.

• 코로나와 안드로이드 수명 주기는 공통 특성을 공유합니다. 둘 다 상태를 명시적으로 나타내므로 코로나 범위를 안드로이드 수명 주기 이벤트와 정렬할 수 있다.

• 구글의 라이프사이클 라이브러리는 안드로이드 구성 요소의 라이프사이클을 기반으로 코루틴 스코프 생성 및 취소를 자동으로 처리함으로써 이 프로세스를 단순화한다.

• 이 기사는 애플리케이션 시작 시 캐시를 새로고침하고 앱이 배경으로 갈 때 민감한 데이터를 지우는 등 다양한 시나리오에 라이프사이클 인식 코루틴을 사용하는 방법에 대한 실제 예를 제공한다.

• 코드베이스 전반에 걸쳐 흩어져 있는 논리에 의존하는 것이 아니라 특정 이벤트가 발생할 때마다 특정 행동이 수행되도록 하여 라이프사이클 인식 작업을 한 곳에 집중화하는 이점을 강조한다.

• 저자는 개발자들이 응용 프로그램을 보다 반응적이고 독립적으로 만들기 위해 이 접근 방식을 탐색하도록 권장하여 개념에 대한 피드백과 감사를 초대한다.

https://proandroiddev.com/android-process-lifecycle-coroutines-7a8128470dd4

Android Process Lifecycle + Coroutines == ❤

Kotlin Coroutines and Android Lifecycle are a match made in heaven! I will show why they work so well together and cool stuff you can do.

proandroiddev.com





오늘의 이야기

미디어3 1.4.0: 프리로딩, HDR, 자막, 이미지 등

미디어 플레이어



• Media3 1.4.0은 더 빠른 재생을 위한 새로운 프리로드 유틸리티, 더 정확한 텍스트 오버레이 및 울트라HDR 이미지 변환을 위한 개선된 HDR 지원, 더 나은 클리핑 및 더 빠른 로딩을 위한 개편된 자막 파이프라인, UI 모듈의 상자 밖 이미지 지원, 미디어 세션의 더 유연한 오류 처리를 포함한 여러 개선 사항을 소개합니다.

• 새로운 프리로드 매니저는 특히 짧은 형식의 비디오 또는 대화형 UI 시나리오에서 더 부드러운 재생을 위해 여러 미디어 항목의 효율적인 프리로드를 허용합니다.

• HDR 지원은 조절 가능한 텍스트 밝기와 HDR 비디오로의 UltraHDR 이미지 변환으로 강화되어 하이라이트 디테일과 색상 강도를 보존합니다.

• 업데이트된 자막 파이프라인은 자막 클리핑을 개선하고 중복되는 문제를 해결하며 큰 자막 파일로 더 빠른 재생을 가능하게 합니다.

https://medium.com/google-exoplayer/media3-1-4-0-whats-new-ba1c9c17ee1a

Media3 1.4.0 — what’s new?

Media3 1.4.0 is released with new preload utilities, better HDR support in Transformer and images in PlayerView

medium.com





오늘의 이야기


#스하리1000명프로젝트,
Perso in Corea? Anche se non parli coreano, questa app ti aiuta a muoverti facilmente.
Basta parlare la tua lingua: traduce, cerca e mostra i risultati nella tua lingua.
Ottimo per i viaggiatori! Supporta oltre 10 lingue tra cui inglese, giapponese, cinese, vietnamita e altre.
Provalo adesso!
https://play.google.com/store/apps/details?id=com.billcoreatech.opdgang1127




2026/04/10

오늘의 이야기

제트팩 구성에서 더 나은 성능을 위해 재구성 최적화

Android jetpack compose ... by AI



• 제트팩 컴포즈는 안드로이드의 네이티브 UI 구축을 위한 현대 툴킷으로, 더 적은 코드, 강력한 도구, 직관적인 코틀린 API로 단순화되고 가속화된 개발을 제공한다.

• 불필요한 재구성은 UI 부진, CPU 높은 사용 및 배터리 소비 증가로 이어질 수 있으므로 성능을 위해 재구성을 최적화하는 것이 중요합니다.

• 재구성은 구성 가능한 변경, 매개변수 또는 람다 함수의 상태가 변경될 때 발생하며 안드로이드 스튜디오 프로파일러, 디버그 로그 및 재구성 하이라이터를 사용하여 모니터링할 수 있다.

• UI를 너무 많은 작은 합성물로 분해하면 과도한 재구성을 유발할 수 있으므로 관련 UI 요소를 함께 그룹화하고 'remember'와 'rememberUpdatedState'를 사용하여 효율적으로 재구성을 관리하는 것이 중요합니다.

• 상태를 오용하면 원치 않는 재구성을 유발할 수 있으므로 불필요한 업데이트를 최소화하기 위해 상태 의존적 부분을 분리해야 한다.

• 변경 가능한 상태는 필요한 경우에만 신중하게 사용하고 업데이트해야 하며, 변경 불가능한 상태와 'rememberUpdatedState'를 사용하여 상태 변경을 효율적으로 관리할 수 있습니다.

https://medium.com/@dobri.kostadinov/mastering-jetpack-compose-optimizing-recomposition-for-better-performance-bbc7390900f5

Mastering Jetpack Compose: Optimizing Recomposition for Better Performance

Unlock the secrets to enhancing your Jetpack Compose applications by minimizing unnecessary recompositions for smoother and faster UI…

medium.com





오늘의 이야기


#billcorea #운동동아리관리앱
🏸 Schneedle, un'app indispensabile per i club di badminton!
👉 Match Play: registra punteggi e trova avversari 🎉
Perfetto ovunque, da solo, con gli amici o in un club! 🤝
Se ti piace il badminton, provalo sicuramente

Vai all'app 👉 https://play.google.com/store/apps/details?id=com.billcorea.matchplay




오늘의 이야기

JavaScript로 페이지 요소 값 가져오기 및 세션을 통한 값 전달 열코 하세요. 페이지 최상단의 특정 항목 값 알아내기 JavaScript를 사용하여 페이지 최상단에 있는 특정 항목의 값을 알아내는 ...