묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
해결됨앨런 iOS 앱 개발 (15개의 앱을 만들면서 근본원리부터 배우는 UIKit) - MVVM까지
타이머 앱 강한 참조 사이클 해결 방법에 있습니다!
안녕하세요!타이머 앱 코드 설명중(11강 15:27)에서 강한 참조 사이클 부분에 궁금증이 생겨 질문 드립니다! 참조 사이클을 방지하기 위해서 weak var timer: Timer? weak self 위 2개 방식 중에서 [self]로 코드 사용 편리함을 위해 weak var timer로 택하셨다고 했는데Q: timer 변수는 의미상 직접적으로 Timer를 참조해야 맞을 것 같은데... 어떤 방법이 좋은 것인지 헷갈려서요!둘다 해결 방법인데,어떤 상황에 어떤 방법을 채택해야할지 궁금해서 질문 남겼습니다!
-
해결됨[리뉴얼] 맛집 지도앱 만들기 (React Native & NestJS)
Drawer Navigation 적용 후 발생하는 오류
isLoggedIn이 false일 때는 Auth네비게이터를 보여주고 이 때는 별 다른 오류가 발생하지 않습니다.하지만 isLoggedIn을 true로 변경 한 후, Drawer 네비게이터를 보여줄 때는 위와 같은 오류가 계속 발생합니다.어디서 타입 에러가 발생하는건지 도저히 모르겠어서 질문을 남깁니다... cf) babel 파일 수정, 캐시 삭제 후 재실행, 안드로이드 에뮬레이터 cold boot 다 시도해봤는데 동일한 문제가 계속 발생합니다.import {createDrawerNavigator} from '@react-navigation/drawer'; import React from 'react'; import MapHomeScreen from '../../screens/MapHomeScreen'; import FeedHomeScreen from '../../screens/FeedHomeScreen'; import CalendarHomeScreen from '../../screens/CalendarHomeScreen'; const Drawer = createDrawerNavigator(); const MainDrawerNavigator = () => { return ( <Drawer.Navigator> <Drawer.Screen name="MapHome" component={MapHomeScreen} /> <Drawer.Screen name="FeedHome" component={FeedHomeScreen} /> <Drawer.Screen name="CalendarHome" component={CalendarHomeScreen} /> </Drawer.Navigator> ); }; export default MainDrawerNavigator; import React from 'react'; import {View, Text} from 'react-native'; interface MapHomeScreenProps {} const MapHomeScreen = ({}: MapHomeScreenProps) => { return ( <View> <Text>MapHomeScreen</Text> </View> ); }; export default MapHomeScreen;
-
해결됨20년 경력자의 알기쉬운 컴퓨터네트워크
putty 사용중 네트워크 문제발생
1. 라우터1, 라우터2가 시리얼케이블로 연결되어있다2. 라우터1에 스위치1이 연결되어있다3. 스위치1에 PC1, PC2가 연결되어있다.4. PC1과 PC2는 네트워크가 다르다PC1 - 204.200.10.2/24, 게이트웨이 204.200.10.1/24PC2- 204.200.20.2/24,게이트웨이 204.200.20.1/24 스위치에서는 VLAN을 잘 나누었고, 트렁크까지 완료했음.라우터에서는 스위치와 연결된 물리포트를 NO SHUTDOWN으로 열어주었고, 포트를 가상화하여 서브인터페이스를 구성하였음. (ENCAPSULATION DOT1Q)그러나 문제가 발생함(PC1에서 PC2로 핑 가지않음, PC2의 게이트웨이까지는 핑 도달,PC2에서 PC1로 핑 가지않음, PC1의 게이트웨이까지는 핑 도달) 이런경우의 문제는 어떻게 해결해야 할까요? ㅠㅜputty를 이용해서 네트워크를 구성해보았는데..그 이상 진행이 되질 않습니다..
-
해결됨외워서 끝내는 네트워크 핵심이론 - 기초
DNS와 트랜잭션 ID
강의에서 언급된 이야기는 아니지만 DNS 캐시서버는 UDP로 통신하기 때문에 여러 요청이 왔을 때 요청을 구별하기 위해 트랜잭션 ID를 붙혀서 클라이언트를 구별한다고 공부했습니다. 그런데 트랜잭션 ID가 없어도 요청받은 IP주소와 port번호를 보고 응답을 해주면 되는게 아닌가 생각이 들었습니다.트랜잭션 ID가 필요한 이유를 잘 모르겠습니다.추가적으로 만약 DNS 통신을 TCP라고 가정했을 때 TCP도 결국엔 IP 주소와 port번호를 보고 데이터를 응답해 줄텐데 TCP는 연결 지향형이기 때문에 괜찮다고 하더라구요.UDP, TCP 모두 IP주소와 Port보고 응답할텐데 UDP는 트랙잭션 ID가 필요하고 TCP는 괜찮은 이유가 궁금합니다.
-
미해결[리뉴얼] 파이썬입문과 크롤링기초 부트캠프 [파이썬, 웹, 데이터 이해 기본까지] (업데이트)
세팅
안녕하세요. 강의 그대로 따라해도 세팅부터 막히는데 어떻게 하나요? 파일을 만들고 나서 셀에 입력하는 화면이 안나오는데요. 강의에서 python3으로 들어가면 강의에서는 셀을 입력할 수 있도록 나오는데 저는 python3이라는게 뜨지를 않습니다.
-
미해결
시작은 프리캠프에서 내장함수 리뷰중 ...
let isStarted = false; let auth = () => { if(isStarted === false){ //타이머가 작동중이 아닐 때 isStarted = true document.getElementById("fisnish").disabled = false const token = String(Math.floor(Math.random() * 1000000)).padStart(6, "0"); document.getElementById("target").innerText = token; document.getElementById("target").style.color = "#" + token; }; let time = 10; setInterval(function () { if (time >= 0) { let min = Math.floor(time / 60); let sec = String(time % 60).padStart(2, "0"); document.getElementById("timer").innerText = min + ":" + sec; time = time - 1; } else { document.getElementById("finish").disabled = true; isStarted = false } }, 1000); } else { //타이머가 작동중일 때 } 마지막 타이머가 작동 중일 때 } else {} 이 부분에서 빨간 줄이 그어져있고 숫자 1이 timer.js1이라고 되어 있어요.제 눈에는 아무리 찾아봐도 모르겠는데 혹시 코드가 잘 못 된 것이 있나요??? 그리고 live server를 통해서 보면 인증번호 전송이 안되는데 뭘 잘못한 걸까요? 여기서 막혀서 못 나가고 있어요 ㅠ
-
해결됨초보자를 위한 BigQuery(SQL) 입문
총 정리 5번 문제 질문
안녕하세요 카일님, 카일님이 푼 결과와 제가 푼 결과가 달라서 질문드립니다.저는 5번 문제에서 트레이너가 '잡았던'이라고 해서 다음과 같은 쿼리를 작성했습니다. WHERE tp.status IN ('Active', 'Training')그런데 카일님 해설 영상을 보니깐 WHERE을 따로 작성 안 하셨더라고요!혹시 제가 문제를 잘못 해석한걸까요??제가 작성한 쿼리 및 결과는 이미지에 첨부해 뒀습니다
-
해결됨[UI3 업데이트] 피그마 배리어블을 활용한 디자인 시스템 구축하기
피그마 UI 에 대해 여쭙니다.
강의를 열심히 듣고 있습니다.근데 한가지 해결이 안되는 문제가 있어서 질문드립니다.이번에 피그마가 UI3 로 업그레이드를 했다고 하는데, 저는 일단 강사님 버전에 맞게 거기에 맞춰서 하고자 하는데, 테스트로 여러개를 만들어봤는데, 어떤건 UI3 로 화면이 새롭게 바뀌어서 나오고 어떤건 이전 UI 로 나오더라구요,근데 UI3로 나와도 피그마 안에 들어가서 오른쪽 하단에 ?이이콘을 클릭하면 Go back to previous UI를 클릭하면 원래버전으로 돌아간다고 주변에서 알려줬는데, 그 메뉴가 아예 없어서 UI3 이전 인터페이스를 사용하려면 어지 해야 하는건지 해서요 ㅜㅜUI3는 아직 베타버전이라고 하니 아직은 이전 화면으로 사용하고 싶은데, 방법이 있을까요?
-
미해결처음 시작하는 Infrastructure as Code: AWS & 테라폼
생성한 유저로 로그인한 후, MFA 등을 등록하면 plan이 달라지네요
aws 유저를 코드로 생성했습니다.이후 해당 유저가 로그인하고, MFA 등의 보안 설정을 추가했습니다.설정 추가한 이후에는 아래처럼 기존 플랜과 다른점이 나오네요.콘솔에서 생성한 이런류의 변경 사항은 받아줘도 되겠죠..?# aws_iam_user.userX will be updated in-place ~ resource "aws_iam_user" "userX" { id = "userX" name = "userX" ~ tags = { - "AKIA3RPN5MFQJHDZCI6E" = "galaxy A34" -> null } ~ tags_all = { - "AKIA3RPN5MFQJHDZCI6E" = "galaxy A34" -> null } # (4 unchanged attributes hidden) }
-
미해결AWS Certified Solutions Architect - Associate 자격증 준비하기
수강 기간 연장 요청드립니다.
AWS Assoicate 자격증 일정 및 아직 다 보지를 못해 수강 기간 연장 요청드립니다.감사합니다.
-
해결됨[입문편] 안드로이드를 위한 코틀린(Kotlin) 문법
키보드관련 문제
안녕하세요. 플레이그라운드나 안드로이드 스튜디오에서 코틀린을 사용 문제인데요, 어느날은 방향키가 잘 먹히는데 어느 날은 방향키가 안먹히는 날이 있더라구요. 방향키 뿐만 아니라 문제가 생긴 날에는 엔터키 오른쪽에 있는 부분이 안먹히는 문제가 발생하는데 왜 그런건가요
-
미해결대세는 쿠버네티스 (초급~중급편)
설치 v1.27(win/mac intel) 문의
xshell이 윈도우만 지원하는 것 같은데, mac intel에서는 어떤 걸 써야할까요?구글링해보니 open ssh를 사용하라고 하는데, 대체가 가능한건지 모르겠네요 mac intel 사용지 XShell 대체방법도 가이드되면 좋을 거 같습니다
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
gradlew clean build 시 예외가 발생합니다.
> Task :test FAILEDFAILURE: Build failed with an exception.* What went wrong:Execution failed for task ':test'.> There were failing tests. See the report at: file:///C:/Spring_kyh/%EC%8A%A4%ED%94%84%EB%A7%81%20%EB%B6%80%ED%8A%B8%EC%99%80%20JPA%20%ED%99%9C%EC%9A%A91/jpashop/build/reports/tests/test/index.html* Try:> Run with --scan to get full insights.BUILD FAILED in 4s8 actionable tasks: 8 executed 다른 질문들 찾아보다가 https://www.inflearn.com/community/questions/1251256/gradlew-%EB%B9%8C%EB%93%9C%EA%B0%80-%EA%B3%84%EC%86%8D-%EC%8B%A4%ED%8C%A8%EB%A1%9C-%EB%9C%B9%EB%8B%88%EB%8B%A4?focusComment=336001이 답변을 보고 gradle도 8.5로 바꿔봤는데 똑같은 오류가 발생해 질문드립니다. 환경변수도 제대로 설정했는데도 똑같은 증상이 발생합니다
-
미해결스프링 DB 1편 - 데이터 접근 핵심 원리
체크예외와 언체크예외
체크예외와 언체크예외에 대해서 복구불가능한 문제와 언체크예외를 주로 사용해야하는 부분에 대해서 아래와 같이 이해했는데 이렇게 이해하면 될까요?? 1. 예외는 주로 복구 불가능한 이유가 예외가 발생하면 try~catch로 예외를 처리해서 정상흐름대로는 할순있지만, 예외가 발생한거에대해서 이를 복구해서 원했던결과대로 정상적으로 돌리는것은 불가능하기때문에 그런건가요?? + 애플리케이션내에서 코드를 통해서 복구할수는 없는건가요??체크예외에서는 예외가 발생하면 throws로 예외를 던져야하지만 이를 서비스나 컨트롤러에서는 try catch로 처리할순있어도 딱히 예외를 복구할순없다. 그래서 그냥 try~catch로 예외를 처리하지말고 예외를 발생시켜서 개발자가 로그를통해 예외를 인지하는게 낫다. 결국 그래서 throws를 할필요가없는 언체크예외가 낫다.
-
해결됨서류합격률 4%를 탈출하는 개발자 이력서 작성법(실습 포함)
경력 영역 작성 시..
4년차 백엔드 개발자입니다.강의를 보고 나서 현 회사에서 어떤 것들을 실천하여 이력서에 어필을 할 수 있을지 감이 왔는데,전 직장에선 이미 시간이 지나버린 후라 경력으로 어필할 수 있는 게 마땅히 떠오르지 않는데요... 경력 영역 작성 시에 내용을 많이 작성하는 것이 검토자 입장에서는 +요인인가요? 아니면 핵심적인 부분만 몇 가지 작성하는 것이 더 좋은가요?만약 작성할 내용이 많지 않다면 전 직장(대부분 CRUD만 수행했었음)에서 했던 내용들은 어떻게 어필할 수 있을까요? 감사합니다.
-
해결됨이득우의 언리얼 프로그래밍 Part2 - 언리얼 게임 프레임웍의 이해
언리얼을 다시깔았는대 9009번 오류가 뜹니다
C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets(44,5): error MSB3073: The command ""C:\Program Files\Epic Games\UE_5.1\Engine\Build\BatchFiles\Build.bat" ArenaBattleEditor Win64 Development -Project="C:\Users\User\Documents\Unreal Part1\ArenaBattle\ArenaBattle.uproject" -WaitMutex -FromMsBuild" exited with code 9009.1>Done building project "ArenaBattle.vcxproj" -- FAILED. 이렇게 두개가 뜨는대 찾아보니 경로상의 문제라고 하는대 어떤 경로가 잘못됬는지 잘 모르겠어서 질문드립니다
-
해결됨DevOps의 정석 - DevOps의 시작부터 끝까지 모두 짚어 드립니다!
강의 교안 요청 드려요
강의 교안을 신청을 했는데 (폼 작성) 아직 못받았습니다.tidehyun@gmail.com 로 교안 좀 부탁드릴게요.감사합니다.
-
미해결스프링부트 JUnit 테스트 - 시큐리티를 활용한 Bank 애플리케이션
안녕하세요 인증이 필요한 url을 위하여 /s를 붙이는것에 대해 질문있습니다.
안녕하세요 인증이 필요한 url을 위하여 /s를 붙이는것에 대해 질문있습니다.실무에서도 url분리를 위해 /s만 붙이기도 하나요?아니라면 url 설계를 어떤식으로 해야할지 팁을 알고싶습니당.
-
미해결재고시스템으로 알아보는 동시성이슈 해결방법
unix:///var/run/docker.sock. Is the docker daemon running? 오류
말씀하신대로 docker를 설치했는데 docker deamon이 실행되지 않습니다.https://soundprovider.tistory.com/entry/Docker-Cannot-connect-to-the-Docker-daemon-at-unixvarrundockersock-Is-the-docker-daemon-running-%ED%95%B4%EA%B2%B0를 따라해보려고 했으나 systemctl 커맨드가 없다고 나옵니다. 어떻게 하면 될까요? 환경은 M1 맥북에어입니다.
-
미해결실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
강의 콘솔처럼 rolled back 기록이 안 보이네요
@ExtendWith(SpringExtension.class) @SpringBootTest class MemberRepositoryTest { @Autowired MemberRepository memberRepository; @Test @Transactional public void testMember() throws Exception { //given Member member = new Member(); member.setUsername("memberA"); //when Long saveId = memberRepository.save(member); Member findMember = memberRepository.find(saveId); //then Assertions.assertThat(findMember.getId()).isEqualTo(member.getId()); Assertions.assertThat(findMember.getUsername()).isEqualTo(member.getUsername()); }2024-08-27T08:46:11.488+09:00 INFO 20440 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting... 2024-08-27T08:46:11.607+09:00 INFO 20440 --- [ Test worker] com.zaxxer.hikari.pool.HikariPool : HikariPool-1 - Added connection conn0: url=jdbc:h2:tcp://localhost/~/jpashop user=SA 2024-08-27T08:46:11.610+09:00 INFO 20440 --- [ Test worker] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed. 2024-08-27T08:46:12.826+09:00 INFO 20440 --- [ Test worker] o.h.e.t.j.p.i.JtaPlatformInitiator : HHH000489: No JTA platform available (set 'hibernate.transaction.jta.platform' to enable JTA platform integration) 2024-08-27T08:46:12.846+09:00 DEBUG 20440 --- [ Test worker] org.hibernate.SQL : drop table if exists member cascade 2024-08-27T08:46:12.853+09:00 DEBUG 20440 --- [ Test worker] org.hibernate.SQL : drop sequence if exists member_seq 2024-08-27T08:46:12.860+09:00 DEBUG 20440 --- [ Test worker] org.hibernate.SQL : create sequence member_seq start with 1 increment by 50 2024-08-27T08:46:12.866+09:00 DEBUG 20440 --- [ Test worker] org.hibernate.SQL : create table member ( id bigint not null, username varchar(255), primary key (id) ) 2024-08-27T08:46:12.872+09:00 INFO 20440 --- [ Test worker] j.LocalContainerEntityManagerFactoryBean : Initialized JPA EntityManagerFactory for persistence unit 'default' 2024-08-27T08:46:13.228+09:00 WARN 20440 --- [ Test worker] JpaBaseConfiguration$JpaWebConfiguration : spring.jpa.open-in-view is enabled by default. Therefore, database queries may be performed during view rendering. Explicitly configure spring.jpa.open-in-view to disable this warning 2024-08-27T08:46:13.272+09:00 INFO 20440 --- [ Test worker] o.s.b.a.w.s.WelcomePageHandlerMapping : Adding welcome page: class path resource [static/index.html] 2024-08-27T08:46:13.987+09:00 INFO 20440 --- [ Test worker] jpabook.jpashop.MemberRepositoryTest : Started MemberRepositoryTest in 6.47 seconds (process running for 8.794) WARNING: A Java agent has been loaded dynamically (C:\gradle\caches\modules-2\files-2.1\net.bytebuddy\byte-buddy-agent\1.14.19\154da3a65b4f4a909d3e5bdec55d1b2b4cbb6ce1\byte-buddy-agent-1.14.19.jar) WARNING: If a serviceability tool is in use, please run with -XX:+EnableDynamicAgentLoading to hide this warning WARNING: If a serviceability tool is not in use, please run with -Djdk.instrument.traceUsage for more information WARNING: Dynamic loading of agents will be disallowed by default in a future release 2024-08-27T08:46:14.774+09:00 DEBUG 20440 --- [ Test worker] org.hibernate.SQL : select next value for member_seq Java HotSpot(TM) 64-Bit Server VM warning: Sharing is only supported for boot loader classes because bootstrap classpath has been appended 2024-08-27T08:46:14.914+09:00 INFO 20440 --- [ionShutdownHook] j.LocalContainerEntityManagerFactoryBean : Closing JPA EntityManagerFactory for persistence unit 'default' 2024-08-27T08:46:14.918+09:00 INFO 20440 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown initiated... 2024-08-27T08:46:14.933+09:00 INFO 20440 --- [ionShutdownHook] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Shutdown completed. > Task :test BUILD SUCCESSFUL in 26s 4 actionable tasks: 1 executed, 3 up-to-date 오전 8:46:15: Execution finished ':test --tests "jpabook.jpashop.MemberRepositoryTest.testMember"'. Transactional 애노테이션을 붙였는데 롤백얘기가 안보이네요... JUnit5로 해서 차이가 있는걸까요?