묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
실행 에러 질문..
테스트 코드 실행으로만 따라오다가 실제 서버를 띄우고 마지막으로 살펴보려하니 아래와 같은 Err가 발생합니다 ... [ main] h.hellospring.HelloSpringApplication : Started HelloSpringApplication in 11.777 seconds (JVM running for 13.962) [extShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... [extShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. EntityManager 관련하여 문제가 발생해서 바로 죽는거같은데.. 해결방법이 있을까요..? # dependency dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' // implementation 'org.springframework.boot:spring-boot-starter-jdbc' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' runtimeOnly 'com.h2database:h2' providedRuntime 'org.springframework.boot:spring-boot-starter-tomcat' testImplementation('org.springframework.boot:spring-boot-starter-test') { exclude group: 'org.junit.vintage', module: 'junit-vintage-engine' } } # apllication.properties spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.datasource.username=sa spring.jpa.show-sql=true spring.jpa.hibernate.ddl-auto=none
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
디버깅 시에 token.secret 값이 보이지가 않습니다.
계속 찾아보다가 이유를 모르겠어서 선생님한테 물어봐야될 것 같아서 이렇게 글남깁니다.
-
미해결[백문이불여일타] 데이터 분석을 위한 기초 SQL
' = '과 'is'의 차이가 뭘까요?
예를 들어 '='는 숫자비교만 가능하고 'is'는 숫자와 문자만 된다던가 하는 규칙이 있나요?? W3school에서는 둘 다 똑같은 값이 나오기는 하는데 혹시 놓치고 있는게 있을까 해서 질문드립니다^^
-
미해결모던 자바스크립트(ES6+) 기본
화살표 함수의 this 의 정적 스코프 참조 부분 질문드립니다.
선생님 강의 듣다가 궁금한 점이 생겨서 질문드립니다. 화살표 함수 show()의 [[Scope]]가 , 실행컨텍스를 생성한 후에, This 바인딩 컴포넌트에 바인딩되여, 참조하도록 되는 것인지, 아니면, 실행 시점에, 렉시컬 환경 컴포넌트의 외부 렉시컬 환경 참조에 참조하는 book 오브젝트를 통해서, 식별자해결을 통해, window 오브젝트를 참조하는 것으로 봐야할까요
-
미해결
강의수강 문의드려요
안녕하세요 이번에 파이썬 강의를 처음 들어보려고 하는 학생입니다. 그런데 제가 어떤 강의를 수강하는것이 좋을지 잘 판단이 안되서 여기에 글을 남깁니다. 제가 원하는 방향은, 인터넷 환경 또는 커뮤니티등에서 데이터들을 수집하여 키워드분석을 하여 시각화하는것이 제 목표입니다. 혹시 이런방향으로 학습을 원한다면 어느 강의를 듣는것이 좋을까요?
-
미해결파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
k번째 수
안녕하세요 강사님 보통 문제에서 T처럼 여러케이스가 주어진다고 되어있으면 for문을 많이쓰나요 아니면 while문으로 많이 쓰나요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
DM 채팅하기 질문드립니다.
강의장면에서 크롬창 2개켜서 포커스를 해야만 실시간 채팅이 반영된다고 말씀해주셨는데요. 제가 컴퓨터 1대를 더 준비해서 컴퓨터2대로 통신을 해봤는데 이미 포커싱이 된 상태에서는 실시간으로 채팅이 올라오지 않더라구요. 포커싱을 한번 해제했다가 돌아와야 반영됬습니다. (하지만 Socket.io는 바로 data를 받아옵니다) onMessage에서는 실시간으로 data를 받아와 mutateChat()함수도 실행되는데 chatData가 바꼇음에도 불구하고 리렌더링이 진행되지 않았습니다. 아마 immutable하게 바꾸지 않아서 그런것 같은데.... 아래 코드에서 mutateChat()을 통해 chatData를 변경하면 리렌더링이 일어나야하는데 리렌더링이 일어나지 않아서 실시간으로 반영이 안되는 것 같습니다. 혹시 이 부분은 제가 잘못한게 있는 것인지 아니면 의도한 것인지 궁금합니다. const onMessage = useCallback( (data: IDM) => { if (data.SenderId === Number(id) && myData.id !== Number(id)) { mutateChat((chatData) => { chatData?.[0].unshift(data); console.log(chatData); // 여기서 chatData가 변경됬음에도 불구하고 리렌더링이 일어나지 않습니다. return chatData; }, false).then(() => { if (scrollbarRef.current) { if ( scrollbarRef.current.getScrollHeight() < scrollbarRef.current.getClientHeight() + scrollbarRef.current.getScrollTop() + 150 ) { //console.log('scrollToBottom!', scrollbarRef.current?.getValues()); setTimeout(() => { scrollbarRef.current?.scrollToBottom(); }, 50); } } }); } }, [chatData, scrollbarRef], );
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
코딩 스타일 및 포인터에 관한 질문
1. 문자열 길이 계산 함수 int GetStringLength(char* str) { int lengthCount = 0; bool endOfStr = false; while (endOfStr == false) { endOfStr = *(str + lengthCount++) == '\0' ? true : false; } return --lengthCount; } 코드 길이를 최대한 줄여보고 싶어서 전위, 후위 연산자를 이렇게 사용을 해봤는데 이런 방식이 일반적인 회사에서 사용하기에 적절한 방식일까요? 2. 포인터를 매개 변수로 전달할 때 void StringConcatenation(char* dest, char* source, char joinWord) { int endOfDest = 0; while (dest[endOfDest] != '\0') { endOfDest++; } dest[endOfDest++] = joinWord; StringCopy((dest + endOfDest), source); } 기존 구현한 함수를 재사용하기 위해 포인터의 위치를 의도적으로 이동시킨 상태로 전달해주었고 결과는 의도한 대로 나왔습니다. 이러한 방식 또한 코딩 스타일로서의 문제가 없는지, 또는 이렇게 사용할 경우 발생할 수 있는 위험성 같은 것이 있는지 궁금합니다!
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
JUnit 4를 설치해야 할까요?
안녕하세요, 스프링 핵심 원리 강의 수강 후 이 강의를 들으러 왔습니다. 스프링 핵심 원리 강의에서는 JUnit에 대해 명시적으로 버전 설정을 하지 않았고, JUnit5를 사용했던 것 같습니다. JUnit에 대해 잘 알지는 못하지만 강의에서 다뤘던 부분 정도만 이해하고 있습니다. 그래서 여쭤보고 싶은 것은, JUnit4를 사용하지 않고 5버전을 사용하면 강의 진행에 있어 차질이 있는지, 작성되는 코드가 다른지 궁금합니다. 항상 강의 잘 듣고 있습니다. 감사합니다.
-
미해결프론트엔드 개발자를 위한 웹팩
질문이요!
제가 웹팩을 듣고나서 되게 신박하고 정말 좋아서 웹팩을 활용해서 포트폴리오를 만들 계획인데 조금 걸리는게 있습니다. 그 전에는 제가 직접 cdn쳐서 코드 들고 html에 붙여넣고 cafe24에 도메인,호스팅을 구매해서 ftp에 해당 파일만 넣으면 로컬이 아니더라도 어느 pc나 모바일에서 도메인으로 볼 수 있었지만, 웹팩을 활용해 만든 파일은 어떻게 해야 로컬이 아닌 다른 pc에서 도메인으로 쳐도 볼 수 있는지 궁금합니다. 그냥 폴더 자체를 ftp에 넣으면 되는건가요?
-
미해결풀스택을 위한 탄탄한 프런트엔드 부트캠프 (HTML, CSS, 바닐라 자바스크립트 + ES6) [풀스택 Part2]
data-position 지정 질문드립니다.
function processTouchMove(event){ event.preventDefault(); let currentX = event.clientX || event.touches[0].screenX; nowActiveLi = Number(currentActiveLi) + (Number(currentX)-Number(touchstartX)); currentClassList.style.transition = 'transfrom 0s linear'; currentClassList.style.transform = 'translateX('+String(nowActiveLi)+'px)'; } 마지막 마우스끌기에관한 강의에서 나온 코드입니다. currentActiveLi = currentClassList.getAttribute('data-position') 이 설정되어 있는데 currentClassList.style.transform = 'translateX('+String(nowActiveLi)+'px)' 이 실행된다음 currentClassList.setAttribute('data-position',nowActiveLi) 를 하지않는 이유가 궁금합니다.
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
node server.js 명령어를 입력하면 오류가 나옵니다
SyntaxError: Unexpected string in JSON at position 49 at JSON.parse (<anonymous>) at parse (C:\Users\김성범\Desktop\cap-server\node_modules\body-parser\lib\types\json.js:89:19) at C:\Users\김성범\Desktop\cap-server\node_modules\body-parser\lib\read.js:121:18 at invokeCallback (C:\Users\김성범\Desktop\cap-server\node_modules\raw-body\index.js:224:16) at done (C:\Users\김성범\Desktop\cap-server\node_modules\raw-body\index.js:213:7) at IncomingMessage.onEnd (C:\Users\김성범\Desktop\cap-server\node_modules\raw-body\index.js:273:7) at IncomingMessage.emit (events.js:327:22) at endReadableNT (internal/streams/readable.js:1327:12) at processTicksAndRejections (internal/process/task_queues.js:80:21) QUERY : {} QUERY : {}
-
미해결애플 웹사이트 인터랙션 클론!
버그가 있는것 같아요`
화면상단에서 100px 정도 스크롤 한 상태에서 새로 고침 하면. 0번 째 씬 이미지 로드한 뒤 initAfterLoadImages() 를 호출하면서 화면이 스스륵 밀려 올라가는데, 0번 째 씬 로드 후 2번째 씬 이미지 마저 모두 로드되면 initAfterLoadImages()를 또한 번 호출 하면서 다시한번 스스륵 밀려 올라가네요~ 중복으로 올라가요~~ 추후에 시간이 되시면 개선 버전 파일도 올려주시면 좋을 것 같아요~
-
미해결자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
소수 판단시 j값 설정과 runtime오류 문의
안녕하세요. 강사님, 강사님이 풀어 주신 방법대로 해보다가 의문이 생겨 질문 남깁니다. 제공해주신 답의 inner for문에서 ch[j] =1, 이렇게 하면 이번문제의answer답은 맞을지 몰라도 소수인 자기자신도 1로 체크가 되기때문에 만약 배열에서 소수를 출력하라고 한다면 틀린 로직이 되는 것 같습니다. 정말로 배열에서 소수가 아닌 것만 체크하려고 이런식으로 변경해보았는데 runtime오류가 발생합니다. ide에서는 잘돌아가는데 답제출시 되지않네요ㅠ 왜 그런것인가요? import java.util.*; class Main{ public int solution(int n) { int answer = 0; int[] arr = new int[n+1]; for(int i=2; i<=n; i++) { if(arr[i] == 0) { answer++; for(int j=2; i*j<=n; j++) { arr[i*j]=1; } } } return answer; } public static void main(String[] args) { MainC = new Main(); Scanner sc = new Scanner(System.in); int n = sc.nextInt(); if(n <= 1) return; System.out.println(C.solution(n)); } }
-
미해결비전공자를 위한 진짜 입문 올인원 개발 부트캠프
upload시 에러
업로드 상품등록하기를 누를 시 에러가 발생하고 콘솔에는 아래와 같이 나타납니다. 검색해보니 CORS 정책 어쩌고하면서 서버쪽에 무언갈 허용을 해줘야하는 거같은데 강의에서는 아무 문제없이 돌아가는데 저는 왜 에러가 발생되는 것일까요?
-
미해결Slack 클론 코딩[실시간 채팅 with React]
스크롤바 수정하면서 궁금한 사항이 생겼습니다!
항상 좋은 강의해주셔셔 감사합니다! 질문이 있습니다. 채팅입력란에서 글씨를 입력하고 enter를 누르면 http통신을 통해 채팅내역을 저장하고 불러오는데요! 혹시 이 부분도 Socket.io를 통해 실시간으로 주고 받으면 더 좋을 것 같은데 http통신으로 구현한 이유가 있을까요? 현재 프로젝트에서는 워크페이스와 채널에 접속한 사용자 유무만 Socket.io를 통해 갱신해주는 것 같아서요! 혹은 채팅을 보내고 내역을 주고받는 것도 Socket.io로 구현할 수 있는지 혹은 단점이 있는지.. 궁금합니다.
-
미해결몇 줄로 끝내는 인터랙티브 웹 개발 노하우 [초급편]
크로스브라우징
삭제된 글입니다
-
미해결따라하며 배우는 노드, 리액트 시리즈 - 기본 강의
로그인일때 만 로그아웃 버튼보이게 하는법 알수있을까요?
로그인일때 만 로그아웃 버튼보이게 하는법 알수있을까요?
-
해결됨코로나맵 개발자와 함께하는 지도서비스 만들기 1
코로나 데이터에 대한 질문과 구현 방법
안녕하세요. 수강완료한 학생?(회사원)입니다. 너무 재밌게 잘 들었습니다. 궁금한게 있어서 글 남겨요. 질문은 2가지 인데요. 1. 실제 코로나 감염자 정보의 데이터는 어디서, 어떻게 가져오시나요? 2. 위의 획득한 코로나 감염자 정보를 가지고, 실제로 저장하시는 db는 aws의 s3를 이용하시는 중이세요? *db를 이용한 데이터 저장방법과 그것을 이용해서 화면에 출력하는 내용은 코로나맵 2번째 강의를 들으려고 합니다. 바쁘신데 죄송하지만 답변 주시면 감사하겠습니다. 수고하세요~
-
미해결1:1채팅 만들기(Android + Kotlin + Firebase)
빨간색 글씨때문에 막혀요. 그리고 Cloud Firestore 초기화 코드가 달라요.
val user =User(uid, username.text.toString())에서 username부분이 빨간색이 떠요. val db = FirebaseFirestore.getInstance.collection("users") 에서 FirebaseFirestore가 빨간색이 떠요. addOnSuccessListener{ Log.d(TAG, "데이터베이스 성공")}addOnFailureListener{ Log.d(TAG, "데이터베이스 실패")}에서 addOnSuccessListener와 addOnFailureListener가 빨간색이 떠요.multiDexEnabled true와 "com.android.support:multidex:1.0.3"은 어디서 나온건가요?어디서 복사하기 붙여넣기 했나요? 파이어스토어 데이터베이스에서 검색해봐도 똑같은코드가 없습니다. 어떻게 했는지 모르겠어요.package com.example.chatting_video import android.content.Intentimport androidx.appcompat.app.AppCompatActivityimport android.os.Bundleimport com.google.firebase.auth.FirebaseAuthimport kotlinx.android.synthetic.main.activity_main.*import android.util.Log as Logimport kotlinx.android.synthetic.main.activity_main.login_button_main as login_button_mainclass MainActivity : AppCompatActivity() {private lateinit var auth: FirebaseAuth// ... private val TAG: String = MainActivity::class.java.simpleName override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)"auth = FirebaseAuth.getInstance()join_button.setOnClickListener { val email = email_area.text.toString()val password = password_area.text.toString()auth.createUserWithEmailAndPassword(email, password).addOnCompleteListener(this) { task -> if (task.isSuccessful) {// Sign in success, update UI with the signed-in user's information Log.d(TAG, "성공")val uid = FirebaseAuth.getInstance().uid val user =User(uid, username.text.toString())// 여기에서 데이터베이스에 넣음 val db = FirebaseFirestore.getInstance.collection("users")db.document(uid).set(user)addOnSuccessListener{ Log.d(TAG, "데이터베이스 성공")} addOnFailureListener{ Log.d(TAG, "데이터베이스 실패")} val intent = Intent(this, ChatListActivity::class.java)intent.flags = Intent.FLAG_ACTIVITY_NEW_TASK or Intent.FLAG_ACTIVITY_CLEAR_TASK startActivity(intent)} else {Log.d(TAG, "실패", task.exception)}} } login_button_main.setOnClickListener { val intent = Intent(this, LoginActivity::class.java)startActivity(intent)} }} plugins { id 'com.android.application' id 'kotlin-android' id 'kotlin-android-extensions'}apply plugin: 'com.google.gms.google-services'android { compileSdkVersion 30 buildToolsVersion "30.0.3" defaultConfig { applicationId "com.example.chatting_video" minSdkVersion 16 targetSdkVersion 30 versionCode 1 versionName "1.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" multiDexEnabled true } 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 "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" implementation 'androidx.core:core-ktx:1.2.0' implementation 'androidx.appcompat:appcompat:1.1.0' implementation 'com.google.android.material:material:1.1.0' implementation 'androidx.constraintlayout:constraintlayout:1.1.3' implementation 'com.google.firebase:firebase-auth:19.3.1' testImplementation 'junit:junit:4.+' androidTestImplementation 'androidx.test.ext:junit:1.1.1' androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0' implementation platform('com.google.firebase:firebase-bom:27.1.0') implementation 'com.google.firebase:firebase-analytics' implementation platform('com.google.firebase:firebase-bom:26.8.0')}