inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

실전 프로젝트 - 인증 프로세스 Form 인증구현 8) 인증 부가 기능 시크릿 키 관련 오류 질문입니다.

해결됨

스프링 시큐리티

secret_key 키가 다르고 예외도 정상적으로 들어가 지는데 로그인이 정상적으로 작동합니다. 여러 방법으로 고쳐보다가 전혀 이유를 알 수가 없어 이렇게 질문 남깁니다. 아 비밀번호 예외 처리는 정상적으로 작동합니다. 혹시 아래 캡쳐 소스가 부족하실 경우 깃허브 주소 Othkkartho/SpringSecurityLearn: 스프링 시큐리티 인프런 강의에 실전 프로젝트를 직접 해보는 프로젝트입니다. ( github.com ) 의 branches ch3.8이 현재 오류가 난 코드입니다. 좋은 강의 감사드립니다. CustomAuthenticationProvider.java providermanager.java

  • Spring Security
  • spring-boot
  • java
오스카르소 댓글 1 좋아요 0 조회수 374

질문드립니다.

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버

예를 들어 유저1과 유저2의 거래를 진행한다고 가정할 때 유저1에 있는 아이템을 유저2가 가져간다라고 한다면 화면상으로는 유저1이 가지고 있는 아이템 한개가 유저2의 인벤에 저장이 되는건데 이 과정이 서버에서는 강의와 같이 유저1의 아이템을 없애고? 유저2의 인벤에 아이템을 추가하는 방식으로 진행되는건가요? ref로 인자값을 받는다고 하셨는데 ref가 아닌 일반적 인자로 받으면 원본이 바뀌는게 아닌 복사된 값이 바뀌어서 그런건가요? 즉, 원본은 바뀌지 않게 되므로 결과값이 이상하게 나오는거겠죠?

  • network
  • unity
  • C#
qjawns332 댓글 1 좋아요 0 조회수 283

CRAFT fine-tuning에 관한 질문

미해결

차량 번호판 인식 프로젝트와 TensorFlow로 배우는 딥러닝 영상인식 올인원

커뮤니티 게시판 질문들 중 fine-tuning에 대한 질문을 확인해보니 keras-ocr의 Detector 구현 코드를 찾아보면 keras-ocr에서는 알아서 fine-tuning이 이루어짐을 확인할 수 있다는 내용을 보았습니다. https://github.com/faustomorales/keras-ocr/blob/40bb9bddda0e2449db636f7ff39faa735b0f8f25/keras_ocr/detection.py#L661 하지만 이 코드를 읽어봐도 정확히 fine-tuning이 왜 알아서 이루어지는지 이해를 못했습니다. 더 세부적인 설명이 가능하다면 부탁드리겠습니다!

  • tensorflow
  • 머신러닝 배워볼래요?
  • 딥러닝
  • 컴퓨터-비전
  • NLP
  • cnn
inflearn001 댓글 1 좋아요 0 조회수 567

cascade=ALL, orphanRemoval=true 관련 질문

해결됨

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

안녕하세요. 혼자 고민하고 생각 해보다 해결이 되지 않아 문의드리러 왔습니다 ㅠㅠ 해당 수업을 듣고, 사이드 프로젝트를 수행하면서 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

  • jpa
  • JPA
  • java
딱구 댓글 2 좋아요 2 조회수 672

new Integer가 좋지 않은 이유

미해결

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

안녕하세요 궁금한게 있어 글 남깁니다 강의 7:30쯤에서 Integer.valueOf 해도 되지만 new Integer를 사용하겠다, 요즘은 new Integer가 별로 안 좋다고 한다~ 라고 말씀하셨는데요 new Integer가 좋지 않은 이유가 궁금합니다 나름 열심히 구글링 해보았는데 정확한 이유를 찾지 못해 여쭤봅니다 ㅠㅠ

  • integer
  • JPA
  • java
high 댓글 1 좋아요 1 조회수 1369

질문있습니다!

미해결

배달앱 클론코딩 [with React Native]

