본문 바로가기
반응형

전체 글837

5월 2일 임시공휴일? 만우절 거짓말이 부른 황금연휴 기대감 주제 시각자료 5월 2일 임시공휴일? 만우절 거짓말이 부른 황금연휴 기대감 5월 2일 임시공휴일? 만우절 거짓말이 부른 황금연휴 기대감“5월 2일이 임시공휴일로 지정됐다던데, 진짜야?”4월 1일 만우절, 온라인상에서는 ‘5월 2일 임시공휴일 지정 확정’이라는 이야기가 돌기 시작했습니다.근로자의 날부터 시작되는 5월 초 연휴, 정말로 6일 황금연휴가 가능한 걸까요?오늘은 이 ‘임시공휴일 루머’의 진실과 함께,실제 5월 황금연휴 구성과 연차 전략까지 깔끔하게 정리해드립니다.1. “5월 2일 임시공휴일” 루머, 진짜일까?결론부터 말하자면 아닙니다.해당 내용은 만우절을 맞아 온라인 커뮤니티에 퍼진 루머, 즉 장난입니다.임시공휴일은 정부의 공식 당정 협의 → 국무회의 심의 → 대통령 재가를 거쳐야 지정됩니다.하지만 2025년 4월 2일 기준, 정치권에서는 5월 2일에 대한 논의조차 없는.. 2025. 4. 3.
지브리 프사 만드는법|챗GPT 무료로 사진 애니메이션 그림 만들기 주제 시각자료 지브리 프사 만드는법|챗GPT 무료로 사진 애니메이션 그림 만들기 지브리 프사 만드는법|챗GPT 무료로 사진 애니메이션 그림 만들기요즘 인스타, 블로그, 카톡 프사까지 '지브리 스타일' 그림으로 바꾸는 게 대세죠.정면 사진 한 장만 있으면, 챗GPT에서 무료로 감성 애니메이션 이미지를 만들 수 있다는 사실, 알고 계셨나요?오늘은 직접 만든 결과물과 함께, 챗GPT 무료 버전으로 지브리 스타일 프사 만드는 5단계 꿀팁을 알려드릴게요.1. 지브리 프사란?지브리 프사란 ‘센과 치히로’, ‘하울의 움직이는 성’ 같은 지브리 애니메이션 그림체로 바꾼 프로필 사진이에요.부드럽고 따뜻한 색감과 감성적인 연출 덕분에, SNS에서 '내 캐릭터처럼 보이는 감성 프사'로 활용됩니다.2. 준비물: 챗GPT 계정과 정면 사진챗GPT 무료 계정: chat.openai.com사진 한 장: 정면이.. 2025. 4. 3.
2025년 포장이사 업체순위 TOP10|후회 없는 이사를 위한 실명 추천 리스트 주제 시각자료 2025년 포장이사 업체순위 TOP10|후회 없는 이사를 위한 실명 추천 리스트 후회 없는 이사를 위한 첫걸음, 포장이사 선택이사할 때 가장 중요한 건 어떤 이삿짐센터를 선택하느냐입니다.가격도 중요하지만, 더 중요한 건 서비스의 질과 신뢰죠.저 역시 과거에 업체 선택을 잘못해 고생했던 경험이 있어서, 이번에는 후회하지 않기 위해 업체 선정에 정말 공을 들였습니다.직접 후기, 서비스 품질, 견적 조건 등을 분석해2025년 기준 포장이사 추천 업체 TOP10을 정리해드릴게요.1. 포장이사 추천 업체 TOP10 (2025년 실사용자 기준)아래 리스트는 실제 후기 기반 + 만족도 중심으로 정리된 순위입니다.특징 요약도 함께 참고해보세요. 순위 업체명 특징 요약 ① 미소이사 포장이사 + 청소까지 가능한 종합 서비스형 .. 2025. 4. 3.
2025년 이삿짐센터 가격비교 가이드 주제 시각자료 2025년 이삿짐센터 가격비교 가이드 2025년 이삿짐센터 가격비교 가이드포장이사 vs 반포장, 최저가 견적받는 실전 전략 이삿짐센터를 고르는 건 생각보다 복잡합니다.포장이사, 반포장이사, 일반이사 중 어떤 유형을 선택할지부터, 가격은 어떻게 비교하고 무엇을 기준으로 업체를 선택해야 할지 막막하죠.33평 아파트 이사를 직접 준비하며 경험한 내용을 기반으로, 이사비용을 줄이면서 만족도 높은 이삿짐센터를 선택하는 핵심 노하우를 정리했습니다.1. 이사 유형별 비용 차이부터 이해하기1-1 이사 형태별 특징과 가격대이사 형태서비스 범위평균 가격대일반이사운반만 제공, 포장·정리는 본인 부담저렴반포장이사대형가전은 업체 포장, 나머지는 자가 포장중간포장이사포장~정리까지 전부 진행가장 높음포장이사 ↔ 일반이사 간 가격 차이는 보통 20~50만 원 이상 발생.. 2025. 4. 2.
직장인 개인사업자 폐업신고 방법|홈택스로 끝내는 절차부터 세금·건강보험까지 완벽 정리 주제 시각자료 직장인 개인사업자 폐업신고 방법|홈택스로 끝내는 절차부터 세금·건강보험까지 완벽 정리 직장인 개인사업자 폐업신고 방법|홈택스로 끝내는 절차부터 세금·건강보험까지 완벽 정리부업으로 시작한 사업, 이제 정리할 때가 왔다면폐업 신고부터 세금 정리, 4대 보험까지 한 번에 해결하는 가이드를 준비했습니다.1. 폐업 신고는 왜 꼭 해야 할까?직장인이더라도 개인사업자로 등록된 상태라면매출이 없어도 계속해서 세무 신고와 보험료 부담이 발생할 수 있어요.1) 신고하지 않으면 생기는 불이익✔ 부가가치세·종소세 신고 의무 유지✔ 건강보험료 지역가입자 전환 시 과도한 납부✔ 지원금, 대출 불이익 가능성▶ 신고 기한: 폐업일 기준 2개월 이내  2. 폐업 신고하는 방법 2가지1) 홈택스에서 온라인 신고 (추천)홈택스 바로가기로그인 → [휴·폐업신고] 메뉴 클릭사업자 정보 입력 → 폐업일자 작성 → 제출 ▶ 손택.. 2025. 4. 2.
아이폰 ‘나의 찾기’ 기능 한국 출시! 15년 만에 열린 위치추적 + 애플 AI 한글 지원 소식 주제 시각자료 아이폰 ‘나의 찾기’ 기능 한국 출시! 15년 만에 열린 위치추적 + 애플 AI 한글 지원 소식 아이폰 ‘나의 찾기’ 기능 한국 출시! 15년 만에 열린 위치추적 + 애플 AI 한글 지원 소식드디어! 15년간 봉인됐던 아이폰의 ‘나의 찾기’ 기능이 한국에서도 정식으로 열렸습니다.애플의 인공지능 시스템 ‘애플 인텔리전스’ 한글 지원도 함께 시작됐다는데요.iOS 업데이트 후 달라진 점, 지금부터 정리해드릴게요. 1. ‘나의 찾기’ 기능, 이제 한국에서도 제대로 작동합니다!그동안 아이폰이나 맥북을 쓰면서 ‘나의 찾기’ 앱을 들어가본 적 있으시죠?그런데 정작 한국에선 지도 없이 빈 화면만 뜨는 어이없는 상황이 이어졌는데요,2025년 4월 1일부터 이제는 한국에서도 위치 확인이 가능해졌어요!이제 지도 위에서 내 아이폰, 맥북, 에어팟, 에어태그까지 실시간 위치 확인이 가능해요!2. 그동안 한국은 왜 지원되지.. 2025. 4. 1.
반응형

