inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

[3.5장 컨택스트 훅] 3.5.2 useContenxt 에서 질문이 있습니다.

해결됨

[React 2부] 고급 주제와 훅

안녕하세요 선생님 Count, PlusButton이 re render 되는 조건을 알고 싶습니다. 예전예시에서는 class Consumer extends React.Component { constructor(props) { super(props); this.state = { value: emitter.get(), }; this.setValue = this.setValue.bind(this); } setValue(nextValue) { this.setState({ value: nextValue }); } componentDidMount() { emitter.on(this.setValue); } componentWillUnmount() { emitter.off(this.setValue); } render() { return <>{this.props.children(this.state.value)}</>; } } Consumer가 state를 가지고 있음으로 순서가 Provider render -> Consumer render -> Consumer componentDidMount -> Provider componentDidMount (set 을 통해 빈 객체였던 것을 value, setValue로 바꿔줌) 이때 Consumer state는 emitter.get()임으로 변경된 것을 감지 하고 re render 하는 것으로 이해했었습니다. 헌데 이번예시에서는 function useContext(context) { console.log("userContext, context.emitter.get() = ", context.emitter.get()); const [value, setValue] = React.useState(context.emitter.get()); React.useEffect(() => { console.log("Consumer useEffect"); context.emitter.on(setValue); return () => { console.log("Consumer useEffect clean"); context.emitter.off(setValue); }; }, [context]); return value; } const Count = () => { console.log("Count render"); const { count } = MyReact.useContext(countContext); return <div>{count}</div>; }; Provider render -> Count(Consumer) render -> Count's useEffect -> Provider's useEffect 을 통해 emitter 값이 빈객체에서 count, setCount로 채워지는것은 이해하였습니다. 이때 Count 가 다시 한번 re render되는데 왜 그런 것인가요? 첫번째 예시처럼 state?같은게 존재하는건가요? 다시 render되는 조건이 궁금합니다.

  • react
  • React-Context
  • react-hooks
  • react-router
  • react-component
dohyun_lim 댓글 2 좋아요 1 조회수 465

