inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

Car 인터페이스에 대해 질문이 있습니다

미해결

스프링 핵심 원리 - 기본편

안녕하세요 선생님 귀중한 강의 너무 잘 듣고있습니다 감사합니다. 한 가지 궁금한 점은 예시에서 설명해주신 자동차를 인터페이스로 구현하면 엑셀, 브레이크 등 자동차의 기능적인 측면의 것들이 선언될 것이라고 생각합니다. 기능이 아닌 자동차의 상태적인 측면(색깔, 경유차/휘발유차/전기차, 4륜/후륜 등)을 생각했을 때, 공통적인 속성들을 상속하는 구조가 좋을 것으로 생각하는데 그럼 실제 코드로 구현한다고 하면 Car라는 공통 속성들이 정의된 부모클래스에 엑셀, 브레이크 등이 선언된 인터페이스, 그 외에 다양한 기능들이 정의된 또 다른 인터페이스들이 implements 되고 Car 클래스를 K3, Avante 등의 클래스에서 extends 해서 엑셀, 브레이크 등의 메서드를 오버라이딩 한다고 생각해야 하는건가요 ?? 그런식이라면 애초에 Car를 추상클래스로 선언해야하는건가요 ?? 헷갈리네요. 즉, 인터페이스로 역할을 정의할 때, 속성에 관련된 측면들은 어떻게 처리되어야하는지 궁금합니다. 감사합니다

  • spring
  • oop
이재윤 댓글 1 좋아요 0 조회수 405

multer에서 filefilter 부분

미해결

따라하며 배우는 노드, 리액트 시리즈 - 유튜브 사이트 만들기

filefilter부분에서 확장자명을 ext 변수로 뽑은 다음에 .mp4가 아니면 거절하게 만들었는데 png파일이나 다른 기타 등등의 파일이 필터가 안되는 이유가 뭘까요

  • react
  • mongodb
  • nodejs
  • redux
홍원배 댓글 1 좋아요 0 조회수 340

마지막에 /search 관련해서 뭔말인지 잘 모르겠습니다.

미해결

[개정판 2023-11-27] Spring Boot 3.x 를 이용한 RESTful Web Services 개발

검색관련 메소드를 만들때 uri 를 localhost:8080/search 이런식으로 GET Method 를 만들고 파라미터에 따라 유저든 포스트든 전부 통합해서 하는게 좋다는 말인가요 ? 그리고 추가적으로 웹사이트를 만들때 이런식으로 REST api 로 만든다면 뷰 부분은 보통 뭘로 만드나요 ?

  • rest-api
  • spring-boot
water_bottle 댓글 2 좋아요 1 조회수 248

self-descrive messages 와 hateoas에 대해 질문이 있습니다.

미해결

스프링 기반 REST API 개발

질문1 self-descrive messages 기준에 대해 질문: front 에서 backend로 api 요청을 날려 응답을 받았을때 그 응답 데이터가 문서화 되어 제목을 통해 응답 데이터의 용도를 유추할수 있거나 아니면 응답 객체중 응답의 의미가 뭔지 알수 있게끔 하는 어떤 형식의 데이터가 포함되어 있으면 self-descrive messages 라는 기준을 만족하는건가요? 질문2: hateoas는 응답과 연관된 다른 요청을 프론트엔드에서 직접작성하는게 아니라 응답 내의 데이터를 이용해 바로 링크 설정을 할수 있게 한다는 의미인가요?

  • java
  • rest-api
  • spring
terecal 댓글 1 좋아요 0 조회수 187

다음 새로운 강의로는 AWS기반의 EKS, NLB, SSL, Nginx, Aurora for mysql을 활용한 쿠버네티스 강의를 만들어주시면 감사하겠습니다.

미해결

따라하며 배우는 MySQL on Docker

