묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결[백문이불여일타] 데이터 분석을 위한 기초 SQL
where or 사용 시 in으로 전환 관련 문제
웨더 옵저베이션 문제에 대해 이렇게 답을 구했는데이전 강의에서 말씀해주신대로 where city like 에 in을 삽입해서 간단히 쓸 수는 없는지 궁금합니다.여러군데에 in을 조합하여 쿼리를 짜봤는데 나오지가 않아서요 ㅜSELECT DISTINCT CITY FROM STATION WHERE CITY LIKE 'i%' OR CITY LIKE 'e%' OR CITY LIKE 'a%' OR CITY LIKE 'o%' OR CITY LIKE 'u%'
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
에뮬레이터가 창뒤로 안가려지는 방법
화면에서와 같이 동영상 강의중에 보면 화면에 띄워놓은 에뮬레이터가 코드작성시에도 안드로이드 스튜디오 창 뒤로 안가려지고 그대로 유지되고 있는데 어떻게 하는거에요?저는 가려져서 안스창크기를 조절해서 에뮬레이터를 옆으로 놓고 있어서요...
-
미해결
Execution failed for task ':test'. 오류
테스트 오류 아래와 같이 발생했습니다. 그런데 인프런에서 동일한 오류 답변을 참조해여 변경했는데도 계속 오류가 납니다. 도와주세요.plugins { id 'java' id 'org.springframework.boot' version '3.1.2' id 'io.spring.dependency-management' version '1.1.2'}group = 'jpabook'version = '0.0.1-SNAPSHOT'java { sourceCompatibility = '17'}configurations { compileOnly { extendsFrom annotationProcessor}}repositories { mavenCentral()}dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-devtools:1.5.10.RELEASE' testImplementation 'org.junit.jupiter:junit-jupiter:5.8.1' compileOnly 'org.projectlombok:lombok' runtimeOnly 'com.h2database:h2' annotationProcessor 'org.projectlombok:lombok' testImplementation 'junit:junit:4.13.1' testImplementation 'org.springframework.boot:spring-boot-starter-test'}tasks.named('test') { useJUnitPlatform()}
-
미해결한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
onRemove 원리 질문
안녕하세요! useReduce를 사용하고 최적화를 한 단계에서 onReduce() 함수가 어떻게 최적화 되는지 원리에 의문이 생겨 질문 드립니다. const [data, dispatch] = useReducer(reducer, []); //reducer 생략 case "REMOVE": return state.filter((it) => it.id !== action.targetId); 해당 코드에서 REMOVE를 실행하면 data 배열이 새로운 배열로 업데이트가 됨 -> 2. 그러면 data를 prop으로 받고 있는 DiaryList.js에서 이를 감지하고 처음부터 끝까지 DiaryItem.js를 다시 생성함. ->3. 그런데 DiaryItem은 React.memo로 prop를 비교하는데, 얕은 비교를 하기에 data에 새로 생성된 배열과는 주소가 달라 새로운 컴포넌트를 다시 생성. 이 되어야 하지 않을까요? 혹시 저의 논리에서 어디 부분이 잘못되었는지 모르겠어서 질문합니다... ㅠ
-
미해결웹 애니메이션의 새로운 표준, Web Animations API
scroll-timeline.js 파일
안녕하세요!강의 재밌게 잘 보고 있습니다 :Dscroll-timeline.js 파일은 어디서 가져오신 건가요?세팅부터 혼자서 해보려고 했는데scroll-timeline 저장소여기서 아무리 찾아봐도 안 보이네요..!Usage에 보면 import를 dist 폴더에서 scroll-timeline.js를 가져오는 것 같은데 dist 폴더도 안 보이고 src 폴더에 scroll-timeline-base.js도 아닌 것 같아서 질문 남깁니다..!또, scrollOffsets에 넣는 옵션들은 어떻게 확인하나요? README에는 new CSSUnitValue 이것밖에 안 보이는데 강의에서는 target, edge, threshold 속성들도 쓰셔서 어디서 확인하고 쓰시는지 너무 궁금합니다..!
-
미해결SwiftUI - iOS14 퍼펙트 가이드
10 list section 강의 잘린건가요?
26분 24초로 되어있는데, 갑자기 잘린 것 같아서 여쭤봅니다^^강의 필요한 부분만 해주셔서 잘 듣고 있습니다. 감사합니다.
-
해결됨[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
databinding gradle 세팅 관련 문의입니다.
인텔리제이로 진행중이고, dataBinding{ enabled = true}가 오류가나서 buildFeatures { dataBinding=true }로 진행했는데 상관없는부분일까요? ? 전체소스는 plugins { id("com.android.application") id("org.jetbrains.kotlin.android") } android { namespace = "com.qor0923.databinding_ex" compileSdk = 33 defaultConfig { applicationId = "com.qor0923.databinding_ex" minSdk = 24 targetSdk = 33 versionCode = 1 versionName = "1.0" testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner" } buildTypes { release { isMinifyEnabled = 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 } } dependencies { implementation("androidx.core:core-ktx:1.9.0") implementation("androidx.appcompat:appcompat:1.6.1") implementation("com.google.android.material:material:1.8.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") }입니다.. 감사합니다
-
해결됨시스템엔지니어가 알려주는 리눅스 기초편 Bash Shell Script
Ubuntu / Network Interface SysConfig 파일 찾는 법
실무에서 자주 사용하는 명령어_네트워크 관련 명령어에서 Network Interface를 확인하는 명령어를 알려주셨습니다.CentOs : /etc/sysconfig/network-scripts/Ubuntu : /etc/network/interfaces하지만 AWS EC2 Ubuntu@20.04에서는 netplan 모듈로 Network Interface 설정이 관리되고 있습니다.따라서, /etc/netplan 하위에 있는 *.yml 파일을 보면 해당 설정을 볼 수 있습니다! 아래와 같은 이름으로 있습니다. 01-network.yaml 10-wifi.yaml 50-cloud-init.yaml(Linux 배포판 공급사에 따라서 조금 다를 수 있을 것 같습니다...)
-
해결됨자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
코드 확인 부탁드립니다.
package inflearn.ch03; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; /* 5. 연속된 자연수의 합(투 포인터) */ public class Problem_5 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int[] array = new int[N]; for(int i = 0; i < N; i++){ array[i] = i+1; } solution(N,array); } public static void solution(int N, int[] array){ int start = 0; int end = 0; int sum = 0; int count = 0; while (end < N-1){ sum += array[end++]; if(sum == N){ count++; } while (sum >= N){ sum -= array[start++]; if(sum == N){ count++; } } } System.out.println(count); } }강의와 다르게 범위를 줄이지 않고 while 문으로 사용해서 정답 통과를 했는데 나중에 범위가 커지면 문제가 발생할 수 있을까요?
-
미해결Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)
window11 / 23.08.09 기준 kafka connect 버전
window11 / 23.08.09 기준으로 kafka connect 버전을 7.1 버전으로 사용하시길 바랍니다.해당 강의의 6.1 버전에서 properties 경로를 못찾아서 버전업을 했더니 해결 했습니다.
-
미해결[신규 개정판] 이것이 진짜 크롤링이다 - 기본편
네이버쇼핑 검색창 클릭
크롬 버전 15입니다.네이버 쇼핑 클릭까지는 됩니다. 네이버 쇼핑 접속 후에 쇼핑 검색창 selector을 하고 싶은데 네이버 쇼핑이 많이 바껴 selector이름?이 무엇인지 잘 모르겠어요 ㅠ.. 혹시 현재 네이버 쇼핑의 검색창이 무엇인지 알수 있을 까요?오른쪽 마우스>copy>copy selector 클릭하면#gnb-gnb > div._gnb_header_area_150KE > div > div._gnbLogo_gnb_logo_3eIAf > div > div._gnbSearch_gnb_search_3O1L2 > form > div._gnbSearch_inner_2Zksb > div > input이렇게 나옵니다.
-
미해결Jenkins를 이용한 CI/CD Pipeline 구축
젠킨스 빌드시 오류 (jdk 관련)
안녕하세요.강의 중에 해결이 되지 않아서 올립니다.해당 jenkins 컨테이너에 들어가서 jdk 전역변수 위치 확인 및 해당 경로에 jdk가 설치되어있는지 확인하면 잘 되어있는 것을 알 수 있습니다.위에 비슷한 상황으로 올리신 분이 있어 확인해보니위와 같이 tools에서 설정 및 해당 경로에 java가 있으면 된다는 분이 있어 시도 해 봤으나 동일하게 아래와 같이 jdk를 찾을 수 없다는 에러가 발생합니다..Thread.run(Thread.java:829)WARNING: LinkageError while performing UserRequest:hudson.maven.Maven3Builder@40f17c43java.lang.UnsatisfiedLinkError: /opt/java/openjdk/lib/libawt_xawt.so: libXext.so.6: cannot open shared object file: No such file or directory winodw os를 사용중이라서 해당 컨테이너를 나오면위와 같이 환경변수 설정이 되어있는데 컨테이너 밖에서도 opt/java/openjdk 위치에 동일한 jdk-11이 깔려있어야 에러가 안나는 건지 궁금하긴한데 강의내용상 자동으로 컨테이너에 jdk가 깔리기때문에 따로 해줄 게 없다고 들었는데 위와 같은 에러가 왜 발생하는지 궁금하네요...이 부분이 해결되어야 강의진행이 가능할 것 같은데 조언을 부탁드립니다.
-
미해결[리뉴얼] SQL 베이스캠프
노션
노션 링크는 어디서 찾을 수 있을까요? 처음부터 수강했는데 못찾겠어요ㅜㅜ
-
미해결입문강의 타입스크립트부터 ionic6 (앵귤러 기반)
VirtualScroll 이 버전 업데이트 되면서 많이 바뀐거 같아요..
virtualScroll 강의 듣는 중에 에러가 계속 나서 찾아보니 버전 업데이트 되면서 아예 바뀌었더라고요.. 괜찮으시다면 이런 내용은 업데이트가 안될까요..?Docs 보면서 혼자 해보고는 있는데 어렵습니다..
-
미해결
스팟파이어 단축키 문의
스팟 파이어 단축키가 존재하나요? (예. [계산된 컬럼 추가] 같은 기능의 단축키)
-
해결됨한 입 크기로 잘라먹는 타입스크립트(TypeScript)
교집합 타입 질문있습니다
dog: name, colorperson: name, language이 상태에서 그러면name, color, language, age 프로퍼티를 갖는 타입도 dog & person의 인터섹션 타입으로 볼 수 있는건가요?
-
해결됨[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
115강 5분 10초, model의 타입을 ProductModel로 지정했을 때 발생하는 타입 및 null 에러가 있습니다
class ProductPage extends StatelessWidget { const ProductPage({super.key}); @override Widget build(BuildContext context) { return PaginationListView<ProductModel>( provider: productProvider, itemBuilder: <ProductModel>(_, index, ProductModel model) => GestureDetector( onTap: () => context.goNamed( RestaurantDetailPage.routeName, pathParameters: { 'rid': model.restaurant.id, }, ), child: ProductCard.fromProductModel( model: model, ), ), ); } }여기서 이상한 에러가 뜹니다. 먼저 'rid': model.restaurant.id 이 부분에서는 아래와 같은 에러가 뜹니다.The property 'restaurant' can't be unconditionally accessed because the receiver can be 'null'.Try making the access conditional (using '?.') or adding a null check to the target ('!').dartunchecked_use_of_nullable_value 그리고 두 번째로, ProductCard.fromProductModel(model: model)에서는 이런 에러가 뜹니다.The argument type 'ProductModel' can't be assigned to the parameter type 'ProductModel'.dartargument_type_not_assignable 두 에러 모두 이해되지 않습니다. ProductModel 타입을 ProductModel 타입으로 Assign할 수 없다니요? 같은 타입인데 이런 에러가 뜹니다. 또한 첫 번째 에러의 경우에도, 분명히 nullable 타입이 존재하지 않는데 nullable 체크를 하라고 하고 있습니다. 당황스럽습니다. 한편, 강의는 이런 식으로 되어 있습니다.itemBuilder: <ProductModel>(_, index, model)즉 model의 타입을 따로 지정해주지 않았습니다. 이렇게 했을경우 model의 타입은 dynamic이 되며, 자동 완성 기능은 수행할 수 없지만, 결론적으로 잘 작동은 합니다. 그런데 왜 저런 이상한 에러가 발생하는 지 모르겠습니다. 여기 이와 관련된 코드를 덧붙입니다. 그러나 대부분 강의와 동일합니다.@JsonSerializable() class ProductModel implements IModelWithId { @override final String id; /// 상품 이름 final String name; /// 상품 상세 정보 final String detail; /// 상품 이미지 URL @JsonKey(fromJson: DataUtils.pathToUrl) final String imgUrl; /// 상품 가격 final int price; /// 레스토랑 정보 final RestaurantModel restaurant; ProductModel({ required this.id, required this.name, required this.detail, required this.imgUrl, required this.price, required this.restaurant, }); factory ProductModel.fromJson(Map<String, dynamic> json) => _$ProductModelFromJson(json); }typedef PaginationWidgetBuilder<T extends IModelWithId> = Widget Function( BuildContext context, int index, T model, );문제가 발생하고 있는 스크린샷:
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
보안 및 content type 질문
Token 발급 과정에서 username:password 값을 base64 로 인코딩 후 authorization 헤더에 Basic $token 형태로 전송하는 것이 정석이라고 말씀해주셨습니다.질문1.Basic $token 형태는 인증정보가 그대로 base64 형태로 인코딩해줍니다. 그러면 누군가가 이 패킷을 까보기만 하면 데이터를 알 수 있는 것이 아닌가요..? 이 부분이 이해가 잘 안되네요. 설명부탁드립니다..질문2.추가로 챗gpt 에게 질문했을 때, 로그인할 때 content type 을 application/x-www-form-urlencoded 형태로 보내라고 하는데, 대부분은 json 형태로 전송하더라구요.. 설명부탁드립니다...
-
해결됨[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
html과 css 구문 모두 똑같은데 sub-menu가 슬라이드 뒤에 숨어요ㅠ
해당 부분 html-<header> <article class="header-logo">로고</article> <article class="navi"> <ul class="menu"> <li> <a href="#none">MENU-1</a> <div class="sub"> <a href="#none">sub-1</a> <a href="#none">sub-2</a> <a href="#none">sub-3</a> <a href="#none">sub-4</a> </div> </li> <li> <a href="#none">MENU-2</a> <div class="sub"> <a href="#none">sub-1</a> <a href="#none">sub-2</a> <a href="#none">sub-3</a> <a href="#none">sub-4</a> </div> </li> <li> <a href="#none">MENU-3</a> <div class="sub"> <a href="#none">sub-1</a> <a href="#none">sub-2</a> <a href="#none">sub-3</a> <a href="#none">sub-4</a> </div> </li> <li> <a href="#none">MENU-4</a> <div class="sub"> <a href="#none">sub-1</a> <a href="#none">sub-2</a> <a href="#none">sub-3</a> <a href="#none">sub-4</a> </div> </li> </ul> </article> </header>해당 부분 css-.menu { padding: 0; list-style: none; width: 90%; margin: auto; margin-top: 10px; position: relative; } .menu li { text-align: center; } .menu li > a { border: 1px solid #000; display: block; padding: 5px; color: #000; transition: 0.3s; } .menu li:hover > a { background-color: #000; color: #fff; } .sub { border: 1px solid #000; position: absolute; top: 0; left: 100%; width: 100%; height: 200px; background-color: #000; /* display: none; */ } .sub > a { display: block; color: #fff; padding: 5px; transition: 0.3s; } .sub a:hover { background-color: #000; color: #fff; }인터넷 찾아보고 z-index도 넣어봤는데 소용이 없습니다ㅠㅠ
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
useMutation에러
Server ErrorInvariant Violation: Argument of undefined passed to parser was not a valid GraphQL DocumentNode. You may need to use 'graphql-tag' or another method to convert your operation into a documentThis error happened while generating the page. Any console logs will be displayed in the terminal window. 이러한 에러가 뜨는데 왜 발생하는 걸까요.const [contents, setContents] = useState(""); 18 | > 19 | const [나의함수] = useMutation(나의그래프큐엘셋팅) | ^ 20 | 21 | const onClickSubmit = async () => { 22 | const result = await 나의함수({ import { useState } from "react" import {나의그래프큐엘셋팅} from './BoardWrite.queries' // export는 골라서 가져오기 import BoardWriterUI from "./BoardWrite.presenter"; // export-default로 한 개만 가져오기 import { useMutation } from "@apollo/client"; // import BoardWriterUI from "./BoardWrite.presenter"; // export-default로 한 개만 가져오기 // import BoardWriterUI, {apple} from "./BoardWrite.presenter"; // export-default와 export 함께 가져오기 // import * as S from './BoardWrite.styles' // 모든 export를 가져와줘 // S.BlueButton // S.RedInput export default function BoardWrite() { const [writer, setWriter] = useState(""); const [title, setTitle] = useState(""); const [contents, setContents] = useState(""); const [나의함수] = useMutation(나의그래프큐엘셋팅) const onClickSubmit = async () => { const result = await 나의함수({ variables : { // variables 이게 $ 역활을 함 writer : writer, title : title, contents : contents } }) console.log(result) } const onChangeWriter = (event) => { setWriter(event.target.value) } const onChangeTitle = (event) => { setTitle(event.target.value) } const coChangeContents = (event) => { setContents(event.target.value) } return ( <BoardWriterUI aaa={onClickSubmit} bbb={onChangeWriter} ccc={onChangeTitle} ddd={coChangeContents}/> ) }-컨테이너import { gql } from "@apollo/client" const 나의그래프큐엘셋팅 = gql` mutation createBoard($writer : String, $title : String, $contents: String) { createBoard(writer : $writer, title : $title, contents : $contents) { _id number message } } ` -쿼리