NullPointerException

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. java.lang.NullPointerException: Cannot invoke "hello.jdbc.repository.MemberRepositoryV1.save(hello.jdbc.domain.Member)" because "this.memberRepository" is null memberRepositoryV1.save 하는 과정에서 널포인터익셉션이 났습니다. package hello.jdbc.repository; import hello.jdbc.connection.DBConnectionUtil; import hello.jdbc.domain.Member; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.jdbc.support.JdbcUtils; import javax.sql.DataSource; import java.sql.*; import java.util.NoSuchElementException; /** * JDBA - DataSource 사용, JdbcUtils 사용 */ @Slf4j public class MemberRepositoryV1 { private final DataSource dataSource; public MemberRepositoryV1(DataSource dataSource) { this.dataSource = dataSource; } public Member save(Member member) throws SQLException { String sql = "insert into member(member_id, money) values (?,?)"; Connection con = null; PreparedStatement pstmt = null; try { con = getConnection(); pstmt = con.prepareStatement(sql); pstmt.setString(1, member.getMemberId()); pstmt.setInt(2, member.getMoney()); pstmt.executeUpdate(); return member; }catch (SQLException e) { log.info("db error", e); throw e; }finally { close(con, pstmt, null); } } public Member findById(String memberId) throws SQLException { String sql = "select * from member where member_id=?"; Connection con = null; PreparedStatement pstmt = null; ResultSet rs = null; try { con = getConnection(); pstmt = con.prepareStatement(sql); pstmt.setString(1, memberId); rs = pstmt.executeQuery(); if (rs.next()) { Member member = new Member(); member.setMemberId(rs.getString("member_id")); member.setMoney(rs.getInt("money")); return member; } else { throw new NoSuchElementException("member not found memberId=" + memberId); } } catch (SQLException e) { log.info("db error", e); throw e; }finally { close(con, pstmt, rs); } } public void update(String memberId, int money) throws SQLException { String sql = "update member set money=? where member_id=?"; Connection con = null; PreparedStatement pstmt = null; try { con = getConnection(); pstmt = con.prepareStatement(sql); pstmt.setInt(1, money); pstmt.setString(2, memberId); int resultSize = pstmt.executeUpdate(); log.info("resultSize={}", resultSize); }catch (SQLException e) { log.info("db error", e); throw e; }finally { close(con, pstmt, null); } } public void delete(String memberId) throws SQLException { String sql = "delete from member where member_id=?"; Connection con = null; PreparedStatement pstmt = null; try { con = getConnection(); pstmt = con.prepareStatement(sql); pstmt.setString(1, memberId); pstmt.executeUpdate(); }catch (SQLException e) { log.info("db error", e); throw e; }finally { close(con, pstmt, null); } } private void close(Connection con, Statement stmt, ResultSet rs) { JdbcUtils.closeResultSet(rs); JdbcUtils.closeStatement(stmt); JdbcUtils.closeConnection(con); } private Connection getConnection() throws SQLException { Connection con = dataSource.getConnection(); log.info("get connection={}, class={}", con, con.getClass()); return con; } } package hello.jdbc.repository; import com.zaxxer.hikari.HikariDataSource; import hello.jdbc.connection.ConnectionConst; import hello.jdbc.domain.Member; import lombok.extern.slf4j.Slf4j; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.springframework.jdbc.datasource.DriverManagerDataSource; import java.net.URL; import java.sql.DriverManager; import java.sql.SQLException; import java.util.NoSuchElementException; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.assertThatThrownBy; @Slf4j class MemberRepositoryV1Test { MemberRepositoryV1 repository; @BeforeEach void beforeEach() { //기본 driverManager - 항상 새로운 커넥션을 획득 // DriverManagerDataSource dataSource = new DriverManagerDataSource(ConnectionConst.URL, ConnectionConst.USERNAME, ConnectionConst.PASSWORD); //커넥션 풀링 HikariDataSource dataSource = new HikariDataSource(); dataSource.setJdbcUrl(ConnectionConst.URL); dataSource.setUsername(ConnectionConst.USERNAME); dataSource.setPassword(ConnectionConst.PASSWORD); repository = new MemberRepositoryV1(dataSource); } @Test void crud() throws SQLException { //save Member member = new Member("memberV2", 10000); repository.save(member); //findById Member findMember = repository.findById(member.getMemberId()); log.info("findMember={}", findMember); log.info("member != findMember {}", member == findMember); assertThat(findMember).isEqualTo(member); //update repository.update(member.getMemberId(), 20000); Member updateMember = repository.findById(member.getMemberId()); assertThat(updateMember.getMoney()).isEqualTo(20000); //delete repository.delete(member.getMemberId()); assertThatThrownBy(() -> repository.findById(member.getMemberId())) .isInstanceOf(NoSuchElementException.class); } }

  • spring
  • mvc
  • spring-jdbc
아가미 댓글 2 좋아요 0 조회수 327

이 코드는 왜 YES만 Success인가요?

미해결

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

안녕하세요. 선생님. 영상도 참고하면서 제 방식대로 조금 짜봤는데 잘 안되서 여쭤봅니다. #include <bits/stdc++.h> using namespace std; int n, res = 0; int a[101]; int main() { cin >> n; vector<int> ch(n); for(int i = 0; i < n; i++) { cin >> a[i]; } for(int i = 0; a[i]!='\0'; i++) { res = abs(a[i]-a[i+1]); if( res > 0 && res < n && ch[res] == 0 ) { ch[res] = 1; } } // 이 부분입니다. for(int i = 0; ch[i] != '\0'; i++) { if(ch[i] == 0) { cout << "NO"; return 0; } } cout<<"YES"; return 0; } 3번째 for문에서 i < n을 하면 NO부분에서만 success가 뜨고 위와 같이 하면 Yes부분에서만 Success가 뜹니다. 도움부탁드리겠습니다. 감사합니다.

  • c++
  • 코딩-테스트
메구밍 댓글 1 좋아요 0 조회수 229

1-N 질문 드립니다

해결됨

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

안녕하세요 큰돌님 😀 1-N 백준 1629 문제에서 제공해주신 코드에 #include<bits/stdc++.h> using namespace std; typedef long long ll; ll a, b, c; ll go(ll a, ll b){ if(b == 1) return a % c; ll ret = go(a, b / 2); ret = (ret * ret) % c; if(b % 2)ret = (ret * a)% c; return ret; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> a >> b >> c; cout << go(a, b) << "\n"; return 0; } 여기에서 if(b % 2)ret = (ret * a)% c; 원래 공식에 대입하면 이 부분에 (ret * a % c) % c 가 들어오는 것이 맞지 않나요..? 어떻게 이렇게 되는지 궁금합니다 ㅜㅜ go(2, 3) 이라고 할 때, 이렇게 되어서 if(b % 2)ret = (ret * a)% c; 이 아니라, if(b % 2)ret = (ret * (a % c))% c; 가 된다고 생각했는데 설명해주시면 감사합니다..ㅜㅜ 다른 질문에 답변 달아주신 내용 확인해서 이해하였습니다~!!

  • c++
  • 코딩-테스트
Clain 댓글 2 좋아요 0 조회수 159

JpaMetamodelEntityInformation 내부의 isNew 메서드에서 조건 분기 시 다음 조건은 무엇을 의미하나요?

미해결

실전! 스프링 데이터 JPA

public boolean isNew(T entity) { if (!this.versionAttribute.isEmpty() && !(Boolean)this.versionAttribute.map(Attribute::getJavaType).map(Class::isPrimitive).orElse(false)) { BeanWrapper wrapper = new DirectFieldAccessFallbackBeanWrapper(entity); return (Boolean)this.versionAttribute.map((it) -> { return wrapper.getPropertyValue(it.getName()) == null; }).orElse(true); } else { return super.isNew(entity); } } 조건문을 타지 않고 else 절로 넘어가면 super.isNew() 를 호출하고, 상위 추상 클래스인 AbstractEntityInformation 클래스의 isNew() 메서드에서 Entity id 필드가 Null, 0L인지 판단하는 걸로 이해했습니다. 강의 범위가 아니긴 하지만 JpaMetamodelEntityInformation 클래스의 isNew() 내에서 versionAttribute가 존재하는지 확인하는 부분은 어떤 것을 확인하는 것인지 궁금합니다.

  • java
  • spring
  • spring-boot
  • jpa
hyese ch 댓글 1 좋아요 0 조회수 265

소켓,File 질문있습니다!

해결됨

외워서 끝내는 네트워크 핵심이론 - 기초

선생님 안녕하세요! 수업 잘 듣고 있습니다! 질문이 있습니다! 소켓은 커널모드로 진입해 네트워크를 통신하기 위한 추상 인터페이스다, h/w와 소통하기 위해 kernel의 도움을 받아야 하는데 네트워크 통신을 할 때 추상 인터페이스를 부르는 명칭이 소켓인것이고 I/O 장치와 상호작용 할 때는 file이라고 부르는 것이 맞나요?

  • 네트워크
  • 프로토콜
빵빵이 댓글 2 좋아요 0 조회수 475

모바일 GNB화이트 설정

미해결

외주 없이 디자이너처럼 스마트스토어 디자인 꾸미기

모바일 GNB화이트 설정어디서 하는지 모르겠습니다

  • photoshop
  • 웹-디자인
  • 스마트스토어
  • 콘텐츠-제작
장정현 댓글 1 좋아요 0 조회수 220

PessimisticLock을 분산락으로 활용하는 질문에 대한 답변 남기겠습니다.

미해결

재고시스템으로 알아보는 동시성이슈 해결방법

github repository url : https://github.com/developer-yoni/ecommerce/tree/study/concurrency/redis 여기서 study/concurrency/redis 브랜치 를 확인해주시면 됩니다. StockServiceTest의 400번째 라인부터 503번째 라인까지 테스트 코드가 작성되어 있습니다. 큰 흐름은 동시성 이슈가 발생가능한 Stock에는 Lock을 걸지 않고, 다른 Entity인 Market Entity에 PessimisticLock을 걸어, PessimisticLock을 분산락으로 활용하려는 시도 입니다. 여기서 4_1 테스트는 Market에 PessimisticLock을 거는 트랜잭션과 Stock의 재고를 감소시키는 트랜잭션을 하나의 트랜잭션으로 묶었고, 4_2 테스트는 별개의 트랜잭션으로 분리했습니다. 이때 질문은 다음과 같습니다 Q1. 동시성 이슈가 일어나지 않는 다른 Entity에 PessimisticLock을 걸어 분산락처럼 활용하는게 문제가 되지 않을지 궁금합니다. 혹시 문제가 된다면 , 어떤 측면에서 문제가 될지 궁금합니다. 왜냐하면 어차피 동시성 이슈가 일어날 수 있는 측면의 값을 커밋하여 update함과 동시에 PessmisticLock을 반환하는 것이니 문제가 되지 않을것이라고 생각했기 때문입니다. Q2. PessimisticLock을 건 트랜잭션이 커밋되거나 롤백될 때 비로소 PessmisticLock이 반환된다는 점을 근거로, 4_2 테스트에서는 일부로 재고감소를 먼저 커밋한 후, Market의 PessimisticLock을 커밋하여, 반드시 업데이트가 이뤄난 후 락을 반환하는것을 의도하였습니다. 그러나 제 의도와 다르게 4_2 테스트는 계속 lock이 걸려있는? 흐름을 보이면서 테스트에 실패합니다. 그원인을 잘 모르겠습니다. 바쁘신 와중에 답변 달아주셔서 감사합니다 강사님.

  • java
  • spring
  • 동시성
요니 댓글 2 좋아요 0 조회수 245

h2 초기 실행 문제

미해결

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

The Web Console server could not be started. Possible cause: another server is already running at http://192.168.0.25:8082 Root cause: Exception opening port "8082" (port may be in use), cause: "java.net.BindException: Address already in use: bind" [90061-224] Exception in thread "main" org.h2.jdbc.JdbcSQLNonTransientConnectionException: Exception opening port "8082" (port may be in use), cause: "java.net.BindException: Address already in use: bind" [90061-224] at org.h2.message.DbException.getJdbcSQLException(DbException.java:690) at org.h2.message.DbException.getJdbcSQLException(DbException.java:489) at org.h2.message.DbException.get(DbException.java:212) at org.h2.util.NetUtils.createServerSocketTry(NetUtils.java:211) at org.h2.util.NetUtils.createServerSocket(NetUtils.java:177) at org.h2.server.web.WebServer.start(WebServer.java:412) at org.h2.tools.Server.start(Server.java:548) at org.h2.tools.Console.runTool(Console.java:216) at org.h2.tools.Console.main(Console.java:72) Caused by: java.net.BindException: Address already in use: bind at java.base/sun.nio.ch.Net.bind0(Native Method) at java.base/sun.nio.ch.Net.bind(Net.java:565) at java.base/sun.nio.ch.Net.bind(Net.java:554) at java.base/sun.nio.ch.NioSocketImpl.bind(NioSocketImpl.java:636) at java.base/java.net.ServerSocket.bind(ServerSocket.java:391) at java.base/java.net.ServerSocket.<init>(ServerSocket.java:278) at java.base/java.net.ServerSocket.<init>(ServerSocket.java:171) at org.h2.util.NetUtils.createServerSocketTry(NetUtils.java:207) ... 5 more cmd 에서 h2.bat 실행 시 이렇게 포트가 이미 사용중이라고 뜨는데요 포트 번호 바꿔서 사용해도 될까요? 8083 같은거로요!

  • java
  • spring
  • mvc
  • spring-boot
댓글 1 좋아요 0 조회수 676

다른 강의도 듣고 싶어요

해결됨

따라하면서 배우는 고박사의 유니티 기초

https://www.youtube.com/@unitynote/playlists 에서 2D기초강의를 듣고 싶은데 2D횡스크롤 게임(예 : 메탈슬러그, 슈퍼마리오)을 만들려면 어느 강의를 추천할수 있나요?

  • unity
윤식 댓글 1 좋아요 0 조회수 322

급여 최저치 문제

미해결

윤재성의 Oracle SQL Database 11g PL/SQL Developer

안녕하세요 선생님, 좋은 강의 보여주셔서 감사합니다. 다름이 아니라 23강에서 문제 풀이 도중 이해가 안 가는 부분이 있어서 이렇게 여쭙습니다. <문제> -- 각 부서별 급여 최저치보다 더 많이 받는 사원들의 사원번호, 이름, 급여를 가져온다. <선생님 풀이> select empno, ename, sal from emp where sal > all (select min(sal) from emp group by deptno); 이렇게 진행되면 각 부서별 최저치에서 가장 높은 급여와 비교되는 것이 아닌가 싶어 질문드립니다. 총 인원이 14명인 경우 가장 최저치를 받는 사람들 3명(부서가 3개)을 제외하면 11명이 나와야 할 듯한데 선생님 답에서는 8명만 나와서요...

  • sql
  • oracle
  • PL/SQL
  • dbms/rdbms
Jaeyoung 댓글 1 좋아요 0 조회수 252

모델링 중 face가 뭉개지는 현상 문의

해결됨

블렌더 기초 : 3D그래픽 여행 아이콘을 만들며 배우는 블렌더 애니메이션 기초 과정

강사님 안녕하세요 :) 카드리더기 모델링 중 face 선택 시 스크린샷처럼 뭉개지는 현상이 있어 질문 드립니다. 처음부터 다시 만들어봤는데도 재현되었습니다. X-ray 모드에서 verticies 선택하고 move 하는 과정에서 뭔가 잘못되었나 싶기도 한데 혹시 짐작가시는 부분이 있을까요? 모델링할 때 어떤 부분을 주의해서 그리면 좋을지 궁금합니다 :)

  • blender
  • 3d
  • 3d-modelling
  • 3d-rendering
  • 3d-modeling
