inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

npm run dev 오류

미해결

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

npm run dev 를 실행했더니 [0] Error: listen EADDRINUSE: address already in use :::5000 [0] at Server.setupListenHandle [as _listen2] (node:net:1751:16) [0] at listenInCluster (node:net:1799:12) [0] at Server.listen (node:net:1887:7) [0] at Function.listen (C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\node_modules\express\lib\application.js:635:24) [0] at Object.<anonymous> (C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\server\index.js:58:5) [0] at Module._compile (node:internal/modules/cjs/loader:1256:14) [0] at Module._extensions..js (node:internal/modules/cjs/loader:1310:10) [0] at Module.load (node:internal/modules/cjs/loader:1119:32) [0] at Module._load (node:internal/modules/cjs/loader:960:12) [0] at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12) [0] at node:internal/main/run_main_module:23:47 [0] Emitted 'error' event on Server instance at: [0] at emitErrorNT (node:net:1778:8) [0] at process.processTicksAndRejections (node:internal/process/task_queues:82:21) { [0] code: 'EADDRINUSE', [0] errno: -4091, [0] syscall: 'listen', [0] address: '::', [0] port: 5000 [0] } [0] [0] Node.js v18.17.1 [0] [nodemon] app crashed - waiting for file changes before starting... [1] [HPM] Proxy created: / -> http://localhost:5000 [1] i 「wds」: Project is running at http://192.168.123.105/ [1] i 「wds」: webpack output is served from [1] i 「wds」: Content not from webpack is served from C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\public [1] i 「wds」: 404s will fallback to / [1] Starting the development server... [1] [1] Error: error:0308010C:digital envelope routines::unsupported [1] at new Hash (node:internal/crypto/hash:69:19) [1] at Object.createHash (node:crypto:133:10) [1] at module.exports (C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\webpack\lib\util\createHash.js:135:53) [1] at NormalModule._initBuildHash (C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\webpack\lib\NormalModule.js:417:16) [1] at handleParseError (C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\webpack\lib\NormalModule.js:471:10) [1] at C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\webpack\lib\NormalModule.js:503:5 [1] at C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\webpack\lib\NormalModule.js:358:12 [1] at C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\loader-runner\lib\LoaderRunner.js:373:3 [1] at iterateNormalLoaders (C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\loader-runner\lib\LoaderRunner.js:214:10) [1] at iterateNormalLoaders (C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\loader-runner\lib\LoaderRunner.js:221:10) [1] C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\react-scripts\scripts\start.js:19 [1] throw err; [1] ^ [1] [1] Error: error:0308010C:digital envelope routines::unsupported [1] at new Hash (node:internal/crypto/hash:69:19) [1] at Object.createHash (node:crypto:133:10) [1] at module.exports (C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\webpack\lib\util\createHash.js:135:53) [1] at NormalModule._initBuildHash (C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\webpack\lib\NormalModule.js:417:16) [1] at C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\webpack\lib\NormalModule.js:452:10 [1] at C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\webpack\lib\NormalModule.js:323:13 [1] at C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\loader-runner\lib\LoaderRunner.js:367:11 [1] at C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\loader-runner\lib\LoaderRunner.js:233:18 [1] at context.callback (C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\loader-runner\lib\LoaderRunner.js:111:13) [1] at C:\Users\sabc1\OneDrive\바탕 화면\boilerplate-mern-stack-master\client\node_modules\babel-loader\lib\index.js:59:103 { [1] opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], [1] library: 'digital envelope routines', [1] reason: 'unsupported', [1] code: 'ERR_OSSL_EVP_UNSUPPORTED' [1] } [1] [1] Node.js v18.17.1 [1] npm run start --prefix client exited with code 1 이런 오류가 뜹니다. node version 이 맞지 않아 생기는 오류 같은데 확인 부탁드려요ㅠㅠ

  • react
  • node.js
  • 웹앱
  • mongodb
  • express
Jayyy_77 댓글 1 좋아요 0 조회수 743

동영상 스트리밍시 간헐적으로 윈도우 사라짐발생됩니다.

미해결

모든 개발자를 위한 HTTP 웹 기본 지식

