묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨자바 개발자를 위한 코틀린 입문(Java to Kotlin Starter Guide)
완강 후 Kotlin 이런저런 질문 드려봅니다!
안녕하세요! 최태현 지식공유자님 코틀린 강의 만들어주셔서 감사합니다! 💚실제로 코프링 개발자로 1년정도 근무했던 경험이 있었는데.. 일했던 날짜와 한참 늦은 2024년 말이지만 추후에 강의를 완강하게 됐는데 매우 유익했습니다 몇가지 질문이 있어서 질문 남깁니다!!질문들TabWidth에 대해서IntelliJ에 보시면 tabWidth를 2로 설정하셨는데, 특별한 이유가 있으신가요?보통 저는 4로 설정하는 편이어서요!순수함수에 대해서제가 알기로는 내부의 scope에서 동작할때 외부의 요인이 내부의 값을 바꾸지 못하거나 내부의 요인으로 외부의 값이 바뀌지 못하계 경계가 있어서 side effect가 없는 함수를 뜻하는 걸로 알고있는데요 Java는 그렇기에 Stream api를 사용할때 final이 아닌 외부의 값을 참조하지 못하기때문에 좀 더 안전하게 작성할 수 있는데, 코틀린은 Closure, Currying 등을 허용하기 때문에 개발자의 실수를 더 많이 일으킬 가능성을 열어둔 것은 아닌지 궁금합니다OOP와 FP에 대해서자바같은 경우는 함수형 인터페이스또는 인터페이스 구현체를 익명클래스나 익명함수 등으로 넘겨서 FP를 모방하는걸로 알고있는데요, 대신 최소한의 getter/setter를 추가하고 행위를 나타내는 메서드명을 외부로 노출하고(public..), 그 메서드는 내부호출(private)로 캡슐화를 할 수 있는데, 코틀린처럼 invoke가 될 수 있는 함수를 인자로 넘기면 아래와 특정한 행위를 나타내는 이름이 아닌 행위 자체를 넘기게 돼서 객체의 역할과 책임을 나타내는 메서드가 없게 되서 rich domain model이 아닌 anemic domain model이 되는게 아닌지 궁금합니다// OOP fun doHobby(person: Person?) { println("${person?.hobby}생활을 즐기고 있습니다") } fun beAging(person: Person?) { println("내년에 ${person?.age?.plus(1)}만큼 늙어갈 예정입니다") } fun mainOOP() { val person = Person("보키", 20) doHobby(person) beAging(person) } // FP fun doSomething(person: Person?, run: () -> Unit) { } fun mainFP() { Person("보키", 20).run { doSomething(this) { println("${hobby}생활을 즐기고 있습니다") } } Person("보키", 20).run { doSomething(this) { println("내년에 ${age+1}만큼 늙어갈 예정입니다") } } Person("보키", 20).run { doSomething(this) { println("런닝중입니다 건들지마시오") } } } data class에 대해서대부분의 기능들이 강의에 녹아있기는 하지만 data class의 강력한 기능 중 하나인 copy 메서드는 백엔드의 프로덕션 개발과 테스트 코드에서 어디 부분에 사용될 수 있을까요?이건 많이 강의 주제를 넘어간 질문이긴 하지만.... Kotlin+Springboot+JPA 를 사용할때 data class/class 중 어떤 클래스로 Entity를 만드시는지 궁금합니다.MySQL or MongoDB or PostgreSQL에서 어떤 클래스와 궁합이 좋은지. data class를 사용한다면 copy를 어느 부분에 사용하면 좋을지도 알고싶습니다!강의내용과는 많이 무관하기에(코틀린이 아닌 서버, 타 라이브러리, 인프라(DB)까지 논의확장을 하였음) 답하기 어렵다면 안해주셔도 괜찮습니다Scope Func에 대해서저는 Kafka, Configuration 등에서 기본객체를 가져와서 apply를 이용해서 초기값 -> 덮어씌우는 방식을 주로 사용했고 with구문을 이용해서 log를 편하게 했었는데 scope func의 또 다른 좋은 선례도 알고싶습니다! Ex1) private fun <K : Any, V : Any> initConsumerProps( keyDeSerClass: Class<out Deserializer<K>>, valueDeSerClass: Class<out Deserializer<V>> ): Properties = Properties().apply { put(BOOTSTRAP_SERVERS_CONFIG, "localhost:9092") put(KEY_DESERIALIZER_CLASS_CONFIG, keyDeSerClass.name) put(VALUE_DESERIALIZER_CLASS_CONFIG, valueDeSerClass.name) put(GROUP_ID_CONFIG, "group-02") put(MAX_POLL_INTERVAL_MS_CONFIG, "60000") } Ex2) for (record in consumerRecords) { with(record) { logger.info { "key: ${key()}, partition: ${partition()}, offset: ${offset()}, value: ${value()}" } } }method reference에 대해서어떤 코드에서는 let(::XX), 또 다른 코드에서는 let { ... }방식이 사용될 때가 있는데, 어떤게 성능상 또는 가독성에서 좋은지도 궁금합니다!
-
미해결2D 캐드(CAD) 마스터하기 (오픈소프트웨어)
영상의 품질이 않좋네요..
강의 잘 보고 있습니다..수업내용과 무관하게 영상품질이 않좋아서 별도로 인코딩해서 봐야할 정도네요..데시벨 증폭 4재생속도 1.2이퀄라이저 8KHz 이상 소리 죽이기위의 설정값으로 해야 볼만 합니다.
-
미해결코로나맵 개발자와 함께하는 지도서비스 만들기 1
kakao is not defined 오류
kakao is not defined 오류가 나서kakao 개발자 서버에 들어가서 https://localhost:3000등록했는데도, 계속 오류가 나네요. F12 눌러서 Network 들어가보니Status Code 에 401 unauthorized 뜨는데..해결방법좀 알려주세요 ㅠjava script key/ rest api key 둘다 적용해봤는데도 안되네요혹시 웹등록하는데 시간이 좀 필요할까요
-
미해결나도코딩의 자바 기본편 - 풀코스 (20시간)
HashMap
HashMap 강의 듣고있는데 HashMap<String, Integer> map에서 Integer가 아닌 int를 쓰면 왜 안되는지 궁금합니다.
-
미해결ChatGPT 사용 가이드 : 핵심 프롬프트 엔지니어링
강의 내용 질문
강의 7:00 질문입니다. 표에 있는 모든 문자를 가운데 정렬로 바꾸고 싶은데 어떻게 해야하나요 ?
-
미해결
파이썬 디스코드 봇 질문있습니다!
안녕하세요 파이썬으로 디스코드 봇을 만들었는데 매번 파이썬을 실행하고 게임하기가 조금 번거로워서 pyinstaller로 exe 파일을 만들었습니다.파이썬 자체에서 디버깅하면 디스코드 채널에서 봇이 입장을 잘 하는데exe 파일로 실행하면 봇한테 입장한다는 채팅은 나오는데 채널에 입장을 안합니다ㅠ 처음 파이썬에서 디버깅할때도 안들어와서 pynacl 이라는걸 설치했더니 해결됐었는데이걸 exe파일에 따로 적용시킬 방법이 있을까요?pyinstaller --collect-data pynacl 에서는 패키지를 찾을수없다고 나오더라구요
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
vscode에서 원그리기
현재 맥으로 강의를 듣고 있어서 비쥬얼스튜디오 대신 vscode로 수업을 따라가고 있습니다.이런저런 방법으로 고쳐보려해도 터미널 창에 수업과 같이 같은 위치에 동그라미가 재생산(?)되지 않고,아래줄로 무한정 그려지네요 ㅠ게시판에 올라온 방법들 다 해봤는데도 안되네요.. code runner 확장도 설치해봤는데 안됩니다.. 저와 같이 vscode로 수업 들으시는 분은 안계신가요?...이거 해결안되면 파트2 강의는 그냥 눈으로만 봐야할까 합니다..
-
미해결[2024 업데이트] UX/UI 시작하기 : Figma 입문 (Inflearn Original)
예제 실습
예제 실습에서 설정 아이콘을 만들 때가운데 작은 원 4 4 사이즈는 stroke를 1로 설정해도 되는 건가요?그러니까 톱니 모양은 stroke이 1.5 이지만 작은 원은 4 4 사이즈에 1로 해도 되는 것인지 여쭤보고 싶습니다
-
미해결스프링 시큐리티 OAuth2
FormLogin과 Oauth2Client 둘 중 사용하는 시점
안녕하세요 FormLogin, Oauth2Client 설정 중에서요FormLogin을 설정하면 인가, 사용자 리소스까지 바로 가져올 수있고 Oauth2Client는 인가까지만 해주는데둘 중에 어떤 상황에 해당 설정들을 사용해야하는지 헷갈려서 질문드립니다.
-
해결됨실리콘밸리 엔지니어가 가르치는 파이썬 기초부터 고급까지
파이썬 Class Method 질문
안녕하세요 ! 섹션 8 듣는 중에 질문 드립니다.제가 Class의 개념이 조금 부족한 것 같아서 이해를 잘 못했을 수 있습니다.Class Method는 instance의 상태를 변화시킨다고 말씀주셨는데,instance가 여러 개인 경우, 특정 instance만 변경하고 싶을 때는 해당 instance를 지정해주면 되는 걸까요 ?Class Method는 주로 어떨 때 사용하나요 ?Class 내에서 이미 선언된 instance 값을 변경시킬 일이 어떤게 있나 궁금합니다.
-
해결됨10주완성 C++ 코딩테스트 | 알고리즘 코딩테스트
1-k, cout.tie() 틀
#include <bits/stdc++.h> using namespace std; string s, ret; char mid; int cnt[200], flag; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> s; for (char c : s) cnt[c]++; for (int i = 'Z'; i >= 'A'; --i) { if (cnt[i] & 1) { flag++; mid = char(i); cnt[i]--; } if (flag == 2) break; for (int j = 0; j < cnt[i]; j += 2) { ret = char(i) + ret; ret += char(i); } } if (mid) ret.insert(ret.begin() + ret.size() / 2, mid); if (flag == 2) cout << "I'm Sorry Hansoo\n"; else cout << ret << "\n"; return 0; } 강사님의 코드와 동일한데 최적화를 위해 cout.tie(NULL)이 추가된 코드입니다. ""cout"이 모호합니다."라는 오류가 뜨지만, 출력은 잘 진행됩니다. 문제는 백준에서는 틀림처리가 생기는데 왜 그런건가요? 알고리즘 교안에서는 scanf나 printf를 사용하지 않으면 괜찮다고 나와있는데 추가적으로 더 알아야할 것들이 있는건가요?
-
미해결TailwindCSS 완벽 마스터: 포트폴리오부터 어드민까지!
tailwind.config.js 파일을 통해 다크 모드 설정시 적용이 되지 않습니다.
[tailwind.config.js]/** @type {import('tailwindcss').Config} */ module.exports = { content: ['./src/**/*.{html,js}'], darkMode: 'selector', }; [practice-test.html]<!DOCTYPE html> <html lang="ko"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Tailwind CSS</title> <script src="https://cdn.tailwindcss.com"></script> </head> <body class="bg-white dark:bg-gray-900 dark:text-white"> <main class="container max-w-5xl mx-auto min-h-screen flex items-center justify-center" > <div class="flex flex-col items-center"> <h1 class="font-extrabold text-3xl">Tailwind CSS 다크모드</h1> <p class="mt-4">이 페이지는 다크 모드를 지원합니다.</p> <button id="darkmode_btn" class="bg-blue-500 px-4 py-2 rounded-md text-white mt-4" > 다크 모드 전환 </button> <div class="px-10 py-6 bg-white rounded-md shadow-md mt-20 dark:bg-gray-800" > <p>이 박스는 다크 모드에서 배경이 어두운 색으로 변합니다.</p> </div> </div> </main> <script> document.querySelector('#darkmode_btn').addEventListener('click', () => { document.documentElement.classList.toggle('dark'); }); </script> </body> </html> tailwind.config.js 의 경로는 아래 스크린샷으로 첨부하였습니다. 제가 무슨 설정을 빠트린건지 명확히는 모르겠는데 <head> 태그 내부에 <script> 태그로 아래와 같이 설정하면 버튼을 클릭했을 때 다크모드와 원래 상태로 정상적으로 토글이 되는데 tailwind.config.js 로 설정만 하면 토글이 안되네요 모든 페이지에 다크모드를 설정하기 위해서는 tailwind.config.js 를 통해서 다크 모드 활성화를 하는 것이 좋을 것 같아서 질문 남깁니다! 좋은 강의 감사드립니다.tailwind.config = { // darkMode: 'media', // 운영 체제의 모드에 맞게 설정 darkMode: 'selector', // 수동으로 설정 };
-
미해결이득우의 언리얼 프로그래밍 Part1 - 언리얼 C++의 이해
UPROPERTY 로 리플렉션에 등록한 언리얼 오브젝트들만이 가비지 컬렉터의 관리를 받게되나요?
11:32 부분의 PPT를 보고 궁금한 점이 있습니다. 생성한 언리얼 오브젝트들은 GUObjectArray 에 들어가고, 가비지 컬렉터는 이곳의 언리얼 오브젝트들을 관리합니다. PPT를 보면, UPROPERTY로 참조된 언리얼 오브젝트 들은 회수되지 않는다고 명시되어있는데, 반면 언리얼 오브젝트지만 리플렉션 시스템에 등록하지 않은 객체라면 GUObjectArray 에 들어가지 않고, 가비지 컬렉터의 관리대상에서도 벗어나나요? 만약 가비지컬렉터의 관리대상이 아니라면 raw pointer 처럼 직접 메모리를 관리해야하는지도 궁금합니다
-
해결됨[임베디드 입문용] 임베디드 개발은 실제로 이렇게 해요.
안녕하세요. 제 노트북이 st-link 드라이버를 인식을 못하는것 같습니다
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 자주 묻는 질문에 혹시 답이 있을 수 있어요.- 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.제 노트북이 lenovo e15 인데 usb 허브를 연결한다음 st link와 보드를 usb 허브에 연결하면장치관리자에서 인식을 못합니다 ㅠ 자꾸 장치연결 실패라고 하네요. 드라이버까지 설치햇는데 왜그런지 잘모르겟습니다.이상하게 제 pc에서는 잘됩니다... ㅠ 혹시 원격으로도 도움을 받을수있을까요?
-
미해결[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part2: 자료구조와 알고리즘
환결설정 강의 원 그리기
현재 맥으로 강의를 듣고 있어서 비쥬얼스튜디오 대신 vscode로 수업을 따라가고 있습니다.이런저런 방법으로 고쳐보려해도 터미널 창에 수업과 같이 같은 위치에 동그라미가 재생산(?)되지 않고,아래줄로 무한정 그려지네요 ㅠ 저와 같이 vscode로 수업 들으시는 분은 안계신가요?...이거 해결안되면 파트2 강의는 그냥 눈으로만 봐야할까 합니다..
-
미해결Airflow 마스터 클래스
docker container network 관련 질문
안녕하세요 강사님 강의 잘 보고 있습니다.spark 관련된 질문을 드려도 될까요..?도커에 spark 컨테이너를 띄워서 airflow의 bash operator로 spark-submit을 해보려 하는데 로그가 다음과 같이 나오면서 spark-submit이 안됩니다.compose 파일도 network 설정을 다시했고,docker network inspect 로 확인해보니 잘 연결된 것이 확인됐습니다.spark submit도 master container 내부에서 잘 실행이되는 상황입니다.shell 파일을 이런식으로 작성한다고 해서 airflow dags로 spark-submit을 할 수 있는건 아닌가요 ?#!/bin/bash script=$1 echo "${script}" echo "start spark submit with bash operator" spark-submit \ --master spark://spark-master:7077 \ ${script}
-
해결됨[2025 리뉴얼]플러터플로우로 코딩 없이 한달 안에 앱 만들기
firebase 연동 permission 오류
아래와 같이 오류가 떠서 기존 질문 및 노션 페이지 참고해서 진행했는데Firebase TOS를 누르고 생성을 시도하면 위와 같은 처음 보는 permission 오류가 뜹니다ㅠㅠ test-wnbqxk가 GCP 프로젝트 ID인데 권한이 없다고 나와서 IAM을 확인해봤습니다.관리자 권한도 잘 들어가 있는것 같은데 해결 방법을 모르겠네요... 도와주세요!!
-
미해결C#.Net 0.5년차~3년차(파트2)
6강 서버 연결해제 시 NullException
Client의 연결해제 시 위 이미지 부분에서 null exception이 발생합니다.
-
해결됨350개의 개인 앱을 만들어 월급의 7배 수익을 달성한 방법
애드몹 광고소스 추가 여부
안녕하세요! 강의 너무 잘 듣고 있습니다.애드몹 광고소스에 대한 내용이 없어서 추가 질문 드려봅니다. 혹시 애드몹을 붙일 때, eCPM을 높이기 위해서 다른 광고소스도 붙이는 작업을 하시나요?만약 하신다면 어떤 광고소스를 주로 붙이시나요?만약 안하신다면 그 이유는 무엇일까요?
-
미해결
블록설정된 텍스트를 변수에 할당하기
안녕하세요 일코님늘 친절한 답변 감사합니다 ^^ # 블록 텍스트 추출 def extract_text_from_block(): hwp.InitScan(range=0xff) # 0xff <<선택된 범위 내에서 검색 _, text_blokced = hwp.GetText() # 텍스트만 추출 hwp.ReleaseScan() # 스캔을 해제. print(f"text_blokced: {text_blokced}") return text_blokced # 이경우, 해당 target이 text에 포함되어있으면 True, 아니면 False를 반환. 현재 블록 설정된 텍스트를 변수에 할당할때 text = extract_text_from_block(block_text) 이런식으로 하는데요.현재 이 방법을 썼을 때, 한줄 범위에 대해서는 이게 잘 되는데,,여러줄을 블록한 상태로 이 함수를 실행하면print(text) 했을 때,'\r\n'이렇게만 나오네요.. 혹시 뭐가 잘못된걸까요?그리고 블록텍스트를 변수에 할당하는 더 좋은 방식이 있을까요?