안녕하세요 제로초님!!! 본 강의에서는 백엔드 서버에서 토큰을 response body로 보내주고 프론트에서도 response body에 있는 데이터로 토큰을 가져오더라구요? 그런데 백엔드에서 쿠키로 토큰을 보내주지 않고 response body로 토큰을 보내주는게 보안상 더 위험하지는 않을까 의문점이 생겼습니다. 제로초님 개정판 노드제이에스 4-5 쿠키 강의에서 17분7초에서 로그인할 때 웬만하면 쿠키를 사용하라고 하셨는데 본 강의에서 리액트네이티브에서 할 때는 쿠키를 사용하지않고 response body로 가져오는 이유에 대해서 궁금합니다! ㅎㅎ

  • react-native
김건희 댓글 1 좋아요 0 조회수 233

로드 밸런서와 매니저 서버?와의 관계

해결됨

외워서 끝내는 네트워크 핵심이론 - 응용

유튜브에 이어 인프런 강의도 너무 재밌게 듣고 있습니다! 로드 밸런서가 어떤 웹 서버로 패킷을 포워딩할지 결정하는 주체라면, 이 결정은 매니저 서버가 주기적으로 실행하는 헬스 체크 상태를 로드 밸런서에 알려준 것을 기준으로 결정하게 되나요? 그리고 매니저 서버가 헬스 체크 이외에도 APM 등 성능 관리자의 역할까지 수행할 수 있는 건가요?

  • network
강낭콩 댓글 1 좋아요 0 조회수 341

여러 레이어로 배포된 상태에서 상위 레이어로 묶는 방법이 있을까요?

해결됨

애니메이트로 배우는 나만의 움직이는 이모티콘 만들기(feat. 2천만 뷰 크리에이터)

안녕하세요^^ 좋은 강의 잘 보고 있습니다. 강의를 듣고 혼자 시도해 보다가 문제에 봉착하여 질문 드립니다. 상황을 먼저 설명 드리자면... <트릭으로 2D 얼굴을 3D처럼 보이게 하는 애니메이션 만들기>편을 듣고 미션을 수행 중이었는데요, 다 만들고 난 후 마지막에 레이어에 필터를 적용해 흰색 테두리를 만드려 하다보니 문제점을 발견했습니다. 장면2에서 전체 심볼을 만들고 그 안에 들어가 개별 심볼을 만든 후 레이어에 배포했어야 하는데, 이 점을 놓치고 전체 심볼을 안 만든 채 장면2에서 바로 개별 심볼 만들어 레이어 배포를 했더니 이 모든 레이어가 묶인 최상위 레이어가 없는 상태입니다. 이 상황에서 배포된 레이어를 하나로 묶는 상위 레이어를 만드는 방법이 있을까요? 없다면 흰색 테두리를 어떻게 넣는 게 좋을까요? 감사합니다.

  • 이모티콘
  • animation
  • animate
pmrang 댓글 1 좋아요 0 조회수 275

diet-memo 만들기 : 데이터베이스에 쓰기가 안됩니다.

미해결

[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)

안녕하세요 선생님 .' 너무 잘 보고 있어요. 질문에도 대답해주셔서 넘 감사합니다.^^ 질문 : 앱도 정상적으로 작동하는데 Firebase 실시간 데이터베이스에 연동이 안됩니다.(에러 메서지도 안 뜹니다.) MainActivity.kt package 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 file plugins { 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> _____그리고 다른 분들은 코드 올릴 때 텍스트형식이 아닌 일정한 형식으로 올리시던데 어떻게 하는건가요? ㅎㅎ

  • android
  • firebase
  • kotlin
신영현 댓글 2 좋아요 0 조회수 452

루키스님 책 추천 해주실수있으신가요

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘

안녕하세요 루키스님 파트1~9강까지 다 구매하여 지금 이제 파트3보고있는 수강생입니다 학과도 컴공쪽이여서 나중에 게임개발자가 될려고 열심히 공부하고있습니다 따로 책을보고 더 공부를하고싶어서 추천을받고싶은데 자료구조, 알고리즘, 유니티 지금까지 보셨던 책중에 좋았던것들 베스트 추천해주실수있나요😊😊

  • C#
댓글 1 좋아요 1 조회수 620

Redis 분산락 질문

미해결

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