다음 새로운 강의로는 AWS기반의 EKS, NLB, SSL, Nginx, Aurora for mysql을 활용한 쿠버네티스 강의를 만들어주시면 감사하겠습니다. EKS(Elastic Kubernetes Service)로 node 구성시 multi-AZ으로 해주시고, ECR(Elastic Container Registry)사용법, ALB for Ingress로 할지 아니면 'NLB + Nginx for Ingress로 할지', SSL(혹은 TLS)인증서를 어디에 구성할지(Termination할지?), Jenkins 와 쿠버네티스 연동 그리고, 웹서버 혹은 WAS서버가 Scale-In될 때 웹클라이언트 세션 유지 용도로 ElasticCache for Redis도 추가 부탁 드립니다. 이 정도 커리큘럼이면 괜찮은 강의가 구성될 것 같습니다. 여력이 되신다면 쿠버네티스 모니터링용으로 프로메테우스와 그라파나, 그리고 로그서버로 fluentd도 부탁 드립니다.

  • docker
  • mysql
ericserra 댓글 1 좋아요 0 조회수 185

Send 눌러도 작동이안됩니다..

미해결

비전공자를 위한 진짜 입문 올인원 개발 부트캠프

default example 저장 후 send눌러도 안되는데 무슨문제일까요?? ++ 눈 모양 이모티콘을 누르면 서버 URL이 안뜨고 setup environment 하라는 것처럼 나오는데 제가 놓친 부분이 있나요?

  • HTML/CSS
  • express
  • tensorflow
  • react-native
  • react
  • nodejs
  • javascript
  • 머신러닝 배워볼래요?
djaghdyd123 댓글 1 좋아요 3 조회수 236

브러쉬

미해결

우디의 포토샵 강좌

마스크누르고 브러쉬펜 적용하려는데 아무리 눌러도 브러쉬펜 효과가 안나타나요..ㅜ 이럴경우에 어떻게 해야하나요??

  • photoshop
화사한 강아지 댓글 1 좋아요 2 조회수 259

/?m=5000 에 대해서 질문드립니다.

미해결

모던 안드로이드 - 코틀린과 Jetpack 활용

안녕하세요. 마스크 api 서비스가 종료되어서 백업으로 올려주신 url 로 강의를 따라가고 있습니다. sample.json 으로 진행할 때에도 url 에 /?m=5000 을 적용하면 위치 반경의 데이터를 먼저 보여주나요? 강의에서는 url에 /?m=5000 을 적용하시고 위도, 경도 데이터를 쿼리로 보내니 오산시 데이터를 먼저 보여주는데, 제 app 에서는 /?m=5000을 추가하기 전과 똑같이 순서변경없이 서울시 데이터를 보여주고 있습니다. 혹시나 하는 마음에 서울시의 특정 위치의 위도, 경도를 설정해서 진행해 보았지만, 순서 변경없이 출력되고 있었습니다. --- 결론--- 혹시 /?m=5000 은 api 서비스에서만 작동되는 건지 질문드립니다.

  • android
  • kotlin
  • jetpack
신세 댓글 2 좋아요 0 조회수 270

선생님이 쓰시는 vs 테마는 이름이 뭐에요?

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

선생님이 쓰시는 vs 테마 이름은 무엇인가요?

  • 테마
  • 스킨
  • C#
  • 폰트
  • 색
  • 컬러
저으녀으 댓글 1 좋아요 0 조회수 667

질문이 여러개 있어요!

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

1.구조체는 어느 상황에 쓰이나요? 그냥 객체가 해줄 수 있는 역할이 구조체의 역할을 포괄하고 같은 계층의 비슷한 데이터를 묶는 역할은 열거형이 할 수 있으니까 구조체는 별로 안 쓰일것 같아서요..아,열거형은 문자열만 사용 가능한가요? 2.Knight Clone()도 함수인가요? 반환값이 객체인 함수라고 보면 되는 건가요? 3.얕은 복사는 그냥 한 객체를 다른 이름으로 참조하는 것이라 볼 수 있겠고 깊은 복사는 같은 값을 가진 아예 다른 객체를 만드는 거라고 보면 되나요?

  • C#
햄쮸맨 댓글 4 좋아요 0 조회수 563

질문있습니다.

해결됨

스프링 기반 REST API 개발

