inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

언어 설정 -> 한글

해결됨

[코드캠프] 시작은 프리캠프

vscode 다운받았는데 언어를 한국어로 바꾸고 싶은데 설정 어디서 해야되나요 ?

  • HTML/CSS
  • javascript
히응 댓글 1 좋아요 0 조회수 329

화면 반영 안됨

미해결

입문자를 위한, HTML&CSS 웹 개발 입문

계속 이런 식으로 떠요 어떤 게 문제일까요? 초기화도 해봤는데 똑같이 저런식으로만 뜹니다 코드는 기본으로만 짜서 코드문제는 아닌 것 같습니다

  • HTML/CSS
이수용 댓글 1 좋아요 0 조회수 253

3-P 자바 기저조건 질문

미해결

10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트

선생님, 강의 잘 듣고 있습니다! 다름이 아니라 혹시 기저조건에 if (price >= answer) { return; } 해당 조건을 추가해주지 않으신 이유가 있을까요? 해당 조건 없이도 시간복잡도 관련해서 영향이 적기 때문일까요..? 감사합니다! 아래는 저의 답안입니다! public class Main { static int n, answer = Integer.MAX_VALUE; static int[][] arr; static boolean[][] visited; static Map<Point, Integer> map = new HashMap<>(); static int[] dy = {-1, 0, 1, 0}; static int[] dx = {0, 1, 0, -1}; public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); n = Integer.parseInt(br.readLine()); arr = new int[n][n]; visited = new boolean[n][n]; for (int i = 0; i < n; i++) { String[] s = br.readLine().split(" "); for (int j = 0; j < n; j++) { int price = Integer.parseInt(s[j]); arr[i][j] = price; map.put(new Point(i, j), price); } } go(0, 0); System.out.println(answer); } private static void go(int count, int price) { if (count == 3) { answer = Math.min(price, answer); return; } for (int i = 1; i < n - 1; i++) { for (int j = 1; j < n - 1; j++) { Point point = new Point(i, j); if (check(point)) { go(count + 1, price + flower(point)); wither(point); } } } } private static void wither(Point point) { visited[point.x][point.y] = false; for (int i = 0; i < 4; i++) { int ny = point.x + dy[i]; int nx = point.y + dx[i]; visited[ny][nx] = false; } } private static int flower(Point point) { visited[point.x][point.y] = true; int temp = arr[point.x][point.y]; for (int i = 0; i < 4; i++) { int ny = point.x + dy[i]; int nx = point.y + dx[i]; visited[ny][nx] = true; temp += arr[ny][nx]; } return temp; } private static boolean check(Point point) { for (int i = 0; i < 4; i++) { int ny = point.x + dy[i]; int nx = point.y + dx[i]; if (ny < 0 || nx < 0 || ny >= n || nx >= n || visited[ny][nx]) { return false; } } return true; } } 감사합니다!!

  • 코딩테스트
  • java
  • c++
jwnnoh 댓글 1 좋아요 0 조회수 248

모임참가 취소 할때 로직 질문

미해결

스프링과 JPA 기반 웹 애플리케이션 개발

안녕하세요 이부분에서 event.removeEnrollment(enrollment); 이 메서드를 타고 들어가면 이 메서드가 실행되는데 이때 106라인 ->enrollment.setEvent(null); 이 코드는 꼭 필요 한건가요 ?? 첫번째 사진 보시면 어차피 enrollmentRepository.delete(enrollment); 이걸 실행 하는데 왜 있는건지 이해가 잘 안갑니다 ! =================두번째 질문=========== 이 부분에서 취소를 하면 대기하던사람이 자동 확정 하는 로직인데 대기 하던 사람들 중 제일 먼저 신청을 해놓은 사람들을 정렬해서 true 처리 해야하는데 이건 안되있는거 아닌가요 !!?

  • java
  • spring
  • spring-boot
  • jpa
  • thymeleaf
H K 댓글 3 좋아요 0 조회수 401

안녕하세요 foo님 백엔드 개발자 프론트 앤드 강의에서 질문이 있습니다.

해결됨

백엔드 개발자에 의한, 백엔드 개발자들을 위한 프론트엔드 강의 - 기본편

