inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

잘이해하는데 이게 좀 햇갈려요

미해결

김영한의 실전 자바 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 질문입니다. Driver 클래스에 K3Car k3Car 와 같은 이런 K3Car클래스에 대한 변수,메소드들을 쓰려면 K3Car k3car = new K3Car(); 를 해야 쓸수있는것 아닌가요? 지식 혼동이 조금씩와서 설명부탁가능할까요? 이부분이 너무 헷갈려요 접근제어자 다시 봐도 헷갈리구 ㅠ

  • java
  • 객체지향
김병곤 댓글 3 좋아요 0 조회수 433

스위치 CLI에서 en 모드에서 vlan database가 되지 않습니다.

해결됨

20년 경력자의 알기 쉬운 컴퓨터네트워크

VLAN 강의 후반 실습 중, 패킷 트레이서에서 스위치 CLI에서 en 모드로 전환 후 #vlan database 입력하면 아래와 같이 오류가 뜹니다. 해결 방법이 있을까요? 감사합니다.

  • 네트워크
  • 프로토콜
winter 댓글 1 좋아요 0 조회수 300

강사님 html 이 업데이트 되어서 오류가 난거 같습니다..!

미해결

[신규 개정판] 이것이 진짜 크롤링이다 - 실전편 (인공지능 수익화)

안녕하세요 ! 최근 데이터크롤링에 대해 수업을 끊고 공부를 시작한지 얼마 안된 학생입니다 ! 평소 궁금했던 내용들을 배우니 참 재미가 있네요 ..! 다름이 아니라 "뉴스 본문 내용 크롤링하는 법" 강의 들으면서 오류가 자주 나는것을 보니 네이버 html 이 업데이트 된거 같습니다. 저 스스로 오류를 해결해보려고 해도 잘 안되어서 답답한 마음에 이렇게 글을 씁니다. import requests from bs4 import BeautifulSoup response = requests.get("https://search.naver.com/search.naver?ssc=tab.news.all&where=news&sm=tab_jum&query=%EC%82%BC%EC%84%B1%EC%A0%84%EC%9E%90") html = response.text soup = BeautifulSoup(html, 'html.parser') articles = soup.select("div.info_group") # 뉴스 기사 div 10개 추출 for article in articles : links = article.select("a.info") # 리스 if len(links) >= 2: # 링크가 2개 이상이면 url = links[1].attrs['href'] # 두번째 링크의 href를 추출 # print(url) response = requests.get(url, headers={'User-agent':'Mozila/5.0'}) html = response.text soup = BeautifulSoup(html, 'html.parser') # print(soup) content = soup.select_one('#articleBodyContents') print(content.text) 위 코드를 강사님이 알려주신 코드 입니다. 혹시 뉴스 본문 내용 크롤링하려면 어떻게 해야 될지 알려주실 수 있나요?

  • python
  • 웹-크롤링
최연우 댓글 2 좋아요 0 조회수 426

강의자료 부탁드립니다

미해결

프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)

rokoppa@gmail.com 입니다. 감사합니다~!

  • python
댓글 1 좋아요 0 조회수 223

Jdbc 적용후 member 등록을 누르면 에러페이지가 나옵니다.

해결됨

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