좋은 강의 만들어주셔서 많이 배우고 있습니다. 감사합니다. 다름이 아니라 강의 수강 중 테스트가 실패하여 문의드립니다. 해당 강의 전까지는 메이븐 프로젝트로 생성하여 의존성 추가해서 강의의 스프링부트 버전(2.1.0.RELEASE)로 진행하여 문제 없이 진행하였는데 EventControllerTests - createEvent 테스트코드 작성시 mockMvc . perform ( post ( " /api/events/ " ) . contentType ( MediaType . APPLICATION_JSON ) . accept ( MediaType . APPLICATION_JSON ) . content ( objectMapper . writeValueAsString ( event ))) . andDo ( print ()) . andExpect ( status (). isCreated ()) . andExpect ( jsonPath ( "id" ). exists ()) . andExpect ( jsonPath ( "$.id" ). exists ()) . andExpect ( header (). exists ( HttpHeaders . LOCATION )) . andExpect ( header (). string ( HttpHeaders . CONTENT_TYPE , MediaType . APPLICATION_JSON_UTF8_VALUE )) . andExpect ( jsonPath ( "free" ). value ( false )) . andExpect ( jsonPath ( "offline" ). value ( true )) . andExpect ( jsonPath ( "eventStatus" ). value ( EventStatus . DRAFT . name ())) . andExpect ( jsonPath ( "_links.self" ). exists ()) //.andExpect(jsonPath("$._links.self").exists()) . andExpect ( jsonPath ( "_links.query-events" ). exists ()) . andExpect ( jsonPath ( "_links.update-event" ). exists ()) . andDo ( document ( "create-event" , links ( linkWithRel ( "self" ). description ( "link to self" ), linkWithRel ( "query-events" ). description ( "link to query events" ), linkWithRel ( "update-event" ). description ( "link to update an existing event" ) ) )) ; 위와 같이 작성하면 실패하고 org.springframework.restdocs.snippet.SnippetException: Links with the following relations were not found in the response: [self, update-event, query-events] . andDo ( document ( "create-event" , links ( halLinks (), linkWithRel ( "self" ). description ( "link to self" ), linkWithRel ( "query-events" ). description ( "link to query events" ), linkWithRel ( "update-event" ). description ( "link to update an existing event" ) ) )) ; links의 첫번째 인자로 haLinks()를 주면 테스트가 성공하는 것을 확인하였습니다. 원인을 파악하기 위해 검색도 해보고 강의도 다시 보던 중에 KSUG에서 발표하셨다고 하던 이전 자료(해당 강의의 시작)를 보니 halLinks()가 있는 것을 보았고 해당 코드가 있는 깃랩( https://gitlab.com/whiteship/natural/-/blob/master/src/test/java/me/whiteship/natural/event/EventControllerTests.java )에서도 보니 halLinks()가 있는 것을 확인하였습니다. 메이븐 프로젝트로 생성해서 버전이랑 의존성 꼬이는 문제는 없을것 같은데 < artifactId >asciidoctor-maven-plugin</ artifactId > < version >1.5.8</ version > asciidoctor-maven-plugin의 버전이 제가 작성한 버전은 1.5.8이고 기선님이 사용한 버전은 1.5.3인 차이만 확인하였습니다. 무슨 차이로 인해 테스트가 실패하는 것인지 감이 안잡히는데 기선님은 두 가지 방식 다 진행하였고 성공하여서 질문드립니다. 테스트 실패 시 출력하는 요청,응답 헤더 MockHttpServletRequest: Headers = {Content-Type=[application/json;charset=UTF-8], Accept=[application/json]} MockHttpServletResponse: Headers = {Location=[http://localhost:8080/api/events/1], Content-Type[application/json;charset=UTF-8]} json 출력결과도 첨부합니다. { "id" : 1 , "name" : Spring , "description" : REST API Development with Spring , "beginEnrollmentDateTime" : 2018-11-23T14:21:00 , "closeEnrollmentDateTime" : 2018-11-24T14:21:00 , "beginEventDateTime" : 2018-11-25T14:21:00 , "endEventDateTime" : 2018-11-26T14:21:00 , "location" : 강남역 D2 스타텁 팩토리 , "basePrice" : 100 , "maxPrice" : 200 , "limitOfEnrollment" : 100 , "offline" : true , "free" : false , "eventStatus" : DRAFT , "_links" : - { "self" : - { "href" : http://localhost:8080/api/events/1 }, "query-events" : - { "href" : http://localhost:8080/api/events }, "update-event" : - { "href" : http://localhost:8080/api/events/1 } } } 깃헙 링크도 첨부합니다! https://github.com/rshak8912/rest

  • spring
  • rest-api
  • java