안녕하세요 foo님 강의에서 질문이 있습니다. css를 적용하는 방법과 선택자 챕터에서 가상 클래스인 a:hover는 왜 style 탭에서 적용된 속성이 안보이는지 궁급하니다!

  • HTML/CSS
  • javascript
  • bootstrap
강한 타조 댓글 1 좋아요 0 조회수 254

데이터 초기화하는 방법(@PostConstruct)

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

제 문제 해결 접근이 맞는것인지 질문드립니다! 테스트할 때마다 회원, 상품을 새로 등록해야하는 것이 번거로워서, 기본편에서 배운 초기화 콜백을 이용해 우선 Item을 초기화해보려고 했습니다. // ItemService.java @PostConstruct @Transactional public void initData() { Book book1 = new Book(); book1.setName("book1"); book1.setPrice(1000); book1.setStockQuantity(10); book1.setAuthor("Steven"); book1.setIsbn("10000"); itemRepository.save(book1); } 위와 같이 ItemService에 초기화 메서드를 추가했는데 계속 해서 에러가 났습니다. 검색해보니 아무래도 초기화 콜백과 트랜젝션 처리를 initData()하나로 동시에 처리하려다보니 발생한 문제 같았습니다. 초기화 콜백을 확실히 완료하고나서 트랜젝션 처리를 해야 트랜젝션이 정상적으로 작동하는 것 아닌가 싶습니다. 단순히 코드상으로 이를 보장할 방법이 떠오르지 않았습니다. 이 때 떠오른게 DB2편의 @EventListener(ApplicationReadyEvent.class)인데, ApplicationReadyEvent가 스프링 컨테이너 초기화를 완전히 마치고 발생하는 이벤트라고 알고 있습니다. 이렇게 하니 초기화가 잘 됐습니다. 이처럼 선언적 트랜젝션을 적용하는 상황에서 초기화를 하기 위해서는 @EventListener(ApplicationReadyEvent.class)를 적용하는 것이 맞는 접근법일까요? @EventListener(ApplicationReadyEvent.class) @Transactional public void initData() { Book book1 = new Book(); book1.setName("book1"); book1.setPrice(1000); book1.setStockQuantity(10); book1.setAuthor("Steven"); book1.setIsbn("10000"); itemRepository.save(book1); } 정상 작동한 최종 코드입니다.

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
Jaesang Yoon 댓글 2 좋아요 0 조회수 480

css background-image 적용이 안 돼요

해결됨

HTML5 CSS3 기초 & 반응형 웹 템플릿 만들기!

index.html파일에서 style태그로 작성하면 돌고래 사진이 잘 나오는데 style.css에서 작성하면 백그라운드 컬러만 적용되고 사진이 표시되지 않습니다. 왜 이런가요??

  • HTML/CSS
  • 반응형-웹
nao505 댓글 1 좋아요 1 조회수 538

수업들으며 곰곰히 생각하다가 제가 생각한게 맞는지 질문드립니다.

해결됨

실전! Querydsl

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 동적쿼리 - builder 사용편 강의를 들으며 return query .select(new QMemberTeamDto( member.id.as("memberId"), member.username, member.age, member.team.id.as("teamId"), team.name.as("teamName"))) .from(member) .leftJoin(member.team, team) .where(builder) .fetch(); 이 쿼리를 따라 치고 생각해보았습니다. 원래 jpa라면 member객체를 조회해와서 member.getTeam()이나 팀 객체에 액세스 할때 지연로딩이 일어난다고 학습하였습니다. 위 쿼리에서 fetch 조인을 사용하지 않았는데 어떻게 쿼리가 한방에 조회가 됐나 갑자기 의문이 들었습니다. 제가 도출해낸 결과는 반환값이 dto이고 team 객체와 join해서 필요한 값만(team 포함) select 하기때문에 teamId, teamName까지 한방쿼리로 조회가 되는건가요?

  • java
  • jpa
skh990427 댓글 1 좋아요 1 조회수 349

Section 13 Card 컴포넌트 실습 스타일링 질문

미해결

처음 만난 리액트(React)

안녕하세요, 덕분에 재밌게 리액트 공부하고있는 직장인입니다. 섹션13 카드 컴포넌트 실습에서 소플님 코드에서는 Inline styling 으로 backgroundColor: backgroundColor || 'white' 라고 적어주셨는데 제가 css.module 스타일파일을 만들어서 style sheet에서 import 해서 쓰고싶으면 prop으로 받은 background 를 style sheet 에 어떻게 넘겨줄수있는지 궁금합니다.

  • HTML/CSS
  • javascript
  • react