365kim 댓글 1 좋아요 0 조회수 329

Intellij 클래스만들때 질문

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

[질문 내용] 사진처럼 클래스를 만들면 주황색글씨로 뜨는데 혹시 오류가 있어서 그런걸까요? 제 Git 계정이랑 연동해놔서 그런건지 아니면 뭐가 문제가 생겨서 저렇게 주황색으로 되는건지 모르겠습니다.

  • java
  • intellij
moses11004 댓글 1 좋아요 0 조회수 431

테스트 할 때 궁금한점입니다!

미해결

스프링 DB 1편 - 데이터 접근 핵심 원리

========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 테스트 코드를 작성하다가 궁금한점입니다! assertion을 사용할 때 JUnit이 아닌 AssertJ 를 추천하는 이유가 있을까요?

  • spring
  • mvc
  • spring-jdbc
김태헌 댓글 1 좋아요 0 조회수 235

ArrayEx9 문제 질문

미해결

김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 안녕하세요! 좋은 수업 감사합니다:) 배열 문제와 풀이3(ArrayEx9)와 관련하여 질문드립니다. 초기 접근 방식 -상품 등록의 제약 조건인 10개 제한을 반복문의 조건으로 사용하고자 했습니다. 1의 문제 -배열의 길이를 변수로 설정하여 배열의 길이를 바꾸고자 하였지만, 배열은 최초 생성될 때의 길이가 고정된다는 것을 확인하였습니다. 해결책 탐색 배열의 길이를 바꾸는 방법을 찾아보니 총 2가지를 확인했습니다. (새로운 배열을 만든다는 점에서 같은 맥락인 것 같습니다..) -반복문 등을 이용해 배열을 복사하고 길이를 늘려 새로운 배열을 만드는 방법 -Array.copyOf()를 사용하여 새로운 배열을 만드는 방법(아직 학습하지 않았습니다.) 질문 1) 위의 3의 해결책말고 새로운 배열을 만드는 방법이 더 있나요? 2) 실무에서 실제로 제한된 숫자를 정해놓고 배열을 생성하나요? (회원가입에서 아이디와 패스워드의 개념으로 생각했습니다.) 읽어주셔서 감사합니다!

  • java
  • 객체지향