OMG 댓글 3 좋아요 4 조회수 712

enum 으로 Player나 Knight 같은 것 왜 일일히 지정해준 것이에요?

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

enum 으로 Player나 Knight 같은 것 왜 일일히 지정해준 것이에요? enum 중에 실제로 쓰인 것은 GameMode 밖에 없는 것 같아서요

  • C#
저으녀으 댓글 1 좋아요 0 조회수 246

설정값을 넣는 위치 기준을 모르겠어요

미해결

파이썬 무료 강의 (활용편2) - GUI 프로그래밍 (4시간)

text, selectmode, height, width 이런건 root 옆에 넣는데 side, fill, expand이런건 pack()안에 넣어주는 이유가 뭔가요?? ㅜ

  • python
  • GUI
구힝 댓글 1 좋아요 0 조회수 345

안되는 부분이 있어서 질문드립니다.

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part7: MMO 컨텐츠 구현 (Unity + C# 서버 연동 기초)

코드중 mc.CellPos = pos; 이 부분에서 NullReferenceException: Object reference not set to an instance of an object GameScene.Init () (at Assets/Scripts/Scenes/GameScene.cs:31) BaseScene.Awake () (at Assets/Scripts/Scenes/BaseScene.cs:12) 이런 에러가 나서 진행이 안됩니다. 찾아보니 널값을 가질수 없는 오브젝트에 널값을 할당해서 나는 오류라고 하여서, 명시적으로 mc.CellPos = new Vector3Int(10,10,0); mc.CellPos.set() 등으로 해보아도 같은 오류 메세지가 뜹니다.

  • C#
  • unity
진민수 댓글 1 좋아요 0 조회수 302

13:50초에요

해결됨

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

여러 줄을 긁어서 한번에 주석처리 하시던데 이거 어떻게 하신건가요?????

  • C#
댓글 2 좋아요 1 조회수 318

expect 질문입니다.

해결됨

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

안녕하세요 expect관련 함수에 대해서 질문이 있습니다. describe('POST /join', () => { test('로그인 안 했으면 가입', (done) => { request(app) .post('/auth/join') .send({ email: 'zerohch0@gmail.com', nick: 'zerocho', password: 'nodejsbook', }) .expect('Location', '/') .expect(302, done); }); }); 위의 함수에서 expect들이 나타내는게 res.status(302).redirect(&lsquo;/&rsquo;) 라는것은 알겠는데, 정확하게 이해를 못해서 질문을 드립니다. expect함수는 expect(value) 형태로 사용하는거라고 알고있는데 인수를 2개씩 써도 상관이 없는건가요?? 그리고 'location', '/', '302'의 순서는 상관이 없나요?

  • expect
  • mongodb
  • redirect
  • nodejs
  • mysql
  • Sequelize
lch9502 댓글 5 좋아요 1 조회수 529

다른 환경 질문

미해결

[기초-응용] 다양한 환경을 앤서블(Ansible)로 관리하기 with 베이그런트(Vagrant)

현재 rhel 8에서 ansible 및 vagrant를 진행중입니다. 아래 vagrant up 부분에서 오류가 나서 출력된 메세지를 첨부합니다. [root@master ~]# vagrant up Bringing machine 'default' up with 'libvirt' provider... ==> default: Checking if box 'generic/rhel8' version '3.2.10' is up to date... Traceback (most recent call last): 35: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/batch_action.rb:86:in `block (2 levels) in run' 34: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/machine.rb:201:in `action' 33: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/machine.rb:201:in `call' 32: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/environment.rb:613:in `lock' 31: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/machine.rb:215:in `block in action' 30: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/machine.rb:246:in `action_raw' 29: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/runner.rb:89:in `run' 28: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/util/busy.rb:19:in `busy' 27: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/runner.rb:89:in `block in run' 26: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/builder.rb:149:in `call' 25: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/warden.rb:48:in `call' 24: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/builtin/config_validate.rb:25:in `call' 23: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/warden.rb:48:in `call' 22: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/builtin/box_check_outdated.rb:92:in `call' 21: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/warden.rb:48:in `call' 20: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/builtin/call.rb:52:in `call' 19: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/builder.rb:189:in `to_app' 18: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/builder.rb:189:in `new' 17: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/warden.rb:34:in `initialize' 16: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/warden.rb:34:in `map' 15: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/warden.rb:34:in `block in initialize' 14: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/warden.rb:121:in `finalize_action' 13: from /opt/vagrant/embedded/gems/2.2.14/gems/vagrant-2.2.14/lib/vagrant/action/warden.rb:121:in `new' 12: from /root/.vagrant.d/gems/2.6.6/gems/vagrant-libvirt-0.3.0/lib/vagrant-libvirt/action/create_networks.rb:26:in `initialize' 11: from /root/.vagrant.d/gems/2.6.6/gems/vagrant-libvirt-0.3.0/lib/vagrant-libvirt/provider.rb:29:in `driver' 10: from /opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' 9: from /opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' 8: from /root/.vagrant.d/gems/2.6.6/gems/vagrant-libvirt-0.3.0/lib/vagrant-libvirt/driver.rb:1:in `<top (required)>' 7: from /opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' 6: from /opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' 5: from /root/.vagrant.d/gems/2.6.6/gems/fog-libvirt-0.8.0/lib/fog/libvirt.rb:4:in `<top (required)>' 4: from /opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' 3: from /opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' 2: from /root/.vagrant.d/gems/2.6.6/gems/ruby-libvirt-0.7.1/lib/libvirt.rb:11:in `<top (required)>' 1: from /opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require' /opt/vagrant/embedded/lib/ruby/2.6.0/rubygems/core_ext/kernel_require.rb:54:in `require': /usr/lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b - /root/.vagrant.d/gems/2.6.6/gems/ruby-libvirt-0.7.1/lib/_libvirt.so (LoadError) 실행 환경이 윈도우가 아니여서 죄송합니다. 현재 ANSIBLE 진행 환경이 꼭 CentOS, RHEL 이여야만 합니다. 만약 해결이 안된다면 초기화라도 해서 다시 시도 하고싶은데 도움을 꼭 받고싶습니다. 감사합니다. 환경 : RHEL 8.3 PROVIDER: kvm 방화벽 : dead

  • ansible
gorogong 댓글 2 좋아요 1 조회수 1033

거리측정

미해결

피그마(Figma)를 활용한 UI디자인 입문부터 실전까지 A to Z

조금 늦은 감이 있는데요 .. 그 직사각형을 이동하면서 그때그때 간격을 보려면 어떻게 해야하나요? 알트? 키가 맥북이라 없어서 뭔지 여쭤봅니다..!

  • 모바일-디자인
  • 웹 디자인
  • figma
현진 심 댓글 1 좋아요 1 조회수 796

멀티 쓰레드 질문 드립니다.

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

멀티 쓰레드 질문 드립니다. GameRoom 이 JobQueue를 가지고 있어서 멀트 쓰레드에서 안전하다고 하셨는데 GameRoom 의 Broadcast , Enter,Leave 등은 JobQueue 를 이용 하니 멀티 쓰레드에서 안전 한거 같은데 GameRoom 의 Flush 는 어떻게 안전 할수가 있나요?

  • 멀티쓰레드
  • network
  • C#
  • unity
backboss 댓글 2 좋아요 0 조회수 400

인기 태그

인프런 TOP Writers

주간 인기글