묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
챕터 7에 패키지 부분에서
랜덤 실수 부분 설명하실 때 random.nextDouble()에는 범위 지정이 안된다고 하셨는데 제가 괄호 안에 10.0을 넣어서 해보니 오류 없이 잘 실행이 되는데 왜 그럴까요??그리고 로또 번호 하실 때 random.nextInt(45) + 1 이라고 하시고 괄호로 감싸셨는데 괄호를 안쓰면 341 같은 백의 자리 숫자가 나오더라고요 왜 그런건가요?
-
해결됨모두를 위한 대규모 언어 모델 LLM(Large Language Model) Part 1 - Llama 2 Fine-Tuning 해보기
[질문] Llama2 Autotrain 작동 시
ERROR train has failed due to an exception: TypeError: LlamaForCausalLM.__init__() got an unexpected keyword argument 'use_flash_attention_2'안녕하세요, Autotrain library를 활용하여 fine-tuning 중 아래와 같은 에러가 발생하였는데요. 혹시 어떻게 해결할 수 있을지 궁금합니다. 제 환경에 필요한 정보가 필요하시다면 언제든지 말씀드리겠습니다.감사드립니다.
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
onLoad함수 (script태그의 onLoad X)
Map.tsx에서//Map.tsx if (onLoad) { onLoad(map); }이 구문은 왜 쓰인걸까요??MapSection.tsx 에서 Map을 부르는 부분을 봐도// MapSection.tsx import Map from "./Map"; const MapSection = () => { return ( <Map onLoad={() => { console.log("load!"); }} /> ); }; export default MapSection; 별다른 기능을 하는 것 같지는 않아서요.onLoad를 정의하고 있는 Map.tsx의 Props에서도type Props = { mapId?: string; initialCenter?: Coordinates; initialZoom?: number; onLoad?: (map: NaverMap) => void; }; 변수로 NaverMap을 받기만 하고 별다른 기능은 하는 것 같지가 않은데,혹시 onLoad가 어떤 기능을 하고있는지 알려주실 수 있을까요?? ++ 추가로, const map = new window.naver.maps.Map(mapId, mapOptions);이렇게 했을 때, 어떻게 <div id={mapId} style={{ width: "100%", height: "100%" }} />이 태그에 Map이 들어가는지 궁금합니다!
-
해결됨Slack 클론 코딩[백엔드 with NestJS + TypeORM]
pm2cluster 검색중 궁금한점이 있습니다.
안녕하세요 제로초님.nestjs를 pm2로 관리하는것 관련해서 검색하다가 머리속에서 정리가 되지 않는 내용이 있어서 질문드립니다. nestjs는 node기반이기 때문에 단일 쓰레드로 동작하고, 사용가능한 cpu 코어가 4개가 있더라도 1개만 사용하기 때문에 서버의 성능을 전체적으로 사용할 수 없다.라는 내용을 검색중에 보게되었는데요!위의 문제를 해결하기 위해서 사용하는 방법이pm2 cluster 기능 또는 docker를 활용하는것이라 찾았습니다.위의 내용이 제대로 찾은게 맞다면 제로초님께서는 어떤 방식으로 문제를 해결하시는지 알려주실 수 있을까요?
-
미해결초보를 위한 도커 안내서
docker 설치 오류
명령어 그대로 복붙해서 도커 설치하려는데 설치가 안 됩니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
브라우저가 꺼지는데 어느부분이 문제일까요??
브라우저가 꺼지는데 어느부분이 문제일까요?? from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.chrome.options import Options #크롬 드라이버 자동 업데이트 from webdriver_manager.chrome import ChromeDriverManager #브라우저 꺼짐 방지 chrome_options = Options() chrome_options.add_experimental_option("detach", True) #불필요한 에러 메시지 없애기 chrome_options.add_experimental_option("excludeSwitches", ["enable-logging"]) service = Service(executable_path=ChromeDriverManager().install()) driver = webdriver.Chrome(service=service) #웹페이지 해당 주소 이동 driver.get("https://www.naver.com")
-
미해결Flutter 입문 - 안드로이드, iOS 개발을 한 번에 (with Firebase)
alt+enter 가 맥북에서는 option enter로 알고 있는데 단축키가 먹히지 않습니다 ㅜㅜ
editor에 있는 dart 체크박스에 체크 확인도 다 했습니다.
-
미해결[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
메인슬라이드 오류문의
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>조이컨트리클럽</title> <link rel="stylesheet" href="/css/style.css"> </head> <body> <div class="container"> <div class="main-content"> <div class="left"> <header> <div class="header-logo"><img src="images/logo.png" alt="조이컨트리클럽"></div> <div class="navi"> <!-- navigation --> <ul class="menu"> <li> <a href="#">CLUB</a> <div class="sub-menu"> <a href="#">클럽소개</a> <a href="#">시설안내</a> </div> </li> <li> <a href="#">BOOKING</a> <div class="sub-menu"> <a href="#">요금안내</a> <a href="#">예약안내</a> <a href="#">위약안내</a> </div> </li> <li> <a href="#">INFORMATION</a> <div class="sub-menu"> <a href="#">명예의전당</a> <a href="#">이벤트</a> <a href="#">자료실</a> <a href="#">포토갤러리</a> </div> </li> <li> <a href="#">COMMUNITY</a> <div class="sub-menu"> <a href="#">공지사항</a> <a href="#">Q&A</a> </div> </li> </ul> </div> <div class="spot-menu"> <a href="#">로그인</a> <span>|</span> <a href="#">회원가입</a> </div> </header> </div> <div class="right"> <!-- 슬라이드 비주얼 --> <div class="slide"> <div class="slide-image"> <div class="slide-image-inner slide-items"> <a class="slide-item" href="#"><img src="images/slide_01.png" alt="slide1"></a> <a class="slide-item" href="#"><img src="images/slide_02.png" alt="slide2"></a> <a class="slide-item" href="#"><img src="images/slide_03.png" alt="slide3"></a> </div> </div> <!-- 슬라이드 배너 --> <div class="slider-banner"> <a href="#"><img src="images/icon_01.png" alt="예약일정">예약일정</a> <hr> <a href="#"><img src="images/icon_02.png" alt="멤버십">멤버십</a> <hr> <a href="#"><img src="images/icon_03.png" alt="오시는길">오시는길</a> <!-- 이미지만 고퀄로 변경 --> </div> </div> <div class="items"> <div class="shortcut"> <img src="images/ad.png" alt="카카오광고"> <div class="shortcut-content"> <h3>조이컨트리클럽 X 카카오골프</h3> <p>국내 최대 규모 골프장 조이컨트리 클럽과 카카오골프가 함께하는 10주년 행사! 카카오골프로 조이컨트리 클럽 신규가입시 라운드 30만원 상당의 쿠폰과 카카오골프 굿즈를 선물드려요.</p> </div> <a href="#"><img src="images/more_button.png" alt="더보기버튼"></a> </div> <div class="new"> <!-- 탭메뉴 --> <div class="tab-inner"> <div class="btn"> <a href="#" class="active">공지사항</a> <a href="#">갤러리</a> </div> <div class="tabs"> <div class="tab1"> <a href="#" class="open-modal">가을 맞이 신규 회원가입 특전을 안내드립니다.<b>2023.10.01</b> </a> <a href="#">9월 임시휴무 안내<b>2023.08.11</b> </a> <a href="#">카카오 골프 제휴 이벤트 안내<b>2023.05.11</b> </a> <a href="#">사이트가 리뉴얼 되었습니다.<b>2023.01.11</b> </a> </div> <div class="tab2"> <a href="#"> <img src="images/gallery-01.png" alt="이미지1"> <span>이미지1</span> </a> <a href="#"> <img src="images/gallery-02.png" alt="이미지2"> <span>이미지1</span> </a> <a href="#"> <img src="images/gallery-03.png" alt="이미지3"> <span>이미지1</span> </a> <a href="#"> <img src="images/gallery-04.png" alt="이미지4"> <span>이미지1</span> </a> <a href="#"> <img src="images/gallery-05.png" alt="이미지5"> <span>이미지1</span> </a> </div> </div> </div> </div> </div> </div> </div> <footer> <div class="foot-logo"> <a href="#"><img src="images/foot_logo.png" alt="조이컨트리클럽"></a> </div> <div class="copyright"> (주)조이컨트리클럽 | 대표자 : 전현무 | 개인정보관리책임자 : 박나래 | 사업자등록번호 : 000-000-0000 | 주소 : 서울특별시 송파구 송파대로 22길 조이컨트리클럽 copyright(c)2023.(주)조이컨트리클럽 </div> <div class="sns"> <a href="#"><img src="images/youtube.png" alt="유튜브"></a> <a href="#"><img src="images/facebook.png" alt="페이스북"></a> <a href="#"><img src="images/twitter.png" alt="트위터"></a> </div> </footer> </div> <!-- 팝업창 --> <div class="modal"> <div class="modal-content"> <h2>가을 맞이 신규 회원가입 특전을 안내드립니다.</h2> <p>조이컨트리 클럽은 가을맞이 신규회원 가입 특전을 실시합니다.<br/> 주요 특전혜택은 아래와 같으니 참고 부탁드립니다.<br/> <br/> - 가입 특전 -<br/> 1. 라운딩 오후4시 이후 무료입장 가능<br/> 2. 캐디비용 지원<br/> 3. 식사 쿠폰 10매 제공<br/> <br/> 감사합니다. </p> <a class="close-modal" href="#none">닫기</a> </div> </div> <script src="script/jquery-1.12.4.js"></script> <script src="script/main.js"></script> </body> </html> @charset "utf-8"; body{ margin: 0; color:#333; background-color:#fff; font-size: 16px; } a{text-decoration:none; color:inherit;} /* Entire Layout */ .container{ } .main-content{ display:flex; } .main-content > div{ } .main-content > div{ } .main-content .left{ width: 200px; background-color:#eee; } .main-content .right{ flex:1; } /* header */ header{} header > div{} header .header-logo{ border:1px solid #000; } /* Navigation */ header .navi{ height: 300px; width: 200px; } header .menu{ list-style:none; padding:0; margin:0; } header .menu li{ width: 200px; box-sizing:border-box; text-align:center;} header .menu li > a{ display:block; width: 200px; border:1px solid #444; transition:0.5s; padding:5px; background-color:#fff; color:#333; } header .menu li:hover > a{ color:#fff; background-color:#333; } header .menu .sub-menu{ display:none; } header .menu .sub-menu a{ display:block; padding:5px; box-sizing:border-box; } header .menu .sub-menu a:hover{ background-color:#333; color:#fff; } header .spot-menu{ text-align:center; margin-top:30px; font-size: 14px; } header .spot-menu a:hover{ text-decoration:underline; } /* shortcut */ .right{} .right .slide{ height: 400px; } /* 슬라이드이미지 */ .slide { height: 400px; position: relative; } .slide-image{ height: 400px; position: relative; overflow: hidden; } /* Slide Animation */ .slide-image-inner { /* 실제로 움직이는 요소 */ position: absolute; top: 0; left: 0; font-size: 0; animation: slide 0.5s linear ease-in-out; height: inherit; } .slide-image-inner a { /* 움직이는 .slide-image-inner에 포함된 요소 */ height: inherit; } .slide-image-inner a img { width: 100%; height: inherit; /* 부모요소인 a의 너비에 유동적으로 맞춰지게 하는 속성 */ object-fit: cover; } .slide .slider-banner{ background-color:#efefef; position:absolute; top: 0; right: 0; width: 50px; height:250px; padding:10px; text-align:center; } .slide .slide-banner hr{ } .slide .slider-banner a{ font-size:12px; font-weight:500; } .slide .slider-banner a:nth-child(3){ border-bottom:none; } .slide .slider-banner img{ width:50px; display:block; } /* shortcut */ .items{} .items .shortcut{display:flex; align-items:center;height:200px;} .items .shortcut img{} .items .shortcut a{position:absolute; right:20px;} .items .shortcut .shortcut-content{} .items .shortcut .shortcut-content h3{font-size: 20px;font-weight:900;} .items .shortcut .shortcut-content p{font-size:16px; font-weight:200;} /* news&gallery */ .items .new{ height: 250px; } .items .new .tab-inner{ width: 95%; margin: 0 auto; margin-top: 25px; } .items .new .tab-inner .btn{} .items .new .tab-inner .btn a{ border:1px solid #000; display:inline-block; width: 100px; padding: 5px; border-radius:5px 5px 0 0; margin-right: -6px; border-bottom:none; margin-bottom:-1px; background-color:#000; color:#fff; text-align:center; font-size: 14px; padding:8px; box-sizing:border-box; } .items .new .tab-inner .btn a.active{ background-color:#fff; color:#000; } .items .new .tab-inner .tabs{border:1px solid #333;} .items .new .tab-inner .tabs .tab1 a{ display:block; padding:3px; border-bottom:1px dashed #bbb; font-size: 15px; margin:10px; } .items .new .tab-inner .tabs .tab1 a:first-child{margin-top:20px;} .items .new .tab-inner .tabs .tab1 a:last-child{ border-bottom:none; } .items .new .tab-inner .tabs .tab1 a b{ float:right; font-weight: normal; } .items .new .tab-inner .tabs .tab2{ display:none; height: 170px; text-align:center; padding-top: 20px; box-sizing:border-box; } .items .new .tab-inner .tabs .tab2 a{ display:inline-block; text-align:center; margin:0 18px; } .items .new .tab-inner .tabs .tab2 a img{ height:120px; border-radius:5px; } .items .new .tab-inner .tabs .tab2 a span{ display:block; } /* footer */ footer{ display:flex; background-color:#222; align-items:center; color:#666; height:100px; } footer .foot-logo{ width: 200px; } footer .copyright{ padding:10px; flex:1; } footer .sns{ width: 230px; text-align:center; } footer .sns a img{ width: 35px; border-radius:10px; margin-right:10px; } /* 팝업 */ .modal { background-color: rgba(0, 0, 0, 0.19); position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 100; display: none; } .modal-content { width: 450px; background-color: #fff; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 20px; border-radius: 10px; box-shadow: 0 0 20px rgba(0, 0, 0, 0.13); } .close-modal { float: right; border: 1px solid #000; padding: 5px 10px; } /* 이건 하면 좋고 안해도 괜찮습니다. */ .modal-content h2 { text-align: center; font-size: 18px; color: #111; padding: 7px; } .modal-content p{ text-align:center; } .modal-content .close{ background-color:#000; color:#fff; padding:5px; font-size: 15px; } // Navigation (1차메뉴 색상 활성화 고정) $('.menu li').mouseenter(function(){ $(this).children('.sub-menu').stop().slideDown() }) $('.menu li').mouseleave(function(){ $(this).children('.sub-menu').stop().slideUp() }) // 메인비주얼슬라이드 // setInterval(콜백함수, 시간); // animate(속성값, 콜백함수); setInterval(function(){ $('.slide-item').animate({top: '-100%'}, function(){ $('.slide-item').css({top: 0}); $('.slide-item:first-child').appendTo('.slide-item'); }); }, 3500); // Tab Menu $('.items .new .tab-inner .btn a:first-child').click(function(){ $('.tab1').show() $('.tab2').hide() $(this).addClass('active') $(this).siblings().removeClass('active') }) $('.items .new .tab-inner .btn a:last-child').click(function(){ $('.tab2').show() $('.tab1').hide() $(this).addClass('active') $(this).siblings().removeClass('active') }) // 팝업창 열고닫기 $('.open-modal').click(function(){ $('.modal').fadeIn() }) $('.close-modal').click(function(){ $('.modal').fadeOut() })
-
미해결[파이토치] 실전 인공지능으로 이어지는 딥러닝 - 기초부터 논문 구현까지
역전파 내용 중 미분 관련 질문 드립니다
안녕하세요, 섹션2의 역전파 수업을 듣다가 궁금한 점이 생겨서 질문 드립니다. 5분 30초에서 L을 zi에 대해서 미분하면 n분의 1이 된다고 하셨는데 그 이유가 i번째 엘리멘트만 고려해서 미분이 되기 때문인가요? 즉, 1/n*zi라서 미분값이 1/n인건지 궁금합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
데이터 다운로드 관련
안녕하세요? 선생님!이원분산분석 강의의 데이터가 다운로드가 되지 않습니다.확인 부탁드립니다.
-
미해결5개 거래소별 코인차익알림봇, 구체적인 개발 가이드 with Python
이벤트 참여합니다
리뷰 별점 완료했어요! 업그레이드 코드 및 전자책 발송 부탁드려요tbvjthslr3@gmail.com
-
해결됨스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
editForm.html
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 강의를 듣던 중 editForm.html에서 저장버튼의 타입은 submit으로 되어있고 저장버튼을 누를시에 form에 action이 item.html로 되어있는데 컨트롤러로 어떻게 가는지 궁금합니다!
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
6회 기출 관련 문의
6회 기출 문제 관련 강의 올려 주셔서 감사드립니다.6회 기출의 작업형1 과 작업형 2의 데이터가 열리지 않아서 다운을 받을 수 없습니다.확인 부탁드립니다.감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
프로젝트 세팅 DB
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]안녕하세요 이번에 2편부터 보고있는데 강의를 보고 초기 프로젝트를 세팅만 했는데 DB가 있는거처럼 저장이되고 리스트가 뜨네요. DB를 세팅하지않고도 이렇게 저장수정목록이 뜰수있는 이유가 궁금합니다.
-
미해결
[마이크로소프트] 온라인 AI 설명회 👨💻참가자 모집 중👩💻- 10월 12일 목 10am
📍https://aiexplained.eventbuilder.com/event/76749?source=AiExplained마이크로소프트에서 10월 12일(목) 오전 10시에 온라인 'AI 설명회'를 개최해서 알려드리려고 인사드려요~! AI에 관한 핵심적이고 기본 적인 내용을 다루고, 여러가지 툴도 소개할 예정이니 등록하셔서 많은 참여 부탁드려요!아래 링크로 등록하시면 됩니다. 실시간을 듣지 않으셔도 등록해놓으시면 녹화본도 보실 수 있게 할 예정이니 많은 관심 부탁드립니다.📍https://aiexplained.eventbuilder.com/event/76749?source=AiExplained 주위에 관심있으신 분 있으면 등록 링크 공유 마구마구 해주세요 🙂
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강기간 연장 부탁드립니다.
올해 안에 합격하기에 남은 수강기간이 빠듯하여 수강기간 연장 부탁드립니다.
-
미해결자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인원 패키지]
lombok 관련 오류입니다
BookService에서 @RequiredArgsConstructor을 설정하면책 대출, 책 반납 등 BookRepository를 사용하는 코드에서 에러가 발생합니다. 오류 메시지는 "this.bookRepository" is null입니다. BookService에서 bookRepository가 받아오지 못하는 것 같습니다.또한, 해당 어노테이션을 지운 후 생성자로 변경하면, 코드는 정상적으로 돌아가게 됩니다. Lombok의 문제인 건지, 코드의 특정 부분을 설정하면 되는 것인지 궁금합니다.
-
해결됨Next.js 시작하기(feat. 지도 서비스 개발)
dynamic에 대한 질문
NoSSR도 useEffect와 같이 실행되는 건가요? 선생님 안녕하세요. 좋은강의 너무 잘 듣고있습니다. 감사합니다.윈도우 크기를 변경했을 때, width의 값이 같이 변경되는게 신기해서 질문드립니다.useEffect안의 math.random()의 값이 변경되는 타이밍에 window의 width값도 같이 변경되더라구요. 제 생각에는, 랜덤값이야 useEffect안에서 setData를 통해 계속 바꿔주고 있으니 변경되는게 맞다고 생각했지만, window값은 처음 값을 받아오면 새로고침을 해주기 전까지는 값이 변경되지 않을줄 알았거든요. 그런데 랜덤값이 변경될 때 값이 같이 변경되더라구요. 그래서 혹시 이게 dynamic이 useEffect와 같은 역할을 한다면, window크기를 변경할 때마다 width의 값이 바로바로 바껴야 할 텐데, 그건 또 아니고 랜덤값이 바뀔때 같이 바뀌니까, 이게 어떤식으로 실행되는건지 알고싶어서 질문드립니다. import { NextPage } from "next"; import dynamic from "next/dynamic"; import { useEffect, useState } from "react"; // import NoSSR from "@/components/section1/NoSSR"; const NoSSR = dynamic(() => import("@/components/section1/NoSSR"), { ssr: false, }); const Example: NextPage = () => { const [data, setData] = useState(0); useEffect(() => { const delayInSeconds = 10; new Promise<number>((resolve) => setTimeout(() => resolve(Math.random()), delayInSeconds * 1000) ).then((result) => setData(result)); console.log("NoSSR : ", NoSSR); }); return ( <main> <h1>Client - Side data fetching</h1> <p>값 : {data}</p> <NoSSR /> </main> ); }; export default Example; 위 코드는 강의 보면서 따라치고, 궁금해서 로그를 찍어본 코드입니다. 딜레이를 10초로 주고, 그 안에서 윈도우 크기를 계속 바꿔봤는데, 윈도우 크기를 바꾼다고 해서 바로바로 변경되는 게 아니라, 10초가 지나고 랜덤값이 바뀔 때, 같이 바뀝니다.
-
미해결직접 활용할 수 있는 SQL - 기초부터 실무 활용까지
mysql 연결
Dbeaver 에서 강의처럼 콘센트 누르고,엔드포인트 복사해와서 붙여넣기하고,admin 입력 비밀번호 입력 헀는데 계속 저렇게 뜹니다 ㅠㅠ어떻게 해야하나요 - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결토비의 스프링 부트 - 이해와 원리
스프링 검색 유입 경로 pc or 모바일 구분 방법 문의 드립니다
안녕하세요~ 토비님 참여중인 프로젝트가 현재 포탈 사이트 성격입니다 해당프로젝트에서 커뮤니티 기능이 있는데커뮤니티 기능 중에 접속 유입 경로를 따져통계 조회를 해야 하는 기능이 있습니다 개발하는 커뮤니티에 pc 로 접속 할 수 있고 모바일로 접속 할 수 있습니다 PC or 모바일 중어느 기기를 통해서 해당 포탈 커뮤니티에 접속해서 검색했는지따질려면 스프링의 어느 기술 라이브러리를이용해서 따지면 되는지 문의 드립니다감사합니다 수고하세요. 김동희 드림 #sping#스프링#pc#모바일#접속 #구분