묻고 답해요
161만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨디자인 시스템 with 피그마
피그마 토큰과 로컬에서의 적용 충돌?
로컬에도 스타일이 있고피그마 토큰에도 있을때로컬에서 typography 중 스타일 선택한후토큰에서는 선택했을때 바뀌지 않는데 토큰으로는 정리를 하고 실제로 사용할땐 싱크만 맞춘후로컬이나 토큰 둘중에 한곳에서만 사용해나 하나요?
-
미해결[개정판] 파이썬 머신러닝 완벽 가이드
하이퍼 옵트 TPE
안녕하세요. 강의 잘 듣고 있습니다 :)HyperOpt 기본 실습 8분 05초에서 하이퍼 옵트는 가우시안 최적화 방식이 아닌 TRE 방식으로 최적화를 한다고 하시는데 TPE 방식이 어떤 방식인지 대략적으로 알고 싶습니다. 답변 부탁드립니다.감사합니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Getter,Setter에러
lombok 플러긴에서 인스톨했습니다!package jpabook.jpashop.domain; import lombok.Getter; import lombok.Setter; import javax.persistence.*; import java.util.ArrayList; import java.util.List; @Entity @Getter @Setter public class Member { @Id @GeneratedValue @Column(name="member_id") private Long id; private String username; @Embedded private Address address; @OneToMany(mappedBy = "member") private List<Order> orders = new ArrayList<>(); } package jpabook.jpashop.service; import jpabook.jpashop.domain.Member; import jpabook.jpashop.repository.MemberRepository; import lombok.RequiredArgsConstructor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.List; @Service @Transactional(readOnly= true) @RequiredArgsConstructor public class MemberService { private final MemberRepository memberRepository; /* 회원가입 */ @Transactional public Long join(Member member) { validateDuplicateMember(member);//중복 회원 검증 memberRepository.save(member); return member.getId(); } private void validateDuplicateMember(Member member) { //Exception List<Member> findMembers = memberRepository.findByName(member.getName()); if(!findMembers.isEmpty()) { throw new IllegalAccessException("이미 존재하는 회원입니다."); } } /* 전체회원조회 */ public List<Member> findMembers() { return memberRepository.findAll(); } public Member findOne(Long memberId) { return memberRepository.findOne(memberId); } }
-
미해결피그마(Figma)를 활용한 UI디자인 입문부터 실전까지 A to Z
텍스트 붙여넣기 할 때
저는 글자의 속성값(볼드, 폰트 종류)까지 붙여 넣기 되던데 글자값만 복사하는 방법이 따로 있나요? 강사님은 텍스트 내용만 붙여 넣기 되는 듯 한데 저도 텍스트 상자 안으로 들어가서 붙여넣기 해도 속성 값까지 복사가 되네요...
-
미해결스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
스프링 프로젝트 생성 버전변경 문제
스프링 프로젝트 생성할때 스피링부트 버전이 영상과 다른데 어떤 버전으로 생성해야 할까요? 일단 순서상으로는 2.7.4로 하는게 맞는거 같아 그걸로 했는데 문제가 없을까요?1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.
-
미해결Vue.js 중급 강좌 - 웹앱 제작으로 배워보는 Vue.js, ES6, Vuex
깃허브 권한요청 드립니다!
인프런 아이디: 355833@naver.com인프런 이메일: 355833@naver.com깃허브 아이디: 355833@naver.com깃허브 Username: YeKata
-
미해결실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화
Dto의 위치2
강사님이 커뮤니티게시판에 dto관련 위치에 대해 쓰신 글을 공부했습니다. 결론적으로는 dto를 사용하는 위치에 두는 것이 맞다라고 이해를 했습니다.그런데 이번 강의 rest api를 구현하시면서 dto를 컨트롤러에 내부클래스에 두었습니다.이번 강의에서 사용하는 dto는 화면에 의존적이기때문에 저도 컨트롤러에 두는 것이 맞다고 생각합니다.여기서 질문입니다. 여기서 강사님께서 엔티티 조회방식으로 우선 접근을 하라고 권장하셨습니다.그런데 강의대로 한다면 컨트롤러에 dto관련 내부 클래스가 너무 많아질텐데그럴 경우에는 controller에 따로 dto페키지를 만드는 것이 좋은 선택인지 궁금합니다.
-
미해결스프링 핵심 원리 - 기본편
빈 생명주기 의존관계주입과 초기화 시점 질문
안녕하세요:) 강의 잘 듣고있습니다. 수강 중 궁금한 점이 생겨 질문드립니다! NetworkClient 클래스와 BeanLifeCycleTest 클래스에서 의존관계 주입과 초기화에 관한 질문입니다. 제가 생각하는 게 맞나 의문이 들어 제 생각을 적어봤습니다. <BeanLifeCycleTest 클래스, lifeCycleTest() 테스트> ConfigurableApplicationContext ac = new AnnotationConfigApplicationContext(LifeCycleConfig.class) 1. 테스트 코드에서 ac라는 스프링 컨테이너를 생성한다. 스프링컨테이너를 생성할 때 구성정보로 LifeCycleConfig.class를 지정해줬다.@Configurationstatic class LifeCycleConfig {@Beanpublic NetworkClient networkClient() {NetworkClient networkClient = new NetworkClient();networkClient.setUrl("http://hello-spring.dev");return networkClient;} }2. LifeCycleConfig.class에 있는 @Bean이 붙은 메서드들을 스프링 컨테이너에 빈으로 저장한다. networkClient라는 이름을 가진 빈이 생성된다.2-1. networkClient라는 빈에서 NetworkClient 타입의 객체networkClient 가 생성된다.2-2. 객체가 생성됨과 동시에 NetworkClient() 생성자를 호출해 맨 처음 "생성자 호출, url = null이" 출력된다.2-3 NetworkClient 타입인 networkClient에 setUrl("http://hello-spring.dev") 을 통해 url에 값을 저장한다.3. https://www.inflearn.com/questions/653260 위 글을 살펴보면 답변에서의존관계 주입이 setUrl() 다음에 이뤄진다고 하셨는데,,, setUrl() 호출 다음이면 위의 제 생각 중 2-3번 다음인가요,,,? 의존관계 주입 방법에 생성자를 통한 주입이 있으므로 생성자 호출 시 의존관계 주입이 이뤄지는 건가요,,,? 아님 스프링 컨테이너에 빈이 생성되면서 의존관계 주입이 일어난다. 크게 생각하면 되는건가요,,? 어디서 일어나는 건지 질문드립니다. 4. "스프링 빈은 객체를 생성하고, 의존관계 주입이 다 끝난 다음에야 필요한 데이터를 사용할 수 있는 준비가 완료된다. 따라서 초기화 작업은 의존관계 주입이 모두 완료되고 난 다음에 호출해야 한다." 의존관계 주입이 완료되면 초기화 작업이 이루어진다고 수업 자료에 나와있는데요,초기화란 객체를 선언하고 값을 최초로 할당하는 것이라고 알고있습니다.그럼 위의 코드에서는 객체 생성, 즉 생성자 호출 후 setUrl()로 값을 주입하는 게 초기화 작업이 맞을까요..? 만약 맞다면 결론적으로 NetworkClient networkClient = new NetworkClient(); -> 의존관계 주입networkClient.setUrl("http://hello-spring.dev"); -> 초기화 작업이게 맞는건가요,,?이렇게 되면 3번에 언급되었던 게시글 답변 중, 스프링 컨테이너 실행 -> 스프링 빈으로 등록 -> setUrl() 호출 -> 의존관계 주입 -> 초기화 이 순서에 의문이 생기게 되는데 어떤 순서가 정확한지 질문드립니다!!
-
해결됨[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문
자바스크립트 반복문(for) 질문
안녕하세요 제로초님 자바스크립트 반복문(for) 강좌에서 for(;;)를 실행하면 무한 반복이 된다고 하셨습니다. 그런데 제 브라우저에 for(;;)를 넣은면 이렇게 실행됩니다. 이 자체로 실행됬나요?
-
미해결생산성을 향상시키는 스프링부트 기반의 API 템플릿 프로젝트 구현
Auditing 관련해서 궁금한게있습니다!
안녕하세요! 질 좋은 강의 잘 보고 있습니다!해당 강의를 듣기전에는 BaseTimeEntity를 추상클래스로 생성해 필드값으로 createTime, modifiedTime 등을 생성하고, 사용하고 싶은 클래스(ex. Member, Post ) 에 extends 해서 사용하는 방법으로 알고 있었습니다. 강의에서는 AuditorAware 인터페이스를 상속받아 구현하고 있는데, 위와 같은 방법이랑 차이점이 있을까요??차이점이 있다면, 장단점이 어떤게 있는지 궁금합니다.
-
미해결언리얼 엔진4 입문 (C++ 기반)
TWeakObjectPtr
안녕하세요제가 루키스님의 강의가 이번이 처음이라 늘 말씀해주셨다는 WeakPtr의 개념이 많이 부족한거같습니다.30:00 내용입니다.1.UMyStatComponent를 쌩포인터로 변수를 가질 경우의 문제점을 알고싶습니다.2.Character에서는 UMyStatComponent를 쌩포인터로 변수를 갖고있는데 이 경우는 CreateDefaultSubobject를 해주기에 문제가 없는걸까요?3.굳이 생성자나 Begin()말고 왜 PostInitializeComponent()를 사용하는지 어떨 때 사용하는지 궁금합니다. 4.번외 질문으로써 사용하고 계신 Visual Assist가 어떤건지 궁금합니다 혹여나 저도 구매를 하여 사용할 경우, 회사 입사시 회사내의 개발규칙과는 상관이없는지도 궁금합니다.(사용하면 안된다거나, 회사내 자체적으로 사용하는 Assist가 있는지)답변주시면 감사드리겠습니다.
-
미해결Slack 클론 코딩[백엔드 with NestJS + TypeORM]
Typeorm Connection 시 @Module 하위 useFactory 오류
Typeorm 을 이용하여 DB Connection을 맺는 부분에서 만약 .env 파일을 사용하지 않고서 app.module.ts 내에 관련 정보를 입력할시에 @Module 부분의 useFactory 가 형식을 할당할 수 없다는 에러를 자꾸 나타냅니다..... 이럴경우 어떻게 해결할까요?(슬랙에도 같은 질문 올렸습니다)
-
해결됨[2025년 출제기준] 웹디자인기능사 실기시험 완벽 가이드
Script 뒤에 type=“text/javascript”를 넣으면 오류
검사시 오류가 뜨는데요 시험볼때 저부분만 빼고 작업해도 감점 안되나요?
-
미해결파이썬 동시성 프로그래밍 : 데이터 수집부터 웹 개발까지 (feat. FastAPI, async, await)
파이썬 코루틴 사용하기 - aiohttp로 crawling시에 ssl error 발생
질문은 아니고, 에러가 발생하는 부분이 있어 나중에 문제를 겪고 있으신 분들에게 도움이 될 것 같아 남깁니다.https://github.com/amamov/teaching-async-python/blob/main/1-%ED%8C%8C%EC%9D%B4%EC%8D%AC-%EC%BD%94%EB%A3%A8%ED%8B%B4%EA%B3%BC-%EB%B9%84%EB%8F%99%EA%B8%B0-%ED%95%A8%EC%88%98/04-2-coroutine-fetcher.py위 링크에 있는 코드 입니다. # https://docs.aiohttp.org/en/stable/ # pip install aiohttp~=3.7.3 import aiohttp import time import asyncio async def fetcher(session, url): async with session.get(url) as response: return await response.text() async def main(): urls = ["https://naver.com", "https://google.com", "https://instagram.com"] * 10 async with aiohttp.ClientSession() as session: result = await asyncio.gather(*[fetcher(session, url) for url in urls]) print(result) if __name__ == "__main__": start = time.time() asyncio.run(main()) end = time.time() print(end - start) # 4.8 해당 코드 실행 시 다음의 ssl 에러가 발생합니다. 왜 그런지는 모르겠지만, requests에서는 ssl 에러가 발생하지 않는데 aiohttp에서는 발생합니다.[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)')]https://github.com/aio-libs/aiohttp/issues/955에서 확인한 방법을 적용하면 쉽게 해결이 가능합니다. ssl 검증 과정을 코드 상에서 false 처리하면 됩니다.async with aiohttp.ClientSession( connector=aiohttp.TCPConnector(ssl=False) ) as session: 전체코드는 다음과 같습니다.import aiohttp import time import asyncio async def fetcher(session, url): async with session.get(url) as response: return await response.text() async def main(): urls = ["https://naver.com", "https://google.com", "https://instagram.com"] * 10 async with aiohttp.ClientSession( connector=aiohttp.TCPConnector(ssl=False) ) as session: result = await asyncio.gather(*[fetcher(session, url) for url in urls]) print(result) if __name__ == "__main__": start = time.time() asyncio.run(main()) end = time.time() print(end - start)
-
해결됨실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
fail() 메소드 컴파일 에러 관련 질문드립니다
fail() 메소드 매개변수로 메시지 작성시 컴파일 에러가 발생합니다. 어떤 이유에서일까요?
-
미해결외워서 끝내는 SSL과 최소한의 암호기술
디지털 서명 시 해시하는 이유가 궁금합니다.
디지털 서명시 서명원문에 대한 위,변조를 막기 위해 해시를 한다고 하셨는데요. 위,변조를 확인하기 위한 목적이라면 암호화로도 충분하지 않나 하는 생각이 듭니다. 예를들어 A라는 서명원문에 대해 개인키로 암호화하여 B라는 암호문을 얻었고, 받는쪽에서는 암호문인 B를 공개키로 복호화했을 때 다시 A라는 값이 나오지 않으면 이는 위,변조된 것으로 확인할 수있다고 생각됩니다. 중간에 서명원문이 위조되면 복호화한 값이 일치하지 않을테니까요. 서명원문이 너무 클 경우 암호화시간이 오래걸리기 때문에 해시를 하는 목적이라면 이해가 될 것 같은데 단순히 위,변조를 검증하기 위한 목적이라면 굳이 해시가 필요없다고 생각되었습니다. 제가 놓치고 있는 부분이 있다면 알려주시면 감사하겠습니다!
-
미해결실전! Querydsl
queryDsl의 쿼리를 한 클래스에 모아놓을 수 있을까요?
private final JPAQueryFactory queryFactory; List<AccountForm> fetchResult = queryFactory.select(Projections.bean(AccountForm.class, account.id .... , account.dong , account.aptName , account.dongHo)) .from(account) .where(userRoleEqCond(role)) .offset(pageable.getOffset()) .limit(pageable.getPageSize()) .fetch(); return fetchResult;Service 클래스에서 위와같은 식으로 쿼리를 만들경우 회원 정보를 불러오는 쿼리가 여러군데 있을 경우 각각 클래스마다 거의 동일한 조건의 쿼리문을 만들게 됩니다.다만 조건을 다르게 해서 where(~~) 부분을 다르게 할 수는 있겠지만, 클래스가 다를 경우에는 거의 동일한 코드가 반복되고, 어떨때는 AccountForm.class 라는 DTO의 클래스도 중복 생성되는 문제가 있어서 고민을 하다가 혹시나 테이블별로 쿼리를 모아놓은 패키지를 만들어서 그쪽에 클래스들을 모아놓을려고 만들어봤는데 오류가 납니다.private final JPAQueryFactory queryFactory; public static List<AccountForm> selectAccountQuery(Pageable pageable, UserRole role) { List<AccountForm> fetchResult = queryFactory.select(Projections.bean(AccountForm.class, account.id .... , account.dong , account.aptName , account.dongHo)) .from(account) .where(userRoleEqCond(role)) .offset(pageable.getOffset()) .limit(pageable.getPageSize()) .fetch(); return fetchResult;위와같은 식으로 패키지와 클래스를 따로 분리를 해서 메소드들을 static으로 만들었는데 데이터를 불러오지 못하고, 오류가 납니다.오류는 private final JPAQueryFactory queryFactory; 이 값이 static으로 되어있지 않다고 해서 static으로 바꿀려고 했는데 private static final JPAQueryFactory queryFactory = null;위와같은 식으로만 되어버려서 소스상에서 보더라도 null로 초기화를 시켜버리니까 당연히 데이터를 불러오지 못하게 되는데..혹시 실무에서 위와같은 식으로 중복되는 쿼리가 많을 경우에 처리를 어떤식으로 하는지 궁금합니다.중복되더라도 어쩔 수 없이 그대로 사용을 해야 하는지, 아니면 중복되는 부분을 제거하는 방법이 있는지 궁금합니다.줄일 수 있을 것 같은데 방법을 모르겠습니다.
-
해결됨파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)
BFS풀이 시 높이 범위에 대한 의견공유
h를 무조건 0~99로 설정하기보다는 미리 높이의 min 값과 max값을 구한 후 min~max 범위로 for 문을 돌려주면 더 효율적인 풀이가 될 것 같습니다. from collections import deque N = int(input()) graph = [list(map(int,input().split())) for _ in range(N)] min_rain = 99999999 max_rain = -1 # 높이의 min,max 구해주기 for row in graph: min_tmp = min(row) max_tmp = max(row) if min_tmp < min_rain: min_rain = min_tmp if max_tmp > max_rain: max_rain = max_tmp dr = [1,0,-1,0] dc = [0,1,0,-1] ans = 0 for rain in range(min_tmp+1,max_rain): visited = [[0 for _ in range(N)] for _ in range(N)] cnt = 0 for rr in range(N): for cc in range(N): if visited[rr][cc] == 0 and rain < graph[rr][cc] : visited[rr][cc] = 1 q = deque() q.append((rr,cc)) while q: r,c = q.popleft() for i in range(4): nr = r + dr[i] nc = c + dc[i] if 0 <= nr < N and 0 <= nc < N and visited[nr][nc] == 0 and rain < graph[nr][nc]: visited[nr][nc] = 1 q.append((nr,nc)) cnt += 1 if cnt > ans: ans = cnt print(ans)
-
해결됨딥러닝 CNN 완벽 가이드 - TFKeras 버전
최근 등장한 CNN 아키텍처
강의 중에 나오는 최근 모델은 2017년 SENet 즈음이 마지막으로 나오는데구글링을 해봐도 SENet이 등장한 2017년이 최근 모델로 나오더라구요그나마 2019년 ResNeXt50 정도가 있는 거 같은데최근 3년 2020~2022년 사이에 개발된 CNN 모델이 있을까요?이러한 최신 CNN 경향은 어디서 확인하나요?
-
미해결[왕초보편] 앱 8개를 만들면서 배우는 안드로이드 코틀린(Android Kotlin)
트와이스 Androidmanifest.xml 에서 SplashActivity 조작이요
<activity android:name=".SpashActivity" android:exported="false"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> <meta-data android:name="android.app.lib_name" android:value="" /> </activity> <activity android:name=".MainActivity" android:exported="true"> <meta-data android:name="android.app.lib_name" android:value="" /> </activity>일단 안드로이드 돌핀 버전(2021.3.1)기본적으로 AndroidManifest 화면에 진입했을 경우, 선생님께서 적어주신 화면과 조금 다른 게, android:exported = "false"meta-data 가 보이더라구요. 일단 선생님께서 말씀주신데로 intent-filter를 옮기긴 했는데, 실행 시 에뮬레이터에서 앱이 중단되었다고 나옵니다. ㅠ_ㅜ 이전 강의에서도 코드가 뭔가 미묘하게 다르게 표시되는 부분이 있었는데, 이게 안드로이드 스튜디오 버전의 문제일까요?