이야기를 나눠요
167만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
[C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part4: 게임 서버
정말 어렵네요 ㅠㅠ
C# 기초 공부할때는 코드가 이해가 안되도그림으로 실행흐름을 그려보면서 이해해볼수있었는데 이거는 코드들이 비동기실행되니까 정확한 순서로 그림을 그려보는게 힘들어서 이해가 정말 힘드네요;
-
토비의 스프링 부트 - 이해와 원리
idea 명령어가 안먹는 경우해결 방법
안녕하세요. 강의를 듣다가 idea 커맨드를 실행하였으나 먹히지 않아 찾아본 결과 Jetbrains Toolbox를 사용하여 설치한 경우에 실행 쉘 스크립트를 지원하는 것 같습니다.https://www.jetbrains.com/help/idea/working-with-the-ide-features-from-command-line.html#e3487884툴박스 설치$ brew install --cask jetbrains-toolbox툴박스 UI에서 IntelliJ 설치IntelliJ 설정에서 셸 스크립트 이름 확인 가능 만약 툴박스를 사용하지 않고 수동 설치한 경우아래와 같이 수동으로 쉘 스크립트를 작성해야 사용 가능합니다.$ sudo vim /usr/local/bin/idea #!/bin/sh open -na "IntelliJ IDEA.app" --args "$@" $ sudo chmod +x /usr/local/bin/idea 저와 같은 고민을 하고 계신분에게 도움이 되었으면 합니다. 감사합니다.
-
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
h2 오류 해결 정리 - 스프링부트 2.7.9 버전인 경우
안녕하십니까. 김영한 강사님의 '실전! 스프링부트 JPA 활용1' 강의를 듣고 있는 수강생 입니다.섹션1 - 프로젝트 환경설정 -> JPA와 DB 설정, 동작확인 강의를 듣고 있는데JUnit 4를 사용하여 MemberRepositoryTest를 테스트했을 때 오류가 났었는데, 그것을 해결한 방법을 정리하였습니다. 제목에서처럼 스프링부트 2.7.X 버전인 경우에 유효한 방법일 것 같고요.사진처럼, gradle.build를 통해 라이브러리가 자동으로 설치되었을텐데, 본인의 스프링부트에 따라서 h2 버전이 맞춰서 설치됩니다. (사진에서는 2.1.214) 그럼 h2를 2.1.214를 설치하시면 됩니다. (강의는 1.4.199를 설치했지만, 스프링부트의 버전이 강사님과 저와 달랐기에... 오류가 터진 거였죠..) 이 오류를 해결한 경위는 다음과 같습니다. 처음의 오류입니다.Access to DialectResolutionInfo cannot be null when 'hibernate.dialect' not set 오류가 나길래, database를 지정하라는 소리가 있어서 application.yml을 다음과 같이 수정했죠..jpa의 database: h2를 추가해줬습니다. 그랬더니 다른 오류를 뱉습니다. 스크린샷은 못 찍었는데, 오류 밑부분에Version mismatch, driver version is "0" but server version is "16"이런 오류가 터졌습니다.그래서 dialect가 문제인가? 해서 dialect를 지정해봐도 이 오류가 절대로 고쳐지지 않기에 검색해봤는데... 다른 글들은 스프링부트 버전을 낮춰라, h2 버전을 낮춰라 하시는데 스프링 부트에서 사용하는 H2 데이터베이스 클라이언트 버전이 현재 2.1.212로 확인되어 제보드립니다. 라는 제목의 인프런 글을 보면서 스프링부트에 설치된 라이브러리 버전대로 올려버리자!!! 라고 해서 버전 올려버렸습니다. (1) 기존에 설치된 h2 삭제기존 h2를 삭제하고 + 'h2 다른버전으로 재설치시 파일 삭제' 글 참고하셔서 삭제하라는 것 삭제하고(C:\users\사용자명에 있습니다. .h2로 시작하는 파일과 .db 확장자로 끝나는 걸 삭제하시면 됩니다.) (2) 본인 스프링부트에 맞는 h2를 설치하고, 강의대로 JDBC URL에 jdbc:h2:~/jpashop 을 입력하고 '연결 시험' 말고 '연결'을 누르시면 됩니다. 그리고 세션 끊고 다시 나와서 이번에는 jdbc:h2:tcp://localhost/~/jpashop을 '연결 시험' 말고 '연결'을 누르시면 됩니다. 연결 시험 누르면 잘 안 되서 연결 누르시면 되는데, 그래도 안 되면 오타 확인해주시고 localhost 대신 ip 넣으시면 됩니다. (3) 오류나면 yml에서 MVCC=true 부분은 삭제application.yml에서 강의로 보셨으면 url: jdbc:h2:tcp://localhost/~/jpashop;MVCC=true 이 부분에서 MVCC=true 이 있을텐데, MVCC=true 이 부분을 삭제해주시면 저의 경우엔 정상적으로 돌아갔습니다!!! (현재 강의 자료 소스로 첨부된 application.yml 그대로 하시면 잘 돌아갑니다.)
-
프로그래밍 시작하기 : 파이썬 입문 (Inflearn Original)
왜 반복문이라고 하나요?
안녕하세요!조금 뜬금 없는 질문이기는 한데 궁금해서요왜 for 문을 반복문이라고 하나요?그러니까 어떤 의미에서의 반복인가요? apple 를 apple이렇게 5줄로 따로따로 가져오는 게 반복인가요?
-
[플러터 상태관리] Bloc 마스터 코스 기초부터 응용까지!
강의를 보면서 메모하고 블로그에 정리해서 올리고 싶은데 혹시 괜찮을까요?
안녕하세요. 강의를 보면서 내용을 정리해 두려고 하는데 혹시 블로그에 내용을 정리해서 올려도 괜찮을까요?
-
너네 백엔드 하고 싶은 거 있으면 얼마든지 해 난 괜찮어 왜냐면 나는 파이어베이스가 있어
로그인정보를 전역에서 사용할수있는방법을 리덕스툴킷으로
가르쳐주실순 없나요 궁금합니다. ㅠ
-
[2023 코틀린 강의 무료제공] 기초에서 수익 창출까지, 안드로이드 프로그래밍 A-Z
04:12~ 편집이 필요 하실 것 같습니다,,
폰트가 없다고 말씀하시더니 콧노래를 부르면서 시간 여행을 떠나십니다,,ㅋㅋㅋㅋ
-
자바스크립트 알고리즘 문제풀이 입문(코딩테스트 대비)
여러분 강의에서 제공한 풀이는 O(s*t)입니다!
강의에서 제공한 풀이는 O(s*t)이구요!강사님이 질문 답변으로 제공한 O(n)코드 올립니다!동일한 투 포인터 풀이로 한 번 천천히 보시면 좋을 것 같아요👍🏻function main(s, t) { let hash = new Map(); for (let i = 0; i < t.length; i++) { hash.set(t[i], (hash.get(t[i]) || 0) + 1); } for (let i = 0; i < t.length - 1; i++) { hash.set(s[i], (hash.get(s[i]) || 0) - 1); if (hash.get(s[i]) === 0) hash.delete(s[i]); } let lt = 0; let result = 0; for (let rt = t.length - 1; rt < s.length; rt++) { hash.set(s[rt], (hash.get(s[rt]) || 0) - 1); if (hash.get(s[rt]) === 0) hash.delete(s[rt]); if (hash.size === 0) result++; hash.set(s[lt], (hash.get(s[lt]) || 0) + 1); if (hash.get(s[lt]) === 0) hash.delete(s[lt]); if (hash.size === 0) result++; lt++; } console.log(result); } main("bacaAacba", "abc");
-
호돌맨의 요절복통 개발쇼 (SpringBoot, Vue.JS, AWS)
@Value 어노테이션을 사용해서 KEY를 주입받고 싶을때!!!
호돌맨님의 강의를 정말 열심히 듣고 있는 학생입니다.다름이 아니라 호돌맨님 강의와는 다른 방향으로 한번 KEY를 세팅해 볼 수는 없을까?? 라는 생각이 들었고 혹시나 저와 같은 문제를 마주친 분들 및 피드백을 받고 싶어서 글을 남깁니다.@Value 어노테이션을 사용하여 application.yml(프로퍼티) 파일에서 값을 가져오는 방법을 적용해 보았습니다.//application.yml spring: # secret properties profiles: include: secret//application-secret.yml jwt: secret: "ZxV0wmgRyU8ZGYBRITUGcaOi03osZK1bsy7qEUUjgBs="KEY 값을 application.yml 과 분리시키기 위해 별도로 .yml 파일을 생성하여 저장하였습니다.//AuthController @Slf4j @RestController @RequiredArgsConstructor @RequestMapping("/api/auth") public class AuthController { private final AuthService authService; @Value("${jwt.secret}") private String KEY; ~~~~ }//AuthResolver @Slf4j @Component @RequiredArgsConstructor public class AuthResolver implements HandlerMethodArgumentResolver { private final SessionJpaRepository sessionJpaRepository; /** * TODO:jwt.secret 이 null 인 문제... * why??? */ @Value("${jwt.secret}") private String KEY; ~~~ }AuthController 와 AuthResolver 에 @Value 어노테이션을 사용하여 KEY 변수에 .yml 파일에 정의한 secret 값을 주입받게끔 코드를 작성하였습니다.그러나 AuthController 에서는 정상적으로 .yml 파일에 정의해준 KEY 값이 주입이 되었지만 이상하게 AuthResolver 에서는 KEY 값이 null 이 나오더라구요...@Component 어노테이션도 적용해서 Bean 객체로 만들어줬는데도 말이죠 ㅠㅠhttps://wildeveloperetrain.tistory.com/143이 블로그에서 힌트를 얻을 수 있었습니다.바로 WebMvcConfig 에서 AuthResolver 를 등록할때 new 연산자를 사용하여 새로운 인스턴스를 등록해주었기 때문이었습니다. new AuthResolver(sessionJpaRepository)//WebMvcConfig private final AuthResolver authResolver; @Override public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) { // resolvers.add(new AuthResolver(sessionJpaRepository)); resolvers.add(authResolver); }그래서 new 연산자를 사용하는 것이 아닌 빈으로 등록된 인스턴스를 사용하여서 해결할 수 있었습니다.다른분들에게 도움이 되셨으면 하는 마음에 글을 남깁니다. 혹시나 개선해야 될 점이 있거나 잘못된 부분이 있으면 댓글로 알려주시면 감사하겠습니다!!
-
제4회 2023 연구개발특구 AI SPARK 챌린지
○ 접수방법 - 대회 안내 및 참가신청서 링크: https://aifactory.space/competition/detail/2299 ○ 주제 - 연구개발특구진흥재단은 디지털트윈 및 스마트팩토리 시스템 기반의 산업현장 혁신 솔루션을 도출하고자 합니다.○ 소개 - 범천(주)은 ESG 가치를 담아 산업용 공기압축기를 개발하는 대덕연구개발특구 소재 기업으로 산업기기 피로도를 예측하는 문제입니다.○ 주최/주관 - 주최: 연구개발특구진흥재단 - 주관: 따뜻한메이커연구소, AIFrenz, AIFrica, AIFactory○ 참가대상 - 데이터 활용 및 인공지능을 통한 문제해결에 관심있는 누구나 - 팀 대표자는 상금 수령이 가능한 국내 계좌를 보유하고 있는 대한민국 국적자여야 함. - 개인이 두 개 이상의 팀에 중복으로 참여 불가, 한 팀원 구성은 4명까지로 제한○ 기간 및 일정 - 참가신청 : 3월 17일(금) ~ 4월 21일(금) 18:00 *팀병합(빌딩) 마감은 4월 14일(금)까지 - 대회기간 : 4월 3일(월) 10:00 ~ 4월 21일(금) 18:00 - 대회결과 발표 : 5월 15일(월) - 시상 (쇼케이스) : 5월 18일(목)※ 대회의 원활한 진행을 위하여 상세일정은 변경될 수 있음을 사전 안내드립니다.○ 상금(총 상금 800만원) - 1등(1팀): 500만원 - 2등(1팀): 200만원 - 3등(1팀): 100만원 ○ 문의 - 인공지능팩토리: cs@aifactory.page, ☎️ 042-710-6451 - 연구개발특구진흥재단 기술창업지원팀: hjkim@innopolis.or.kr, ☎️ 042-865-8983
-
자바 ORM 표준 JPA 프로그래밍 - 기본편
기존 시스템에 대해서 개발중에 복합키에 대해서 문의드립니다.
기존 시스템에 대해서 개발중에 복합키에 대해서 문의드립니다.pk가 id로만 구성된 연관관계가 아닌, pk가 복합키(key1, key2)로 구성된 연관관계에 대해서 궁금합니다. 구글링 결과 @IdClass, @EmbeddedId로 가능하다고 하고, 관련 자료도 찾아 보았으나, 명쾌하게 해결되지 않아 질문드립니다.해결 방법중 @IdClass로 처리해 볼까하고, 이때 테이블 관계가 식별과 비식별 관계인 경우 궁금합니다.식별관계인경우비식별 관계인 경우각각에 대해서 JPA로 Entity로 구현이 어떻게 되는지 궁금합니다.감사합니다.
-
실습으로 끝장내는 웹 크롤링과 웹 페이지 자동화 & 실전 활용
강의 잘 들었습니다 업데이트는 언제 되나요?
강의 잘 들었습니다 업데이트는 언제 되나요?
-
탄탄한 백엔드 NestJS, 기초부터 심화까지
중복코드 제거 공유
let error = exception.getResponse(); if (typeof error === 'string') { error = { error }; } response.status(status).json({ statusCode: status, timestamp: new Date().toISOString(), path: request.url, ...error, });문법공부는 따로 안해서, 더 좋은 방법이 있겠지만..
-
냉동코더의 알기 쉬운 Modern Android Development 입문
테스트 강의가 너무 좋던데 혹시 앞으로 추가하실 계획이 있으신가요?
안녕하세요 오늘 드디어 모든 강의를 다 들었습니다너무 좋은 강의 제공해주셔서 감사합니다 (__)마지막에 테스트 강의를 추가해주셨는데아무래도 테스트는 여러 상황들이 있어서 좀 더 다양한 사례에 어떻게 적용할 수 있는지예시가 좀 더 있었으면해서요혹시 앞으로 테스트만 다루는 강의가 나올 가능성이 있을까요?
-
[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
뒤로갈수록 따라가기 버겁습니다.
뒤로 갈수록 설명이 친절하지 않는 기분이 듭니다.코딩에 익숙하나 처음 플러터를 배우시는 경험자분들에게 이 강의는 정말 더할나위없이 좋은 강의라고 생각하지만,점점 뒤로 갈수록 기본적으로 이미 다 알고있는 것처럼 설명이 생략되는 내용이 많아지면서 저처럼 코딩 자체를 플러터로 처음 배우는 초보자에게는 따라가기 힘든 부분이 많습니다.특히 데이터베이스 부분에서 생소한 용어와 로직이 많은데 뭔가 자세한 설명없이 휙휙 넘어가는 부분이 있어 정말 막막함을 느끼고 있습니다.저 스스로의 노력이 가장 중요하다는 건 알고 있지만, 그래도 초보자를 위한 코딩강의라면 최소한 생략하는 부분없이 초보자가 잘 이해할 수 있도록 상세하게 설명해주셨으면 좋겠습니다.
-
[중급편] 코인 가격 모니터링 앱 제작 (Android Kotlin)
API33 이상 Notification 안 될 경우
포그라운드 서비스 Notification 띄우기 (Foregound Service)강의 수강하면서 따라하는데 알림이 안오더라구여다른 기기로 테스트하면서 진행해봤는데API 30 은 알림 잘 오고 API 33 은 안돼서 더 찾아봤더니 Notification 런타임 권한이 추가되었어요.혹시 안되시는 분 계시면 참고하세요~내용>1. Android 13의 Notification 런타임 권한Android 12까지는 앱을 설치하면 기본적으로 Notification을 띄울 수 있었습니다. 사용자는 App Info 화면에서 Notification을 비활성화해야 앱의 Notification 발송을 막을 수 있었습니다.Android 13에서 Notification 런타임 권한이 추가되었고, 이제 이 권한으로 앱의 Notification 발송 권한을 제어할 수 있도록 변경되었습니다. 또한, 기본적으로 Runtime permission은 OFF이기 때문에, 앱은 사용자에게 이 권한을 받기 전까지 노티피케이션을 발송할 수 없습니다. 해결방법 >2. 권한 선언 및 권한 요청 (Target SDK API 33 이상)<manifest ...> <uses-permission android:name="android.permission.POST_NOTIFICATIONS"/> <application ...> ... </application> </manifest> 출처 : https://codechacha.com/ko/android-13-notification-permission/
-
✨스위그에서 쉽고 빠르게 유형 테스트, 미니게임, 온라인 방탈출 등과 같은 웹 콘텐츠를 배포해보세요✨
‘SWYG 부스트’ 란?복잡한 배포 과정 때문에 배포를 미뤄온 콘텐츠 혹은 이용자 데이터를 바탕으로 지속적으로 디벨롭하고자 하는 콘텐츠를 복잡한 절차와 비용 없이 쉽고 빠르게 배포할 수 있는 프로그램입니다.* ‘부스트’는 ‘스위콘’의 새로운 프로그램명입니다.✅ 출시 가능한 콘텐츠- MBTI 테스트, 심리테스트, 온라인 방탈출, 인터랙티브 웹, 온라인 전시, 미니게임, 한 페이지 내외로 이루어진 유틸성 사이트 등 코딩을 기반으로 만들어진 웹 콘텐츠이런 콘텐츠도 가능한지 고민이 되신다구여❓- 한 페이지도 상관없을까?- 예전에 제작한 것도 괜찮을까?- 기능이 완벽하지 않았는데 괜찮을까?- 이 콘텐츠로 수익을 창출해보고 싶은데 가능할까?- 콘텐츠를 지속하지 않을 생각이었는데 괜찮을까?위에 해당되는 콘텐츠들 모두 오케이 👌※ 선정적이거나 폭력성, 사행성 요소가 많이 포함된 콘텐츠는 출시가 불가능할 수 있습니다.🤷왜 스위그에서 출시를 해야 하나요?🔥콘텐츠 출시 Benefit🔥- 웹 호스팅 및 도메인 제공- 복잡한 심사 절차 없이 광고 부착 가능- 트래픽이 많이 발생할 수 있도록 전담 마케팅 제공- 사용자 유입 데이터 제공- 스위그의 자동 SEO를 통한 검색엔진 최상단 노출 가능- 콘텐츠의 고도화를 위한 인프라 지원👉 혜택 자세히 알아보기[https://swyg.link/h5j_0📅 일정- 지원 마감: ~ 3/20(월)- 결과 안내 : 3/22(수) 15:00📌 지원 방법구글폼 작성 https://swyg.link/gUjF9✨[SWYG 요약 소개]✨SWYG에서 심리테스트, 미니게임, 인터랙티브 콘텐츠와 같은 특색 있는 메타 콘텐츠를 즐기고, 직접 만든 콘텐츠를 호스팅하여 많은 사용자들을 유입시킬 수 있습니다.🔗SWYG 홈페이지 https://www.swygbro.com🔗SWYG 인스타그램https://www.instagram.com/swyg_official🙋문의Kakao: https://open.kakao.com/me/swyg_contentEmail: shlee@swygbro.com
-
[초급편] 안드로이드 커뮤니티 앱 만들기(Android Kotlin)
샘플 앱 관련 질문있습니다.
삭제된 글입니다
-
오라클 성능 분석과 인스턴스 튜닝 핵심 가이드
문의 사항이 몇가지 있습니다.
안녕하세요 선생님.문의드리고 싶은 내용이 있는데 글을 올릴 곳이 마땅치 않아 여기에 문의드립니다.저는 현재 DBA 로 근무 중인데 SQL 작성 능력을 키우고 싶은데 혹시 선생님의 '데이터 분석 SQL Fundamentals' 강의가 DBA 업무 쿼리 작성에 도움이 될 수 있는 강의일까요?일을 해보니 join, grouping 이 쉬운것 같으면서도 다양한 쿼리 작성 시에 자유자재로 안써지는 편이라 아직 공부가 덜 된것 같아서요.일/주/월 사이즈 구하는 쿼리나 기타 여러 조건이 결합된 오브젝트 조회 쿼리를 주로 작성할 필요가 있고, 앞으로 튜닝 업무를 위한 튜닝 공부를 할 때도 기본 이상의 SQL 작성 능력이 필요하다고 판단되서 문의드립니다.그리고 선생님의 ORACLE 아키텍쳐 강의는 출퇴근 간에 잘 듣고 있는데 혹시 SQL 튜닝 강의는 하실 예정이 있으실까요? 감사합니다.
-
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Lombok으로 인한 jar build failed 발생하시는 분
test path에서 Lombok을 사용할 경우, jar Build 과정에서 Lombok으로 인한 Build Failed가 발생합니다.(CMD) Task :compileTestJava FAILED error: package lombok does not exist error: cannot find symbol @Getter, @Setter, ... ... 해당 경우, 아래와 같이 build.gradle에 의존성을 추가하면 해결 가능합니다. 참고하시면 좋을 것 같습니다.(build.gradle) dependencies { testCompileOnly 'org.projectlombok:lombok:1.18.22' //테스트 환경에서 주입 testAnnotationProcessor 'org.projectlombok:lombok:1.18.24' //테스트환경의 어노테이션 주입 }