김미림 댓글 1 좋아요 0 조회수 251

fresh에 대하여 질문있습니다.

미해결

Next + React Query로 SNS 서비스 만들기

안녕하세요. 제로초님 좋은 강의 감사합니다. 해당 강의에서 fresh 상태일 때는 새로고침을 해도 서버에서 데이터를 가져오지 않고 캐시된 데이터를 사용한다고 하셨습니다. 그래서 fresh 상태일 때 새로고침을 하여 FollowRecommendSection 를 트리거 하였고 해당 API가 요청이 되는지 보았습니다. export default function FollowRecommendSection() { const { data } = useQuery<User[]>({ queryKey: ['users', 'followRecommends'], queryFn: getFollowRecommends, staleTime: 60 * 1000, // fresh -> stale, 5분이라는 기준 gcTime: 300 * 1000, }); return data?.map((user) => <FollowRecommend user={user} key={user.id} />); } export async function getFollowRecommends() { const res = await fetch(`http://localhost:9090/api/followRecommends`, { next: { tags: ['users', 'followRecommends'], }, cache: 'no-store', }); ... } 그런데 개발자도구 네트워크 탭에서는 밑에 사진과 같이 해당 API가 다시 요청되는것을 확인할 수 있었습니다. fresh 라 할지라도 API 요청은 항상 이루어지며 데이터만 캐시된 것을 ?? 가져오는 것인지 궁금합니다. 감사합니다.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
김건희 댓글 1 좋아요 1 조회수 392

강의 완강하고 앱을 만들어봤어요!

해결됨

Part1: 진짜 왕초보 iOS 배우기(SwiftUI, SwiftData, 2024)

안녕하세요 애그마 쌤 ! 얼마전 강의 완강하고 4일 동안 틈틈히 개발해서 간단한 앱을 만들어봤습니다,, ㅋㅋㅋ!! 자랑하고 싶은데.. 메일 주소가 없어서 일단 여기에 올려요 ㅋㅋㅋ ㅠ 직접 만든 첫 앱이라 기분이 좋네요 ㅋㅋ 심사 대처까지 강의에서 알려주셔서 한 번만 리젝당하고 빠르게 통과됐어요 ㅎㅎ 좋은 강의 제공해주셔서 감사합니다!!

  • ios
  • swift
  • swiftui
  • swift5.5
oilater 댓글 1 좋아요 4 조회수 474

반환유형이 클래스형 참조

해결됨

C개발자를 위한 최소한의 C++

안녕하세요 강사님, 반환 유형이 클래스 참조일 때 질문이 있습니다. 반환유형이 클래스형인 것보다는 메모리 효율을 위해서 클래스형 참조로 선언을 하는데, 반환하는 참조가 함수 내부에서 생성된 지역 인스턴스의 참조라면 함수 스코프를 벗어나면 해당 인스턴스는 소멸되므로 main함수에서는 참조를 못하게 되는 것 아닌가요? 이런 경우에는 반환 유형을 클래스형 참조가 아닌 클래스형으로 선언하는게 적절할까요? 감사합니다!

  • c++
  • microsoft-windows
  • 객체지향
  • 디자인-패턴
댓글 1 좋아요 0 조회수 246

값을 안넘겨주면 똑같이 저도 에러가 나긴 하는데 왜 콘솔창에는 warn이 안뜰까요?

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예 [질문 내용] 강의에서는 warn이 뜨고 name이 없다라는 콘솔문구가 뜨는데 저는 창을 들어가보면 에러는 똑같이 나는데 warn이 안뜨네여..

  • java
  • spring
  • mvc
  • spring-boot
댓글 2 좋아요 1 조회수 335

강의자료 부탁드립니다.

미해결

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

안녕하세요 강의자료 부탁드립니다.

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

인기 태그

인프런 TOP Writers

주간 인기글