강의 섹션6 스프링DB 접근 기술에서 순수 JDBC 강의 편을 듣고 따라하던중 spring실행해서 멤버를 등록한 후 갱신되는지를 확인하는 장면을 따라했습니다. 그런데 데이터베이스에 입력한 멤버가 삽입은 되는데 화면과 console 에서 에러가 나옵니다. jdbcMemberRepository로 변경전에는 모두 이상없이 실행되었습니다. 아래는 에러페이지 입니다. 이클립스로 실행했습니다. 아래는 console로그에서 에러부분 입니다. java.lang.NumberFormatException: Character A is neither a decimal digit number, decimal point, nor "e" notation exponential mark. threw exception [Request processing failed: java.lang.IllegalStateException: java.sql.SQLException: 부적합한 변환이 요청됨] with root cause java.lang.NumberFormatException: Character A is neither a decimal digit number, decimal point, nor "e" notation exponential mark. at java.base/java.math.BigDecimal.<init>(BigDecimal.java:586) ~[na:na] at java.base/java.math.BigDecimal.<init>(BigDecimal.java:471) ~[na:na] at java.base/java.math.BigDecimal.<init>(BigDecimal.java:900) ~[na:na] at oracle.jdbc.driver.T4CVarcharAccessor.StringToNUMBER(T4CVarcharAccessor.java:782) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0] at oracle.jdbc.driver.T4CVarcharAccessor.getNUMBER(T4CVarcharAccessor.java:257) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0] at oracle.jdbc.driver.T4CVarcharAccessor.getLong(T4CVarcharAccessor.java:555) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0] at oracle.jdbc.driver.GeneratedStatement.getLong(GeneratedStatement.java:208) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0] at oracle.jdbc.driver.GeneratedScrollableResultSet.getLong(GeneratedScrollableResultSet.java:261) ~[ojdbc8-19.3.0.0.jar:19.3.0.0.0] at com.zaxxer.hikari.pool.HikariProxyResultSet.getLong(HikariProxyResultSet.java) ~[HikariCP-5.0.1.jar:na] at com.example.hello.repository.JdbcMemberRepository.save(JdbcMemberRepository.java:43) ~[main/:na] at com.example.hello.service.MemberService.join(MemberService.java:29) ~[main/:na] at com.example.hello.controller.MemberController.create(MemberController.java:34) ~[main/:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:259) ~[spring-web-6.1.4.jar:6.1.4] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:192) ~[spring-web-6.1.4.jar:6.1.4] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:118) ~[spring-webmvc-6.1.4.jar:6.1.4] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:920) ~[spring-webmvc-6.1.4.jar:6.1.4] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:830) ~[spring-webmvc-6.1.4.jar:6.1.4] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.han~$ConnectionHandler.process(AbstractProtocol.java:896) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1744) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63) ~[tomcat-embed-core-10.1.19.jar:10.1.19] at java.base/java.lang.Thread.run(Thread.java:842) ~[na:na] 제가 데이터베이스를 오라클로 설치했는데 오라클에서 테이블 생성 sql 은 이렇습니다. 데이터는 보면 id에 모두 숫자만 들어가 있습니다. create table member( id number generated by default as identity, name varchar2(255), primary key(id) ); 혹시나해서 설정파일도 올려봅니다 아래는 bundle.gradle 입니다. plugins { id 'java' id 'org.springframework.boot' version '3.2.3' id 'io.spring.dependency-management' version '1.1.4' } group = 'com.example' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'com.oracle.ojdbc:ojdbc8:19.3.0.0' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('bootBuildImage') { builder = 'paketobuildpacks/builder-jammy-base:latest' } tasks.named('test') { useJUnitPlatform() } 아래는 application.properies 입니다. server.port = 8090 spring.mvc.view.prefix=/WEB-INF/views/ spring.mvc.view.suffix=.jsp server.servlet.encoding.charset=UTF-8 server.servlet.encoding.enabled=true server.servlet.encoding.force=true spring.datasource.url=jdbc:oracle:thin:@localhost:1521/xe spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver spring.datasource.username=test_1 spring.datasource.password=admin123

  • java
  • spring
  • mvc
  • spring-boot
grey 댓글 2 좋아요 0 조회수 961

mysql 설치 오류로 학습 불가

해결됨

장래쌤과 함께하는 쉽고 재미있는 SQL 이야기

강사님 안녕하세요 강의 신청을 했는데, 2일동안 아무리 sql 환경 셋팅을 해보려했는데 제 pc에서는 서버 연결이 안되서 죄송하지만 혹시 환불 해주실 수 있을까요? 자료는 모두 삭제 완료 하였습니다ㅜㅜ 다른 DB 강의를 들어야 할 거 같습니다. 현재 환불 버튼이 없어져서 인프런에 요청 해주시면 정말 감사하겠습니다 ㅜㅜㅜㅜ

  • sql
  • mysql
  • oracle
  • dbms/rdbms
  • mssql
댓글 1 좋아요 0 조회수 255

