묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결데브옵스(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 시퀀스 옵션 적용후 설렉트할때마다 게속 생성되는것을 방지하는 방법은 무엇일까요?
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
에라토스테네스의 체, 이게 정말 빠른게 맞을까요? (깃 청부)
안녕하세요.다른 분 풀이에서 "에라토스테네스의 체"라는 것이 있어서,구글링 해보니 포스트에는 최적의 알고리즘 이라는 내용이 있었는데,실제로 속도 비교를 해보니 오히려 성능이 좋지 않다 라고 느꼈습니다.두 알고리즘에 사용된 소수의 특징 은 다음과 같았습니다.1. 1은 소수가 아니다. (해당 값일 경우 바로 중단)2. 2는 무조건 소수이다. (해당 값일 경우 바로 중단)3. 4 이상의 수는 Math.sqrt 까지만 그 값을 반복한다.문제 풀이에 2가지 쟁점을 잡아 풀었습니다.3-1. 3번 알고리즘을 사용하기 위하여, 2와 4 사이의 유일한 정수인 3은 소수이므로 바로 중단한다 함수를 실행한 파일 22-javascript-coding-test/index.js at main · unchaptered/22-javascript-coding-test (github.com) 성능 비교 (결과값은 모두 동일하게 출력) 기본 풀이 방법 코드 22-javascript-coding-test/2.Prime_numbers_basic.js at main · unchaptered/22-javascript-coding-test (github.com)에라토스테네스의 체22-javascript-coding-test/2.Prime_numbers_adv.js at main · unchaptered/22-javascript-coding-test (github.com)에라토스테네스의 체에서 몇 가지 개선점이 상상되기는 하지만,테스트할 수가 클수록 그 만큼 배열을 생성하는 데 걸리는 시간 이 길어지는 단점이 보이는데, 어째서 해당 알고리즘이 성능적으로 좋은지 모르겠습니다.아니면 제가 Array.prototype.filter() 를 통해서 새로운 배열을 만들고 있기 떄문에 성능 저하 가 발생하고 있는 것일까요?p.s. 강의 파일과 관련있는 코드라서 강사님 답변 받고 나면 바로 private 으로 돌려놓겠습니다.p.p.s 이 부분은 궁금해서 커뮤니티 같은데에 질문을 남겨서 의견을 받아도 될까요? ㅠㅠ
-
미해결실전! 스프링 데이터 JPA
데이터베이스 연결
제가 Data Jpa를 테스트 해보려고 하는데 Table "ARTICLE" not found 에러가 발생합니다 분명히 ddl-auto에 의해서 Article 테이블이 자동 생성되는데 왜 SQL 문법 에러가 나는가 싶어서 workbench에서 select문을 던져봤는데 실제로 Article 테이블이 존재하지 않는다고 합니다. 좀 더 찾아본 결과 workbench에서 구체적인 database가 선택되지 않아 발생한 문제 인 것 같습니다 workbench에서 select * from article; 은 에러가 나지만 select * from mydb.article; 이나 use mydb 이후 select * from article;은 문제 없이 작동합니다 이 경우 data jpa에서 나가는 쿼리문이 문제인 것 같은데 insert into (테이블 이름) 에서 테이블 이름 앞에 prefix를 넣는 방법이 따로 있을까요?
-
미해결[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
안녕하세요 제로초님 공부법에 대해 질문드리고 싶습니다
안녕하세요 제로초님 학교에서 법학과 전공 소프트웨어 부전공을 이수하고 국비지원수업을 듣고 있는 개발자 지망생입니다. 시중에 여러 문법 강좌를 들어봤는데 코드를 스스로 작성해내는 실력이 늘지 않아 공부 효율이 떨어져 있는 상태입니다. 그래서 과거에 법학 시험을 보면서 이해하고 해당 내용을 암기한다음 문제에 적용해 해결방안을 도출했던 것 처럼 개발도 이해암기 -> 문제 적용을 통한 해결 방안 도출이 반복되다보면 프로그래밍 사고력이 향상될 수 있는지 궁금합니다. 개발은 절대 암기하면 안되고 이해해야 한다는 말이 있어서 해당 방법이 효율적인 방법인지, 아니면 다른 방법을 고안해야 하는지, 보완해야할 부분이 있다면 어떤 방향으로 학습해야 할지 여쭤보고 싶습니다.
-
미해결자바스크립트 : 기초부터 실전까지 올인원
깃허브에 있는 폴더삭제?
강의 따라하면서 연습하다보니 위에처럼 깃허브에 폴더가 여러개 생겼는데, 폴더 삭제는 어떻게 해야 하는건지요? git rm --cached -r 폴더명 : 폴더 제거하기 이 명령어로 알려주셨는데, 이 명령을 git bash 에서 입력하는건지 아님 비주얼스튜디오에서 터미널을 열어서 하는건지요.... 실제 데이터를 컴퓨터상에 없고 깃허브상의 만들어준 폴더를 삭제하고 싶어서요....
-
미해결그로스해킹 - 데이터와 실험을 통해 성장하는 서비스를 만드는 방법
코딩테스트에 리텐션이 나와서... 혹시 여쭤봐도 될까요?
안녕하세요. 지난 달에 유통회사 구직 중에 SQL 코딩테스트가 있었고요. SQL은 SQLD 자격증을 취득한 상황이고 당시에 그로스해킹, 디지털마케팅과 관련해서는 지식이 전혀 없어서 결과적으로는 떨어졌어요. 혹시 어떻게 구해야할 지 알려주실 수 있으실까요. DB 예시는 다음과 같고요. 문제. 2020 년 1 월의 송금 완료 유저를 송금 완료 횟수로 그룹화하고, 이후 송금 시도 월간 Retention 을 추출해 주세요. 그 때 당시에 저는 이렇게 제출했어요. select send_status[B] / send_status[a,b,c,d] from money_using where date(recv_date) >= str_to_date('2020-01-01') and date(recv_date) <= str_to_date('2020-01-31') group by send_status 그리고 이 정도 문제면 난이도 수준이 어느 정도인가요? 그것도 조금 궁금합니다. 감사합니다.
-
미해결쉽게 시작하는 쿠버네티스(v1.30) - {{ x86-64, arm64 }}
vagrant 설정 오류
[질문 전 답변]1. 강의 내용과 관련된 질문인가요? [예 | 아니요]2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요]3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요](https://www.inflearn.com/blogs/1719)4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.[질문 하기] 강사님께서 공유해주신 git에서 다운 받은 파일로 vagrant를 설정하는 도중에 다음과 같은 오류가 발생 했습니다. 내용 문의 드립니다. m-k8s-1.20: [kubelet-check] Initial timeout of 40s passed. m-k8s-1.20: m-k8s-1.20: Unfortunately, an error has occurred: m-k8s-1.20: timed out waiting for the condition m-k8s-1.20: m-k8s-1.20: This error is likely caused by: m-k8s-1.20: - The kubelet is not running m-k8s-1.20: - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled) m-k8s-1.20: m-k8s-1.20: If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands: m-k8s-1.20: - 'systemctl status kubelet' m-k8s-1.20: - 'journalctl -xeu kubelet' m-k8s-1.20: m-k8s-1.20: Additionally, a control plane component may have crashed or exited when started by the container runtime. m-k8s-1.20: To troubleshoot, list all containers using your preferred container runtimes CLI. m-k8s-1.20: m-k8s-1.20: Here is one example how you may list all Kubernetes containers running in docker: m-k8s-1.20: - 'docker ps -a | grep kube | grep -v pause' m-k8s-1.20: Once you have found the failing container, you can inspect its logs with: m-k8s-1.20: - 'docker logs CONTAINERID' m-k8s-1.20: m-k8s-1.20: error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster m-k8s-1.20: To see the stack trace of this error execute with --v=5 or higher OS : windows 10 virtualbox : 6.1 vagrant : last release
-
미해결더 자바, 코드를 조작하는 다양한 방법
NPE 에 대해서 질문합니다.
안녕하세요 기선님 강의를 들으며 추가적으로 java 에 있어서 궁금한점 질문 남깁니다. java applicaiton 을 개발할 때 NullPointerException 발생에 있어서 다른 Exception들보다 개발자들이 예민하고 신중한 이유가 마땅히 나와 있지 않아 질문 올립니다. 개발자가 작성한 로직의 어느 시점이 의도치 않게 null을 참조함에 있어서..null에 참조, 접근한다고 NPE 을 발생시키는건 당연하고 그게 NPE 예외의 존재 이유가 아닌가 싶습니다. 비즈니스적으로 어떤 심각한 영향 때문에 NPE 발생에 예민한건지 궁금합니다.아직 학생이라 NPE 발생이 야기하는 심각성에 대해 체감을 잘 못하겠습니다.. 감사합니다.
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part2: 게임 수학과 DirectX12
Orthographic Projection행렬과 Perspective Projection행렬의 차이점에 대해서..
여태까지는 Perspective Projection행렬을 이용하여, 동차 clip 좌표를 구해서, 실질적인 depth값을 Rasterizer단계에서 구해진다고 배워 왔습니다. 그런데, 이번 강의에서 배운 Orthographic Projection행렬을 곱하게 되면, depth값이 0~1사이로 바로 나오게 된다고 이해하고 있습니다. 질문1. 우선 위 내용을 보시고 제가 이해할 것이 맞는지?! 질문2. 만약 제가 이해를 잘못 했다고 하면, Orthographic Projectino행렬을 곱하여도 그 값은 아직 완전한 depth값이 아니라 Rasterizer단계에서 구해지는 건가요? 질문3. Orthgraphic Projection행렬에는 FOV값이 필요 없다고 하였는데, 그건 왜 그런건가요?? gameObject가 직교 투영 대상이기만 하면, 다 그려줘야 하기 때문인가요?
-
미해결스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술
index.html 말고 다른 html파일을 처음에 보여주도록 할 수 있나요?
강의에서는 localhost:8080을 입력했을때index.html이 출력되는데 혹시 여러 html파일들이 있을 경우localhost:8080으로 입력했을때 다른 html 화면이 출력되려면 어떻게 해야 할까요?
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
ConverterController.java 에서 제출 버튼 눌렀을 때
안녕하세요 /converter/edit 에서 제출 버튼을 클릭해서 @PostMapping("/converter/edit") public String converterEdit(@ModelAttribute Form form, Model model) { IpPort ipPort = form.getIpPort(); model.addAttribute("ipPort", ipPort); return "converter-view"; } 위 부분이 실행되기 전에 첫줄(IpPort ipPort = form.getIpPort();)에 break 걸고보면 SpringToIpPortConverter : convert source = 127.0.0.1:8080 위 로그가 연속으로 2개 찍힙니다. 하나는 "127.0.0.1:8080" 의 값이 ModelAttribute에 의해 Form 클래스의 IpPort로 컨버전 되어서 찍혔다고 보면 나머지 하나는 왜 찍혔는지 이해가 안 갑니다. 강의 12:38 에도 보면 같은 로그가 마지막에 2개 찍혀 있네요
-
미해결
oracle 쿼리문 책보고 따라햇는데 안되는경우 뭘까요?
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. oracle 쿼리문 책보고 따라햇는데 안되는경우 뭘까요?
-
해결됨실전! 스프링 데이터 JPA
질문있습니다.
Auditing에서 @PreUpdate를 사용하면 자동으로 수정된 시간이 저장되는데요. 복습하다 궁금한점이 생겼습니다. 만약 회원의 마지막 접속 날짜를 얻어올려면 제가 생각하기에는 엔티티에 lastLogin 같은 LocalDateTime 타입의 필드를 추가해야 할것같은데요. 즉, 로그인할때마다 lastLogin에 LocalDateTime.now()을 이용하여 해당 테이블에 업데이트시키면 될것같은데 생각해보니 lastLogin을 업데이트 시키면 @PreUpdate의 필드도 업데이트 쿼리가 수행되면 현재 시간이 저장됩니다. 그럼 뭔가 마지막 접속 날짜를 얻기위해 새로운 필드(lastLogin)을 추가하지않고 @PreUpdate를 이용하여 마지막 로그인 시간을 가져올 방법이 있지 않을까해서 질문드립니다. 만약 @PreUpdate를 이용하여 마지막 로그인 시간을 가져오는 방법이 없다면 제가 위에서 예시로 든것처럼 마지막 로그인 시간을 저장할 필드를 추가해야하나요?