묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 백엔드 코스
css 회원가입 실습 질문있습니다!
안녕하세요!강의 수강 시작하고 지금 싸이월드 실습 막 시작한 학생입니다.다름이 아니라 회원가입 부분 실습 마지막 몇 부분을 남기고 막혀서모범코드(?) 같은걸 확인하고 싶은데, 학습자료 부분에가도 싸이월드 코드랑피그마 링크만 안내되어있고 회원가입코드는 안보여서요!일단 이렇게 이미지로 질문을 드려봅니다.남성/여성 라디오버튼을 크기맞추고 가운데정렬까지 했는데 텍스트가 이렇게 세로로 정렬되어 버립니다. 체크박스버튼은 어떻게 손을봐야 할지 모르겠습니다 ㅜ
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
강의 내용에 임베디드와 웹 서버를 연결하는 내용이 있는지 궁금합니다.
유튜브에 있을까요?혹시 차기 강의 계획중이신지 궁금합니다아니면 그냥 제가 구글링해서 그냥 알아보는게 나을까요?
-
해결됨[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
postgresql 연결실패
docker-compose.yml파일에 아래와같이 작성했습니다.포트번호를 5808로 지정해준 이유는 5432로 지정해서 접속했을때 현재 pc에 설치했던 postgresql과 충돌이 나서 로그인이 안돼서 바꾸어 주었습니다.도커 컴포즈 실행후 postgresql 컨테이너는 정상적으로 실행이 됐으나 nest앱과 postgresql explorer에서도 연결이 되지 않았습니다. 어떻게 해결해야하는지 질문드립니다# 서비스정의 services: postgres: image: postgres:15 # 실행시마다 재시작 restart: always # 도커컴포즈 파일에 존재하는 위치에 실제 데이터를 hostOS에 저장 volumes: # 현재 도커컴포즈 파일이 존재하는 경로 : 이미지안에존재하는 경로 매핑 - ./postgres-data:/var/lib/postgresql/data ports: #hostport:이미지의포트 #5432포트 요청 -> 이미지의 포트로 요쳥 - '5808:5432' environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: '1111' POSTGRES_DB: postgresimport { Module } from '@nestjs/common'; import { AppController } from './app.controller'; import { AppService } from './app.service'; import { PostsModule } from './posts/posts.module'; import { TypeOrmModule } from '@nestjs/typeorm'; import { PostsModel } from './posts/entities/posts.entity'; @Module({ //다른 모듈을 등록 //forRoot메서드는 typrorm과 nestjs와 연결할떄 사용 (DB) imports: [ PostsModule, TypeOrmModule.forRoot({ //데이터베이스 타입 type: 'postgres', host: '127.0.0.1', port: 5808, username: 'postgres', password: '1111', database: 'postgres', //entities폴더에 작성한 PostsModel 가져오기 entities: [PostsModel], synchronize: true, }), ], controllers: [AppController], providers: [AppService], }) export class AppModule {}
-
미해결[아파치 카프카 애플리케이션 프로그래밍] 개념부터 컨슈머, 프로듀서, 커넥트, 스트림즈까지!
KStream, KTable 코파티셔닝 질문이 있습니다.
만약 KStream, KTable 파티션 개수가 2개이고, 파티셔너 전략도 동일합니다. 근데 데이터 발생양이 증가하여, 파티션 개수를 둘다 5개를 늘려야 하는 상황이 생겼습니다.이때는 어떻게 해야하나요? 하나 씩 파티션을 증가할 때, 파티션 개수가 다르면 TopologyException이 발생할텐데요.또, 파티션이 추가되면 파티션 1번으로 가던 메시지 키가 다시 1번으로 간다는 보장도 없고요..2개의 토픽을 리파티셔닝 작업을 해야하는걸까요?리파티셔닝 작업을 하는 동안은 스트림즈의 다운 타임이 발생할 수 있는거고요..?
-
미해결[C++과 언리얼로 만드는 MMORPG 게임 개발 시리즈] Part1: C++ 프로그래밍 입문
게임 세이브 데이터 저장에 대한 고민
안녕하세요 강사님, 스타크래프트나 워크래프트3의 월드맵 에디터와 같은 툴을 개발하여 컨텐츠를 눈으로 보며 개발하고 싶습니다. 이러한 툴들은 기본적으로 Open Save로 개발했던 걸 저장하고 불러올 수 있는데, 이러한 데이터 저장은 어떤 식으로 구현할지 고민이 됩니다. C++ 파일입출력 기능을 쓸지, 아님 특수한 라이브러리를 쓸지... 또한 강사님도 이러한 눈으로 볼 수 있는 툴부터 구현하셨을 것 같은데, 강사님은 어떻게 하셨는지 궁금합니다.
-
미해결실전! 코틀린과 스프링 부트로 도서관리 애플리케이션 개발하기 (Java 프로젝트 리팩토링)
혹시라도 @DiplayName 어노테이션이 동작하지 않으신다면
위에 처럼[Build, Execution, Deployment > Build Tools > Gradle]의 Run tests using 설정을 '인텔리제이'로 변경하고,인텔리제이를 재시작하시면 정상동작됩니다.
-
해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
안드로이드 스튜디오 실기기 연결 질문입니다.
안녕하세요~ 딜리버리앱을 수없이 반복하며 나날이 하나씩 더 배워가고 있습니다^^;오늘은 제 실제 Z폴드5 기기에서 USB연결하여 에뮬레이터 구동을 해보려고 했습니다.그런데 앱은 실행이 되는데, 로그인에서 루트탭 페이지로 영 이동이 안되고 로그인 버튼이 회색으로 되었다가 다시 일정 시간이 지나면 원래의 초록 로그인 버튼으로 변경되기만 합니다.동일한 코드로 안드로이드 스튜디오 상의 에뮬레이터 작동시키면 문제없이 로그인이 패스되고 홈페이지로 이동합니다.해결할 수 있는 방법이 없을까요? 제 폰에서도 자유롭게 작동해보고 싶습니다,추가로 apk 앱으로 빌드해서 폰에 깔아봤는데 동일하게 로그인페이지에서 변화가 없었습니다. 이것은 왜그럴까요?
-
미해결스프링 핵심 원리 - 기본편
@Autowired 필드명 매칭
[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예)[질문 내용]필드명을 변경해서도 fixDiscountPolicy랑 rateDiscountPolicy로 오류가 나왔습니다그래서 혹시나 해서 AutoAppConfige에 있는 excludeFilters까지 주석으로 처리하니 에러가 발생하지않았습니다왜 excludeFilters를 주석처리하니까 에러가 해결되었는지가 궁금합니다.해당 excludeFilter는 Configuration쪽을 자동등록하지않기 위함으로만 알고있습니다.package hello.core; import org.springframework.context.annotation.ComponentScan; import org.springframework.context.annotation.Configuration; import org.springframework.context.annotation.FilterType; @Configuration // @Component가 들어가있는 대상을 빈으로 자동등록 @ComponentScan( // basePackages = "hello.core.member", // 해당 패키지의 위치부터 찾아가기 시작 / 지정하지않으면 라이브러리 포함 전부다를 뒤지게 된다 // basePackageClasses = AutoAppConfig.class, // 지정한 클래스의 패키지부터 지정하지않으면 해당 클래스의 package가 시작위치 // excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class) // Configuration.class는 자동등록을 제외시켜주는 부분 // Configuration은 현재 AppConfig에서 수동등록할 때 사용하고 있어서 // 자동등록시 포함하면, 에러가 발생하거나 꼬일수있다. ) // 자동으로 등록하기 위해서 필요 public class AutoAppConfig { }
-
해결됨Next + React Query로 SNS 서비스 만들기
login 페이지와 리다이렉트 관련 질문입니다.
<Link href="/login"> 클릭을 통해서(beforeLogin)/login/page.tsx로 이동 여기서는 replace('i/flow/login')으로 리다이렉트 어쨋거나 <Link>를 통해 이동 -> 리다이렉트 됐으니 인터셉팅 라우팅한 (.i)/flow/login/page.tsx로 이동i/flow/login/page.tsx는 새로고침 시 이동 할 때 보여줌이 맞나요?.?넥스트 처음이라 너무 어렵네요.. 눈물이 앞을 가립니다.. 제대로 이해한건지 모르겠어서 확인하고자 질문 드려봅니다.
-
미해결자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
코드리뷰 부탁드립니다!
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 아래와 같이 풀어도 될까요 ?아래와 같은 경우에 시간복잡도는 어떻게 될까요 ...?const solution = (k, arr) => { let answer = Array.from({ length: k }, () => 0); for (let i = 0; i < arr.length; i++) { if (!answer.includes(arr[i])) { answer.unshift(arr[i]); answer.pop(); } else { let tmp = answer.filter((v) => v !== arr[i]); tmp.unshift(arr[i]); answer = tmp; } } return answer; }; console.log(solution(5, [1, 2, 3, 2, 6, 2, 3, 5, 7]));
-
해결됨실전 연습으로 익히는 고급 타입스크립트 기술
정답을 맞춘 후 뭔가 동전을 더블클릭 된건지
이미 뽑았다는 메세지가 나오더라고요,꽝인지 당첨인지 보지도 못했다는... ㅠㅠ
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
미로가 처음에 잘 출력되고 while()문이 실행되면서 위로 1줄 씩 추가 출력됩니다
어디를 수정해야 할 지 몰라서 질문 드립니다 ㅠㅠ
-
해결됨실전 연습으로 익히는 고급 타입스크립트 기술
이게 맞는가 모르겠지만 풀어 보았습니다!
감사합니다.const rgb = ["red", "green", "blue"] as const; type RedAndBlue = (typeof rgb)[0 | 1]; type RGB = (typeof rgb)[0 | 1 | 2]; type tests = [ Expect<Equal<RedAndBlue, "red" | "green">>, Expect<Equal<RGB, "red" | "green" | "blue">> ];
-
미해결
mvvm패턴의 개발도구에 대해서
이번 프로젝트를 mvvm 패턴으로 진행하게 될 거 같은데백과 프론트로 나누었을 때 프론트는 리액트를 사용하는 것은 알겠지만백엔드로는 어떤 언어와 프레임워크를 사용하는지 모르겠습니다.일단 웹부터 시작하려고 하는데 스프링과 자바를 사용해서 리액트와 연동해서 프로젝트를 진행하면 될까요?
-
미해결[코드팩토리] [초급] NestJS REST API 백엔드 완전 정복 마스터 클래스 - NestJS Core
해당 강의와 무관한 질문인데
혹시 2편은 언제 올라 오나요? ㅎㅎ바로 구매 하고 싶습니다
-
해결됨[취업폭격기] 공공기관 전산직(IT) 취업 준비를 위한 정규과정 (기초~고급)
권한요청드립니다!
관련 구글폼 제출했습니다. 확인 부탁드립니다!감사합니다!
-
해결됨김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
문제와 풀이3 - productAdminEx 문제 질문입니다.
package inflearn.array.ex; import java.util.Scanner; public class ProductAdminEx { public static void main(String[] args) { // 상품 관리 프로그램 만들기 -> 처음에 for문으로 구성했으나 null 출력이 많은듯... int maxNumber = 10; String[] productNames = new String[maxNumber]; int[] productPrices = new int[maxNumber]; int productCount = 0; Scanner scanner = new Scanner(System.in); for (int i = 0; i < 10; i++) { System.out.println("1. 상품 등록 | 2. 상품 목록 | 3. 종료"); System.out.print("메뉴를 선택하세요: "); int menu = scanner.nextInt(); scanner.nextLine(); if (menu == 1) { if (productCount > 10) { System.out.println("더 이상 상품을 등록할 수 없습니다."); } System.out.print("상품 이름을 입력하세요: "); productNames[i] = scanner.nextLine(); System.out.print("상품 가격을 입력하세요: "); productPrices[i] = scanner.nextInt(); productCount++; } else if (menu == 2) { if (productCount == 0) { System.out.println("등록된 상품이 없습니다."); continue; } else { System.out.println(productNames[i]); } for (int j = 0; j < productCount; j++) { System.out.println(productNames[j] + ": " + productPrices[j] + "원"); } } else { System.out.println("프로그램을 종료합니다"); break; } } } }이렇게 for문을 썼을 때, 상품을 등록하고 2번 프로그램 목록보기를 선택하면 null 이 섞여나오는데 이유를 알고 싶습니다!강의에서는 while문을 통한 무한루프를 사용하였는데 for문으로도 풀어보다 궁금해서 질문 올립니다!=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
해결됨파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트
python manage.py makemigrations instagram 시 created_at default 오류가 발생합니다.
comment 클래스를 정의하고나서python manage.py makemigrations instagram 명령어를 실행하고 나니 default 값을 지정해주라는 메시지가 나왔습니다.구글링을 통해 default 값을 지정해 주었더니 옵션값은 하나만 지정해 주어야 한다는 error 메시지가 출력 되었습니다.(참고한 블로그글 은 https://terrorjang.tistory.com/entry/Django-It-is-impossible-to-add-the-field-createdat-with-autonowaddTrue#google_vignette이곳 입니다.) 어떻게 해결해야 할지 몰라서 도움을 요청합니다.
-
해결됨개발자를 위한 컴퓨터공학 1: 혼자 공부하는 컴퓨터구조 + 운영체제
cpu 스케줄링과 프로세스 스케줄링
현재 공룡책과 함께 번갈아 보며 공부하고 있는 와중, cpu 스케줄링 파트에서 궁금한 것이 생겼습니다.공룡책에서는 cpu스케줄링과 별개로 프로세스 스케줄링이라는 말로 따로 다루더군요.선생님의 책에는 프로세스 스케줄링으로 따로 다루진 않으신시고 cpu 스케줄링에 같이 다루신 거 같더라구요.혹시 cpu 스케줄링에 프로세스 스케줄링이 포함되는 내용이라 굳이 나누지 않으신 걸까요? 굳이 나워서 생각하지 말고 책에서 나온대로 이해하면 될까요?
-
미해결모던 안드로이드 - Jetpack Compose 입문
drawCircle( color = Color.... 부분에서 빨간줄이 ...
강사님의 노고에 다시한번 감사드리며질문드립니다 TiltScreen 부분의 Color.BlackColor.Green부분에 빨간줄이 생기는데 이유가 뭘까요 import android.app.Application import android.content.Context import android.graphics.Color import android.hardware.Sensor import android.hardware.SensorEvent import android.hardware.SensorEventListener import android.hardware.SensorManager import android.os.Bundle import android.util.Log import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.foundation.Canvas import androidx.compose.foundation.layout.fillMaxSize import androidx.compose.runtime.Composable import androidx.compose.runtime.State import androidx.compose.runtime.mutableStateOf import androidx.compose.ui.Modifier import androidx.compose.ui.geometry.Offset import androidx.compose.ui.graphics.drawscope.Stroke import androidx.lifecycle.AndroidViewModel import androidx.lifecycle.Lifecycle import androidx.lifecycle.LifecycleEventObserver import androidx.lifecycle.LifecycleOwner import com.dongguntech.copose_tiltsensor.ui.theme.Copose_TiltSensorTheme class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { Copose_TiltSensorTheme { TiltScreen() } } } } class MainViewModel(application: Application) : AndroidViewModel(application), SensorEventListener, LifecycleEventObserver { private val _value0 = mutableStateOf(0f) val x: State<Float> = _value0 private val _value1 = mutableStateOf(0f) val y: State<Float> = _value1 private val sensorManager by lazy { application.getSystemService(Context.SENSOR_SERVICE) as SensorManager } fun registerSensor() { sensorManager.registerListener( this, sensorManager.getDefaultSensor(Sensor.TYPE_ACCELEROMETER), SensorManager.SENSOR_DELAY_NORMAL // 센서의 작동주기 ) } private fun unregisterSensor() { sensorManager.unregisterListener(this) } override fun onSensorChanged(event: SensorEvent?) { event?.let { Log.d( "MainViewModel", "onSensorChanged x: ${event.values[0]}, y: ${event.values[1]}, z: ${event.values[2]}" ) _value0.value = event.values[0] // x 값 _value1.value = event.values[1] // y 값 } } override fun onAccuracyChanged(sensor: Sensor?, accuracy: Int) { } override fun onStateChanged(source: LifecycleOwner, event: Lifecycle.Event) { if (event == Lifecycle.Event.ON_RESUME) { registerSensor() } else if (event == Lifecycle.Event.ON_PAUSE) { unregisterSensor() } } } @Composable fun TiltScreen(x: Float, y: Float) { val yCoord = x * 20 val xCoord = y * 20 Canvas(modifier = Modifier.fillMaxSize()) { // 원의 중심 val centerX = size.width / 2 val centerY = size.height / 2 // 바깥 원 drawCircle( color = Color.Black, radius = 100f, center = Offset(centerX, centerY), style = Stroke() ) // 녹색 원 drawCircle( color = Color.Green, radius = 100f, center = Offset(xCoord + centerX, yCoord + centerY), ) // 가운데 십자가 drawLine( color = Color.Black, start = Offset(centerX - 20, centerY), end = Offset(centerX + 20, centerY) ) drawLine( color = Color.Black, start = Offset(centerX, centerY - 20), end = Offset(centerX, centerY + 20) ) } }