고급 선택자 2탄에서 질문이 있습니다.

미해결

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

안녕하세요! 고급 선택자 2탄 영상의 대략 8분 경에서 [data-tooltip]이 relative가 되서 absolute인 [data-tooltip]:hover::after가 저기에 붙었다고 하셨는데, absolute는 부모 요소 중에 static이 아닌 요소에 붙지 않나요? 그러면 :hover::after처럼 의사요소는 붙은 요소의 자손으로 들어가는 걸까요? [data-toolip]과 [data-toolip]:hover::after이 동일 선상에 위치(형제 요소)처럼 보이는데 어떻게 그럴 수 있는지 궁금합니다!

  • HTML/CSS
dopal0426 댓글 1 좋아요 0 조회수 296

강의 자료 요청 건

미해결

비전공 기획자 및 관리자를 위한 IT 필수 지식

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요, 최근 저도 비전공자 pm으로서 강의 너무 잘 듣고 있는데요. zhddl1229@naver.com 으로 저도 강의 자료 받아볼 수 있을까요? 감사합니다.

  • 커뮤니케이션
와랄라랄 댓글 2 좋아요 1 조회수 340

블로그

해결됨

빠르게 git - 핵심만 골라 배우는 Git/Github

강의 내용과 사진을 좀 정리하면서 블로그에 쓰고 싶은데 출처를 남기고 사용해도 될까요 ? :)

  • git
  • github
  • 버전관리시스템
xkdxh625 댓글 2 좋아요 0 조회수 293

8분 8초경 질문

해결됨

홍정모의 따라하며 배우는 C언어

8분 8초에서 feof() 함수는 EOF를 만났는가 물어봐요 라고 하시고 8분 16초에서 근데 지금 깔끔하게 저장된 개수만큼 왔기 때문에 EOF를 만나지 않은 상태에요 라고 하시는데 EOF를 만났는가 물어본다는 말에서 어떤게 EOF를 만났는가 물어본다는 것인지 저장된 개수 만큼 왔기 때문에에서 뭐가 저장된 개수 만큼 왔다는 것인지 잘 모르겠습니다. 지금까지의 강의 내용을 이해해보면 전자와 후자는 같은 걸 말하는 것 같고 뉘앙스만 보면 파일을 얼마나 읽어들였는지에 대한 진행도? 같은 느낌이 드는데 정확하게 이게 뭔지 잘 모르겠습니다 항상 좋은 답변 정말 감사합니다.

  • c
용개형멋져 댓글 1 좋아요 1 조회수 239

exe 배포 파일 코드 작동 안함

해결됨

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