C++초보입니다 댓글 2 좋아요 1 조회수 282

전체적으로 창을 줄이면 거기에 대한 반응을 안합니다

미해결

[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드

<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</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"> <a href="#none"><img src="images/D image/header-logo.png" alt="header-logo"></a> </div> <div class="navi"> <ul class="menu"> <li> <a href="#none">menu-01</a> <div class="sub-menu"> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> </div> </li> <li> <a href="#none">menu-01</a> <div class="sub-menu"> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> </div> </li> <li> <a href="#none">menu-01</a> <div class="sub-menu"> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> </div> </li> <li> <a href="#none">menu-01</a> <div class="sub-menu"> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> </div> </li> </ul> </div> <div class="spot-menu"> <a href="#none">로그인</a> <span>|</span> <a href="#none">회원가입</a> </div> </header> </div> <div class="right"> <div class="slide"> <div class="slide-image"> <div class="slide-image-inner slide-items"> <a href="#none" class="slide-item"><img src="images/D image/slide-d-01.jpg" alt=""></a> <a href="#none" class="slide-item"><img src="images/D image/slide-d-02.jpg" alt=""></a> <a href="#none" class="slide-item"><img src="images/D image/slide-d-03.jpg" alt=""></a> </div> </div> <div class="slide-banner"> <a href="#none"><img src="images/D image/banner-01.png" alt="banner-01"></a> <a href="#none"><img src="images/D image/banner-02.png" alt="banner-01"></a> <a href="#none"><img src="images/D image/banner-03.png" alt="banner-01"></a> </div> </div> <div class="items"> <div class="shortcut"> <a href="#none"><img src="images/D image/shortcut-01.png" alt="shortcut -1"></a> <div class="shortcut-content"> <h3>fkldmsklmclkmdclmd</h3> <p> fdjdoijfijiowejfdnfndsjfndsncncnfdkljfodsjlkcnkndksjhbfkjdshfkdjsnklcmdslkcjndksjhckdsbcjhdsbfihnuwhfeiuhfnjkdnkfjbdsdkjskldjiojeoidjklcndslkchndsicjhdosicjewmfewfewfwedk <br> <b>202039202</b> </p> </div> <a href="#none"><img src="images/D image/shortcut-02.png" alt="shortcut-02"></a> </div> <div class="news-gallery"> <div class="tab-inner"> <div class="btn"> <a class="active" href="#none">공지사항</a> <a href="#none">갤러리</a> </div> <div class="tabs"> <div class="tab1"> <a class="open-modal" href="#none">안녕하세요 <b>2020</b></a> <a href="#none">안녕하세요 <b>2020</b></a> <a href="#none">안녕하세요 <b>2020</b></a> <a href="#none">안녕하세요 <b>2020</b></a> </div> <div class="tab2"> <a href="#none"><img src="images/D image/gallery-01.png" alt=""><span>안녕</span></a> <a href="#none"><img src="images/D image/gallery-02.png" alt=""><span>안녕</span></a> <a href="#none"><img src="images/D image/gallery-03.png" alt=""><span>안녕</span></a> <a href="#none"><img src="images/D image/gallery-04.png" alt=""><span>안녕</span></a> <a href="#none"><img src="images/D image/gallery-05.png" alt=""><span>안녕</span></a> <a href="#none"><img src="images/D image/gallery-06.png" alt=""><span>안녕</span></a> <a href="#none"><img src="images/D image/gallery-07.png" alt=""><span>안녕</span></a> </div> </div> </div> </div> </div> </div> </div> <footer> <div class="footer-logo"> <a href="#none"><img src="images/D image/footer-logo.png" alt="footer-logo"></a> </div> <div class="footer-content"> <div class="footer-link"> <a href="#none">djfjdsfjfs</a> <span>|</span> <a href="#none">djfjdsfjfs</a> <span>|</span> <a href="#none">djfjdsfjfs</a> <span>|</span> <a href="#none">djfjdsfjfs</a> <span>|</span> <a href="#none">djfjdsfjfs</a> <span>|</span> <a href="#none">djfjdsfjfs</a> </div> <div class="copyright"> dfjdsfijdiofjodsfodsmnckljdsicjdiosfjodsnflkndkfjgdsfdsfds </div> </div> </footer> </div> <div class="modal"> <div class="modal-content"> <h2>안녕ㅎ라새요 여러분</h2> <p> dfjdsfijdiofjodsfodsmnckljdsicjdiosfjodsnflkndkfjgdsfdsfds </p> <a href="#none" class="close-modal">X 닫기</a> </div> </div> <script src="script/jquery-1.12.4.js"></script> <script src="script/custom.js"></script> </body> </html> 슬라이드에 object-fit도 안먹고 숏컷, 탭 부분도 창에 따라 줄어들어야 하는데 짤리는데 뭐가 문제일까요?

  • HTML/CSS
  • jquery
  • 웹-디자인
현빈 댓글 4 좋아요 1 조회수 360

D 유형할 때 마다 우측에 스크롤바가 생깁니다

미해결

[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드

<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</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"></div> <div class="navi"> <ul class="menu"> <li> <a href="#none">menu-01</a> <div class="sub-menu"> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> </div> </li> <li> <a href="#none">menu-01</a> <div class="sub-menu"> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> </div> </li> <li> <a href="#none">menu-01</a> <div class="sub-menu"> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> </div> </li> <li> <a href="#none">menu-01</a> <div class="sub-menu"> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> <a href="#none">sub-menu1</a> </div> </li> </ul> </div> <div class="spot-menu"></div> </header> </div> <div class="right"> <div class="slide"> <div class="slide-image"></div> <div class="slide-banner"> <a href="#none"><img src="images/D image/banner-01.png" alt="banner-01"></a> <a href="#none"><img src="images/D image/banner-02.png" alt="banner-01"></a> <a href="#none"><img src="images/D image/banner-03.png" alt="banner-01"></a> </div> </div> <div class="items"> <div class="shortcut"> <a href="#none"><img src="images/D image/shortcut-01.png" alt="shortcut -1"></a> <div class="shortcut-content"> <h3>fkldmsklmclkmdclmd</h3> <p> fdjdoijfijiowejfdnfndsjfndsncncnfdkljfodsjlkcnkndksjhbfkjdshfkdjsnklcmdslkcjndksjhckdsbcjhdsbfihnuwhfeiuhfnjkdnkfjbds <br> <b>202039202</b> </p> </div> <a href="#none"><img src="images/D image/shortcut-02.png" alt="shortcut-02"></a> </div> <div class="news-gallery"></div> </div> </div> </div> <footer> <div class="footer-logo"> <a href="#none"><img src="images/D image/footer-logo.png" alt="footer-logo"></a> </div> <div class="footer-content"> <div class="footer-link"> <a href="#none">djfjdsfjfs</a> <span>|</span> <a href="#none">djfjdsfjfs</a> <span>|</span> <a href="#none">djfjdsfjfs</a> <span>|</span> <a href="#none">djfjdsfjfs</a> <span>|</span> <a href="#none">djfjdsfjfs</a> <span>|</span> <a href="#none">djfjdsfjfs</a> </div> <div class="copyright"> dfjdsfijdiofjodsfodsmnckljdsicjdiosfjodsnflkndkfjgdsfdsfds </div> </div> </footer> </div> <script src="script/jquery-1.12.4.js"></script> <script src="script/custom.js"></script> </body> </html> @charset "utf-8"; body { margin: 0; background-color: #fff; color: #000; } a { text-decoration: none; color: #000; } .main-content { display: flex; } .main-content > div { border: 1px solid #000; } .left { width: 200px; } .right { flex: 1; } /* header */ header {} header > div { border: 1px solid #000; } .header-logo { height: 100px; } .navi { height: 400px; } .spot-menu { height: 50px; } /* slide */ .slide { position: relative; } .slide > div { border: 1px solid #000; } .slide-image { height: 400px; } .slide-banner { width: 150px; height: 300px; position: absolute; top: 0; right: 10px; } .slide-banner a {} .slide-banner a img { width: 150px; display: block; } /* shortcut */ .shortcut { height: 200px; display: flex; align-items: center; margin: 0 30px; gap: 50px; } /* news - gallery */ .news-gallery { border: 1px solid #000; height: 250px; } /* footer */ footer { display: flex; } footer > div { height: 120px; box-sizing: border-box; } .footer-logo { width: 200px; padding-top: 15px; box-sizing: border-box; } .footer-content { flex: 1; } .footer-content div { height: 60px; } .footer-link { padding-top: 20px; box-sizing: border-box; } .footer-link a, .footer-link span { color: royalblue; } .footer-link a:hover { text-decoration: underline; } .copyright { padding: 10px 0px; box-sizing: border-box; } 뭐가 문젠질 도저히 모르겠습니다..

  • HTML/CSS
  • jquery
  • 웹-디자인
현빈 댓글 2 좋아요 2 조회수 232

th:object에 대해 질문드립니다.

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

MVC2편에서 배웠던 것 같지만 헷갈리는 부분이 있어 질문드립니다. // ItemController /** * 상품 수정 */ @PostMapping("/items/{itemId}/edit") public String updateItem(@ModelAttribute("form") BookForm form) { // updateItemForm.html <form th:object="${form}" method="post"> th:object="${form}" 에서 괄호 안에 form을 참조하여 컨트롤러의 @ModelAttritube("form")을 했을 때 요청 파라미터를 바인딩해서 BookForm 객체에 넘겨준다고 이해했는데, @ModelAttritube("form1") 이런식으로 바꿔도 정상적으로 작동했습니다. 혹시 제가 놓친 부분이 있을까요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
Jaesang Yoon 댓글 1 좋아요 0 조회수 229

h2 DB TCP 연결이 안됍니다

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

test 접속하면 연결이되고 db도 생깁니다. 하지만 tcp로 연결이 안됩니다. db파일 삭제 여러번 해봤습니다. 자바 17,. 스프링 부트 3,x , h2 2.2.224 버전입니다. 이유가 뭘까요?

  • java
  • jpa
bachue 댓글 2 좋아요 1 조회수 433

전체 핀이 조회되지 않습니다.

해결됨

비전공자를 위한 풀스택 맛집지도 만들기 프로젝트!: Front, Back-end 그리고 배포까지

15개 장소db가 있는데 5개만 조회 됩니다. 코드가 잘못된 부분이 있을까요? 아무리 찾아도 잘 모르겠습니다;; function getContent(data) { // 유튜브 섬네일 id 가져오기 console.log(data); let replaceUrl = data.videoUrl; let finUrl = ""; replaceUrl = replaceUrl.replace("https://youtu.be/", ""); replaceUrl = replaceUrl.replace("https://youtube.com/embed", ""); replaceUrl = replaceUrl.replace("https://youtube.com/watch?v=", ""); finUrl = replaceUrl.split("&")[0]; // 인포윈도우 가공하기 return ` <div class="infowindow"> <div class="infowindow-img-container"> <img src="https://img.youtube.com/vi/${finUrl}/mqdefault.jpg" class="infowindow-img" /> </div> <div class="infowindow-body"> <h5 class="infowindow-title">${data.title}</h5> <p class="infowindow-address">${data.address}</p> <a href="${data.videoUrl}" class="infowindow-btn" target="_blank">영상이동</a> </div> </div> `; } // HTML 코드로 바꾸는 함수 function getContent(data) { let videoId = ""; let replaceUrl = data.videoUrl; replaceUrl = replaceUrl.replace("https://youtu.be/", ""); replaceUrl = replaceUrl.replace("https://www.youtube.com/embed/", ""); replaceUrl = replaceUrl.replace("https://www.youtube.com/watch?v=", ""); videoId = replaceUrl.split("&")[0]; const result = `<div class="infowindow"> <div class="infowindow-img-container"> <img src="https://img.youtube.com/vi/${videoId}/mqdefault.jpg" class="infowindow-img" alt="..."> </div> <div class="infowindow-body"> <h5 class="infowindow-title">${data.title}</h5> <p class="infowindow-text">${data.address}</p> <a href="https://youtu.be/${videoId}" target="_blank" class="infowindow-btn">영상이동</a> </div> </div>`; return result; } async function setMap(dataSet) { markerArray = []; infowindowArray = []; for (var i = 0; i < dataSet.length; i ++) { // 마커를 생성합니다 let coords = await getCoordsByAddress(dataSet[i].address) var marker = new kakao.maps.Marker({ map: map, // 마커를 표시할 지도 position: coords, // 마커를 표시할 위치 }); markerArray.push(marker); // 마커에 표시할 인포윈도우를 생성합니다 var infowindow = new kakao.maps.InfoWindow({ content: getContent(dataSet[i]), // 인포윈도우에 표시할 내용 }); infowindowArray.push(infowindow); // 마커에 mouseover 이벤트와 mouseout 이벤트를 등록합니다 // 이벤트 리스너로는 클로저를 만들어 등록합니다 // for문에서 클로저를 만들어 주지 않으면 마지막 마커에만 이벤트가 등록됩니다 kakao.maps.event.addListener( marker, "click", makeOverListener(map, marker, infowindow, coords)); kakao.maps.event.addListener( map, "click", makeOutListener(infowindow)); } } // 인포윈도우를 표시하는 클로저를 만드는 함수입니다W // 1. 클릭시 다른 인포윈도우 닫기 // 2. 클릭한 곳으로 지도 중심 옮기기 function makeOverListener(map, marker, infowindow, coords) { return function() { // 1. 클릭시 다른 인포윈도우 닫기 closeInfoWindow(); infowindow.open(map, marker); // 2. 클릭한 곳으로 지도 중심 옮기기 map.panTo(coords) }; } let infowindowArray = []; function closeInfoWindow(){ for (let infowindow of infowindowArray) { infowindow.close(); } } // 인포윈도우를 닫는 클로저를 만드는 함수입니다 function makeOutListener(infowindow) { return function() { infowindow.close(); }; } /* ********************************************** 5. 카테고리 분류 */ // 카테고리 const categoryMap = { korea: "한식", china: "중식", japan: "일식", america: "양식", wheat: "분식", meat: "구이", sushi: "회/초밥", etc: "기타", }; const categoryList = document.querySelector(".category-list"); categoryList.addEventListener("click", categoryHandler); async function categoryHandler(event) { const categoryId = event.target.id; const category = categoryMap[categoryId]; try { // 데이터 분류 let categorizedDataSet = await getDataSet(category); // 기존 마커 삭제 closeMarker(); // 기존 인포윈도우 닫기 closeInfoWindow(); setMap(categorizedDataSet) } catch (error) { console.error(error); } } let markerArray = []; function closeMarker() { for (marker of markerArray) { marker.setMap(null) } } async function setting() { try { const dataSet = await getDataSet(); setMap(dataSet); } catch (error) { console.error(error); } } setting();

  • HTML/CSS
  • javascript
  • aws
  • git
  • mysql
  • rest-api
  • github
파이리 댓글 1 좋아요 0 조회수 287

14분 50초 일대다 페치조인 질문

미해결

자바 ORM 표준 JPA 프로그래밍 - 기본편

public static void main(String[] args) { EntityManagerFactory emf = Persistence.createEntityManagerFactory("hello"); EntityManager em = emf.createEntityManager(); EntityTransaction tx = em.getTransaction(); tx.begin(); System.out.println("zzzzzzzzzzzzzzzzzzzzzzzzzzzz"); //비영속 try{ Team teamA = new Team(); teamA.setName("teamA"); em.persist(teamA); Team teamB = new Team(); teamB.setName("teamB"); em.persist(teamB); Member member1 = new Member(); member1.setUsername("member1"); member1.setTeam(teamA); em.persist(member1); Member member2 = new Member(); member2.setUsername("member2"); member2.setTeam(teamA); em.persist(member2); Member member3 = new Member(); member3.setUsername("member3"); member3.setTeam(teamB); em.persist(member3); Member member4 = new Member(); member4.setUsername("member4"); member4.setTeam(null); em.persist(member4); em.flush(); em.clear(); String query ="select t From Team t join fetch t.members"; List<Team> result = em.createQuery(query, Team.class).getResultList(); for (Team team : result) { System.out.println("team= " + team.getName() + "|members=" + team.getMembers().size()); } tx.commit(); } catch (Exception e){ tx.rollback(); e.printStackTrace(); }finally { em.close(); } emf.close(); } 이 코드를 실행시켰더니 14분 50초에 나오는 3줄이 나오는 것이 아닌 team= teamA|members=2 team= teamB|members=1 이렇게 나오는데 혹시 어떤 이유에서 그런것인지 궁금합니다.

  • java
  • jpa
서정원 댓글 2 좋아요 3 조회수 663

슬릭 슬라이더 dots 보이게 하는 방법 질문 드립니다

미해결

반응형 웹사이트 포트폴리오(Architecture Agency)

오른쪽 사진 밑에 슬릭 dots 보이게 하고 싶은데 어떻게하면 될까요? 같은 질문과 답변을 보았지만 해결이 안되어서 다시 질문드려요~ 위에 history는 dots 보이는데 밑에 project photo 부분은 dots가 안보여요 히스토리에서 했던 것 처럼 .history-slider .slick-arrow{ display: none !important; } .history-slider .slick-dots li button:before{ color: #fff; font-size: 40px; } .history-slider .slick-dots li { margin: 0; } 이런 것 해줘야하나요? 강의 중 섹션 9 - PC 레이아웃 섹션 상세 퍼블리싱(Project Section) - #06(Slick.js 이미지 슬라이더) 마지막 파트입니다

  • HTML/CSS
  • jquery
  • 웹-디자인
  • 반응형-웹
d111 댓글 1 좋아요 1 조회수 302

D E 유형 슬라이드 구현 방식

미해결

[2026년 출제기준] 웹디자인개발기능사 실기시험 완벽 가이드

css 말고 제이쿼리로는 어떻게 못하나요..? abc 슬라이드 유형을 제이쿼리로 해서 제이쿼리로 연습했는데 영상엔 css 방식으로 나와 있어서 어떻게 해야할 지 모르겠습니다..

  • HTML/CSS
  • jquery
  • 웹-디자인
댓글 1 좋아요 1 조회수 195

수업을 들으면서 느낀점

미해결

처음 만난 리액트(React)

아직 리액트쪽 실무경험이 적어 어느 상황에 어느 것을 사용해야할지 머리속에 아직 안그려지는 문제. 백엔드까지 연결해서 DB도 연결된 상태로 CRUD를 가져갔으면 더 좋은 내용이지 않았을까 하는 생각이 듭니다. 강사님 발음이 정확하셔서 듣는내내 잘들었습니다. 개인적인 리액트 장점 : 재사용성, JSX를 활용한 간소화 문법들, 메타라는 대기업 지원, 최근 많이 사용하는 CSR개발언어 개인적인 리액트 단점 : 머리속에 컴포넌트 설계와 어떤 걸 어떻게 써야하지 라는 생각이 많이듬. 생각보다 비지니스 외 조금은 복잡한 개발방식을 가져서 다른 분이 짜놓은 코드를 볼때 조금은 어려움이 있을것 같다라는 생각. 좋은 내용의 강의 감사합니다.

  • HTML/CSS
  • javascript
  • react
Minkoo Lee 댓글 1 좋아요 1 조회수 512

bottom up 방식 방향으로 개발하는게 익숙치가 않네요

미해결

처음 만난 리액트(React)

기존 SSR개발자입니다. 실습따라하다보니 bottom up 방식 방향으로 개발하는게 익숙치가 않네요. thymeleaf나 JSP개발시엔 html 틀은 만들어놓고 기능을 추가하는 방식으로 개발해서 인지 수업순서가 적응이 안되네요. 혹시 bottom up 방식으로 하시는 이유가 있을까요? 그냥 궁금해서 여쭤봅니다. 섹션17을 제외한 수업은 전부 완강했습니다. 문법이 어려운거 보다 개념이 낯설어 개인적으론 어려웠습니다. 연습을 계속 하다보니 개념은 어느정도 익숙해졌습니다. 그러나 아직 머리속에 그림이 완벽하게 그려지진 않네요. 감사합니다.

  • HTML/CSS
  • javascript
  • react
Minkoo Lee 댓글 1 좋아요 1 조회수 355

질문드립니다.

미해결

처음 만난 리액트(React)

마지막 실습파트 하고 있습니다. create-react-app으로 mini-blog 만들었는데요. react 18점대 버전으로 해도되나여?

  • HTML/CSS
  • javascript
  • react
Minkoo Lee 댓글 1 좋아요 1 조회수 262

인기 태그

인프런 TOP Writers

주간 인기글