inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

172만명의 커뮤니티!! 함께 토론해봐요.

첫 프로젝트 생성 문의

미해결

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

프로젝트 생성해서 자바 17버전을 깔고 다시 나갔다 들어오니 처음 화면이 저렇게 나옵니다 우측 선생님과 같은 화면이 안나오는데 어떻게 해야하나요??

  • java
  • spring
  • mvc
  • spring-boot
^^ 댓글 1 좋아요 0 조회수 160

Redis의 INCR 사용 해도 Race condition이 잡히지 않는 문제

미해결

실습으로 배우는 선착순 이벤트 시스템

안녕하세요! 강사님 덕분에 현재 진행중인 프로젝트 코드에 동시성 문제 잘 적용하고 있습니다. 다름이 아니라, 현재 MSA 프로젝트를 하고 있어 쿠폰 쪽 DB는 쿠폰만 쓰기 때문에 부하에 따른 걱정은 덜어도 될 것 같아 카프카가 아닌 Redis의 INCR 명령어를 통해서 선착순 쿠폰 로직의 Race condition 문제를 잡아보려고 하고 있는데요. 질문에 앞서 프로젝트 환경을 말씀드리자면 강의와 동일하게 docker pull redis 해서 이미지로 다운받아 실행했고, 6380 포트로 연결해줘서 yml 설정과 Config 설정 또한 해줬습니다. INCR 키 값을 살짝 바꿔서 coupon_count:{couponId} 가 되도록 해줬습니다. 문제는 1000개의 쓰레드로 요청을 날렸을 때 여러번의 요청 테스트는 통과가 안된다는 점입니다.. 쿠폰 발급이 100개 되어야하는데 102, 103번 애매하게 되고 있습니다. (postman으로 API 요청 날릴 때마다 해당 키 값의 value가 1씩 잘 증가하는 것은 확인했습니다) RDB 상에서도 100개의 발급 내역이 잘 들어오고 있구요. (물론 테스트가 DB에 영향을 미치면 안되지만요ㅠㅠ) 이런 경우는 왜 그런건가요?? 코드도 첨부 하겠습니다. 감사합니다!! /* * 선착순 쿠폰 발급 */ @Transactional public CouponIssuedResponseDto issueFirstComeCoupon(CouponIssuedRequestDto request) { // 쿠폰 ID로 쿠폰을 찾고, 존재하지 않으면 예외 처리 Coupon coupon = couponRepository.findById(request.couponId()) .orElseThrow(() -> new CustomException(ErrorCode.COUPON_NOT_FOUND)); // 발급 가능한 쿠폰 수량 확인 -> Redis Long currentCount = couponCountRepository.getCount(request.couponId()); if (currentCount > coupon.getMaxQuantity()) { throw new CustomException(ErrorCode.COUPON_ISSUE_LIMIT_EXCEEDED); } // 새로운 쿠폰 발급 -> Redis에서 수량 증가 Long newCount = couponCountRepository.increment(request.couponId()); if (newCount > coupon.getMaxQuantity()) { throw new CustomException(ErrorCode.COUPON_ISSUE_LIMIT_EXCEEDED); } CouponIssued issued = CouponIssued.builder() .coupon(coupon) .userId(request.userId()) .issuedAt(LocalDateTime.now()) .build(); CouponIssued saved = couponIssuedRepository.save(issued); return CouponIssuedResponseDto.fromEntity(saved); } @Repository public class CouponCountRepository { private final RedisTemplate<String, Long> redisTemplate; public CouponCountRepository(RedisTemplate<String, Long> redisTemplate) { this.redisTemplate = redisTemplate; } public Long increment(Long couponId) { String key = "coupon_count:" + couponId; return redisTemplate.opsForValue().increment(key, 1); } public Long getCount(Long couponId) { String key = "coupon_count:" + couponId; Long count = redisTemplate.opsForValue().get(key); return count != null ? count : 0L; } } @BeforeEach public void setUp() { // Redis 초기화 redisTemplate.opsForValue().set("coupon_count:10", 0L); } @AfterEach public void tearDown() { couponRepository.deleteAll(); couponIssuedRepository.deleteAll(); redisTemplate.delete("coupon_count:10"); // 테스트 끝난 후 Redis 데이터 삭제 } @Test public void multipleUserIssueCoupon() throws InterruptedException { // Given // 쿠폰을 생성 Coupon coupon = Coupon.builder() .name("Test Coupon") .couponCode("TEST100") .discountRate(10) .maxQuantity(100L) .issuedQuantity(0L) .expiresAt(LocalDateTime.now().plusDays(30)) .couponType(CouponTypeEnum.FIRST_COME) .build(); couponRepository.save(coupon); Long couponId = coupon.getCouponId(); // 고정된 couponId 사용 Long userId = 1L; // 고정된 userId 사용 // When int threadCount = 1000; ExecutorService executorService = Executors.newFixedThreadPool(50); CountDownLatch latch = new CountDownLatch(threadCount); for (int i = 0; i < threadCount; i++) { executorService.submit(() -> { try { CouponIssuedRequestDto request = new CouponIssuedRequestDto(10L, userId); couponIssuedService.issueFirstComeCoupon(request); } catch (CustomException e) { // Expected exception when limit is exceeded } finally { latch.countDown(); } }); } latch.await(20, TimeUnit.SECONDS); // Then Long count = redisTemplate.opsForValue().get("coupon_count:10"); System.out.println("coupon_count:10 = " + count); // 디버깅용 로그 추가 assertThat(count).isNotNull(); // count가 null이 아닌지 확인 assertThat(count).isEqualTo(100); // 발급된 쿠폰의 수를 확인 long issuedCount = couponIssuedRepository.count(); assertThat(issuedCount).isEqualTo(100); }

  • java
  • docker
  • spring-boot
  • redis
이경진 댓글 1 좋아요 0 조회수 631

next create-next-app@latest 설치 문제

해결됨

Next.js 시작하기

Aborting installation. Unexpected error. Please report it as a bug: Error: EACCES: permission denied, open '/Users/jeonginn/Library/Preferences/create-next-app-nodejs/config.json.tmp-982595282012e022' at openSync (node:fs:581:18) at attempt (/Users/jeonginn/.npm/_npx/efeac22998af9bf2/node_modules/create-next-app/dist/index.js:8:43165) at Object.writeFileSync (/Users/jeonginn/.npm/_npx/efeac22998af9bf2/node_modules/create-next-app/dist/index.js:8:38664) at Conf._write (/Users/jeonginn/.npm/_npx/efeac22998af9bf2/node_modules/create-next-app/dist/index.js:8:74912) at set store [as store] (/Users/jeonginn/.npm/_npx/efeac22998af9bf2/node_modules/create-next-app/dist/index.js:8:73358) at Conf.set (/Users/jeonginn/.npm/_npx/efeac22998af9bf2/node_modules/create-next-app/dist/index.js:8:71962) at run (/Users/jeonginn/.npm/_npx/efeac22998af9bf2/node_modules/create-next-app/dist/index.js:74:51291) at process.processTicksAndRejections (node:internal/process/task_queues:95:5) { errno: -13, code: 'EACCES', syscall: 'open', path: '/Users/jeonginn/Library/Preferences/create-next-app-nodejs/config.json.tmp-982595282012e022' } 설치할 때 터미널에서 이런 메세지가 나오네요 ㅠㅠ 권한 문제인거 같아서 구글링 계속 해보면서 해봤는데 안되서 글 남깁니다 ㅠㅠ

  • javascript
  • react
  • next.js
곰코드 댓글 2 좋아요 1 조회수 617

모달만드는 방식 질문

해결됨

[React / VanillaJS] UI 요소 직접 만들기 Part 2

안녕하세요 재남님 강의 너무 잘듣고 있습니다 이번 강의 듣고 생각이 드는게 저는 지금까지 모달을 만들때 각각의 모달을 완성본으로 만들고 모달을 부르는 트리거버튼이나 그,런것에 상태를 주고 상태의 변경에따라 그 아래에 그리는 방식으로 모달을 구현했습니다 이번강의도 보면 비슷하긴한데 모달을 만드는곳에서 모든것을 만드는것이 아니라 모달이라는(컴파운드 패턴..? 사실 이건 처음봐서 혼란스럽네요...ㅎㅎ)컴포넌트에서 기본 적인 css와 칠드런등을 만들어놓고 모달에서는 이것들을 가져와서 완성본 모달을 만드는것으로 이해를 했습니다 제가 궁금한것은 실무에서는 보통 이렇게 만드는지 궁금합니다 이렇게 만드는것의 장점이 있을까요?(찾아보니 재사용성이 좋다고 하는데 이부분이 크게 와닿지가 않네요..)

  • react
  • typescript
  • dom
  • ui
  • vanilla-js
성민석 댓글 1 좋아요 0 조회수 262

강의를 다 보고 궁금한점이 생겼습니다! (afterLogin)에 대해서 질문있습니다.

해결됨

Next + React Query로 SNS 서비스 만들기

https://github.com/ZeroCho/next-app-router-z/blob/master/lecture/src/app/(afterLogin)/layout.tsx 제로초님 강의를 다 듣고 코드를 살펴보던 중 의문이 있어 질문 드립니다. 해당 코드를 보면 lecture/src/app/(afterLogin)/layout.tsx 파일에서 거의 최고 부모컴포넌트인 <RQProvider>가 "use client"를 사용하여 클라이언트 컴포넌트가 되는것으로 알고있는데 이렇게 한다면 그 하위 컴포넌트들은 전부 클라이언트 컴포넌트가되는게 아닌가요? 어떻게 서버컴포넌트를 사용할 수 있는건지 궁금합니다.

  • react
  • next.js
  • react-query
  • next-auth
  • msw
cloud 댓글 1 좋아요 0 조회수 196

메세지 보내고 백엔드에 저장하는 부분이 어디인지 궁금합니다.

미해결

Next + React Query로 SNS 서비스 만들기

안녕하세요 선생님 완강하고 채팅을 구현해보려고 합니다. 그런데 강의와 깃헙을 보면 soket으로 보내는 내용, 쿼리에 데이터 추가하는 내용은 있는데 소켓으로 보낸 내용이 백엔드에 저장되는 부분이 보이질 않더라구요, 클라이언트에서 소켓으로 데이터를 보내면 그걸 받고 백엔드에서 저장해주는 로직이 따로 있는걸까요?

  • react
  • next.js
  • react-query
  • next-auth
  • msw
챠챠_ 댓글 1 좋아요 0 조회수 169

node 설지시 오류 입니다.

미해결

코드로 배우는 React 19 with 스프링부트 API서버

npx create-react-app mall 명령어 입력시 해당 오류가 발생합니다. log의 내용은 다음과 같습니다. 0 verbose cli C:\Program Files\nodejs\node.exe C:\Users\USER\AppData\Roaming\nvm\v10.16.3\node_modules\npm\bin\npm-cli.js 1 info using npm@10.7.0 2 info using node@v20.15.0 3 silly config:load:file:C:\Users\USER\AppData\Roaming\nvm\v10.16.3\node_modules\npm\npmrc 4 silly config:load:file:C:\Users\USER\reactAPI_workSpace\.npmrc 5 silly config:load:file:C:\Users\USER\.npmrc 6 silly config:load:file:C:\Users\USER\AppData\Roaming\npm\etc\npmrc 7 verbose title npm exec create-react-app mall 8 verbose argv "exec" "--" "create-react-app" "mall" 9 verbose logfile logs-max:10 dir:C:\Users\USER\AppData\Local\npm-cache\_logs\2024-07-01T07_49_17_781Z- 10 verbose logfile C:\Users\USER\AppData\Local\npm-cache\_logs\2024-07-01T07_49_17_781Z-debug-0.log 11 verbose stack TypeError: LRUCache is not a constructor 11 verbose stack at Object.<anonymous> (C:\Users\USER\AppData\Roaming\nvm\v10.16.3\node_modules\npm\node_modules\cacache\lib\memoization.js:5:18) 11 verbose stack at Module._compile (node:internal/modules/cjs/loader:1358:14) 11 verbose stack at Module._extensions..js (node:internal/modules/cjs/loader:1416:10) 11 verbose stack at Module.load (node:internal/modules/cjs/loader:1208:32) 11 verbose stack at Module._load (node:internal/modules/cjs/loader:1024:12) 11 verbose stack at Module.require (node:internal/modules/cjs/loader:1233:19) 11 verbose stack at require (node:internal/modules/helpers:179:18) 11 verbose stack at Object.<anonymous> (C:\Users\USER\AppData\Roaming\nvm\v10.16.3\node_modules\npm\node_modules\cacache\lib\get.js:8:14) 11 verbose stack at Module._compile (node:internal/modules/cjs/loader:1358:14) 11 verbose stack at Module._extensions..js (node:internal/modules/cjs/loader:1416:10) 12 verbose cwd C:\Users\USER\reactAPI_workSpace 13 verbose Windows_NT 10.0.19045 14 verbose node v20.15.0 15 verbose npm v10.7.0 16 error LRUCache is not a constructor 17 verbose exit 1 18 verbose code 1 19 error A complete log of this run can be found in: C:\Users\USER\AppData\Local\npm-cache\_logs\2024-07-01T07_49_17_781Z-debug-0.log node 와 npm 버전은 이렇게 깔려있습니다. 재설치 해도 여전히 오류가 발생합니다 ㅜㅠ 어떻게 해결해야 할까요?

  • react
  • spring-boot
  • jpa
  • jwt
  • redux-toolkit
o_o209 댓글 2 좋아요 0 조회수 588

문제 풀이시 설명 요청 드립니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

선생님 문제풀이 하실 때 짝수, 약수를 구분해서 빠르게 문제를 파악하는 스킬은 매우 좋은 방법 같아요 그런데 코드가 한번 돌아가면서 변수 숫자가 바뀌는데 그냥 풀어버리시니까 어떻게 하는 지 프로그램을 사용해보지 않은 비전공자 입장에서는 이해가 덜 가는 것 같아요 조건 반복문에서 변수가 증감되는 것이 헷갈리거든요 문제를 풀 때는 하나 하나 숫자를 적어가면서 변하는 값을 알고 대입해야 하는데.. 풀이를 보니 쫒아가지를 못하겠네요 조건 반복문 문제풀이에서 어떻게 계산하라는 거지? 라는 생각이 들어요. 제가 표도 그려서 적어보기도 하고.. 여러 방법을 시도해봤는데 여러개의 변수가 들어가면 헷갈리더라고요 (15분 전 문제, 15분 문제) 조금만 더 자세하게 천천히 알려주시면 감사하겠습니다. 수포자는 더 힘들어요. ㅋㅋ

  • python
  • java
  • c
  • 정보처리기사
이성미 댓글 1 좋아요 1 조회수 248

페이징 처리

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요. 선생님. todolist를 따라하며 완성하였는데요. todolist의 list들이 많아지면 페이징 처리를 통해 나누어 봐야 할 거 같은데 이 기능은 어떻게 구현하면 좋을까요?? (RESTFUL API로 개발하면 프론트, 백엔드 양쪽에서 페이징 처리를 해야 하는지,, )

  • javascript
  • react
  • node.js
윤토벤 댓글 1 좋아요 0 조회수 248

심플 카운터 onClick시 setCount 무한 루프

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

선생님 안녕하세요 선생님 안녕하세요 강의에 나온 내용은 아니지만 실습 중에 문법 경고가 안 떠있는데 제 의도대로 작동 되지 않은 코드가 있어서 이러면 안된다고 부연 설명해주셨지만 제가 강의 안보고 혼자 실습하다가 그 안 되는걸 해버렸는데 이유가 너무 궁금해서 질문 드립니당 심플 카운터 실습 중에 App 컴포넌트에서 Count 스태이트를 함수로 만들어서 Controller 컴포넌트에 넘기고 컨트롤러 컴포넌트에서 이렇게 함수를 호출 했더니 버튼 누르지도 않았는데 혼자 무한루프 도는걸 봤는데 왜 이런건지 궁금해요

  • javascript
  • react
  • node.js
댓글 2 좋아요 0 조회수 266

캐러셀 동작원리

해결됨

[React / VanillaJS] UI 요소 직접 만들기 Part 2

안녕하세요 재남님 강의 너무 잘듣고 있습니다 제가 지금 캐러셀 공부하면서 궁금한것이 캐러셀 각 이미지에 ref를 다 할당한다 슬라이드 이벤트 화살표 클릭시 이동할 인덱스를 계산하고 인덱스를 기준으로 current와 next의 ref를 가져온다 그럼 가져온 ref에 각각 애니메이션 클래스네임을 할당한다 애니메이션에 따라 translateX만큼 이동 , 마지막으로 이동한 인덱스 상태변화 이렇게 동작원리를 이해를 하였습니다 그래서 일단 animationend는 없어도 될거 같아서 일단 없애고 코드를 작성하니 화면 전환은 되는데 자연스러운 슬라이드가 아니라 그냥 뚝뚝끊기는 이미지 전환이 되고있습니다.. 제 생각엔 handleAnimationEnd함수는 애니메이션 동작완료후 동작하는것이라고 알고있는데 애니메이션이 동작을 안하는 이유를 모르겠습니다 const moveTo = useCallback( (nextIndex: number, direction?: Direction) => { const $current = itemsRef.current![currentIndex] as HTMLLIElement; const $next = itemsRef.current![nextIndex] as HTMLLIElement; if (nextIndex === currentIndex) return; const dir = direction || (nextIndex > currentIndex ? "right" : "left"); // const handleAnimationEnd = () => { // $current.className = cx("item"); // $next.className = cx("item", "current"); // $current.removeEventListener("animationend", handleAnimationEnd); // setCurrentIndex(nextIndex); // }; // $current.addEventListener("animationend", handleAnimationEnd); $current.classList.add(cx(`${dir}_current`)); $next.classList.add(cx(`${dir}_next`)); setCurrentIndex(nextIndex); }, [currentIndex] );

  • react
  • typescript
  • dom
  • ui
  • vanilla-js
성민석 댓글 2 좋아요 0 조회수 326

test-resources - application-test.yml로 했을 때 h2에 테이블이 생성되지않아요

미해결

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 강의대로 application.yml로 했을 때는 생성이 잘 되었습니다. 그런데 test -resource - application-test.yml로 넘어가니 h2에 Member테이블이 생성되지 않습니다. 어떻게 해야할까요?

  • java
  • spring
  • 웹앱
  • spring-boot
  • jpa
댓글 2 좋아요 0 조회수 390

강의 중 이해가 안되어 질문드립니다.

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

마지막 if문에서 value i==0 && value j==0이면 트루인데 위에 문장에서 count되어서 숫자가 하나씩 계속 증가하게 되는거 아닌가요? 그럼 트루가 아니게 되는게 아닌지 모르겠어서 여쭤봅니다.

  • python
  • java
  • c
  • 정보처리기사
유지니 댓글 1 좋아요 0 조회수 229

jar 안되는 분들 참고하세요

미해결

예제로 배우는 스프링 입문 (개정판)

java -jar target/spring-petclinic-3.3.0-SNAPSHOT.jar 강의에서 처럼 주소 지정이 안찾아지는 분들은 왼쪽 상단바에 jar검색하셔서 해당하는 주소값을 마지막에 적으시면됩니다. 왼쪽 파일 검색 jar검색 java -jar target/해당하는 파일명.jar ex) java -jar target/spring-petclinic-3.3.0-SNAPSHOT.jar

  • java
  • spring
김현빈 댓글 1 좋아요 0 조회수 397

질문을 이상한데다 했었네요ㅠㅠ

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

https://www.inflearn.com/questions/1307841 답변 부탁 드립니다!!

  • python
  • java
  • c
  • 정보처리기사
태라 댓글 2 좋아요 0 조회수 242

14강 Map에 대해서 질문이 있습니다.

해결됨

자바 9부터 자바 21까지

안녕하세요 ! 항상 좋은 강의 감사합니다. 😃 강의 10:09 에서 말씀해주실때 firstEntry 와 lastEntry 만 immutable이라고 말씀해주셔서 테스트를 해봤습니다. pollFirstEntry 와 pollLastEntry 도 unmodifiable copy 객체를 반환하는 거같아서요 public static void main(String[] args) { LinkedHashMap<String, String> linkedHashMap = new LinkedHashMap<>(); linkedHashMap.put("key1", "value1"); linkedHashMap.put("key2", "value2"); linkedHashMap.put("key3", "value3"); Map.Entry<String, String> firstEntry = linkedHashMap.pollFirstEntry(); firstEntry.setValue("new value"); } 이렇게 했는데 예외가 발생했습니다. 추가로 14강 9:50 에 reversed()도 immutable 이라고 말씀해주셨었는데 호기심에 테스트를 해보니 데이터가 수정됩니다. @Test @DisplayName("reversed 데이터 추가 및 원본 데이터 수정가능하다.") void add() { LinkedHashMap<String, String> linkedHashMap = new LinkedHashMap<>(); linkedHashMap.put("key1", "value1"); linkedHashMap.put("key2", "value2"); linkedHashMap.put("key3", "value3"); SequencedMap<String, String> reversed = linkedHashMap.reversed(); reversed.put("key4", "value4"); Assertions.assertSame(4, linkedHashMap.size()); }

  • java
티벳로보 댓글 1 좋아요 0 조회수 215

12강 AnimalDto에 대해서 질문이 있습니다.

해결됨

자바 9부터 자바 21까지

12강 11:24 쯤 질문이 있습니다 sealed interface AnimalDto를 구현한 Dto 2개를 switch와 sealed를 사용해서 코드를 깔끔하게 할 수 있다는 걸 알게되었습니다. 실제 코드로 작성하면 of의 반환 타입은 인터페이스인 AnimalDto가 되는데 이때 DogDto와 CatDto의 필드를 조회할 수 있는 추상 메서드가 모두 있다는 전제로 말씀해주시는게 맞을까요?

  • java
티벳로보 댓글 1 좋아요 1 조회수 203

자바 파이썬 기출문제 변형 수업자료

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

없나요 ㅠㅠ?

  • python
  • java
  • c
  • 정보처리기사
유수연 댓글 2 좋아요 0 조회수 277

질문

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

System.out.printin("str1==str2:"+(str1==str2)); 여기서 출력값이 왜 true혹은 false로 나오는건가요? 앞에 +가 참거짓을 나타나게해주는건가요? 디테일한 설명이 없어서 따라가기가 힘듭니다.. 강의수준에는 입문이라고 되어있는데 전혀 입문강의가 아니네요ㅜㅜ 지금 강의 하나만 계속 반복해서 듣고 저게 무슨말이지 하면서 진도를 나갈수가없네요. 열심히 따라가고 싶은데 힘드네요.

  • python
  • java
  • c
  • 정보처리기사
김인도 댓글 1 좋아요 0 조회수 191

프로그래밍언어 자바가 어렵네요..

해결됨

(2026 최신!) 일주일만에 합격하는 정보처리기사 실기

강의를 잘해주시는데 문제풀이로 들어가면 막히기 시작하는거 같습니다… 추가적인 문제풀이를 통해서 복습하는 수강을 하실 계획이 있는지 궁금하네요ㅠ 23년 1회차부터 24년 1회차까지 혼자서 문제풀어보니 이미 봐왔던 문제들이고 정답을 알고 있어서 막힘없이 풀리기는 하는 상태네요.. 로직 이해를 좀더 해야되는 것 같고 자바 수강을 마쳤음에도 한번 더 수강을 하려고 합니다.

  • python
  • java
  • c
  • 정보처리기사
발칸 댓글 1 좋아요 0 조회수 290

인기 태그

인프런 TOP Writers

주간 인기글