안녕하십니까 항상 도움 많이 받고 있습니다. 강의를 들으면서 아래와 같이 코드를 작성하였고(정상 작동함) 배포 파일을 만들어서 실행하여 보니, 특성 코드가 작동이 안됩니다. import tkinter as tk from tkinter import filedialog import win32com.client as win32 from pyhwpx import Hwp hwp = Hwp() excel = win32.gencache.EnsureDispatch("Excel.Application") excel.Visible = False # 한/글 파일 불러오기 def open_hwp_file(): file_path = filedialog.askopenfilename(initialdir="C:/", title="Select HWP File", filetypes=(("HWP files", "*.hwp"), ("all files", "*.*"))) if file_path: hwp.Open(file_path) # 엑셀 파일 불러오기 def open_excel_file(): file_path = filedialog.askopenfilename(initialdir="C:/", title="Select Excel File", filetypes=(("Excel files", "*.xlsx;*.xlsm"), ("all files", "*.*"))) if file_path: wb = excel.Workbooks.Open(file_path) def process_excel(): wb = excel.ActiveWorkbook # 불러온 엑셀파일을 wb로 지정 ws = wb.Worksheets(3) # wb의 3번째 시트를 ws로 지정 xlsx_values = [list(i) for i in ws.UsedRange()] for idx, val in enumerate(xlsx_values): if idx: xlsx_values[idx][0] = xlsx_values[idx][0].strftime("%Y. %#m. %#d.") for idx, val in enumerate(xlsx_values[1:]): # hwp.get_field_list()로 삽입된 필드명 확인 후, 상황에 맞게 아래 코드의 필드명 수정 hwp.PutFieldText(f"보도일자{{{{{idx}}}}}\x02기사1{{{{{idx}}}}}\x02기사2{{{{{idx}}}}}\x02기사3{{{{{idx}}}}}\x02기사4{{{{{idx}}}}}\x02기사5{{{{{idx}}}}}\x02기사6{{{{{idx}}}}}\x02기사7{{{{{idx}}}}}\x02기사8{{{{{idx}}}}}\x02기사9{{{{{idx}}}}}\x02기사10{{{{{idx}}}}}\x02기사11{{{{{idx}}}}}\x02기사12{{{{{idx}}}}}\x02기사13{{{{{idx}}}}}\x02기사14{{{{{idx}}}}}\x02기사15{{{{{idx}}}}}\x02기사16{{{{{idx}}}}}\x02기사17{{{{{idx}}}}}\x02기사18{{{{{idx}}}}}\x02기사19{{{{{idx}}}}}\x02기사20{{{{{idx}}}}}\x02기사21{{{{{idx}}}}}\x02기사22{{{{{idx}}}}}\x02기사23{{{{{idx}}}}}\x02기사24{{{{{idx}}}}}\x02기사25{{{{{idx}}}}}\x02기사26{{{{{idx}}}}}\x02기사27{{{{{idx}}}}}\x02기사28{{{{{idx}}}}}\x02기사29{{{{{idx}}}}}\x02기사30{{{{{idx}}}}}", "\x02".join(val)) def save_as(): hwp.save_as("보도자료 배포용(취합본).hwp") root = tk.Tk() root.title("보도자료 취합(배포용)") button_style = {"font": ("Arial", 15), "padx": 20, "pady": 10} open_hwp_button = tk.Button(root, text="한글) 파일 열기", command=open_hwp_file, **button_style) open_hwp_button.pack() open_excel_button = tk.Button(root, text="엑셀) 파일 열기", command=open_excel_file, **button_style) open_excel_button.pack() process_excel_button = tk.Button(root, text=" 취합 하기 ", command=process_excel, fg="blue", font=("Arial", 15, "bold"), padx=20, pady=10) process_excel_button.pack() process_excel_button = tk.Button(root, text="다른 이름 저장", command=save_as, ** button_style) process_excel_button.pack() root.mainloop() 위 코드에서 " 취합하기" 버튼을 누르면 엑셀에 있는 값들이 한글 문서 필드로 입력이 안됩니다. (아무 변화 없음) * 파일 열기나 다른 이름으로 저장하는 버튼을 누르면 정상 작동합니다. 취합하는 것만 안되는 이유가 뭘까요? 항상 친절히 답변 남겨 주셔서 너무 감사드립니다.

  • python
  • 한컴오피스
이형주 댓글 1 좋아요 1 조회수 350

Layer 2 네트워크 개요 및 특성 강의에서 스위치 맥 주소 학습 관련 문의

해결됨

20년 경력자의 알기 쉬운 컴퓨터네트워크

강의 중 패킷트레이서 실습 내용에서, 각 장치에 ip를 할당하고 나서야 스위치 맥 테이블에 정보가 노출되는 것을 볼 수 있었는데요.스위치는 MAC 주소를 기반으로 프레임을 전달하기 때문에 IP 주소 할당 여부와 관계없이 연결된 장치의 MAC 주소를 학습할 수 있어야 하는 것이 아닌가요?! ip를 할당하기 전에는 왜 맥 테이블이 비어있었던 건지 궁금합니다.

  • 네트워크
  • 프로토콜
winter 댓글 1 좋아요 0 조회수 240

실무에서 타임리프에 관해서

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 백엔드 개발자가 타임리프를 공부하는 이유가 혼자서 뭘 만들어볼때 빠르게 웹페이지를 확인해보면서 개발하려고 하는 거고 실무에서는 보통 프론트엔트쪽에서 react같은걸로 서비스를 만드는거 맞아요? 백엔드개발자와 프론트엔드개발자의 역할에 대해 약간 헷갈려서 여쭤봅니다.

  • spring
  • mvc
