묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결탄탄한 백엔드 NestJS, 기초부터 심화까지
typeORM 관련 질문
안녕하세요! 좋은 강의 만들어주셔서 감사합니다:) 앞서서 쓰여있는 게시물 읽고 질문 하고싶은게 있어서 질문드려요! 위에 typeorm은 다루지 않느냐는 게시물에서의 댓글중에 몽구스+mysql이라는 조합을 보여주시고 각 모듈마다 세팅하면 되서 괜찮다고 답글 달아주셨던데 혹시 그럼 typeorm에서 서로 다른 두 db사이에 join연산을 지원을 해주는지 궁급합니다!
-
해결됨Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
/blog/ 페이지가 열리질 않네요
도커로 전부 옮기는 작업 마치고 마지막에 접속하니까 다른 페이지는 정상적으로 열리는데(home, about me) /blog/는 안열리네요..
-
미해결[D.P.(DappProject)] 디앱 프로젝트(NFT 생성, NFT 구매 및 판매)
Mint 후 이미지가 나오지 않습니다
메인페이지2 강의에서 mint 버튼을 누르면 reponse 상태가 true임에 따라 발급된 이미지를 보여주는 실습을 진행합니다. 하지만 저는 계속 위 사진과 같은 상태입니다ㅜ 이미지는 나오지 않지만 response 상태에 따라 다른 화면을 출력했으니 이미지 자체에 문제가 있는 것인지 아니면 제가 임의로 변수명같은 걸 다르게 해서 생긴 에러인지 궁금하여 문의남깁니다 감사합니다ㅜㅜ
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
H2 소켓 연결 webAllowOthers 설정
그냥 h2 띄우고 소켓으로 연결하려고 하면 이런 오류가 떠서 ./h2.sh -webAllowOthers 요렇게 띄우니까 해결됐습니다.
-
미해결따라하며 배우는 도커와 CI환경 [2023.11 업데이트]
docker volume 명령어 에러
- 안녕하세요 강의 내용대로 따라했는데 에러가 발생합니다. 제가 잘못 작성한 부분이 있나요? 윈도우 환경에서 도커툴 설치해서 하고 있습니다. 이전에 강의내용은 명령어 실행이 잘되었습니다. PS D:\workspace\docker_test\docker2> docker -v Docker version 20.10.12, build e91ed57. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결스프링 핵심 원리 - 기본편
해당 proxymode 를 프로토타입쪽에 적용해보았는데 실패합니다.
안녕하세요 아래와같이 prototype bean 에대해서 proxy mode 를 적용했는데.. 테스트 결과가실패하네요. 보면 prototype 이 제대로 만들어지지 않는거같은데 ComponentScan 으로 만든게아닌 임의의 AnnotationApplicationContext 를통해서 만들어서 그런가요?? @Test void prototypeFInd() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(PrototypeBean.class); PrototypeBean bean = ac.getBean(PrototypeBean.class); bean.addCount(); Assertions.assertThat(bean.getCount()).isEqualTo(1); PrototypeBean bean2 = ac.getBean(PrototypeBean.class); bean2.addCount(); Assertions.assertThat(bean2.getCount()).isEqualTo(1); } @Test void singletonCLientUsePrototype() { AnnotationConfigApplicationContext ac = new AnnotationConfigApplicationContext(ClientBean.class, PrototypeBean.class); ClientBean clientBean1 = ac.getBean(ClientBean.class); int count1 = clientBean1.logic(); Assertions.assertThat(count1).isEqualTo(1); ClientBean clientBean2 = ac.getBean(ClientBean.class); int count2 = clientBean2.logic(); Assertions.assertThat(count2).isEqualTo(1); } @Scope("singleton") @RequiredArgsConstructor static class ClientBean { private final PrototypeBean prototypeBean; public int logic() { System.out.println("prototypeBean Add = " + prototypeBean); prototypeBean.addCount(); return prototypeBean.getCount(); } } @Scope(value = "prototype", proxyMode = ScopedProxyMode.TARGET_CLASS) static class PrototypeBean { private int count = 0; public void addCount() { count++; } public int getCount() { return count; } @PostConstruct public void init() { System.out.println("PrototypeBean.init " + this); } @PreDestroy public void destroy() { System.out.println("PrototypeBean.destroy"); } }
-
미해결Do It! 장고+부트스트랩: 파이썬 웹개발의 정석
도커 빌드시 out of memory
안녕하세요. 배포 후 web에 수정사항이 있어서 git pull 받은 뒤에 > sudo docker-compose up -d --build web 위 명령어를 실행했는데 out of memory 에러가 발생하네요. 도커의 메모리를 늘려야 하나요? --------------------------------- Building web Sending build context to Docker daemon 13.12MB Step 1/7 : FROM python:3.9-slim-buster ---> 6765f49fcf16 Step 2/7 : WORKDIR /usr/src/app ---> Using cache ---> debf846b42a4 Step 3/7 : ENV PYTHONDONTWRITEBYTECODE 1 ---> Using cache ---> a95b85eb04f7 Step 4/7 : ENV PYTHONBUFFERED 1 ---> Using cache ---> 9d7e9ce63802 Step 5/7 : COPY . /usr/src/app/ ---> Using cache ---> bee3bb3d5424 Step 6/7 : RUN pip install --upgrade pip ---> Using cache ---> d9f3740edfc3 Step 7/7 : RUN pip install -r requirements.txt ---> Running in ddfc3c1e779c OCI runtime create failed: container_linux.go:367: starting container process caused: process_linux.go:495: container ini t caused: Running hook #0:: error running hook: exit status 2, stdout: , stderr: fatal error: runtime: out of memory runtime stack: runtime.throw(0x557f15ba819d, 0x16) /usr/lib/golang/src/runtime/panic.go:1116 +0x74 fp=0x7fff7fe56bc0 sp=0x7fff7fe56b90 pc=0x557f13fac074 runtime.sysMap(0xc000000000, 0x4000000, 0x557f1779fe38) /usr/lib/golang/src/runtime/mem_linux.go:169 +0xc7 fp=0x7fff7fe56c00 sp=0x7fff7fe56bc0 pc=0x557f13f8d947 runtime.(*mheap).sysAlloc(0x557f177832a0, 0x400000, 0x0, 0x4) /usr/lib/golang/src/runtime/malloc.go:727 +0x1d4 fp=0x7fff7fe56ca8 sp=0x7fff7fe56c00 pc=0x557f13f810f4 runtime.(*mheap).grow(0x557f177832a0, 0x1, 0x0) /usr/lib/golang/src/runtime/mheap.go:1344 +0x85 fp=0x7fff7fe56d10 sp=0x7fff7fe56ca8 pc=0x557f13f9cfa5 runtime.(*mheap).allocSpan(0x557f177832a0, 0x1, 0x37312d7069002a00, 0x557f1779fe48, 0x6e2d70612e323031) /usr/lib/golang/src/runtime/mheap.go:1160 +0x6b6 fp=0x7fff7fe56d90 sp=0x7fff7fe56d10 pc=0x557f13f9cd56 runtime.(*mheap).alloc.func1() /usr/lib/golang/src/runtime/mheap.go:907 +0x66 fp=0x7fff7fe56de8 sp=0x7fff7fe56d90 pc=0x557f13fdb346 runtime.(*mheap).alloc(0x557f177832a0, 0x1, 0x4012a, 0x2200000003) /usr/lib/golang/src/runtime/mheap.go:901 +0x85 fp=0x7fff7fe56e38 sp=0x7fff7fe56de8 pc=0x557f13f9c225 runtime.(*mcentral).grow(0x557f17796158, 0x0) /usr/lib/golang/src/runtime/mcentral.go:506 +0x7c fp=0x7fff7fe56e80 sp=0x7fff7fe56e38 pc=0x557f13f8d31c runtime.(*mcentral).cacheSpan(0x557f17796158, 0x557f13fd945a) /usr/lib/golang/src/runtime/mcentral.go:177 +0x3e5 fp=0x7fff7fe56ef8 sp=0x7fff7fe56e80 pc=0x557f13f8d0a5 runtime.(*mcache).refill(0x7efe2a58a108, 0x2a) /usr/lib/golang/src/runtime/mcache.go:142 +0xa5 fp=0x7fff7fe56f18 sp=0x7fff7fe56ef8 pc=0x557f13f8ca45 runtime.(*mcache).nextFree(0x7efe2a58a108, 0x557f1776922a, 0x7efe2a58a108, 0xfffffffffffffff8, 0x7fff7fe56fa8) /usr/lib/golang/src/runtime/malloc.go:880 +0x8d fp=0x7fff7fe56f50 sp=0x7fff7fe56f18 pc=0x557f13f8198d runtime.mallocgc(0x180, 0x557f166a9b60, 0x7fff7fe57001, 0x7fff7fe57050) /usr/lib/golang/src/runtime/malloc.go:1061 +0x854 fp=0x7fff7fe56ff0 sp=0x7fff7fe56f50 pc=0x557f13f82394 runtime.newobject(0x557f166a9b60, 0x557f13fda040) /usr/lib/golang/src/runtime/malloc.go:1195 +0x3a fp=0x7fff7fe57020 sp=0x7fff7fe56ff0 pc=0x557f13f8283a runtime.malg(0x8000, 0x0) /usr/lib/golang/src/runtime/proc.go:3520 +0x33 fp=0x7fff7fe57060 sp=0x7fff7fe57020 pc=0x557f13fb6d73 runtime.mpreinit(0x557f177692e0) /usr/lib/golang/src/runtime/os_linux.go:340 +0x2f fp=0x7fff7fe57080 sp=0x7fff7fe57060 pc=0x557f13fa8bef runtime.mcommoninit(0x557f177692e0, 0xffffffffffffffff) /usr/lib/golang/src/runtime/proc.go:663 +0xfa fp=0x7fff7fe570c8 sp=0x7fff7fe57080 pc=0x557f13fafeda runtime.schedinit() /usr/lib/golang/src/runtime/proc.go:565 +0xa5 fp=0x7fff7fe57120 sp=0x7fff7fe570c8 pc=0x557f13fafa65 runtime.rt0_go(0x7fff7fe57228, 0x4, 0x7fff7fe57228, 0x0, 0x7efe2978a0ba, 0x0, 0x7fff7fe57228, 0x400000000, 0x557f13fe39a0 , 0x0, ...) /usr/lib/golang/src/runtime/asm_amd64.s:214 +0x129 fp=0x7fff7fe57128 sp=0x7fff7fe57120 pc=0x557f13fe3ae9: unknown ERROR: Service 'web' failed to build : Build failed
-
미해결기초부터 따라하는 디지털포렌식
Windows10 이후 메모리 덤프에 대해서
윈도우10이후에서 FTK Imager나 Dumplt 으로 메모리 덤프 및 Volatility로 분석이 안되서 인터넷에 찾아보니 winpeme으로 덤프하여 rekall로 해야 한다고 하네요 이부분에 대해서도 강의 내용에 포함되어 있는지 알고 싶습니다.
-
해결됨스프링 핵심 원리 - 기본편
궁금해요 ㅎㅎㅎㅎㅎㅎ
private static final Map<Long,Member> store=new HashMap<>(); 제가 수정을 해봤는데 서포터즈 님들꼐서는 코드 리뷰를 해줄실 수 있나요?스태틱데신에 상수이니까 회원 정보를 변경 불가능하게해서 사용해도 될꺼같아요 괜찮을까요????
-
해결됨기출로 대비하는 개발자 전공면접 [CS 완전정복]
멀티프로세스 질문
멀티 프로세스가 2개 이상의 프로세스가 동시에 실행되는 것을 의미한다고 하시고 예시로 롤큐, 유튜브 음악을 동시에 하는 것이라고 하셨는데 이것은 멀티 태스킹이 아닌가해서 여쭤봅니다. 멀티프로세스는 하나의 프로세스를 여러 프로세스로 나눠서 작업하는 것으로 기억하는데 무엇이 맞는지 궁금합니다. 예시로 구글 크롬의 여러 탭같은것요!
-
미해결기초부터 따라하는 디지털포렌식
멀웨어 감염 경로에 대해서
volatility 플러그인 옵션 .cmdline으로 로그 파일을 추출해서 보면 Command line : "C:\Program Files\Adobe\Reader 9.0\Reader\Reader_sl.exe" 으로 인자값이 없습니다. filescan로그값을 보더라도 pdf파일이 로드 되지않았음을 알수 있습니다. foremost 으로도 pdf파일이 메모리 덤프파일안에는 없는것을 확인 하였습니다. Reader_sl.exe의 PPID가 explorer.exe 이므로 유저에 조작에 의해서 PC에서 직접 Reader_sl.exe 가 호출된것인가요? Reader_sl.exe는 어디서 다운로드 되었을까요? 억지로 만들어진 예제 파일이므로 해당 정보는 알 수 없는것인가요?
-
미해결쉽게 처음하는 파이썬 고급 크롤링 [Scrapy, Selenium, Headless Chrome]
강의 너무 잘 들었습니다. 데이터 분석 로드맵 학습 과정에 대한 질문을 드리고 싶습니다
강의 너무 재미있게 완강했습니다. 항상 들으면서 느끼지만, 이렇게 방대한 내용들을 누군가에게 가르칠 수 있을 정도로 학습하셨다는 것이 마냥 존경스럽습니다. 강의를 다 끝내고, 데이터 분석 로드맵 설명을 찬찬히 듣던 중 조금 궁금한 점이 있어 이렇게 질문 드립니다. 머신러닝과 인공지능을 학습하려면 수학적 지식과 바탕이 어느정도 있어야 한다고 알고 있는데요, 인터넷에서 찾아보니 미적분, 선형대수, 통계학 이 세가지를 공통적인 필수 요소로 꼽는 것 같습니다. 그런데 저와 같은 문과생 출신들에게는 너무 와닿지 않는 얘기라고 해야할까요... 통계학에서 어떤 부분을 공부해야 하는지(예를 들어 수리통계학, 응용통계학 등), 선형대수를 공부하기 위해서 어떤 개념을 선수학습으로 알고 있어야 하는지, 여기서의 미적분은 고등학교 때 배우는 과정과 무엇이 다른건지 등등... 사실 이들을 어떻게 공부해야겠다 라는 방향성을 잡기가 너무 어렵습니다. 이 강의를 듣는 수많은 학생들보다 더 먼저 이 길을 걸어오신 선배님의 입장에서, 데이터 분석을 위한 수학 공부의 방향에 대해서 조언해 주신다면 정말 감사할 것 같습니다. 강의를 들으며 하나씩 꿈을 이루어가는 기분이 들어 너무 행복했습니다. 다음 강의도 열심히 듣도록 하겠습니다!
-
미해결데브옵스(DevOps)를 위한 쿠버네티스 마스터
Nginx 및 Ingress yaml 작성에 대해 못찾는 분들을 위해 남깁니다.
[nginx ingress install] - nginx 다운로드 git clone https://github.com/kubernetes/ingress-nginx/ - nginx 배포 kubectl apply -k `pwd`/ingress-nginx/deploy/static/provider/baremetal - 배포 확인 kubectl get all -n ingress-nginx [예제 deploy] - Deploy pod 배포 kubectl create deployment http-go --image=gasbugs/http-go:ingress - service 생성 kubectl expose deploy http-go --port=80 --target-port=8080 [Ingress rule] - Ingress Rule 작성
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
멘토링 문제가 이해가 안돼요 ㅠㅠ
교안 다운받아서 풀고 있는데, 섹션 4. 완전탐색(브루스포트) 의 멘토링 문제 의 설명이 이해가 가지 않아서 질문을 남기게 되었습니다. 조건 중에 A학생은 M번의 수학테스트에서 모두 B학생보다 등수가 앞서야 합니다. 라는 내용이 있고 다음과 같은 테스트 케이스가 제공되어 있습니다. 1등이 제일 작은 숫자이며, 4등이 제일 큰 숫자라고 했을때, 제약조건 에 따르면 1번이라도 4등을 한 사람은 멘토가 될 수 없을 것입니다. 동시에 1번이라도 1등을 한 사람은 멘티가 될 수 없을 것이라고 생각합니다. 그렇다면, 멘토 자리에 올 수 있는 사람은 4번이며 멘티 자리에 올 수 있는 사람은 1번으로 제한되어 결과적으로 정답은 (4,1) 로 1을 출력 해야 한다고 생각했습니다.하지만 어쨰서 가 정답이 되는 것인지 이해할 수 없어서 질문을 남기게 되었습니다.
-
미해결작정하고 장고! Django로 Pinterest 따라만들기 : 바닥부터 배포까지
logout시 오류페이지가 뜹니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. logout버튼을 누르면 404오류가 뜨면서 디버그를 false로 변경하라는 오류메시지가 뜨길래 settings.py에서 아래처럼 설정을 하였습니다. DEBUG = False ALLOWED_HOSTS = ['localhost','127.0.0.1'] 그리고 다시 로그아웃을 하니 지금은 아래와 같은 오류가 뜨고요 ㅠ 어떻게 해야될까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
ErrorPage 자동 등록 질문
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요. 스프링 부트가 ErrorPage를 자동으로 등록해 놓는데, 이때 어떤 예외가 발생하던 기본적으로 /error 라는 경로로 내부호출 되도록 ErrorPage를 등록해 놓는다고 설명해주셨습니다. 그러면 예외 종류 관계없이 예외가 발생하면 내부적으로 /error라는 경로로 재요청 되는데, 그 요청을 BasicErrorController가 받아서, 발생한 예외의 상태코드에 따라서 예외 화면을 보여주는게 맞는지 궁금합니다.
-
미해결[유니티 레벨 업!] 모듈식으로 개발하는 퀘스트&업적 시스템
완성된 프로젝트는 어디서 다운 받을 수 있나요?
코드를 직접 만지면서 분석하고 싶은데요. 완성된 프로젝트를 구할 순 없을까요?
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
DataBinding시 오류 질문
안녕하세요 선생님 도저히 오류를 고치지 못하겠어서 문의드립니다. DataBinding만 하면 오류가 나네요. 구글링을 한참 해봤는데 xml파일의 오류도 아닌 것 같고, databinding 안 쓰고, <layout> 태그 안 쓰면 정상적으로 앱은 실행됩니다.. 한 번만 살펴봐주시면 감사하겠습니다. 그냥 제 컴퓨터에서는 DataBinding을 포기하고 findViewById 만 사용해서 수업을 따라가도 될까요..? 위치 : 주사위앱 마지막 강의 3:30 // MainActivitiy.kt package com.preferkim.test01 import androidx.appcompat.app.AppCompatActivity import android.os.Bundle import android.widget.Toast import androidx.databinding.DataBindingUtil import com.preferkim.test01.databinding.ActivityMainBinding class MainActivity : AppCompatActivity() { private lateinit var binding : ActivityMainBinding override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) binding = DataBindingUtil.setContentView(this, R.layout.activity_main) binding.diceStartButton.setOnClickListener { Toast.makeText(this, "주사위 GO!", Toast.LENGTH_LONG).show() } } } // activity_main.xml <?xml version="1.0" encoding="utf-8"?> <layout> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#008000" android:orientation="vertical" tools:context=".MainActivity"> <LinearLayout android:layout_width="match_parent" android:layout_height="200dp" android:layout_marginTop="100dp"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="20dp" android:gravity="center" android:text="인생은 주사위 한 방에 가는 거 아니겠습니까?" android:textColor="@color/black" android:textSize="30sp" android:textStyle="bold" /> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="150dp" android:weightSum="2"> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:src="@drawable/dice_1" /> <ImageView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_weight="1" android:src="@drawable/dice_2" /> </LinearLayout> <android.widget.Button android:id="@+id/diceStartButton" android:layout_width="match_parent" android:layout_height="50dp" android:layout_margin="50dp" android:background="@color/black" android:gravity="center" android:text="인생 고고" android:textColor="@color/white" /> </LinearLayout> </layout> // build.gradle(app) plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-kapt' } android { compileSdkVersion 31 buildToolsVersion "30.0.0" defaultConfig { applicationId "com.preferkim.test01" minSdkVersion 16 targetSdkVersion 30 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' } // 추가 buildFeatures { dataBinding true } // dataBinding { // enabled true // } } dependencies { implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation 'androidx.core:core-ktx:1.7.0' implementation 'androidx.appcompat:appcompat:1.4.1' implementation 'com.google.android.material:material:1.5.0' implementation 'androidx.constraintlayout:constraintlayout:2.1.3' testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.3' androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0' kapt 'com.android.databinding:compiler:4.1.3' } // build.gradle(project) // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.kotlin_version = "1.4.32" repositories { google() jcenter() } dependencies { classpath "com.android.tools.build:gradle:4.1.3" classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { google() jcenter() } } task clean(type: Delete) { delete rootProject.buildDir }
-
미해결스프링 핵심 원리 - 고급편
Proxy.newProxyInstance 의 두번째 인자가 배열인 이유를 이해하지 못하겠습니다.
예를들어 interface TestInterfaceA { void testA(); } interface TestInterfaceB { void testB(); } 두개가 있다고 가정했을때 publiic TestImpl implements TestInterfaceA, TestInterfaceB { void testA(){ } void testB(){ } } 이렇게 인터페이스를 한개이상 구현할수 있어서 배열로 들어가야 되는건가요??
-
미해결3. 웹개발 코스 [스프링 프레임워크+전자정부 표준프레임워크]
oracle 시퀀스 옵션 적용후 설렉트할때마다 게속 생성되는것을 방지하는 방법은 무엇일까요?
oracle 시퀀스 옵션 적용후 설렉트할때마다 게속 생성되는것을 방지하는 방법은 무엇일까요?