묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
스프링 부트와 JPA 활용
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? 예2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 예3. 질문 잘하기 메뉴얼을 읽어보셨나요? 예[질문 내용]여기에 질문 내용을 남겨주세요. 안녕하세요 수강생 입니다. 궁금한것이 있어 질문 합니다. JPA 를 하면서 궁금한것이 있어서 몇가지 적어 봅니다. JPA를 활용할때 JPA코드로 만들어진 테이블이 아닌 기존에 DDL로 만들어진 테이블 조회도 가능 할까요 ? - 이건 아직 제가 조회 부분을 안봐서 질문하는것일수도 있네요 ㅠ 실행하면서 JPA로 만들어진 테이블이 구성되는데 그럼 매번 실행할때마다 테이블을 지우고 생성되는건지 아니면 중복테이블을 체크하고 생성되는것일까요 ? ManyTOMany를 실무에선 안쓴다는 말이 다대다 구성을 안한다는 말씀이신거 같은데 그럼 다대다와 같은 경우를 중간테이블로 두어서 1대다 형식으로 구성하는 방안이 좋을까요 ?
-
해결됨홍정모의 따라하며 배우는 C++
1.14 algorithm
선생님께서std 안에 max가 있고 max는 algorithm이라는 라이브러리 안에 있다고 하셨습니다. 여기서 namespace std랑 라이브러리가 좀 헷갈리기 시작했습니다...전 현재 어떻게 이해한 상태이냐면,지난 강의에서 선생님께서 iostream을 open document를 통해 namespace가 있고 그와함께 cin, cout 등이 있다는 것을 보여주셨습니다.그래서 iostream library > namespace standard(std)> cin, cout으로 이해했습니다.그런데 갑자기 max는 또 algorithm이라는 라이브러리에 있는데 또 namespace standard(std) 안에 있다고 하시니 헷갈립니다...namespace standard(std)은 모든 라이브러리에 있는 것인가요? 저는 iostream 라이브러리 안에만 있는 것다고 생각했습니다....
-
해결됨[퇴근후딴짓] 빅데이터 분석기사 실기 (작업형1,2,3)
작업형1 모의문제1의 문제3에 대해 여쭙습니다~
공부하다가 마지막 문제3 "f3 컬럼의 결측치는 0, silver는 1, gold는 2, vip는 3으로 변환한 후 총합을 정수형으로 출력하시오"이 문제를 해결할 수 있는 세 개의 비단주머니(…ㅎ)를 알려주셔서 고맙습니다.저 문제에서는 '변환한 후' 총합을 정수형으로 출력하라고 해서요. 마지막 세 번째 방법은 1번과 2번을 모를 때 마지막 궁여지책으로 작성할 방법 같습니다.파이썬이 문법이 쉬운 것 같으면서도 막상 해보려고 하면 어려워서요. ;; 혹시 마지막 세 번째 방법을 저렇게 조건문 식으로 해서 아예 컬럼의 값 자체를 바꿀 수 있는 방법이 있을까요? 오전 내 고민하다가 도저히 안 되겠어서 여쭤봅니다. 이건 뭐 그냥 생각해본 거니까 곤란하시면 답해주지 않으셔도 됩니다. 좋은 강의 정말 감사합니다~
-
미해결설계독학맛비's 실전 AI HW 설계를 위한 바이블, CNN 연산 완전정복 (Verilog HDL + FPGA 를 이용한 가속기 실습)
CNN paper review 영상 관련 질문있습니다.
안녕하세요 맛비님. AI HW 6장 강의를 들으면서 MAC연산량 관련하여 의문점이 생겨서 질문 드립니다. https://www.inflearn.com/questions/735204/%EC%95%88%EB%85%95%ED%95%98%EC%84%B8%EC%9A%94-%EC%B1%95%ED%84%B06-7%EC%97%90-%EB%8C%80%ED%95%9C-%EC%A7%88%EB%AC%B8%EC%9E%85%EB%8B%88%EB%8B%A4(관련 질문글 링크) 1. 강의에서는 weight 수를 "kernel의 sample수"라고 하셨는데, 위 질문 답변의 A2에서 처럼정확히는 Convolution layer에서의 weigth 수는 "kernel의 sample수 * Output channel 수"가 맞지 않나요? 즉, OCH :output channel수 * (ICH * Kx * Ky : Kerner의 sample 수) 2. Convolution layer에서의 MAC수를 계산할 때는 Kernel size * Input Channel * Output Channel 을 한 게 output feature map의 한 point(1*1*OCH size)에 필요한 연산수 이기 때문에위 질문 답변에서의 A1.하나의 layer 에서의 MAC 량 = OCH* ICH * KX * KY이 아니라Kernel size * Input Channel * Output Channel* Output Feature map Size를 하여하나의 layer 에서의 MAC 량 = OCH * ICH * KX *KY* (Output Feature Map size)를 해줘야 맞는게 아닌가 싶습니다. 3. AI HW 6장의 교안에 LeNet-5 Network구현에 필요한 MAC연산수가 341k라고 되어있는데, 첫 Conv layer에 필요한 MAC연산은 (2번이 맞다면) 5*5*1*6*28*28 = 117,600이고 두 번째 Conv layer에 필요한 MAC연산은 5*5*6*16*10*10 = 240,000으로 두 개의 Conv Layer에서의 MAC연산량만 해도 357.6k로 341k를 넘는데 Fully Connected Layer에서의 MAC연산량을 더하면 더 커질 것이라 생각하는데 MAC연산량이 341k가 맞나요?? 정확한 값을 알고 싶습니다.117.6k+240k+20*84+84*10 = 368.52k가 맞나요? 구글링해도 MAC수에 대한 자료는 잘 안나와서요.. 3-1. Fully Connected Layer가 2개라고 하시고 C5-F6에 하나, F6-OUTPUT에 하나 해서 두 개라고 하셨는데, 검색을 해보니 F6-OUTPUT은 Gaussian connected layer라고 fully connected layer가 아니라고 하는데, 뭐가 맞는건지 잘 모르겠습니다.. S4-C5/ C5-F6가 두 개의 FC layer인건가요? 4. HW engineer라면 연산량을 잘 파악할 수 있어야 된다고 하셨기에, Network Model을 보고 Weight와 MAC연산수를 잘 파악할 수 있어야 될 것 같다고 생각해서 정리를 해보았는데FC Layer에서의 Weight = Edge의 개수 = Input Node * Output NodeFC Layer에서의 MAC = Weight와 동일Conv Layer에서의 Weight = "kernel의 sample수 * Output channel 수" = OCH *ICH * Ky * KxConv Layer에서의 MAC = (Output Feature Map 의 Size) * Weight 수 = (Output Feature Map 의 Size) * OCH * ICH * Ky* Kx라고 생각했는데, 옳게 파악한 것이 맞을까요? 항상 강의 잘 듣고있습니다. 바쁘신데도 질문에 친절하게 답변해주셔서 감사합니다 맛비님!긴 글 읽어주셔서 감사하고 좋은 하루 되세요 :)
-
미해결
포스트맨 로그인 실패
사주팔자 로그인 실패입니다. 부탁드립니다.
-
미해결[2025 리뉴얼] 스스로 구축하는 AWS 클라우드 인프라 - 기본편
MAC 에서 EC2 접속하려면 어떻게 해야 할까요?
41분 즈음에 Putty 를 이용해서 EC2를 접속하셨는데요.MAC 에서는 어떻게 접속해야할지 궁금합니다 !
-
미해결처음 만난 리액트(React)
chapter_04 시계만들기
시간 부분이 안뜨네요.. Clock.jsximport React from "react"; function Clock(props){ return( <div> <h1>안녕, 리액트!</h1> <h2>현재 시간 : {new Date().toLocaleDateString()}</h2> </div> ); } export default Clock; index.jsimport React from 'react'; import ReactDOM from 'react-dom/client'; import './index.css'; import App from './App'; import reportWebVitals from './reportWebVitals'; import Clock from './chapter_04/Clock'; const root = ReactDOM.createRoot(document.getElementById('root')); setInterval(() => { root.render( <React.StrictMode> <Clock /> </React.StrictMode> ); },1000); reportWebVitals();
-
미해결생초보를 위한 프리미어 프로 2022
22강 캡션 수업자료 중 인터뷰 동영상 파일 요청
PD님수업자료 다운로드했는데, Train comming 1개 파일만 있어요.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
정적할당과 동적할당 관련 질문
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 알고리즘 교안의 동적 및 정적 할당 section에서 질문입니다.재귀함수가 호출된다고 했을 때, 새로운 스택 프레임이 매번 사용되기 때문에, 함수 내의 변수 집합이 해당 함수의 다른 인스턴스 변수를 방해하지 않습니다.라는 내용이 있습니다. 여기서 2가지 질문이 있습니다.프레임이란 os에서 언급되는 데이터 단위인 프레임을 말하는 건지?파이썬으로 치자면 self. 로 정의된 인스턴스 변수를 말하는 건지 아니면 c++만의 다른 개념이 있는 건가요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
DM 내용 표시하기
안녕하세요 강의중에 DM 내용 표시 하기 강의에서 map을 활용해 DM내용을 표시하는 부분인데 DM을 클릭하고 내용을 확인할 때 TypeError에러가 뜨면서 chatData.map is not a function 이라는 오류가 나오고 있습니다.. 혼자 해결하다 막혀서 질문 남겨 드립니다! DirectMessage.tsx (return 부분)return ( <Container> <Header> <img src={gravatar.url(userData.email, { s: '24px', d: 'retro' })} alt={userData.nicknam} /> <span>{userData.nickname}</span> </Header> <ChatList chatData={chatData} /> <ChatBox chat={chat} onChangeChat={onChangeChat} onSubmitForm={onSubmitForm} /> </Container> );chatList.tsximport React, { VFC, useCallback, useRef } from 'react'; import { ChatZone } from './styles'; import { IDM } from '@typings/db'; import Chat from '@components/Chat'; import { Scrollbars } from 'react-custom-scrollbars'; interface Props { chatData?: IDM[]; } const ChatList: VFC<Props> = ({ chatData }) => { const scrollbarRef = useRef(null); const onScroll = useCallback(() => {}, []); return ( <ChatZone> <Scrollbars autoHide ref={scrollbarRef} onScrollFrame={onScroll}> {chatData?.map((chat) => ( <Chat key={chat.id} data={chat} /> ))} </Scrollbars> </ChatZone> ); }; export default ChatList; chat.tsximport { IDM, IChat } from '@typings/db'; import React, { VFC, memo, useMemo } from 'react'; import gravatar from 'gravatar'; import { ChatWrapper } from './styles'; interface Props { data: IDM; } const Chat: VFC<Props> = ({ data }) => { const user = data.Sender; return ( <ChatWrapper> <div className="chat-img"> <img src={gravatar.url(user.email, { s: '36px', d: 'retro' })} alt={user.nickname} /> </div> <div className="chat-text"> <div className="chat-user"> <b>{user.nickname}</b> <span>{data.createdAt}</span> </div> <p>{data.content}</p> </div> </ChatWrapper> ); }; export default Chat;오류내용
-
미해결스프링 배치
flow 위에 jobparameters를 사용하기 위해서는 어떤 scope를 정의해줘야 하나요?
안녕하세요, 강사님!job > flow > step으로 구성되어 있는데 flow위에 jobparameters를 사용하기 위해서는 어떤 scope를 정의해줘야 하나요? step scope is not active라고 자꾸 오류가 나네요.강의를 봐도 잘 이해가 안 가서요. 아직 제가 개념이 덜 잡혔나봅니다. ㅠㅠ답변 감사드립니다! 코드입니다!@Slf4j @Getter @NoArgsConstructor public class CreateDateJobParameter { private String startDate; private String endDate; @Value("#{jobParameters[startDate]}") public void setStartDate(String startDate) { this.startDate = startDate; } @Value("#{jobParameters[endDate]}") public void setEndDate(String endDate) { this.endDate = endDate; } } @Slf4j @RequiredArgsConstructor @Configuration public class OrderProcessingJobConfiguration { private final JobBuilderFactory jobBuilderFactory; private final StepBuilderFactory stepBuilderFactory; private final CreateDateJobParameter jobParameterCreator; @JobScope @Bean public CreateDateJobParameter jobParameterCreator() { return new CreateDateJobParameter(); } @Bean public Job orderProcessingJob() { return jobBuilderFactory.get("orderProcessingJob") .incrementer(new UniqueRunIdIncrementer()) .start(fetchOrderDataFlow()) .next(getOrderListFlow()) .split(taskExecutor()) .add() .end() .build(); } @Bean @StepScope public Flow fetchOrderDataFlow() { log.debug(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>fetchOrderDataFlow"); Flow flow1 = new FlowBuilder<Flow>("flow1") .start(fetchOrderDataStep1()) .build(); Flow flow2 = new FlowBuilder<Flow>("flow2") .start(fetchOrderDataStep2()) .build(); Flow flow3 = new FlowBuilder<Flow>("flow3") .start(fetchOrderDataStep3()) .build(); Flow flow4 = new FlowBuilder<Flow>("flow4") .start(fetchOrderDataStep4()) .build(); Flow flow5 = new FlowBuilder<Flow>("flow5") .start(fetchOrderDataStep5()) .build(); FlowBuilder<SimpleFlow> flowBuilder = new FlowBuilder<>("fetchOrderDataFlow"); flowBuilder.split(taskExecutor()) .add(flow1, flow2, flow3, flow4, flow5); return flowBuilder.build(); } @Bean public Step fetchOrderDataStep1() { return createFetchOrderDataStep("fetchOrderDataStep1", "store1", jobParameterCreator.getStartDate(), jobParameterCreator.getEndDate()); } ... }
-
미해결[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
Toastmasage가 뜨지 않고 이메일 저장도 안돼요
수업 들으면서 그대로 따라했다고 생각했는데 회원가입 버튼을 누르면 토스트메시지도 뜨지않고 데이터도 파이어베이스에 저장이 안되어있네요build.gradle -project// Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { repositories { google() mavenCentral() } dependencies { classpath 'com.google.gms:google-services:4.3.15' } } plugins { id 'com.android.application' version '7.3.0' apply false id 'com.android.library' version '7.3.0' apply false id 'org.jetbrains.kotlin.android' version '1.7.10' apply false } build.gradle -appplugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'com.google.gms.google-services' } android { namespace 'com.mysampleapp' compileSdk 33 defaultConfig { applicationId "com.mysampleapp" minSdk 28 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.7.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' implementation platform('com.google.firebase:firebase-bom:32.0.0') implementation 'com.google.firebase:firebase-analytics-ktx' implementation 'com.google.firebase:firebase-auth-ktx' }MainActivitypackage com.mysampleapp import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Button import android.widget.Toast import com.google.firebase.auth.FirebaseAuth import com.google.firebase.auth.ktx.auth import com.google.firebase.ktx.Firebase class MainActivity : AppCompatActivity() { private lateinit var auth: FirebaseAuth override fun onCreate(savedInstanceState: Bundle?) { auth = Firebase.auth super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val joinBtnClicked=findViewById<Button>(R.id.joinBtn) joinBtnClicked.setOnClickListener {auth.createUserWithEmailAndPassword("abc@abc.com", "12345678") .addOnCompleteListener(this) { task -> if (task.isSuccessful) { Toast.makeText(this,"ok",Toast.LENGTH_SHORT).show() } else { Toast.makeText(this,"no",Toast.LENGTH_SHORT).show() } } } } }
-
해결됨[JS] Phaser 게임 제작 - 뱀파이어 서바이벌 클론
[참고] 33강 캣닢어택 강화시 버그 관련
재현경로게임 시작레벨 4 도달캣닢 범위 강화몬스터 타격현재결과캣닢 범위는 넓어지나 몬스터에게 데미지가 들어가지 않음. (피격판정 O 데미지 X)기대결과캣닢 범위가 넓어지더라도 몬스터에게 데미지가 들어가야 함.재현빈도Always테스트환경강의자료 최종 레포지토리 강의자료 최종 배포본 상황https://paullabworkspace.notion.site/3-23-d2df6742dd0141d6bcad23902b9c3c20현재 강의 자료에서 공격 이벤트를 추가하기 위해 addAttackEvent()선언 시 아래와 같은 로직으로 캣닢을 m_attackEvents에 담고 있습니다.이후 공격 범위를 증가시키는 로직은 아래와같이 정의되어 있습니다.강의 자료 내에서는 레벨 4에 캣닢 공격의 스케일을 확장합니다. 현상강의 자료 내에서는 레벨 4에 캣닢 공격의 스케일을 확장합니다.이때 catnip이라는 class 구성에는 damage 값이 없어서 문제가 발생합니다. 공격 범위 증가 로직 작동 시 아래의 값이 undefined가 되게 됩니다.scene.m_attackEvents.catnip.damage 캣닢에서의 데미지는 m_damage로 선언되어 있기 때문입니다. 이는 오버레이 등 여러 로직과 엮여있는 컨벤션이므로 건들기 난해합니다.다른 공격 액션 또한 m_damage로 class가 구성되어 있으나, 다른 액션들은 이벤트 등록 시 damage가 있는 객체로 전달해서 큰 문제가 없습니다.결국 damage를 undefined 로 받은 캣닢은 레벨 4 이후 범위를 확장시키면서 데미지가 사라지는 현상이 나타나게 됩니다. 아무리 맞춰도 죽지 않습니다. 뼈를 내어주고 살을 얻습니다.JS인지라 damage가 undefined라고 에러는 나타나지 않지만 버그입니다.첫 강의 소개당시 왕까지 어렵게 가신 가장 큰 이유가 아닐까 싶습니다.해결방법이야 많겠지만 일단 무식하게 damage를 포함한 객체로 전달했습니다.(겸사겸사 동일한 에러를 도출할 것으로 보이는 scale과 repeatGap도 포함합니다.)/attackManager.js이 상태에서는 기존 catnip 자체를 저장하던 때와 비교하여 destroy() 메서드를 사용 할 수 없게 되므로 사이드이펙트 해소를 위해 아래와 같이 수정했습니다.객체에 destroy 함수만 넘길지 고민 많이 되더군요./attackManager.js
-
해결됨업무가 100배 빨라지는 엑셀 데이터 활용과 분석 노하우
차트 범위지정 외..
안녕하세요, 강사님 질문1. 차트 만들때, 꼭 전체 범위를 잡아줘야 하나요? 저는 office365인데 전체 범위 중 셀 하나만 선택해도 차트가 삽입이 돼요. 질문2. (아래 사진 참조) 꼭 CHOOSE함수를 써야 하는건가요..? 저는 그냥 저렇게 해서.. 그리고 [OFFSET 함수로 선택한 분기별 실적 데이터 찾아오기]강의 중 04:38에"1월은 한칸 열한칸 2월은 열두칸 3월은 열세칸 12월은 열 열두칸"이라고 말씀하세요..확인 부탁드립니다. 감사합니다!
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
설치 오류
안녕하세요 혹시 path 시 오류가 났나해서 다시 하려하니 이미 진행한걸로 경고 창이 뜹니다 ㅠ echo $PATH 를 한경우 끝이 다르게 아래와 같이 나옵니다.usr/bin:/var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin] bin 경로 까지 cd ./ 했을때 저는 선생님과 다르게bin git:(stable) ✗ <<이렇게 나오는데 이게 문제 일까요? ㅠ➜ ~ where flutterflutter not found 도와주세요 ㅠ
-
미해결실전 인공지능으로 이어지는 딥러닝 개념 잡기
RNN 가중치 w,u,l shape 질문
안녕하세요 선생님 RNN에 대한 알고리즘을 공부하다가 가중치의 shape를 보면서 이해가 가지 않아서 질문을 드립니다 a(t)안에 있는 원소들의 shape들이 달라도 weight를 통해서 n*1의 형태로 만드는 것은 이해를 했는데 input과 ,h(t-1)의 행이 다른 이유는 무엇인가요?행이 달라도 되는 이유가I work at Google라고 할때I, work (t시점이 work일때)i, work의 글자 수의 차이 때문에 이렇게 행이 다른건가요? 감사합니다
-
해결됨게임 프로그래머 취업 전략 가이드
기술 문서 내용에 대해서 질문드립니다...
안녕하세요 루키스님이런 저런 강의 보며 공부하다가 C++ 서버랑 유니티로 크아 모작을 해봤습니다. 여기서 이걸 포폴로 쓰려고 하니 여러가지 고민이 들어서 질문드립니다!1) 서버나 유니티 모두 강의 코드를 기반으로 포폴을 만들었고, 컨텐츠를 제외한 코어 부분은 모두 강의 기반이라 여러 번 강의를 보고 복습하면서 이해는 한 것 같은데 이게 메리트가 있을지에 대한 생각이 항상 들었습니다. 강의는 '이해'를 목적으로 했지만 포폴을 만드니 막상 직접 '구현' 한게 더 중요하고 그렇지 않으면 이게 내 것인가?하는 생각이 들어서요 어떻게 생각 하시는지 궁금합니다! 2) 이제 포폴을 영상으로 찍어서 올리는 것은 상관없는데 이걸 기술문서로 작성하면 어디서 부터 어디까지 작성을 해야할지 감이 안와서 질문드립니다. 찾아봐도 뭔가 대충 유니티 raycast썻다... 뭐 충돌은 이런거썻다 하는 기술문서들이 보이는데 이 부분은 중요한게 아닌거 같다는 생각도 들고, 모작하면서 이동동기화 내지는 고민했던 컨텐츠 구현을 중심으로 작성을 해야할까요? 아니면 네트워크 라이브러리도 기술문서에 들어가야할까요? 네트워크 라이브러리는 사실 1번 질문과 더불어서 보고 이해한거라서 넣는게 맞을지 고민이 됩니다...
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
퀴즈 11 질문 입니다.
아래의 코드를 보시면 에러 1은 퀴즈의 정답대로 처리를 하였고에러 2는 그냥 sout으로 바로 출력을 하였습니다.당연히 퀴즈의 물음은 에러 2처럼 출력을 하는것이 아닌거는 알고있지만 출력 결과는 같습니다.문제의 의도는 예외 객체 생성메시지, 예외 처리 메시지를 각각 만드는 연습을 하는것인건 알겠지만, 출력은 똑같이 나오니 이걸 어떻게 구분하는지, 그냥 sout출력과 무슨 차이인지 잘 모르겠습니다.(굳이 이 문제에서 thow,catch를 써서 처리하는 이유, 아니면 단지 이 문제에서만 이렇지 실무가면 확연하게 차이가 나는 부분인지)아직 너어어어무 초보 수준이라 질문 자체가 두서가 없는거 같고 아마 질문 보시면 헛웃음 나오실거 같긴합니다..package chap_11;// 에러코드// 0 (에러 없음), 1 (판매 시간 아님), 2 (매진)// 0 인 경우? 상품 구매를 완료하였습니다.// 1 인 경우? 상품 구매 가능 시간이 아닙니다. / 상품 구매는 20시부터 가능합니다.// 2 인 경우? 해당 상품은 매진되었습니다. / 다음 기회에 이용해주세요.public class TEST {public static void main(String[] args) {int errorCode = 2; try {if (errorCode == 0) {System.out.println("상품 구매를 완료하였습니다."); } else if (errorCode == 1) {throw new AppleException("상품 구매 가능 시간이 아닙니다."); } else if (errorCode == 2) {System.out.println("해당 상품은 매진되었습니다."); System.out.println("다음 기회에 이용해주세요."); }} catch (AppleException e) {System.out.println(e.getMessage()); System.out.println("상품 구매는 20시부터 가능합니다."); }}}class AppleException extends Exception {public AppleException(String message) {super(message); }}class Banana extends Exception {public Banana(String message) {super(message); }}
-
미해결스프링 시큐리티
Ip 제한의 대한 질문이 있습니다.
강의에서 설명해주신 내용은 잘 이해했습니다.강의의 내용은 permitAll 자원을 제외하고, 나머지 인가 자원의 대한 Ip 권한 체크인데요.개인적인 생각으로는 보통 특정 자원이 아닌, 모든 자원의 대한 IP 제한을 하지 않나 싶습니다.그렇게되면, Voter로는 해당 구현이 어려워 보이는데요.[permitAll은 FilterSecurityInterceptor를 상속한 PermitAllFilter에서 처리하기 때문]모든 자원에 대한 IP 제한을 할 경우, 커스텀 필터[IpAccessFilter]를 만들어서 제한을 해야한다고 생각합니다.그러 경우, FilterSecurityInterceptor 전에 두고, 화이트 리스트 IP가 아니라면 AccessDeniedException을 발생할까 고민중입니다. 해당 필터의 위치는 어느쪽이 적합한지와 제가 질문드린 내용의 대한 강사님의 생각이 궁금합니다.
-
미해결자바 ORM 표준 JPA 프로그래밍 - 기본편
프로퍼티와 메서드의 초기화 질문입니다.
public class student { public int score; public int getScore() { return this.score; } }위와 같은 코드가 있고 연관관계 매핑이 되어있어 현재 프록시 상태라고 가정했을 때점수를 얻기 위해 student.score를 사용 하면 영속성 컨텍스트로부터 초기화를 받지 못하고, student.getScoret()를 하면 초기화를 받는 건가요 ? 만약 프로퍼티 접근을 사용했을 때 초기화를 받지 모한다면 studnet.score 안에는 무슨 값이 들어있게 되는 건가요 ?