묻고 답해요
158만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결
Can You Get Better Essays with MyEssayWriter.ai?
Writing is at the heart of our academic journey, which allows us to show understanding, analysis and creativity on a range of topics. However, crafting a stellar essay isn't always a walk in the park. It involves a series of complex steps from brainstorming ideas to finishing the final draft. But don't worry, we'll introduce you to a game changer in this blog: MyEssayWriter.ai. Let's take a look at how this novel tool can change the experience of writing an essay. Understanding MyEssayWriter.aiMyEssayWriter.ai is not simply a writing tool you use to write, it's an advanced platform for empowering students in their educational endeavors. This AI-powered assistant is here to help you, whether you're struggling to find the right words or you're looking for guidance on how to structure your essay. What's more, it is a free ai essay writer no sign up required, allowing students to access its benefits without the hassle of registration.Seamless Topic GenerationChoosing a good topic is often the initial obstacle to writing essays. With MyEssayWriter.ai, bid farewell to those moments of staring blankly at a blank page. With your interests and academic requirements in mind, the platform uses advanced algorithms to generate a wide variety of relevant topics. No writer's block again, only endless possibilities for exploring! Tailored Research AssistanceThe basis for any persuasive writing is research. It can be difficult, however, to filter through so many sources. This process is simplified by MyEssayWriter.ai, which provides a tailored research assistance. Choose a topic, and you'll be saving valuable time and effort by watching the platform search the web for credible sources.It simplifies the research process by providing tailored assistance in finding credible sources based on specified topics. Additionally, it offers an AI thesis generator that helps users create concise and effective thesis statements, streamlining the essay writing process from research to thesis development. Structured OutliningEver found yourself lost in the midst of a disorganized essay? That's why MyEssayWriter.AI is making sure it doesn't happen. You can create a coherent structure for your essay in an easy way using its intuitive outlining function. All you have to do is add your major ideas and support elements, and the platform will structure them according to logic. It's as if you have a writing coach on your side! Intelligent Writing SuggestionsYou might be afraid of staring at the blinking cursor, but MyEssayWriter.AI makes it easy to write. The platform provides real time feedback on your writing, giving insight into grammar, style and coherence with the help of its creative writing suggestions. Let's get rid of typos and awkward phrases, hello, polished prose!It also offers a paraphraser that helps reword sentences and paragraphs while maintaining the original meaning, in addition to providing accurate feedback on grammar, style of writing and coherence. This feature makes it easier for students to create polished prose by ensuring that the content is not plagiarized and enhancing the writing process.According to Reddit, MyEssayWriter.ai is celebrated for its innovative paraphrasing tool. It offers students a seamless solution for generating original content while preserving clarity and coherence. The Must-Try AI Essay Writer Tools According to RedditBy "bigtimedaily.com"Personalized Revision AssistanceThe magic occurs when we revise rough drafts, refining them into polished jewels. MyEssayWriter.ai provides you with personalised editing assistance, helping you to follow every step of the revision process. The platform provides you with the tools to raise your writing to the next level, from identifying weak arguments to enhancing clarity.Citation HelpIt offers a citation creator that simplifies the process of formatting citations in various styles like APA, MLA, or Chicago. This feature saves time and ensures accuracy, allowing students to focus on writing their essays confidently.Plagiarism DetectionIn the academic world, MyEssayWriter.ai takes a very serious approach to plagiarism detection and originality is of paramount importance. In order to ensure that the work you have created is not copied, the platform scans your article for any signs of plagiarism using its advanced algorithms. I assure you that your academic integrity will not be jeopardized.Time Management ToolsIn this day and age, time management is of critical importance. In order to help you keep on track, MyEssayWriter.ai is providing valuable time management tools. Within the user interface of this platform, you can set deadlines, create reminders and keep an eye on your progress. Procrastination becomes a thing of the past with MyEssayWriter.ai.................... MyEssayWriter.ai is not merely a writing tool, it's the game changer for students who want to be successful in academics. This innovative platform simplifies the writing process as never before, from the creation of ideas to the completion of the final draft. If you're going to try for greatness, why settle for mediocre articles? With MyEssayWriter.ai, you can make the future of essay writing your own today!
-
미해결
스프링부트 단위테스트 어떻게 작성해야하는지 감이 안잡혀요.. 코드 리뷰 부탁립니다.
안녕하세요. 단위테스트라는 것을 처음 작성해보는데 어떻게 작성해야할지 감이 안잡히네요 ㅠㅠ일단 꾸역꾸역 작성을 해봤는데 이렇게 하는 게 맞는지 의문입니다. 너무 구체적으로 작성한 것은 아닌 지 고칠 부분이 있다면 피드백 해주시면 정말 감사하겠습니다.아래 코드는 아이디, 이메일 중복 체크 및 레디스에 저장 된 인증번호를 체크한 후 회원가입을 구현한 코드입니다. @Service @Transactional @RequiredArgsConstructor public class MemberServiceImpl implements MemberService{ private final MemberRepository memberRepository; private final PasswordEncoder passwordEncoder; private final RedisService redisService; @Override public Member signUp(MemberRequest memberRequest) { // 회원가입 조건 검증 verifySignUpCondition(memberRequest); Member member = memberRequest.toEntity(); member.setPassword(passwordEncoder.encode(memberRequest.getPassword())); member.setRole(Role.MEMBER); member.setSns(Sns.NONE); memberRepository.save(member); // 회원가입 성공 시 레디스에서 관련 데이터 삭제 redisService.deleteKey(memberRequest.getEmail()); return member; } private void verifySignUpCondition(MemberRequest memberRequest) { checkLoginIdDuplicate(memberRequest.getLoginId()); checkEmailDuplicate(memberRequest.getEmail()); redisService.verifyAuthNum(memberRequest.getEmail(), memberRequest.getAuthNum()); } private void checkLoginIdDuplicate(String loginId) { Optional<Member> findMember = memberRepository.findByLoginId(loginId); if(findMember.isPresent()) { throw new BusinessException(ErrorCode.LOGIN_ID_DUPLICATE); } } private void checkEmailDuplicate(String email) { Optional<Member> findMember = memberRepository.findByEmail(email); if(findMember.isPresent()) { throw new BusinessException(ErrorCode.EMAIL_DUPLICATE); } } }아래는 단위 테스트 코드입니다.@ExtendWith(MockitoExtension.class) class MemberServiceImplTest { @Mock private MemberRepository memberRepository; @Mock private PasswordEncoder passwordEncoder; @Mock private RedisService redisService; @InjectMocks private MemberServiceImpl memberService; @BeforeEach void setUp() { reset(memberRepository, passwordEncoder, redisService); } @Test @DisplayName("회원 가입 성공") void signUp_Success() { // given MemberRequest memberRequest = createMemberRequest(); String encodedPassword = "encodedPassword"; given(memberRepository.findByLoginId(memberRequest.getLoginId())).willReturn(Optional.empty()); given(memberRepository.findByEmail(memberRequest.getEmail())).willReturn(Optional.empty()); given(passwordEncoder.encode(memberRequest.getPassword())).willReturn(encodedPassword); willDoNothing().given(redisService).verifyAuthNum(memberRequest.getEmail(), memberRequest.getAuthNum()); willDoNothing().given(redisService).deleteKey(memberRequest.getEmail()); // when Member member = memberService.signUp(memberRequest); // then assertNotNull(member); assertEquals(member.getLoginId(), memberRequest.getLoginId()); assertEquals(member.getEmail(), memberRequest.getEmail()); assertEquals(member.getNickname(), memberRequest.getNickname()); assertEquals(member.getPassword(), encodedPassword); assertEquals(member.getRole(), Role.MEMBER); assertEquals(member.getSns(), Sns.NONE); verify(memberRepository, times(1)).save(any(Member.class)); verify(memberRepository, times(1)).findByLoginId(any()); verify(memberRepository, times(1)).findByEmail(any()); verify(passwordEncoder, times(1)).encode(any()); verify(redisService, times(1)).verifyAuthNum(any(), any()); verify(redisService, times(1)).deleteKey(any()); } }
-
미해결[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!
에러가 생기네요 - 미세먼지앱 섹션57-19 부터 입니다.
에러가 생기네요 - 미세먼지앱 섹션57-19 부터 인데에러가 생기네요 - 미세먼지앱 섹션57-19 부터 인데, 구판 섹션26-19 입니다.수시로 에러 생기고 가끔 수십번에 1번은 데이터가 들어오는데 그것도 조금 지나면 에러 메세지가 나오네요.첨부파일 참조아마 오타 일건데 암만 강의하구 비교해도 오타를 찾지를 못하겠습니다.포기하구 강의따라가도 20, 21 에서도 계속 에러 나와서 강의 포기하구 있다가 연락드립니다.코드는 첨부 합니다./// component/main_app_bar.dart /// import 'package:flutter/material.dart'; import 'package:section26_fine_dust/constant/color.dart'; import 'package:section26_fine_dust/model/stat_model.dart'; import 'package:section26_fine_dust/model/status_model.dart'; class MainAppBar extends StatelessWidget { final StatusModel status; final StatModel stat; MainAppBar({ required this.status, required this.stat, super.key, }); @override Widget build(BuildContext context) { final ts = TextStyle( color: Colors.white, fontSize: 30.0, ); return SliverAppBar( backgroundColor: status.primaryColor, expandedHeight: 500, flexibleSpace: FlexibleSpaceBar( background: SafeArea( child: Container( margin: EdgeInsets.only(top: kToolbarHeight), child: Column( children: [ Text( '서을', style: ts.copyWith( fontSize: 40.0, fontWeight: FontWeight.w700, ), ), // const SizedBox(height: 20.0), Text( getTimeFromDateTime(dateTime: stat.dataTime), style: ts.copyWith( fontSize: 20.0, ), ), const SizedBox(height: 20.0), Image.asset( status.imagePath, width: MediaQuery.of(context).size.width / 2, ), const SizedBox(height: 20.0), Text( status.label, style: ts.copyWith( fontSize: 40.0, fontWeight: FontWeight.w700, ), ), const SizedBox(height: 8.0), Text( status.comment, style: ts.copyWith( fontSize: 20.0, fontWeight: FontWeight.w700, ), ), ], ), ), ), ), ); } String getTimeFromDateTime({required DateTime dateTime}) { return '${dateTime.year} ${dateTime.month} ${dateTime.day} ${dateTime.hour} ${dateTime.minute}'; } String getTimeFormat(int number) { return number.toString().padLeft(2, '0'); } } /// screen/home_screen.dart /// import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'package:section26_fine_dust/component/card_title.dart'; import 'package:section26_fine_dust/component/category_card.dart'; import 'package:section26_fine_dust/component/hourly_card.dart'; import 'package:section26_fine_dust/component/main_app_bar.dart'; import 'package:section26_fine_dust/component/main_card.dart'; import 'package:section26_fine_dust/component/main_drawer.dart'; import 'package:section26_fine_dust/component/main_state.dart'; import 'package:section26_fine_dust/constant/color.dart'; import 'package:section26_fine_dust/constant/status_level.dart'; import 'package:section26_fine_dust/model/stat_model.dart'; import 'package:section26_fine_dust/repository/stat_repository.dart'; import '../constant/data.dart'; class HomeScreen extends StatefulWidget { const HomeScreen({super.key}); @override State<HomeScreen> createState() => _HomeScreenState(); } class _HomeScreenState extends State<HomeScreen> { Future<List<StatModel>> fetchData() async { final statModels = await StatRepository.fetchData(); print(statModels); return statModels; } @override Widget build(BuildContext context) { return Scaffold( backgroundColor: primaryColor, drawer: MainDrawer(), body: FutureBuilder<List<StatModel>>( future: fetchData(), builder: (context, snapshot) { if (snapshot.hasError) { // 에러가 있을때 return Center( child: Text('에러가 있습니다.'), ); } if (!snapshot.hasData) { // 로딩 상태 return Center( child: CircularProgressIndicator(), ); } List<StatModel> stats = snapshot.data!; StatModel recentStat = stats[0]; // 1 - 5, 6 - 10, 11 - 15 // 7 final status = statusLevel .where( (element) => element.minFineDust < recentStat.seoul, ) .last; return CustomScrollView( slivers: [ MainAppBar( stat: recentStat, status: status, ), SliverToBoxAdapter( child: Column( crossAxisAlignment: CrossAxisAlignment.stretch, children: [ CategoryCard(), const SizedBox(height: 16.0), HourlyCard(), ], ), ), ], ); }, ), ); } }
-
미해결Next + React Query로 SNS 서비스 만들기
제로초님 에러를 해결 하다가 전달 드립니다 ㅠㅠ
react-query를 사용 하고 있는 그중 useQuery를 사용 하고 있습니다 네트워크 탭상에서는 한번만 호출 햇는데 console에서는 회색으로 아래와 같이 두번 호출 한것 처럼 나오는데 이건 어떻게 못막을까요?!조건을 걸어서 확인을 해봤지만 계속 해서 나오더라구여 ㅠㅠ두번의 호출인지 소켓을 요청 했을때 두번을 요청 하더라구여 ㅜㅜ
-
미해결멀티OS 사용을 위한 가상화 환경 구축 가이드 (Docker + Kubernetes)
vi /etc/hosts를 진행할 시 블루스크린이 뜹니다.
가상머신에 Docker 설치하기에서 3:48에 가상머신에 vi /etc/hosts를 이용해 파일 수정을 하는부분에서 명령어를 칠 시 블루스크린이 뜹니다.이런 경우는 어떻게 해결해야할까요.오라클 vm virualbox에선 명령어가 잘 되는데 Termius에서 ssh접속 후 명령어 실행 시 블루스크린이 뜹니다.
-
미해결카프카 완벽 가이드 - 코어편
broker config vs topic config
broker와 A topic config가 각각 log.retention.ms = 1일,retention.ms=1일 인 상황에서broker config를 1주일로 바꿨습니다.A 토픽 메세지 보관 기간은 여전히 1일인가요 ? 브로커쪽 설정 수정이 global 하게 적용되는게 아닌건가요?감사합니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! - 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
미해결
마우스오버 이벤트가 특정 영역 안에서만 이루어졌으면 좋겠습니다.
마우스가 그림 위에 오버되면 원을 생성하는 인터랙티브 기능을 구현했습니다.사진 안에서만 원들이 생성 되고 사진 영역을 벗어나면 원이 그려지지 않았으면 좋겠는데 어떻게 해야할까요? <div id="leaf"> </div> <body> <script> let leaf = document.getElementById("leaf"); let jean = document.getElementById("jean"); leaf.addEventListener("mouseover",onmouseover); //window.addEventListener("mouseover",onmouseover); function onmouseover(e){ let circle = document.createElement("div"); let radius = Math.floor(Math.random()* 150+50); let randomBrightColor = () => { let color_r = Math.floor(Math.random() * 127 + 128).toString(16); let color_g = Math.floor(Math.random() * 127 + 128).toString(16); let color_b = Math.floor(Math.random() * 127 + 128).toString(16); return `#${color_r+color_g+color_b}`; } circle.style.position = "absolute", circle.style.opacity = Math.random()*0.9 + 0.1; circle.style.width = radius+"px"; circle.style.height = radius+"px"; circle.style.borderRadius = "50%" circle.style.backgroundColor = randomBrightColor(); circle.style.left= e.pageX -radius * 0.5 + "px"; circle.style.top= e.pageY -radius * 0.5 + "px"; circle.style.transform= "scale(0,0)"; gsap.to(circle, {scale:1 , ease: "back.out(1.7)", duration: 0.3}) document.body.appendChild(circle); circle.style.zIndex = "1"; } </script> </body>css 는 다음과 같습니다#leaf{ width: 600px; height: 600px; overflow: hidden; background-image: url(https://images.unsplash.com/photo-1714571883639-fe73d73ef8a9?q=80&w=3387&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D); }
-
미해결
김영한 스프링 로드맵
김영한 강사님의 스프링강의 로드맵대로 공부하려고 하는데완전정복 로드맵과 실전로드맵 각각 완강하는데 소요기간이 얼마나 걸릴까요?취준생이라 주 5일 내내 할 생각입니다.
-
해결됨[플러터플로우] 실전! 앱 출시를 위한 끝장 노하우!
[문의드립니다] supabase에서 제공하는 kakao Auth Providers를 활용하여 인증을 구현을 어떻게 진행하면 되는지요?
요셉님께.. 강의 잘 듣고 있습니다. 질문을 드립니다. Supabase 의 Auth Providers 에서 Kakao를 제공해주는데요..이를 활성화해서 로그인을 구현하고자 하려면 어떻게 해야 할런지요?
-
해결됨기초부터 배우는 Next YTMusic 클론 코딩 (with next.js 14, UI 마스터)
8.2에서 보이는 site안에 page파일과 7.6에서 보이는 page파일의 코드가 다른거 같습니다.
8.2에서 보이는 site안에 page파일과 7.6에서 보이는 page파일의 코드가 다른거 같습니다.깃허브에는 7.7 챕터가 따로 있던데... 혹시 그 브랜치에 site안의 page파일을 그대로 사용하면 될까요??
-
해결됨[코드캠프] 부트캠프에서 만든 고농축 프론트엔드 코스
수업 자료 질문입니다.
이틀 전까지는 컴퓨터에서 학습 자료를 볼 때 이미지나 텍스트로 된 곳이 잘 보였는데 지금은 다른 네트워크를 연결해도 잘 보이지 않고 있습니다. ㅠㅠ혹시나 해서 휴대폰으로도 들어갔는데도 똑같은 현상이 생겼습니다. 사이트 문제인지 아닌지 잘 모르겠는데 한번 확인 해주실 수 있나요?
-
해결됨Database - SQL
데이터베이스 설치 관련
안녕하세요. MS SQL server express 설치 부분에서 문제가 발생해서 질문 드립니다.기본 인스턴스 또는 명명 인스턴스와 상관없이 다음 사진과 같이 데이터베이스 엔진이 설치가 되지 않습니다.방화벽이 문제 때문이라고 생각하여 1433 포트를 허용하는 인바운드 규칙도 추가하였으나 여전히 설치에 오류가 발생합니다.혹시 강의 내용과 다른 SQL Server 2022 버전을 설치해서 발생하는 문제일까요? 어떤 점에서 문제가 발생하는 지 잘 모르겠습니다
-
미해결[최신] Vue 강의 끝판왕 : Nuxt 3 완벽 마스터
퀘이사 설치 후 오류
퀘이사 설치 후nuxt.config.ts에모듈을 추가하면 [vite-node] [ERR_LOAD_URL] quasar/lang/en-US.mjs오류가 뜨네요2번쨰 복습중인데 처음에는 잘 됐던거같은데 왜 갑자기 안되는걸까요?
-
미해결[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!
restaurant_repository.g.dart 파일에서 에러가 나옵니다.
g dart 파일을 생성하면 final value = RestaurantDetailModel.fromJson(_result.data!); 여기서 에러가 발생합니다.
-
미해결실습으로 배우는 선착순 이벤트 시스템
kafka Consumer
Kafka를 사용하는 주된 이유 중 하나는 확실히 데이터 처리의 유연성과 부하 분산에 있습니다. Kafka를 활용함으로써, 많은 양의 이벤트(예: 쿠폰 발행 요청)를 바로 처리하지 않고 큐에 보관했다가, 시스템의 부하가 적은 시기에 또는 자원이 더욱 충분할 때 일괄적으로 처리할 수 있게 됩니다.kafka 관련해서 다른 분 질문에 답글이 위처럼 달린 것을 확인했는데요.. 큐에 보관했다가 일괄적으로 처리를 할 수 있다고 했는데 그럼 컨슈머 listener 에 언제 카프카에 있는 이벤트를 받아서 처리할 것인지에 대한 설정을 할 수 있는 것인가요?시스템 부하가 적은 시기나 자원이 충분할 때가 언제인지 어떻게 알고 처리를 하는지 궁금합니다.
-
미해결비전공자도 이해할 수 있는 AWS 입문/실전
도메인 구매 질문이요
[실습] 1. Route53에서 도메인 구매카페24에서 이미 구매하 도메인이 있습니다. routes5를 시작하기를 누르면 도메인생성, 이전이 있는데,이전이란 cafe24의 제 도메인을 routeS5로 이전하게 되면서 비용이 발생하는걸까요?이미 타도메인으로 수업을 따라갈수 있는건지 궁금합니다.
-
해결됨개발자를 위한 쉬운 도커
도커의 네트워크 사용에 대한 궁금증이 있습니다.
강사님 덕분에 너무 좋은 양질의 강의를 잘 듣고 있습니다 !여러번 반복해서 강의를 수강하다 보니 처음 들을 땐 안생기던 궁금 증이 생겨 질문 드립니다.도커의 네트워크 기술이 있는 이유가 궁금합니다.강의 수강 이전에는 도커에 대한 이해 없이 늘 새로운 소프트웨어(Redis나 DB등등)를 사용할때 구글링을 하여 도커 명령어를 블로그에서 사용법을 가볍게 익힌채 사용을 했습니다.그 과정에서 늘 -p 옵션을 사용해 포트 포워딩을 했었습니다.이렇게 1년간 주먹 구구식으로 사용만 했다가 이번 파트인 네트워크 강의를 듣게 되었는데 본질적으로 '네트워크'라는 개념을 어떻게 사용하는거지 ? 라는 생각이 들었습니다. 컨테이너를 구축할 때 마다 -p 옵션을 강제하도록 하면 네트워크라는 개념이 필요가 없지 않나..(?)라는..그래서 혹시 이런 네트워크의 개념이 필요한 예시나 이후 더 고도화된 기술스택에 사용되는 내용을 알수 있을까요 ?(혼자 생각해본 결과 컨테이너간 통신을 하면 안되는 상황 ? 에서 해당 네트워크 개념을 사용해야할꺼 같긴한데 굳이 왜 그런 상황이 생기는 지 또한 의문입니다 !!)
-
해결됨중급, 활용편 #1 DevOps : Infrastructure as Code with AWS and 테라폼
backend로 설정한 s3 bucket의 destroy
안녕하세요. 하루만에 또 질문이 생겼네요.. backend로 s3 bucket을 지정해 .tfstate 파일을 s3에서 관리하다가 destroy 명령어로 리소스를 제거하려고 할 때 다른 리소스는 모두 제거되지만 s3 bucket은 제거되지 않고 에러가 발생했습니다. 아래 이유들로 당연하다면 당연하지만 그래도 의견을 들어보고자 질문을 하게 되었습니다.( 이번에도 마찬가지로 구글과 chatgpt를 이용해 찾아봤으나 chatgpt는 lifecycle 블록의 prevent_destory 속성을 이용하면 bucket내부의 파일도 삭제하고 bucket도 삭제해주는 것처럼 알려줘놓고 해보니 안되더라구요ㅜ 결제를 해야하나.. ) s3 bucket의 경우 bucket 내에 파일이 존재하면 삭제할 수 없다삭제해야하는 파일은 .tfstate 파일인데 terraform을 이용해 생성한 리소스의 정보가 담겨있는 파일이라 해당 파일을 삭제하면 terraform이 인지하지 못해 결국 terraform 명령어를 이용해 s3 bucket을 삭제하지 못하게 된다. 즉, 위 2가지 이유로 인해 backend로 설정한 s3 bucket은 terraform destroy 명령어를 이용해 삭제하는 방법은 없고, 그외 다른 리소스만 destroy 명령어로 삭제하고, s3 bucket까지 삭제하려면 aws console에서 수동으로 .tfstate 파일은 삭제한 뒤 s3 bucket을 삭제해야한다는 결론을 내렸습니다. 해당 결론에 대한 선생님의 의견을 들어보고싶습니다.답변 부탁드립니다. 감사합니다.
-
미해결
간단한 앱 게임 제작중인데 레이아웃 구성을 못합니다
에러는 밑과 같습니다.초면에 죄송합니다.앱 공부중에 간단한 게임 앱을 만들었는데 코드 자체에는 에러가 없고 레이아웃 구성 에러는 처음 접해봐서 이도저도 못하고 있습니다.도움을 구할 수 있을까요? 감사합니다.
-
미해결스프링 MVC 2편 - 백엔드 웹 개발 활용 기술
프로젝트 실행 오류 해결 방법 공유 드립니다!
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.1. 강의 내용과 관련된 질문을 남겨주세요.2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.(자주 하는 질문 링크: https://bit.ly/3fX6ygx)3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.=========================================[질문 템플릿]1. 강의 내용과 관련된 질문인가요? (예/아니오)2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)[질문 내용]여기에 질문 내용을 남겨주세요.=========================================헤매다가 해결했는데 다른 분들께 도움이 될 것같아서 커뮤니티에 남깁니다 ㅎ_ㅎ .gradle 폴더 내 6.8.2 파일 삭제(gradle 충돌 방지)gradle/wrapper/gradle-wrapper-.properties 수정distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zipbuild.gradle 파일 수정plugins { id 'java' id 'org.springframework.boot' version '3.2.5' id 'io.spring.dependency-management' version '1.1.4' } group = 'hello' version = '0.0.1-SNAPSHOT' java { sourceCompatibility = '17' } configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' implementation 'org.springframework.boot:spring-boot-starter-web' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' } tasks.named('test') { useJUnitPlatform() } javax -> jakarta 수정// import javax.annotation.PostConstruct; import jakarta.annotation.PostConstruct;