묻고 답해요
131만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결자바 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)); } }
-
해결됨확률과 통계 기초
6.1강의 MGF 간단한 질문입니다
그 MGF의 M_X(s)는 PMF나 PDF랑 다르게 s가 X의 분포를 따르는 Random variable이라는 의미가 아닌거죠? PMF에서 PX(s)는 P(X=s)였었는데 MGF에서는 그렇게 생각하면 안되는게 맞죠? s는 그냥 X와는 별개의 상수인거죠?
-
해결됨코딩테스트 [ ALL IN ONE ]
노션 교재가 있어야 수강 가능한가요?
안녕하세요!강의를 수강하려고 결제했는데 노션 교재를 바로 받아 볼 수 있는게 아니더라구요 ㅠㅠ구글폼 제출했는데..노션 교재가 있어야 원활한 수강이 가능한 것인지요?
-
해결됨[2024] 한입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
useCallback 의 Memoization 값 저장 방식은 참조가 아닌가요?
const onCreate = useCallback((author, content, emotion) => { const created_date = new Date().getTime(); const newItem = { author, content, emotion, created_date, id: dataId.current, }; dataId.current += 1; setData([newItem, ...data]); // initial state인 data = [] 로 인한 문제 }, []); 강의 중에서 useCallback 에서 data 값 갱신 문제에 질문이 있습니다. 우선, data 가 일반적인 값 참조처럼 일어나지 않는다는 점을 이해했습니다. 가장 마지막에 onCreate 가 업데이트되는 시점의 data 값을 기억해 두고 사용한다는 점도 이해했습니다. 그런데 왜 이렇게 동작하는지 궁금합니다. 구체적으로 말하면 Memoization이 어떻게 구현됐기에 이런 문제가 발생하는 건가요? 이전 값을 그대로 가지고 있으려면 단순히 참조 주소를 복사하는 식으로는 안 되고 Deep Copy가 일어나야 하지 않나요? 그리고 Deep Copy를 통해 Memo를 구현했다기에는 석연치 않은 부분들도 있습니다. 우선 매번 Deep Copy를 수행하는 식으로 Memo를 구현했다면 성능 문제가 발생하지 않을까요? 게다가 depth에서는 Shallow Compare 가 일어나니까 Deep Copy를 통해 구현하지는 않았을 것 같습니다. 이전 상태를 기억해 둔다는 방식은 이전 상태에 state 변수들을 내부에 따로 복사해서 저장해 둔다는 개념으로 이해되는데, 제가 예상하는 대로 Deep Copy를 통해 이전 값을 저장해 두는 건지 아니면 제가 놓친 부분이 있는지 궁금합니다.
-
해결됨넓고 얕게 외워서 컴공 전공자 되기
'버스(Bus)' 에 대하여 질문이 있습니다.
'컴퓨터가 기억공간을 관리하는 방법' 강의를 듣고 있습니다. 최 선생님께서는 캐시 메모리와 RAM이 존재하는 이유가 CPU의 레지스터와 HDD, ..... 등의 외부 저장장치 사이의 속도 차 때문이라고 말씀하셨습니다. 메모리들이 서로 정보를 정확하게 주고받고 원활하게 소통하기 위해서 속도 차이를 줄여야 하는데 이를 위하여 캐시 메모리와 RAM이 있는 것으로 저는 이해하였습니다. 옛날에 데스크탑 본체를 십자 드라이버로 나사를 풀고 내부를 보다가 'PCI' 라는 버스(Bus)가 있음을 보게 되었습니다. 그런데 여기에서 궁금한 점이 있습니다. 혹시 이 버스라는 하드웨어를 통하여 속도 차이가 나는 메모리들이 정보 교환을 하는 것인가요? 버스는 속도가 빠른 메모리로부터 정보를 받아들여 주파수를 낮춰서 속도가 느린 메모리로 정보를 전달하거나 그 반대의 일을 하는 하드웨어인가요?
-
미해결10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
2-N 질문드립니다.
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 선생님,http://boj.kr/a982837cbe674880af718ecd4566f9f5이렇게 풀었는데, 예제는 다 맞게 나오는데 혹시 제가 놓친 테스트케이스가 있을까요?아니면 다른 부분이 틀렸을까요? 감사합니다.
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
27번 라인의 order의 경우 왜 Long을 리턴값으로 작성하셨는지 궁금합니다.
단순히 void로 하셔도 무방하셨을 것 같은데, 혹시 어떤 이유가 있을까요? 혹시 이러한 패턴이 따로 있을까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
엄청 기초인데 기억이안나네요 ㅠㅠ 경로문제
@RequestMapping("/basic") @RequestMapping("basic") @GetMapping("text-basic") @GetMapping("/text-basic")위 두개의 차이점을 잘 모르겠습니다 ㅠㅠㅠ..... 두번째는 틀린건가요?.. 어떨때 /를 붙여야하는지 헷갈립니다.
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
강의 코딩자료는 어디에 있나요?
강사님께서 강의 도중에 복사하시는 코딩 자료랑강의노트는 어디서 다운로드 받을 수 있을까요?1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
모든 개체가 필수적으로 참여하는 일대일관계
수업에서는 다양한 예시를 위해 주문과 배송 엔티티를 일대일 관계로 나눠서 만들었지만 db공부를 하던 중 "모든 개체가 일대일 관계에 필수적으로 참여하면 릴레이션을 하나로 합친다."라는 것을 보았습니다.위 글을 바탕으로 주문엔티티는 배송엔티티를 무조건 가지고 배송엔티티도 주문엔티티를 가지니 하나의 엔티티로 합치고 주문의 기본키와 배송의 기본키 두개를 합쳐 하나의 기본키로 만든다는 생각을 했습니다.실무에서는 주문과 배송을 각각 나누어 설계하는지 아님 합쳐서 설계하는지 궁금합니다.다시말해 1대1관계를 나눠서 설계하는지 궁금합니다.
-
해결됨움짤로 빠르게 배우는 파이썬-아래아한글 자동화 레시피
그림 삽입(특정 이름을 가진 파일 찾기) 오류
#그림 삽입 for i in range(9): 파일명1 = hwp.GetFieldText("대상{{i}}") + " (1)" 파일명2 = hwp.GetFieldText("대상{{i}}") + " (2)" 폴더 = r"C:\Users\USER\Desktop\한글자동화\사진\\" for filename in os.listdir(폴더): 파일명 = filename.split('.')[0] if 파일명 == 파일명1: hwp.MoveToField("그림1{{i}}") hwp.InsertPicture(Path = 폴더 + filename, sizeoption=3) elif 파일명 == 파일명2: hwp.MoveToField("그림2{{i}}") hwp.InsertPicture(Path = 폴더 + filename, sizeoption=3)그림 삽입하는 코드를 만들려고 하는데요.폴더에서 '필드텍스트 (1)', '필드텍스트 (2)' 이름을 가진 그림 파일을 각각 그림1, 그림2 필드에 삽입하려는 건데요.for 문에서 i가 '0'일 때 한 번만 작동하고 아래처럼 오류가 납니다.9 if 파일명 == 파일명1:10 hwp.MoveToField("그림1{{i}}")---> 11 hwp.InsertPicture(Path = 폴더 + filename, sizeoption=3)12 elif 파일명 == 파일명2:13 hwp.MoveToField("그림2{{i}}")com_error: (-2147417851, '서버에서 예외 오류가 발생했습니다.', None, None) 이렇게 저렇게 수정해봤는데도 안 돼서 문의글을 올려봅니다.혹시 되는 방법이 있을까요?
-
미해결장고 설계철학으로 시작하는 파이썬 장고 입문
섹션4 5강 질문있습니다.
가상 환경 실행 하는 방식 == Activate파일을 실행로 봐도 될까요?만약 완전히 새로운 가상환경을 만들고 싶을 때는 어떻게 해야하나요..? 마지막으로 터미널에 powershell이 자동으로 사용되는데 선생님처럼 $이 안뜹니다..어떻게 해야 제 딕셔너리 주소가 아니라 $가 뜨죠?
-
해결됨코딩테스트 [ ALL IN ONE ]
노션 공유 부탁드리겠습니다
인프런 아이디: sonaky47노션 이메일주소: sonaky47@gmail.com