안녕하세요. 일단 좋은 강의 잘 봤습니다 :) 한 가지 궁금한 점이 있는데요. Redis의 Redisson을 사용할 때 StockService의 decrease() 메서드에 Transaction 어노테이션을 걸어두면 비관적락 + 레디스의 분산락을 동시에 사용하면 오히려 기대했던 성능이 더 안나올 수도 있지 않나요? Transaction 어노테이션을 쓰려면 Mysql의 lock 기능을 쓰는게 좋을까요? 저도 잘 알지못하지만 이번에 이 동시성 강의를 듣고 찾아보다가 궁금해서 질문드립니다!

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

실무에서의 ManyToMany 연관관계 (계층구조)

미해결

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

안녕하세요 실무에서는 ManyToMany같은 관계는 절대 사용하면 안된다고 하셨습니다. Category와 비슷한 조직도 같은 것을 만들고 싶은데 실무에서는 사용하면 안된다고 하여서 구글링을 하다가 클로져 테이블에 대해서 봤는데요 막상 대입시켜서 해보려니 막막하여 글을 올림니다. 혹시 참고할 만한 예제같은 것이 있을 까요?

  • JPA
  • java
  • 웹앱
  • spring
  • spring-boot
Eddie 댓글 1 좋아요 0 조회수 423

이 비교 연산자를 넣어주는 이유가 있나요?

미해결

[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; 에서 들어가던데 어떤 원리로 그렇게 되는건가요?

  • 기술면접
rlagusdn0086 댓글 1 좋아요 0 조회수 319

트랜잭션 템플릿 사용 로직

미해결

스프링 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 에 대한 설명이 없어서 답변 부탁드립니다.

  • spring
IGOR 댓글 2 좋아요 4 조회수 852

node 설치후 추가설치건 확인방법

미해결

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

powerShell 로 설치된게 제대로 설치 됬는지 확인할 방법은 없을까요?

  • mongodb
  • nodejs
  • mysql
  • Sequelize
pro 댓글 1 좋아요 0 조회수 236

중단점 삽입이 안됩니다 ㅜ

미해결

[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

중단점 삽입이 안됩니다 ㅜ namespace Sharp ~ 를 비롯한 {} 를 넣으면 오류가 생기면서 빌드가 안됩니다. 왜이러는 걸까요... 삽입하려면 이 위치에는 안된다고 자꾸 뜹니다

  • C#
김수연 댓글 2 좋아요 0 조회수 325

답변내용에 따라 새글로 깃헙 레포 링크 공유드려요!

미해결

따라하며 배우는 리액트 테스트 [2023.11 업데이트]

https://www.inflearn.com/questions/663604 위 질문 드렸던 수강생입니다! 요청주신 레포지토리 링크 드려요! 그런데, 강의 내용 코드를 공개 레포로 해도 되나요? 문제가 된다면 비공개 레포로 초대 드리겠습니다! https://github.com/gaeundev/react-shop-test

  • react
  • React-Context
  • 웹앱
  • jest
릴리코 댓글 1 좋아요 0 조회수 301

@Transactional 어노테이션만 붙이면 에러가 뜨네요.

미해결

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

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 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 뜹니다.. 정상적으로 지금까지 다된거같은데 갑자기 이러네요.

  • java
  • MVC
  • spring-boot
  • spring
김현종 댓글 1 좋아요 0 조회수 672

연산자 오버로딩 질문있습니다

미해결

[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문

int로 할때는 (a++)++ 후위형 증감 연산자가 안되는걸 확인했는데 그래서 연산자 오버로딩을 통한 후위형 증감 연산자를 만들었을 때도 똑같이 안될 거라고 생각했습니다. 하지만 예상과 다르게 컴파일단계에서 에러가 나지 않고 제대로 넘어가서 헷갈리네요 왜 그런건가요??

  • C++
근면한 복어 댓글 2 좋아요 0 조회수 538

디스코드

미해결

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

아래 채널을 찾을 수 없습니다. 무효화되거나 만료된 채널이라고 나옵니다. 코드팩토리 디스코드 https://bit.ly/3HzRzUM 확인 부탁드립니다.

  • Flutter
  • 하이브리드 앱
ㅣ탱탱ㅣ 댓글 3 좋아요 0 조회수 736

인기 태그

인프런 TOP Writers

주간 인기글