묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨스프링 시큐리티
실전 프로젝트 - 인증 프로세스 Form 인증구현 8) 인증 부가 기능 시크릿 키 관련 오류 질문입니다.
secret_key 키가 다르고 예외도 정상적으로 들어가 지는데 로그인이 정상적으로 작동합니다. 여러 방법으로 고쳐보다가 전혀 이유를 알 수가 없어 이렇게 질문 남깁니다. 아 비밀번호 예외 처리는 정상적으로 작동합니다.혹시 아래 캡쳐 소스가 부족하실 경우 깃허브 주소 Othkkartho/SpringSecurityLearn: 스프링 시큐리티 인프런 강의에 실전 프로젝트를 직접 해보는 프로젝트입니다. (github.com)의 branches ch3.8이 현재 오류가 난 코드입니다. 좋은 강의 감사드립니다.CustomAuthenticationProvider.javaprovidermanager.java
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
질문드립니다.
예를 들어 유저1과 유저2의 거래를 진행한다고 가정할 때유저1에 있는 아이템을 유저2가 가져간다라고 한다면화면상으로는 유저1이 가지고 있는 아이템 한개가 유저2의 인벤에 저장이 되는건데 이 과정이 서버에서는 강의와 같이 유저1의 아이템을 없애고? 유저2의 인벤에 아이템을 추가하는 방식으로 진행되는건가요?ref로 인자값을 받는다고 하셨는데 ref가 아닌 일반적 인자로 받으면 원본이 바뀌는게 아닌 복사된 값이 바뀌어서 그런건가요? 즉, 원본은 바뀌지 않게 되므로 결과값이 이상하게 나오는거겠죠?
-
미해결차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원
CRAFT fine-tuning에 관한 질문
커뮤니티 게시판 질문들 중 fine-tuning에 대한 질문을 확인해보니 keras-ocr의 Detector 구현 코드를 찾아보면 keras-ocr에서는 알아서 fine-tuning이 이루어짐을 확인할 수 있다는 내용을 보았습니다.https://github.com/faustomorales/keras-ocr/blob/40bb9bddda0e2449db636f7ff39faa735b0f8f25/keras_ocr/detection.py#L661하지만 이 코드를 읽어봐도 정확히 fine-tuning이 왜 알아서 이루어지는지 이해를 못했습니다. 더 세부적인 설명이 가능하다면 부탁드리겠습니다!
-
해결됨자바 ORM 표준 JPA 프로그래밍 - 기본편
cascade=ALL, orphanRemoval=true 관련 질문
안녕하세요.혼자 고민하고 생각 해보다 해결이 되지 않아 문의드리러 왔습니다 ㅠㅠ해당 수업을 듣고, 사이드 프로젝트를 수행하면서 orphanRemoval을 사용해보게 되었습니다.대략적인 엔티티간의 관계는 다음과 같습니다.총 4개의 엔티티가 각각 다대일 매핑으로 이루어져 있는데요.각 엔티티의 정보는 다음과 같습니다.엔티티 A : 유저엔티티 B : 글엔티티 C : 글에 포함되는 정보엔티티 D : 엔티티 C에 포함되는 정보문제는 엔티티 B까지만 cascade=ALL, orphanRemoval=true가 적용된다는 것입니다..ㅠㅠ차이가 있다면, 엔티티 A는 유저의 정보라서, 항상 저장이 되어있는 것을 꺼내어와서 사용한다는 것이고(저장을 회원가입 로직에서만 수행합니다.), 엔티티 B, C, D는 글 작성 시 모두 새로 생성하여 사용한다는 점입니다.저는 엔티티B 삭제 로직에서, 엔티티A의 List에서 엔티티B를 remove 하면 B, C, D가 모두 삭제되는 것을 기대했는데, 전혀 삭제가 되지 않습니다 ㅠ (List에서 엔티티B가 제거는 됩니다..)오히려 엔티티A의 List에서 엔티티B을 remove하고, 추가적으로 엔티티B의 리포지토리에서 엔티티 B를 삭제해야만 비로소 삭제가 완료됩니다.기능 자체를 구현은 했지만, 이렇게 동작하는 원인을 알고싶어서, 여기저기 찾아보다가 답을 찾지 못해 이곳에 질문 글을 남기게 되었습니다 ㅠㅜ관련 코드는 아래 깃허브 리포지토리에 있습니다.엔티티 리포지토리https://github.com/SeolYoungKim/siders/tree/oauth2login/src/main/java/com/example/siderswebapp/domain삭제 로직 리포지토리https://github.com/SeolYoungKim/siders/tree/oauth2login/src/main/java/com/example/siderswebapp/service/post
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
new Integer가 좋지 않은 이유
안녕하세요 궁금한게 있어 글 남깁니다강의 7:30쯤에서 Integer.valueOf 해도 되지만 new Integer를 사용하겠다, 요즘은 new Integer가 별로 안 좋다고 한다~ 라고 말씀하셨는데요new Integer가 좋지 않은 이유가 궁금합니다 나름 열심히 구글링 해보았는데 정확한 이유를 찾지 못해 여쭤봅니다 ㅠㅠ
-
미해결배달앱 클론코딩 [with React Native]
질문있습니다!
안녕하세요 제로초님!!!본 강의에서는 백엔드 서버에서 토큰을 response body로 보내주고 프론트에서도 response body에 있는 데이터로 토큰을 가져오더라구요? 그런데 백엔드에서 쿠키로 토큰을 보내주지 않고 response body로 토큰을 보내주는게 보안상 더 위험하지는 않을까 의문점이 생겼습니다.제로초님 개정판 노드제이에스 4-5 쿠키 강의에서 17분7초에서 로그인할 때 웬만하면 쿠키를 사용하라고 하셨는데 본 강의에서 리액트네이티브에서 할 때는 쿠키를 사용하지않고 response body로 가져오는 이유에 대해서 궁금합니다! ㅎㅎ
-
해결됨외워서 끝내는 네트워크 핵심이론 - 응용
로드 밸런서와 매니저 서버?와의 관계
유튜브에 이어 인프런 강의도 너무 재밌게 듣고 있습니다!로드 밸런서가 어떤 웹 서버로 패킷을 포워딩할지 결정하는 주체라면, 이 결정은 매니저 서버가 주기적으로 실행하는 헬스 체크 상태를 로드 밸런서에 알려준 것을 기준으로 결정하게 되나요?그리고 매니저 서버가 헬스 체크 이외에도 APM 등 성능 관리자의 역할까지 수행할 수 있는 건가요?
-
해결됨팝스타 공식 뮤비 제작 & 유튜브 2천만 뷰 크리에이터의 애니메이트 X 이모티콘 클래스
여러 레이어로 배포된 상태에서 상위 레이어로 묶는 방법이 있을까요?
안녕하세요^^ 좋은 강의 잘 보고 있습니다. 강의를 듣고 혼자 시도해 보다가 문제에 봉착하여 질문 드립니다.상황을 먼저 설명 드리자면...<트릭으로 2D 얼굴을 3D처럼 보이게 하는 애니메이션 만들기>편을 듣고 미션을 수행 중이었는데요,다 만들고 난 후 마지막에 레이어에 필터를 적용해 흰색 테두리를 만드려 하다보니 문제점을 발견했습니다.장면2에서 전체 심볼을 만들고 그 안에 들어가 개별 심볼을 만든 후 레이어에 배포했어야 하는데, 이 점을 놓치고 전체 심볼을 안 만든 채 장면2에서 바로 개별 심볼 만들어 레이어 배포를 했더니 이 모든 레이어가 묶인 최상위 레이어가 없는 상태입니다. 이 상황에서 배포된 레이어를 하나로 묶는 상위 레이어를 만드는 방법이 있을까요? 없다면 흰색 테두리를 어떻게 넣는 게 좋을까요?감사합니다.
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
diet-memo 만들기 : 데이터베이스에 쓰기가 안됩니다.
안녕하세요 선생님 .'너무 잘 보고 있어요. 질문에도 대답해주셔서 넘 감사합니다.^^질문 : 앱도 정상적으로 작동하는데 Firebase 실시간 데이터베이스에 연동이 안됩니다.(에러 메서지도 안 뜹니다.) MainActivity.ktpackage com.ipari.diet_memo import android.app.DatePickerDialog import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.util.Log import android.view.LayoutInflater import android.widget.Button import android.widget.DatePicker import android.widget.EditText import android.widget.ImageView import androidx.appcompat.app.AlertDialog import com.google.firebase.database.ktx.database import com.google.firebase.ktx.Firebase import java.util.* class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val writeButton = findViewById<ImageView>(R.id.writeBtn) writeButton.setOnClickListener { val mDialogView = LayoutInflater.from(this).inflate(R.layout.custom_dialog, null) val mBuilder = AlertDialog.Builder(this) .setView(mDialogView) .setTitle("운동 메모 다이얼로그") val mAlertDialog = mBuilder.show() val DateSelectBtn = mAlertDialog.findViewById<Button>(R.id.dataSelectBtn) var dateText="" DateSelectBtn?.setOnClickListener { val today = GregorianCalendar() val year : Int = today.get(Calendar.YEAR) val month : Int = today.get(Calendar.MONTH) val date : Int = today.get(Calendar.DATE) val dlg = DatePickerDialog(this, object : DatePickerDialog.OnDateSetListener{ override fun onDateSet(view: DatePicker?, year: Int, month: Int, dayOfMonth: Int ) { Log.d("MAIN", "${year}, ${month +1}, ${dayOfMonth}") DateSelectBtn.setText("${year}, ${month +1}, ${dayOfMonth}") dateText = "${year}, ${month +1}, ${dayOfMonth}" } }, year, month, date) dlg.show() } val saveBtn = mAlertDialog.findViewById<Button>(R.id.saveBtn) saveBtn?.setOnClickListener { val healthMemo = mAlertDialog.findViewById<EditText>(R.id.healthMemo)?.text.toString() val database = Firebase.database val myRef = database.getReference("myMemo") val model = DataModel(dateText, healthMemo) myRef .push() .setValue(model) } } } }Gradle fileplugins { id 'com.android.application' id 'com.google.gms.google-services' id 'kotlin-android' } android { compileSdk 33 defaultConfig { applicationId "com.ipari.diet_memo" minSdk 21 targetSdk 33 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro' } } compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } kotlinOptions { jvmTarget = '1.8' } } dependencies { implementation 'androidx.core:core-ktx:1.9.0' implementation 'androidx.appcompat:appcompat:1.5.1' implementation 'com.google.android.material:material:1.6.1' implementation 'androidx.constraintlayout:constraintlayout:2.1.4' testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' implementation platform('com.google.firebase:firebase-bom:30.4.1') implementation 'com.google.firebase:firebase-analytics-ktx' implementation 'com.google.firebase:firebase-auth-ktx' implementation 'com.google.firebase:firebase-database-ktx' }custom_dialog. xml<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <EditText android:id="@+id/healthMemo" android:layout_width="match_parent" android:layout_height="60dp" android:layout_margin="20dp" android:hint="운동메모를 입력해주세요." android:background="@android:color/transparent"/> <LinearLayout android:layout_width="match_parent" android:background="#999999" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_height="0.5dp"/> <Button android:id="@+id/dataSelectBtn" android:text = "날짜를 선택해주세요." android:layout_margin="20dp" android:layout_width="match_parent" android:layout_height="60dp"/> <Button android:id="@+id/saveBtn" android:text = "저장하기" android:textColor="@color/black" android:layout_marginLeft="20dp" android:layout_marginRight="20dp" android:layout_width="match_parent" android:layout_height="60dp"/> </LinearLayout> _____그리고 다른 분들은 코드 올릴 때 텍스트형식이 아닌 일정한 형식으로 올리시던데 어떻게 하는건가요? ㅎㅎ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
루키스님 책 추천 해주실수있으신가요
안녕하세요 루키스님 파트1~9강까지 다 구매하여 지금 이제 파트3보고있는 수강생입니다학과도 컴공쪽이여서 나중에 게임개발자가 될려고 열심히 공부하고있습니다따로 책을보고 더 공부를하고싶어서 추천을받고싶은데자료구조, 알고리즘, 유니티 지금까지 보셨던 책중에 좋았던것들 베스트 추천해주실수있나요😊😊
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
Redis 분산락 질문
안녕하세요. 일단 좋은 강의 잘 봤습니다 :) 한 가지 궁금한 점이 있는데요. Redis의 Redisson을 사용할 때StockService의 decrease() 메서드에 Transaction 어노테이션을 걸어두면 비관적락 + 레디스의 분산락을 동시에 사용하면 오히려 기대했던 성능이 더 안나올 수도 있지 않나요?Transaction 어노테이션을 쓰려면 Mysql의 lock 기능을 쓰는게 좋을까요?저도 잘 알지못하지만 이번에 이 동시성 강의를 듣고 찾아보다가 궁금해서 질문드립니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
실무에서의 ManyToMany 연관관계 (계층구조)
안녕하세요실무에서는 ManyToMany같은 관계는 절대 사용하면 안된다고 하셨습니다.Category와 비슷한 조직도 같은 것을 만들고 싶은데 실무에서는 사용하면 안된다고 하여서 구글링을 하다가 클로져 테이블에 대해서 봤는데요막상 대입시켜서 해보려니 막막하여 글을 올림니다.혹시 참고할 만한 예제같은 것이 있을 까요?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part3: 자료구조와 알고리즘
이 비교 연산자를 넣어주는 이유가 있나요?
bool operator<(const Pos& other)const { if (y != other.y) return y < other.y; return x < other.x; } 디버그를 해보니 Bfs함수에 parent[nextPos] = pos; 에서 들어가던데 어떤 원리로 그렇게 되는건가요?
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
트랜잭션 템플릿 사용 로직
txTemplate.executeWithoutResult((status) -> {try {//비즈니스 로직bizLogic(fromId, toId, money);} catch (SQLException e) {throw new IllegalStateException(e);} });위의 로직에서 파라미터로 status를 받는데이 status는 어디에서 받아오는건가요?이전 MemberServiceV3_1 에서는//트랜잭션 시작TransactionStatus status = transactionManager.getTransaction(new DefaultTransactionDefinition());이렇게 status를 받아와서 커밋과 롤백에 status를 사용했는데MemberServiceV3_2 에서는여러번 반복해 돌려보아도 저 status 에 대한 설명이 없어서답변 부탁드립니다.
-
미해결[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지
node 설치후 추가설치건 확인방법
powerShell 로 설치된게 제대로 설치 됬는지 확인할 방법은 없을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문
중단점 삽입이 안됩니다 ㅜ
중단점 삽입이 안됩니다 ㅜnamespace Sharp ~ 를 비롯한 {} 를 넣으면오류가 생기면서 빌드가 안됩니다. 왜이러는 걸까요...삽입하려면 이 위치에는 안된다고 자꾸 뜹니다
-
미해결따라하며 배우는 리액트 테스트 [2023.11 업데이트]
답변내용에 따라 새글로 깃헙 레포 링크 공유드려요!
https://www.inflearn.com/questions/663604위 질문 드렸던 수강생입니다! 요청주신 레포지토리 링크 드려요!그런데, 강의 내용 코드를 공개 레포로 해도 되나요?문제가 된다면 비공개 레포로 초대 드리겠습니다! https://github.com/gaeundev/react-shop-test
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
@Transactional 어노테이션만 붙이면 에러가 뜨네요.
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.문제 : @Transactional 를 주석처리하면 정상적으로 회원가입이 되서 h2 DB에 입력됩니다...그런데 다시 DB데이터 삭제 하고 @Transactional 어노테이션 설정을하면 아래와같이java.lang.IllegalStateException: java.sql.SQLException: Connection is closed뜹니다.. 정상적으로 지금까지 다된거같은데 갑자기 이러네요.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
연산자 오버로딩 질문있습니다
int로 할때는 (a++)++ 후위형 증감 연산자가 안되는걸 확인했는데 그래서 연산자 오버로딩을 통한 후위형 증감 연산자를 만들었을 때도 똑같이 안될 거라고 생각했습니다. 하지만 예상과 다르게 컴파일단계에서 에러가 나지 않고 제대로 넘어가서 헷갈리네요 왜 그런건가요??
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
디스코드
아래 채널을 찾을 수 없습니다.무효화되거나 만료된 채널이라고 나옵니다.코드팩토리 디스코드https://bit.ly/3HzRzUM확인 부탁드립니다.