동영상제작시 문제가 있는것인지 모르겠으나 간헐적으로 동영상 플레이시 윈도우가 없어집니다. 다른 동영상도 해보았는데 문제는 없구요. 동영상 스트리밍 문제같은데 개선 부탁드립니다.

  • 네트워크
SpeedGogo 댓글 1 좋아요 0 조회수 334

크롬에서 카카오맵이 정상적으로 그려지지 않습니다.

해결됨

[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스

안녕하세요 강사님! 강의 정말 잘 보고 있습니다. 카카오맵 지도를 띄우는 코드를 작성하는 실습을 하면서 크롬으로 확인을 했는데요, 처음에는 아래의 오류가 떠서 구글링 후에 useEffect(() => { window.kakao.maps.load(() => { const container = document.getElementById("map"); // 지도를 담을 영역의 DOM 레퍼런스 const options = { // 지도를 생성할 때 필요한 기본 옵션 center: new window.kakao.maps.LatLng(33.450701, 126.570667), // 지도의 중심좌표. level: 3, // 지도의 레벨(확대, 축소 정도) }; const map = new window.kakao.maps.Map(container, options); // 지도 생성 및 객체 리턴 }); }, []); 위의 코드처럼 kakao의 map 객체가 로드되면 실행되게끔 수정을 했습니다. 그 후부터는 위의 오류가 뜨지는 않았지만 한참동안 브라우저 상단 탭에 로딩되는 상태가 보이다가 지도는 결국 보이지 않더라고요. 개발자도구의 네트워크 탭을 보면 아래와 같이 kakao.js 를 불러오지 못했다고 오류가 나오는데, 로딩 중에 크롬 콘솔에 window.kakao 를 쳐보면 정상적으로 찍힙니다. 크롬에서 브라우저 캐시를 삭제하는 방법, 시크릿창에서 해보는 방법, 새 api 키를 발급하는 방법 등등 해보았지만 모두 안됐는데 사파리에서 실행해보니 곧잘 되는걸 확인했습니다... 코드 상의 문제는 아닌 것 같은데 왜 크롬에서만 안되는 건지 혹시 알 수 있을까요..? 구글링하다가 저와 같은 이슈를 겪은 분의 글을 발견했는데, 이슈가 해결은 안됐지만 일단 첨부합니다. https://devtalk.kakao.com/t/kakao-maps-load-net-err-internet-disconnected/125422/4 위의 글 답변에서는 크롬 확장프로그램 문제일 가능성이 있다고 나오는데, 딱히 문제가 될 것 같은 확장프로그램도 없어서요.. 답변 부탁드립니다! 감사합니다!

  • react
  • node.js
  • seo
  • graphql
  • next.js
summery 댓글 2 좋아요 0 조회수 1943

스타일콤포넌트 스크립트의 색상 다르게 보이는 부분 문의 드립니다.

미해결

처음 만난 리액트(React)

스타일콤포넌트 작성 부분에 백틱 다음 문자열 작성에 소플님의 VS 화면의 css 스타일 코드 부분이 하늘색(?)과 노랑색, 갈색으로 보여서 가독성이 좋아 보입니다. 그런데 저는 백틱 다음의 문자열이 모두 갈색으로 보이는데 VS환경설정 기능에 뭔가 있는 건가요? 다른 부분은 색깔 구분에 잘되어져 보이는데, 유독 스타일콤포넌트의 백틱 부부분만 색상 구분이 안됩니다.

  • HTML/CSS
  • javascript
  • react
Sun-Wook Lee 댓글 1 좋아요 1 조회수 328

준비중이신 강의 문의

미해결

STM32 CAN 통신

좋은 강의 감사합니다! 올라온 질문 답변보니까, 새로운 강의 계속 준비하시는거 같은데.. NUCLEO-F4XXX 보드로 "I2C" / "SPI" / "UART 이용한 Lin통신" 강의도 해주시면 안되나요?!?!

  • lin
  • sent
  • CAN
  • MCU
dayday 댓글 1 좋아요 0 조회수 390

중간테이블관련 질문

미해결

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

@ManyToMany에 대해 학습하는 중 궁금증이 생겨질문드립니다. ManyToMany의 경우 내부적으로 중간테이블이 생성되기에 개발자가 선제적으로 중간테이블을 생성하여 관리하는것이 편하고, 나아가 해당 중간테이블에 어떠한 비즈니스 로직에 의해 컬럼을 추가하면 하나의 엔티티로 승격된다고 이해하였습니다. ManyToMany가 아닌 다른 OneToOne과 같은 관계에서 두개의 테이블이 동시에 조회해야하는 경우가 잦을때 어떠한 비즈니스 로직으로 공통되는 필드가 많을때 이러한 경우에 다대다 관계가 아니더라도 추가적인 중간 테이블 생성이 지향 되는지 질문합니다. 감사합니다.

  • java
  • jpa
asdsadasd 댓글 1 좋아요 0 조회수 270

프로젝트 실행 시 오류가 발생합니다.

미해결

Vue.js + TypeScript 완벽 가이드

INFO Starting development server... 10% building 2/5 modules 3 active D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\webpack\hot\dev-server.jsError: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:69:19) at Object.createHash (node:crypto:138:10) at module.exports (D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\webpack\lib\util\createHash.js:135:53) at NormalModule._initBuildHash (D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\webpack\lib\NormalModule.js:417:16) at handleParseError (D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\webpack\lib\NormalModule.js:471:10) at D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\webpack\lib\NormalModule.js:503:5 at D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\webpack\lib\NormalModule.js:358:12 at D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\loader-runner\lib\LoaderRunner.js:373:3 at iterateNormalLoaders (D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\loader-runner\lib\LoaderRunner.js:214:10) at iterateNormalLoaders (D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\loader-runner\lib\LoaderRunner.js:221:10) at D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\loader-runner\lib\LoaderRunner.js:236:3 at runSyncOrAsync (D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\loader-runner\lib\LoaderRunner.js:130:11) at iterateNormalLoaders (D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\loader-runner\lib\LoaderRunner.js:232:2) at Array.<anonymous> (D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\loader-runner\lib\LoaderRunner.js:205:4) at Storage.finished (D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16) at D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9 node:internal/crypto/hash:69 this[kHandle] = new _Hash(algorithm, xofLen); ^ Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:69:19) at Object.createHash (node:crypto:138:10) at module.exports (D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\webpack\lib\util\createHash.js:135:53) at NormalModule._initBuildHash (D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\webpack\lib\NormalModule.js:417:16) at handleParseError (D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\webpack\lib\NormalModule.js:471:10) at D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\webpack\lib\NormalModule.js:503:5 at D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\webpack\lib\NormalModule.js:358:12 at D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\loader-runner\lib\LoaderRunner.js:373:3 at iterateNormalLoaders (D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\loader-runner\lib\LoaderRunner.js:214:10) at Array.<anonymous> (D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\loader-runner\lib\LoaderRunner.js:205:4) at Storage.finished (D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16) at D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9 at D:\workspace\study\vue-advanced-13_api-advanced\vue-news\node_modules\graceful-fs\graceful-fs.js:123:16 at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) { opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED' } Node.js v20.3.1 혹시 Node.js 버전 문제일까요?

  • vue.js
  • typescript
PUG운영1 댓글 2 좋아요 1 조회수 639

강의자료

미해결

비전공자/입문자를 위한 Data Science(DS)와 AI 학습 & 취업 가이드

수강평 작성 완료했습니다. jaewon0002@gmail.com으로 강의 자료 부탁드립니다.

  • 머신러닝
  • 딥러닝
뚜둗 댓글 1 좋아요 0 조회수 371

1-G 질문있습니다.

미해결

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

http://boj.kr/5e2d9c89a3674e6d9ead6886797b12a2 강의를 보기 전에 작성한 코드입니다. 문제에서 주어진 예제는 다 맞게 나오는데 어느 부분이 잘못되었는지 모르겠습니다ㅜㅜ

  • c++
  • 코딩-테스트
yjs000616 댓글 1 좋아요 0 조회수 345

@AuthenticationPrincipal null 현상 해결이 되지 않습니다 .. ㅠㅠ

미해결

Filter 처리 후 SecurityContextHolder에 주입 그 후 컨트롤러에서 @AuthenticationPrincipal 로 가져올 시 null 현상이 일어납니다. 컨트롤러 단에서 SecurityContextHolder 에서 꺼내서 Principal 가져올 시 존재하는데 어노테이션을 통하여 사용하려고 하니 null 이 뜨네요.. 혹시 무언가 잘못된 부분이 있을까요 ..? Security 인증은 따로 사용하지 않고 있습니다. Spring Cloud Gateway ->모듈 Fileter -> Controller 로 사용중입니다. SCG에서 토큰 검증 후 uid를 모듈로 넘겨준 후 공통으로 사용하기 위해 AuthenticationPrincipal를 사용하려 합니다. FIlter TokenProvider Test Controller User Entity UserDetails Override

  • springsecurity
  • customfilter
  • SecurityContext
  • authentication
  • principal
호띠 댓글 1 좋아요 0 조회수 1274

13:44 질문 있습니다

미해결

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

float arr2d[2][4] = { {1.0f,2.0f,3.0f,4.0f},{5.0f,6.0f,7.0f,8.0f} }; float(*pa)[4]; float* ap[2]; pa = arr2d; ap[0] = arr2d[0]; ap[1] = arr2d[1]; printf("%p %p\n", ap, (ap + 1)); 이 부분에서 출력이 ap변수 본인의 주소가 출력되는건 이해 했습니다 . int arr[2][3] = { {1,2,3},{4,5,6} }; int* parr[2]; parr[0] = arr[0]; parr[1] = arr[1]; for (int j = 0; j < 2; ++j) { for (int i = 0; i < 3; ++i) printf("%d %d %d %d\n", arr[j][i], parr[j][i], *(parr[j] + i), *(*(parr + j) + i)); printf("\n"); } 이 코드는 10.13강의 13:16초 부분에서 가져온 코드인데요 . 궁금한게 이중포문 안쪽 부분에서 *(*(parr + j) + i) <-- 얘가 계산될때 괄호에 의해서 (parr + j) 가 먼저 연산이 되잖아요 ?? 그러면 이때도 parr 본인의 주소값에 j가 더해져서 엉뚱한값이 나와야 할텐데 , 정상적으로 출력이 되어서 위에 ap변수가 본인의 주소값을 출력할때랑 어떤부분이 다른지 궁금합니다 ...

  • c
푸레 댓글 1 좋아요 1 조회수 397

cascade 사용에 대한 질문이 있습니다.

미해결

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

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 네 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 네 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 네 [질문 내용] 현재 비즈니스상 Delivery 를 사용하는 곳이 Order 한 곳이라 cascade 를 사용하였는데, 추후에 기능확장으로 인해 다른 곳엔티티에서도 Delivery 를 관리하게 되는 경우 기존의 cascade 를 제거하고 orderService 의 order 비즈니스 로직을 변경해야하는 것일까요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
jaden 댓글 1 좋아요 0 조회수 373

git remote origin까지는 되는데

해결됨

팀 개발을 위한 Git, GitHub 입문

git push origin master 이걸 입력하면 error: src refspec master does not match any error: failed to push some refs to 'https://github.com/OH-jewoong/Boxiting.git' 위처럼 뜨는데 어떻게 해야 하는 건가요?

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

assertThat() 입력 시 actual 의 종류가 너무 많이 추천(?) 됩니다.

미해결

스프링 핵심 원리 - 기본편

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] assertThat() 을 타이핑 하는 순간 3초 정도 IDE 가 멈추고 이렇게 actual 타입이 추천(?) 됩니다. 강사님께서는 이런 과정 없이 바로 진행이 되던데 이 설정을 어디서 조절하면 좋을까요..?

  • spring
  • 객체지향
  • assertions
김창희 댓글 2 좋아요 0 조회수 437

The instance member 'simulatorIP' can't be accessed in an initializer

미해결

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

simulatorIP와 emulatorIP가 빨간색 줄로 나타나며 The instance member 'simulatorIP' can't be accessed in an initializer 다음과 같은 오류가 발생합니다. Stackoverflow를 통해 찾아보았으나 구체적으로 무슨 오류인지 파악하기가 어려워 질문드리고자 합니다.

  • flutter
  • 하이브리드-앱
yjym33 댓글 1 좋아요 0 조회수 352

섹션7. 단지 번호 붙이기 (DFS)

해결됨

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

안녕하세요, 강사님. 아래 제 풀이는 in3.txt에 대한 올바른 답을 반환하지 못합니다. 그 이유에 대해서 알 수 있을까요? 즉 강사님의 코드와 제 코드의 차이점에 대해 좀 더 자세히 알 수 있을까요? <강사님 코드> import sys sys.stdin=open("input.txt", "r") dx=[-1, 0, 1, 0] dy=[0, 1, 0, -1] def DFS(x, y): global cnt cnt+=1 board[x][y]=0 for i in range(4): xx=x+dx[i] yy=y+dy[i] if 0<=xx<n and 0<=yy<n and board[xx][yy]==1: DFS(xx, yy) if name =="__main__": n=int(input()) board=[list(map(int, input())) for _ in range(n)] res=[] for i in range(n): for j in range(n): if board[i][j]==1: cnt=0 DFS(i, j) res.append(cnt) print(len(res)) res.sort() for x in res: print(x) <제 코드> import sys sys.stdin=open("input.txt", "r") dx=[-1, 1, 0, 0] dy=[0, 0, -1, 1] # '1'인 지점으로부터 그 주위 '1'인 애들 탐색 def DFS(x,y): global cnt for i in range(4): xx=x+dx[i] yy=y+dy[i] if 0<=xx<n and 0<=yy<n and board[xx][yy]==1: board[xx][yy]=0 cnt+=1 DFS(xx,yy) if name =="__main__": n=int(input()) board=[list(map(int, input())) for _ in range(n)] res=[] # 먼저 '1'인 지점을 출발점으로 삼고 DFS 호출하기 for i in range(n): for j in range(n): if board[i][j]==1: cnt=0 DFS(i,j) res.append(cnt) res.sort() print(len(res)) for x in res: print(x)

  • python
  • 코딩-테스트
kongkongkong 댓글 2 좋아요 0 조회수 357

swift에서 import 헤더를 안해도 되는이유가 궁금합니다.

미해결

성공적인 진짜 iOS 개발자 되기 [기초부터 실무까지]

보통 다른언어의 경우 다른 클래스파일을 사용할경우 (import 클래스파일) 이런식으로 선언해주어야지만 해당 클래스파일을 사용 할수 있다고 알고있습니다. 그런데 swift의 경우 따로 (import 클래스파일) 을 해주지 않아도 사용이 가능해서 어떤 원리로 작동되는지 궁금합니다.

  • ios
  • swift
신과함께 댓글 1 좋아요 1 조회수 668

fetch join alias

미해결

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

fetch join 시 alias를 사용해서 필터링하는게 왜 안되는걸까요? 이거에 대한 답변으로 디비상태와 객체상태의 일관성이 깨지게 됨을 보통 얘기하시는것같아요 alias를 사용해서 필터링해버리면 실제 디비에 있는 데이터보다 적은 개수가 나오게 되니까요. 근데 어차피 그 필터링된 결과만을 결과로 리턴해주어야한다면 사용해도 괜찮을 것 같은데 디비상태와 객체상태의 일관성이 깨지는게 왜 문제가될까요? 그래서 생각을 해봤는데 크게 다음인것같아요 - 유지관리어려울 수 있음 - 캐싱문제 근데 저 두 문제가 정말 큰 문제가 되는지를 잘 모르겠어요...; 유지관리 어려울수야 있겠지만 그렇게 까지 어려울지도 잘 모르겠고, 캐싱문제(쿼리결과캐싱)도 저 코드에 의해 영향이 얼마나 많이 갈지..도 잘 모르겠어요 저 유지관리/캐싱 문제가 아니라.. 2차캐시때문인가요? 예를들어서 team과 member가 일대다 연관이고 team을 select해온다는 sql이 있다고 가정 1. fetch join + on 절 : 디비에 있는 일부 데이터 불러옴 2. fetch join 만있어서 디비에있는 모든 데이터 불러옴 하나의 트랜잭션에서 1호출 뒤에 2를 호출하면 디비에 쿼리를 날리긴하지만 이미 team_id에 해당하는 객체가 영속성 컨텍스트에있어서 가져온거버림 그래서 추후에 문제가생길 수 있음 --- 인건가요?

  • java
  • jpa
김민지 댓글 2 좋아요 2 조회수 498

인기 태그

인프런 TOP Writers

주간 인기글