foskingson 댓글 1 좋아요 0 조회수 553

교재 제공 문의 드립니다.

해결됨

2026년 CPPG 자격증 취득 과정 (최신판)

안녕하세요 기술사님. 인프런에서 강의를 수강하는 경우 별도의 프린트물 교재는 제공(배송)되지 않는 것인지 궁금합니다.

  • security
  • cppg(개인정보관리사)
을지로계란장수 댓글 2 좋아요 0 조회수 475

MyHandlerExceptionResolver 등록 관련 질문

해결됨

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

MyHandlerExceptionResolver 클레스를 등록하기 위해서 WebConfig 클래스에서 해당 메서드를 오버라이딩 해주었는데 그냥 MyHandlerExceptionResolver 에 @Component 애노테이션을 사용해서 스프링 빈으로 등록 시켜줘면 안되는건가요?

  • spring
  • mvc
gnstjrdlsla 댓글 1 좋아요 0 조회수 376

반환 타입이 void인 메서드에 대한 질문이 있습니다.

해결됨

Practical Testing: 실용적인 테스트 가이드

안녕하세요 강의 잘 듣고 있습니다! 위 사진처럼 Service 레이어에서 반환 타입이 void인 메서드의 경우, assertJ로 검증하는 방법이 있나요? 해당 메서드에서 create 작업을 수행하지만 굳이 생성된 객체를 응답할 이유가 없어서요! 예전에 임시로 반환 타입을 바꿔서 생성된 객체를 검증하는 식으로 테스트를 작성하면 된다는 얘기를 들었는데, 결국 void로 되돌리게 되면 테스트가 실패하니까 테스트를 주석 처리할 수 밖에 없었거든요...이렇게 하게 되면 테스트 코드를 작성하는 의미도 좀 퇴색되는 것 같아서 고민이 됩니다! 일단은 급한대로 then은 비워두었습니다만 이렇게 하는 게 좋은 방법일까요?

  • spring
  • tdd
  • jpa
  • mockito
  • 소프트웨어-테스트
  • junit5
제리 댓글 1 좋아요 0 조회수 373

object intersection에서 유니언으로 타입 질문

해결됨

[코드팩토리] [초급] 8시간만에 끝내는 코드팩토리의 Typescript 완전정복 풀코스

type CompanyOrPet = PersonType | (CompanyType|PetType); type CompanyOrPet2 = PersonType | CompanyType | PetType; const companyOrPet: CompanyOrPet2 = { // PersonType name: 'DD', age: 27, // CompanyType company:'GK', companyRegistrationNumber:'asfasfasfasf', //PetType petName:'Ori', petAge:4, } 강의에서는 CompanyOrPet 타입으로 PersonType, CompanyType, PetType을 포함할 수 있는 타입으로 만들어서 객체를 만들셔서 어느 하나의 타입만 충족되더라고 에러없이 객체가 생성되도록 하셨는데 CompanyOrPet과 CompanyOrPet2의 차이점이 있나요?

  • typescript
서민종 댓글 1 좋아요 1 조회수 146

lt.rt가 잘 이해가 가지 않습니다.

미해결

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

tree.root.rt = new Node(3); tree객체에서 root를 참조하고, root 객체의 rt 변수의 값을 3으로 설정하는 것은 이해했습니다. 그런데, tree.root.rt.lt 는 rt변수에서 lt를 접근하는 건가요..?? 변수에서 변수를 참조하는 것이 잘 이해가 되지 않습니다. 감사합니다.

  • java
  • 코딩-테스트
버럼 댓글 2 좋아요 0 조회수 271

파일 업로드 강의 수강 도중 오류가 발생합니다.

미해결

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

안녕하세요 파일 업로드 강의 중 '서블릿과 파일 업로드1'강의 첫번째 실행에서 파일 제출을 하면 Error parsing HTTP request header 오류가 뜹니다. 제가 뭔가 놓친 부분이 있는걸까요?

  • spring
  • mvc
로봇병정 댓글 1 좋아요 0 조회수 260

인기 태그

인프런 TOP Writers

주간 인기글