묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결Node.js에 TypeScript 적용하기(feat. NodeBird)
throw new Error(`${this.name}.hasMany called with something that's not a subclass of Sequelize.Model`); 에러 질문
테이블 생성 마이그레이션 db에 생성 완료 확인하였습니다.(유저 - 주소, 1대 다 관계db.User.hasMany(db.Address)db.Address.belongsto(db.User))하였으나이후 서버를 실행하니 다음과 같은 에러가 발생합니다.throw new Error(`${this.name}.hasMany called with something that's not a subclass of Sequelize.Model`);^Error: User.hasMany called with something that's not a subclass of Sequelize.Modelat Function.hasMany (E:\gmleh\workspace\react-shoppingmall\back\node_modules\sequelize\lib\associations\mixin.js:18:13)at associate (E:\gmleh\workspace\react-shoppingmall\back\models\user.ts:59:17)at Object.<anonymous> (E:\gmleh\workspace\react-shoppingmall\back\models\index.js:41:22)at Module._compile (node:internal/modules/cjs/loader:1126:14)at Object.Module._extensions..js (node:internal/modules/cjs/loader:1180:10)at Module.load (node:internal/modules/cjs/loader:1004:32)at Function.Module._load (node:internal/modules/cjs/loader:839:12)at Module.require (node:internal/modules/cjs/loader:1028:19)at require (node:internal/modules/cjs/helpers:102:18)at Object.<anonymous> (E:\gmleh\workspace\react-shoppingmall\back\app.ts:2:1) addresses 테이블 마이그레이션 -유저모델-주소 모델 - 테이블 생성 확인 -
-
미해결배달앱 클론코딩 [with React Native]
Creating a new application 에서 오류가 납니다.
$ npx react-native@latest init AwesomeProject 커맨드를 실행했을때,✔ Downloading template ✔ Copying template ✔ Processing template ✖ Installing Ruby Gems error Fetching gem metadata from https://rubygems.org/........ Resolving dependencies... Fetching rexml 3.2.6 Installing rexml 3.2.6 Fetching CFPropertyList 3.0.6 Installing CFPropertyList 3.0.6 Fetching concurrent-ruby 1.2.2 Installing concurrent-ruby 1.2.2 Fetching i18n 1.14.1 Installing i18n 1.14.1 Fetching minitest 5.20.0 Installing minitest 5.20.0 Fetching tzinfo 2.0.6 Installing tzinfo 2.0.6 Fetching zeitwerk 2.6.12 Installing zeitwerk 2.6.12 Fetching activesupport 6.1.7.6 Installing activesupport 6.1.7.6 Fetching public_suffix 4.0.7 Installing public_suffix 4.0.7 Fetching addressable 2.8.5 Installing addressable 2.8.5 Fetching httpclient 2.8.3 Installing httpclient 2.8.3 Fetching json 2.6.3 Installing json 2.6.3 with native extensions Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/jt/study/react-native/FirstProject3/vendor/bundle/ruby/2.6.0/gems/json-2.6.3/ext/json/ext/generator /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/bin/ruby -I /System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/lib/ruby/2.6.0 -r ./siteconf20230930-36317-qqfojl.rb extconf.rb creating Makefile current directory: /Users/jt/study/react-native/FirstProject3/vendor/bundle/ruby/2.6.0/gems/json-2.6.3/ext/json/ext/generator make "DESTDIR=" clean current directory: /Users/jt/study/react-native/FirstProject3/vendor/bundle/ruby/2.6.0/gems/json-2.6.3/ext/json/ext/generator make "DESTDIR=" compiling generator.c In file included from generator.c:1: In file included from ./../fbuffer/fbuffer.h:5: In file included from /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby.h:33: /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:24:10: fatal error: 'ruby/config.h' file not found #include "ruby/config.h" ^~~~~~~~~~~~~~~ /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX14.0.sdk/System/Library/Frameworks/Ruby.framework/Versions/2.6/usr/include/ruby-2.6.0/ruby/ruby.h:24:10: note: did not find header 'config.h' in framework 'ruby' (loaded from '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks') 1 error generated. make: *** [generator.o] Error 1 make failed, exit code 2 Gem files will remain installed in /Users/jt/study/react-native/FirstProject3/vendor/bundle/ruby/2.6.0/gems/json-2.6.3 for inspection. Results logged to /Users/jt/study/react-native/FirstProject3/vendor/bundle/ruby/2.6.0/extensions/universal-darwin-22/2.6.0/json-2.6.3/gem_make.out An error occurred while installing json (2.6.3), and Bundler cannot continue. Make sure that `gem install json -v '2.6.3' --source 'https://rubygems.org/'` succeeds before bundling. In Gemfile: cocoapods was resolved to 1.13.0, which depends on cocoapods-core was resolved to 1.13.0, which depends on algoliasearch was resolved to 1.27.5, which depends on json ✖ Installing Ruby Gems error Looks like your iOS environment is not properly set. Please go to https://reactnative.dev/docs/environment-setup?os=macos&platform=android and follow the React Native CLI QuickStart guide for macOS and iOS. info Run CLI with --verbose flag for more details.MacOS-Android공식문서(https://reactnative.dev/docs/environment-setup?os=macos&platform=android)차례대로 실행햇구요.java version "11.0.16" 2022-07-19 LTS으로 설치되어 있구요.Cocoapods랑 ruby랑 설치해보면서 이것저것 해보려했는데 잘안되네요.
-
미해결문과생도, 비전공자도, 누구나 배울 수 있는 파이썬(Python)!
Jupyter lab 실행 오류
안녕하세요, 주피터랩 설치 후 실행 시 지속적으로 오류가 뜹니다. 아래의 3개 이슈가 반복적으로 발생하고 있으며, 삭제 후 재설치에도 문제 지속 발생 중입니다.현재 아나콘다 3 버젼: 2.5.0Python 버젼: 3.11주피터랩 버젼: 3.6.3 Kernel failed to fetch 이슈: 아래와 같은 메세지가 지속 뜨고, no Kernel이라는 상태가 지속됩니다.2. Server connection error 이슈: localhost로 셋업되어 있는 것으로 이해하고 있는데, 그럼에도 불구하고 아래와 같은 이슈가 발생합니다.Command prompt 통해서 jupyter lab 실행 시 에러jupyter-lab 명령어를 통해서 주피터 랩을 실행하고, 위의 url을 통해서 주피터랩에 접속하면 아래와 같은 추가 메세지가 뜨고, 주피터가 종료되는 듯 합니다.
-
해결됨스프링 부트 웹 개발 입문 - 따라하며 배우기
@Data 인식 문제
계속하여 아래와 같이 getNo()을 인식하지 못하는 오류가 발생하고 있습니다.Method getNo() cannot be found on type com.example.demo.v2_VO.VO.Order_list 그래서 한참을 해맨 후에 vo의 @Data가 Getter의 기능을 하지 못하고 있는 것을 알게되었습니다.일일이 getter를 만들어주니까 돌아가더라구요... 그래서 lombok의 문제로 생각하고 롬복을 설치하고 외부 라이브러리를 추가해주는 식으로 해결하려고 하였습니다. 이렇게 조치를 해도 계속 오류가 나더라구요.. 혹시 김부장님께서는 이런 경우 다른 방법으로 문제를 해결하신 적 있으신가요?
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
gradle이 실행이 안됩니다
윈도우 환경에서 gardle을 빌드 시키려고 하면org.gradle.api.UncheckedIOException: Could not load properties for module 'gradle-cli' 이 오류가 뜹니다 인텔리제이 재설치,스프링 재설치,vscode로 실행등을 다 해봐도계속 저 오류가 뜹니다인텔리제이 재설치 이후에는 Unable to load class 'org.slf4j.LoggerFactory'.This is an unexpected error. Please file a bug containing the idea.log file.가 뜹니다
-
미해결스프링과 JPA 기반 웹 애플리케이션 개발
3:34 인증 메일 확인 - 입력값 오류
안녕하세요.아직 앞부분이지만 강의 최고입니다. 질문1테스트코드 인증 메일 확인 - 입력값 오류에 대해서 지금 로직은 이메일 자체가 없으니까 이메일이 없는 오류고 이메일은 존재하나 토큰이 일치 하지않는경우 이렇게 2가지로 테스트 코드를 진행할 필요까진 없는건가요 ? =================================질문25:45 초에는 @Transactional 을 달아주셨는데 이 이유가58 라인에 있는 newAccount.generateEmailCheckToken(); 코드를 영속객체로 관리 해주기 위함 이라고 생각하면 될까요?
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
3-M아이디어가 있어도 코드로 구현하기가 어려운데
구현문제를 풀어야 하나요? 맨날 답지 봐야 돼서 특히 재귀 함수 써야 할때는 ㅠㅠ dp도 그래서 너무 어려워요
-
해결됨[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter
cloud Firestore 설정
FireStore Database에 들어가서 데이터베이스 생성하기 누르고 설정했는데 오류가 나더니이렇게 뜨네요,, 이런 경우 어떻게 해야 할까요,,?
-
해결됨도커 쓸 땐 필수! 도커 컴포즈
docker 설치 후 첫 실행 시 docker.sock. 에러
mac os 로컬에 터미널로 아래와 같이 설치를 했습니다.desktop 버전을 설치하지 않은 이유는,현재 사내 업무용 맥북으로 개인실습을 하고 있어서 docker for desktop 버전을 사용할 수 없기 때문입니다 ! ㅜ$ brew install docker $ brew install docker-compose첫 실행 시에 아래와 같은 에러로 진행이 안됩니다ㅜ 구글링해서 시도했던건,$ docker run -it -p 8080:80 nginx docker: Cannot connect to the Docker daemon at unix:///Users/.docker/run/docker.sock. Is the docker daemon running?. See 'docker run --help'.$ dockerd -H /var/run/docker.sock zsh: command not found: dockerd $ sudo systemctl status docker sudo: systemctl: command not found $ systemd zsh: command not found: systemd 계속해서 systemd가 없다고 해서 systemd를 설치를 시도했는데이에 대해서도 에러가 나오더라고요ㅜ Error: systemd: Unsatisfied requirements failed this build.$ brew install systemd Running `brew update --auto-update`... ==> Auto-updated Homebrew! Updated 5 taps (homebrew/cask-fonts, homebrew/services, caskroom/cask, homebrew/core and homebrew/cask). ==> New Formulae biome gotestwaf mtbl sqlsmith blake3 helidon numbat squiid build2 iocextract orcania tailwindcss caracal ldeep postgresql@16 uffizzi checkdmarc libimobiledevice-glue pter web-ext colmap libmapper qalculate-qt yder dovi_tool llvm@16 recoverpy ggshield modsecurity scoutsuite ==> New Casks akuity cloudnet meld-studio proxy-audio-device telegram-a akuity dropshelf meld-studio reqable telegram-a ava dropshelf mutedeck reqable to-audio-converter ava ecodms-client mutedeck routine to-audio-converter batteryboi ecodms-client muyu routine twelite-stage batteryboi expo-orbit muyu rustrover twelite-stage chainner expo-orbit paulxstretch rustrover wetype chainner finbar paulxstretch sf wetype clinq finbar playdate-mirror sf clinq font-gabarito playdate-mirror spundle cloudnet font-pixelify-sans proxy-audio-device spundle You have 23 outdated formulae installed. systemd: Linux is required for this software. libcap: Linux is required for this software. Error: systemd: Unsatisfied requirements failed this build.구글링해보니 `launchctl` 가 설치되어있는 사용자에 대해서이런 증상이 나오는 것 같습니다.저도 `launchctl`에 대해선 설치가 되어있는걸로 확인했는데..어떻게 해야 해결이 될지 도움을 요청드립니다 !
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
바닥 장식 (백준 1388) 문제 질문입니당
저는 맵2차원배열을 boolean으로 사용하고싶어아래와 같이 코드를 작성해봤습니당... 예제입력1. 은 답이 잘나오는데 나머지는 왜 틀리게 나올까용... package DFS; import java.io.*; import java.util.StringTokenizer; import java.util.Vector; /* 바닥 장식 https://www.acmicpc.net/problem/1388 */ public class B1388 { final static int MAX =50+10; static boolean [][] map; static boolean [][] visited; static int M,N; static void dfs(int y, int x){ visited[y][x]=true; if (map[y][x]==true&& map[y][x+1]==true){ dfs(y, x + 1); } if(map[y][x]==false&&map[y+1][x]==false){ dfs(y+1,x ); } } public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); StringTokenizer st = new StringTokenizer(br.readLine()); N = Integer.parseInt(st.nextToken()); M = Integer.parseInt(st.nextToken()); map = new boolean[MAX][MAX]; visited = new boolean[MAX][MAX]; //맵정보 반영 for (int i = 1; i <= N; i++) { String str = br.readLine(); for (int j = 1; j <= M; j++) { map[i][j] = (str.charAt(j - 1) == '-' ? true : false); } } //dfs int answer=0; for (int i = 1; i <= N; i++) { for (int j = 1; j <= M; j++) { if(map[i][j]&&visited[i][j]==false){ dfs(i,j); answer++; } } } bw.write(String.valueOf(answer)); bw.flush(); bw.close(); } }
-
미해결스프링 핵심 원리 - 고급편
어드바이저 빈에 대해서는 프록시를 적용하지 않나요?
자동 프록시 생성기는 빈이 후처리기로 들어오면 어드바이저 빈과 후처리기로 들어온 빈을 매칭해서 프록시의 생성여부를 결정하는 걸로 이해했습니다.그러면 처음에 어드바이저 빈을 생성할 때에는 자동 프록시 생성기가 '얘는 어드바이저 빈이구나. 프록시를 생성할 필요가 없겠어' 라고 판단하고 걸러주는 건가요?
-
미해결
[파이썬 웹스크래핑] requests를 하면 일부 소스코드만 출력이 됩니다.
안녕하세요 파린이입니다! 현재 웹스크래핑을 독학중에 있는데요 아래와 같이 코드를 작성했을 때 a태그값을 불러오지 못합니다.문제점이 뭔지 확인을 하기 위해 soup만을 작성하여 전체 html 코드를 가져오면 사이트 개발자도구에 나타나는 코드보다 현저하게 적은 코드들만이 불러와 집니다.ex. 숨김처리 펼치기 전 코드들이 대부분 나오지 않는 것 같습니다. 그래서 print(soup.title)이라고 했을 때는 해당 값이 html코드에 존재해서 정상적으로 '네이버 웹툰' 이라는 값이 불러와 지는데 그 외 a 태그와 같이 사이트 내에는 존재하지만 print(soup)을 통해 출력했을때 나오지 않는 태그들은 None값이 출력됩니다. 전체 html코드를 전부 가져오려면 어떻게 해야 할까요?작성 환경은 아나콘다의 주피터노트북입니다. from bs4 import BeautifulSoupimport requestsurl = 'https://comic.naver.com/webtoon'res = requests.get(url)res.raise_for_status()soup = BeautifulSoup(res.text, 'lxml')print(soup.a)-> None
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
Sequence 방식 allocation 기본 값 50에 대한 이해
안녕하세요 allocation 방식에 대해 좀 헷갈려서제가 이해한게 맞는지 문의 드릴려고 합니다.. 제 생각을 정리 해봤습니다. allocation 기본값 50 설정은 실제 DB 쿼리 문은 2번만 날려 시퀀스 값을 미리 51로 설정 해놓아 메모리상으로 51까지 순차적으로 증가시킨 후 51까지 도달되면 다시 DB로 시퀀스 증가 쿼리문을 날려 101로 증가돼 성능 이점을 챙긴다. 물리적 DBDB 한번 호출 시퀀스 값 1 / PK 값 1DB 두 번 호출 시퀀스 값 51 / PK 값 2===============================이제 메모리에서 1씩 가져옴 물리 DB PK 값이 51번까지 게속 사용PK 값이 51까지 도달된다면 DB로 시퀀스 50 증가 쿼리 전송동시성은 메모리에 이미 올라와 있는걸 사용하기 때문에 문제 없음
-
해결됨Three.js로 시작하는 3D 인터랙티브 웹
reorder('YXZ') 동작
강의 너무 재밌게 잘 듣고 있습니다!roatation에서 reorder를 했을때 어떻게 동작하는 것인지 정확히 이해가 가지 않아서 질문 남겨봅니다~reorder('YXZ') 는 어떤 것을 위해 설정한 것인지, YXZ 순서가 무엇을 의미하는지 궁금합니다~ (rotation.x, rotation.y 로 값을 설정하는데, YXZ 순서는 어떤 것을 설정해주는 것인지요?)아래 코드처럼 테스트했을때, 1,2번 위치에 설정했을때는 잘 동작하고, 마지막에 설정했을때는 기존처럼 동작하는데, reorder() 해주는 위치도 궁금합니다. (한번 설정하면 계속 동작하는 것인지?)// 1. 회전 전에 설정 mesh.rotation.reorder('YXZ'); mesh.rotation.y = THREE.MathUtils.degToRad(45); // 2. 중간에 설정 mesh.rotation.reorder('YXZ'); mesh.rotation.x = THREE.MathUtils.degToRad(20); // 3. 마지막에 설정 mesh.rotation.reorder('YXZ');
-
해결됨[자바/Java] 문과생도 이해하는 DFS 알고리즘! - 입문편
침투 (백준 13565) 문제중 질문입니당
아래 코드에서 왜DFS를 수행할때 MAP[1] 이 왜 고정인지 잘모르겠습니다... //맵정보 저장 for (int i = 1; i <= N; i++) { String str = br.readLine(); for (int j = 1; j <= M; j++) { map[i][j] = (str.charAt(j - 1) == '0' ? true : false); } } //dfs for (int j = 1; j <= M; j++) { if (map[1][j]) { // 왜 map[1][j] 일까요 dfs(1, j); // 또한 dfs도왜 1,j 일가요 } }
-
해결됨2주만에 통과하는 알고리즘 코딩테스트 (2024년)
최적화(정수론) 질문
21분 22초에서 176에서 177까지의 수에서 2의 제곱수로 나누어지는 약수를 모두 찾아 더하는 문제인데요.뜬금없게 느껴졌는데,176은 16으로 나누어 떨어지고, 177은 1로 나누어 떨어지니 16+1 =17이 답이다라고 하셨는데... 저는 이 전개가 전혀 이해가 되지 않습니다...어떻게 16 + 1이 나오는지 알려주시면 감사하겠습니다....
-
해결됨
애드몹 테스트 광고가 안떠요 ㅠ
이런 로그캣이 뜨는데 이유가 뭘까요 ㅠㅠ 이건 모듈 그래들 파일입니다.plugins { id("com.android.application") } android { namespace = "com.example.admobtest" compileSdk = 33 defaultConfig { applicationId = "com.example.admobtest" minSdk = 20 targetSdk = 33 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { isMinifyEnabled = false proguardFiles( getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro" ) } } compileOptions { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } } dependencies { implementation ("com.google.android.gms:play-services-ads:21.1.0") implementation("androidx.appcompat:appcompat:1.6.1") implementation("com.google.android.material:material:1.9.0") implementation("androidx.constraintlayout:constraintlayout:2.1.4") testImplementation("junit:junit:4.13.2") androidTestImplementation("androidx.test.ext:junit:1.1.5") androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1") } 이건 메인 액티비티.자바 파일입니다.package com.example.admobtest; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import com.google.android.gms.ads.AdRequest; import com.google.android.gms.ads.AdView; import com.google.android.gms.ads.MobileAds; import com.google.android.gms.ads.initialization.InitializationStatus; import com.google.android.gms.ads.initialization.OnInitializationCompleteListener; public class MainActivity extends AppCompatActivity { private AdView mAdView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); MobileAds.initialize(this, new OnInitializationCompleteListener() { @Override public void onInitializationComplete(InitializationStatus initializationStatus) { } }); mAdView = findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); mAdView.loadAd(adRequest); } } 이건 액티비티 메인.xml 파일입니다.<?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <com.google.android.gms.ads.AdView xmlns:ads="http://schemas.android.com/apk/res-auto" android:id="@+id/adView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_alignParentBottom="true" ads:adSize="BANNER" ads:adUnitId="ca-app-pub-3940256099942544/6300978111"> </com.google.android.gms.ads.AdView> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello World!" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> 이건 마니페스트 파일입니다.<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools"> <uses-permission android:name="com.google.android.gms.permission.AD_ID"/> <application android:allowBackup="true" android:dataExtractionRules="@xml/data_extraction_rules" android:fullBackupContent="@xml/backup_rules" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/Theme.AdmobTest" tools:targetApi="31"> <activity android:name=".MainActivity" android:exported="true"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <meta-data android:name="com.google.android.gms.ads.APPLICATION_ID" android:value="ca-app-pub-3940256099942544~3347511713"/> </application> </manifest> 계속봐도 뭐가 문제인지 잘 모르겠습니다. ㅠㅠ혹시 원인이랑 수정해야하는 부분을 알 수 있을까요?
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
처음 저장한 데이터가 조회가 안됩니다.
안녕하세요. 현재 대학생이고 김영한님 강의를 본 후 프로젝트를 진행중입니다.다름이 아니라, 현재 Tale과 Keyword의 다대다 연관관계를 피하기 위해 중간에 TaleKeyword라는 중간 테이블을 두었고, Tale은 Member 테이블과 일대일 연관관계를 설정해두었습니다.동화(Tale)를 키워드, 회원정보에 끼워넣고 생성하는 API는 완성하였고 DB에 쌓이는 것까지 확인했습니다. 하지만, memberId를 이용해서 조회하려고 하니, 맨 처음 memberId가 1인 회원의 처음 저장한 taleId 1번의 데이터와 memberId가 2인 회원의 처음 저장한 동화인 taleId가 4인 동화가 조회가 안됩니다.(나머지 taleId 2, 3, 5번 데이터는 조회가 잘됩니다.) 쿼리문은 다음과 같이 짰고 영속성 문제인 것 같은데, 왜 첫번째 데이터만 조회가 안되는 걸까요?// 동화 목록조회(페이징) public List<Tale> findTalesByMemberId(Long memberId, int offset, int limit) { return em.createQuery( "select t from Tale t" + " join fetch t.member m" + " join fetch t.image.taleImage ti" + " where m.id = :memberId" + " order by t.createdTime desc", Tale.class ) .setParameter("memberId", memberId) .setFirstResult(offset) .setMaxResults(limit) .getResultList(); }
-
미해결프로젝트로 배우는 React.js
AxiosError: Network Error가 뜹니다
13강에서 DB에 데이터를 저장할때 타이틀과 바디에 글을 쓴 뒤에 포스트 버튼을 누르면콘솔창과 화면에 이렇게 뜹니다..ㅠㅠ왜이럴까요..?
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
4. 모든 아나그램 찾기 질문
안녕하세요 다음 제 풀이가 테스트케이스 1,2번에서만 오류가 나는데 코드의 어느 부분이 잘못되었는지 모르겠어서 질문 드리고 싶습니다.import java.util.HashMap; import java.util.Scanner; public class Main { public static int solution(String S,String T){ int answer = 0; HashMap<Character,Integer> ThashMap = new HashMap<>(); for (char x: T.toCharArray()){ ThashMap.put(x, ThashMap.getOrDefault(x, 0)+1); } HashMap<Character,Integer> ShashMap = new HashMap<>(); // 1번째 윈도우 for (int i=0; i<T.length(); i++){ ShashMap.put(S.charAt(i), ShashMap.getOrDefault(S.charAt(i), 0)+1); } if (ThashMap.equals(ShashMap)) answer ++; // 나머지 윈도우 for (int i=T.length(); i<S.length()-1; i++){ ShashMap.put(S.charAt(i), ShashMap.getOrDefault(S.charAt(i), 0)+1); ShashMap.put(S.charAt(i-T.length()), ShashMap.get(S.charAt(i-T.length()))-1); if (ShashMap.get(S.charAt(i-T.length())) == 0) ShashMap.remove(S.charAt(i-T.length())); if (ThashMap.equals(ShashMap)) answer ++; } return answer; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); String str1 = sc.nextLine(); String str2 = sc.nextLine(); System.out.println(solution(str1,str2)); } }