setTimeout(function () { const dragSensitivity = 0.55; // 드래그 민감도 const clickTolerance = 0; // 클릭 간주 기준 (px), 0: 클릭 시 이동 안함. 클릭 시 이동하려면 1~3값 설정 고려. const dragRatioThreshold = 0.55; // 배너 너비 대비 드래그 비율, 배너 드래그 후 드롭 시. const newWindow = 1; // 1: 새 창, 0: 현재 창 const bannerConfigs = [ { selector: '.sliding-banner-300', width: 300, height: 300, id: '940041', trackingCode: 'AF2787934', // 본인의 추적 코드로 대체 subId: '', tsource: '', background: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/600x600-back2.jpg', cover: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/WOW-30Ox25O-cover-left.png', arrowIcon: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/arrowbtn.png', dragDirection: 'left' }, { selector: '.sliding-banner-150', width: 320, height: 150, id: '940041', trackingCode: 'AF2787934', // 본인의 추적 코드로 대체 subId: '', tsource: '', background: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/640x300-back2.jpg', cover: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/WOW-32Ox15O-cover-left.png', arrowIcon: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/arrowbtn.png', dragDirection: 'left' }, { selector: '.sliding-banner-250', width: 300, height: 250, id: '940041', trackingCode: 'AF2787934', // 본인의 추적 코드로 대체 subId: '', tsource: '', background: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/600x500-back2.jpg', cover: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/WOW-30Ox25O-cover-left.png', arrowIcon: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/arrowbtn.png', dragDirection: 'left' }, { selector: '.sliding-banner-280', width: 336, height: 280, id: '940041', trackingCode: 'AF2787934', // 본인의 추적 코드로 대체 subId: '', tsource: '', background: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/600x500-back3.jpg', cover: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/WOW-30Ox25O-cover-right.png', arrowIcon: 'https://tistory1.daumcdn.net/tistory/8074023/skin/images/arrow-right.png', dragDirection: 'right' } ]; const coupangLink = 'https://link.coupang.com/a/c2PToW'; // 본인의 간편 링크로 대체 📍 function openLink(link) { if (newWindow) { window.open(link, '_blank'); } else { history.replaceState(null, null, window.location.href); window.location.href = link; } } function generateIframeURL(config) { return `https://ads-partners.coupang.com/widgets.html?id=${config.id}&template=carousel&trackingCode=${config.trackingCode}&subId=${encodeURIComponent(config.subId || '')}&width=${config.width}&height=${config.height}&tsource=${encodeURIComponent(config.tsource || '')}`; } function createBanner(config) { const iframeURL = generateIframeURL(config); const wrapper = document.createElement('div'); wrapper.innerHTML = `
`; return wrapper; } // trigger event update function setupDragEvents(dragTarget, animatedBanner, threshold, link, direction) { let startX = 0, diffX = 0, triggered = false, isDragging = false; function getClientX(e) { return e.type.includes('touch') ? e.touches[0].clientX : e.clientX; } function triggerOnce() { if (triggered) return; triggered = true; animatedBanner.style.transform = 'translateX(0)'; animatedBanner.classList.add('active'); openLink(link); } function startDrag(e) { if (e.type.startsWith('mouse') && e.button !== 0) return; isDragging = true; startX = getClientX(e); diffX = 0; triggered = false; animatedBanner.classList.remove('active'); e.preventDefault(); } function onDrag(e) { if (!isDragging) return; const currentX = getClientX(e); diffX = currentX - startX; if ((direction === 'left' && diffX < 0) || (direction === 'right' && diffX > 0)) { animatedBanner.style.transform = `translateX(${diffX}px)`; if (Math.abs(diffX) > threshold) { triggerOnce(); } e.preventDefault(); } } function endDrag() { if (!isDragging) return; isDragging = false; const dragRatio = Math.abs(diffX) / dragTarget.offsetWidth; if (Math.abs(diffX) < clickTolerance || ( dragRatio >= dragRatioThreshold && ((direction === 'left' && diffX < 0) || (direction === 'right' && diffX > 0)) )) { triggerOnce(); } else { animatedBanner.style.transform = 'translateX(0)'; animatedBanner.classList.add('active'); } diffX = 0; } dragTarget.addEventListener('mousedown', startDrag); dragTarget.addEventListener('mousemove', onDrag); dragTarget.addEventListener('mouseup', endDrag); dragTarget.addEventListener('mouseleave', endDrag); dragTarget.addEventListener('touchstart', startDrag, { passive: false }); dragTarget.addEventListener('touchmove', onDrag, { passive: false }); dragTarget.addEventListener('touchend', endDrag); } // end bannerConfigs.forEach(config => { const targets = document.querySelectorAll(config.selector); if (targets.length === 0) return; targets.forEach(target => { target.innerHTML = ''; const banner = createBanner(config); target.appendChild(banner); const customBox = banner.querySelector('.customBox'); const animatedBanner = banner.querySelector('.customBanner'); const threshold = config.width * dragSensitivity; setupDragEvents(customBox, animatedBanner, threshold, coupangLink, config.dragDirection); }); }); }, 100);