A is c
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
16분 49초 A b c 모두 [1,2,3] 인데 왜 A is c는 False 인가요?
- python
- java
- c
- 정보처리기사
172만명의 커뮤니티!! 함께 토론해봐요.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
16분 49초 A b c 모두 [1,2,3] 인데 왜 A is c는 False 인가요?
미해결
토비의 스프링 6 - 이해와 원리
섹션3의 학습테스트 과정 중 서로 다른 시간에 생성된 두 개의 Clock systemDefaultZone() 값을 isAfter() 로 비교 테스트 하는 중 아래와 같은 오류가 발생됩니다. 검색해보니 같은 문제를 겪고 있는 분들께서 WorkAround로 테스트 안정성을 높이기 위해 ChronoUnit.SECONDS 형태와 같이 초 단위까지만 비교하여 같은지 여부를 확인하거나, Fixed Clock으로 시간을 수동으로 지정하여 검증하는 테스트 방법을 권장하고 있었습니다. 참고 사이트 : https://velog.io/@weightle55/%ED%85%8C%EC%8A%A4%ED%8A%B8%ED%95%98%EA%B8%B0-%EC%96%B4%EB%A0%A4%EC%9A%B4-%EC%98%81%EC%97%AD%EC%9D%84-%EA%B5%AC%EB%B6%84%ED%95%98%EA%B3%A0-%EB%B6%84%EB%A6%AC%ED%95%98%EA%B8%B0 강사님께서는 테스트를 바로 통과하셨는데, 차이가 무엇인지 궁금합니다.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
19:30초 쯤에 나오는 while에서 if( i >= 4) { break; } 일 때 i의 값이 4까지만 나온다고 되어있는데 if( 4 >= 4) { break; } 하면 true라서 i의 값이 5까지 나와야 하는 것 같은데 4까지만 나오게 되어있는 것 같아서 헷갈립니다..ㅠㅠ
미해결
토비의 스프링 6 - 이해와 원리
안녕하세요 토비님. 우선 좋은 강의 부탁드립니다. 토비의 스프링 3.1 책으로 처음 토비님 알게되었는데, 강의도 찍으신 줄 모르고있다가 오늘 바로 구매하고 듣기 시작했습니다. 다름이 아니라, 강의 내용을 개인 블로그 등에 정리해서 올려도 될까요? 일부 강의 내용 스크린샷 찍어서 올리는 건 허용되는지 궁금합니다. 좋은 강의 해주셔서 감사합니다! 개인적으로 스프링에 국한되지 않은 강의도 찍어서 올려주시길 희망합니다! 경험하신 서비스들의 시스템 디자인이나, MSA 구조나, 대규모 트래픽을 받을 때 캐시나 DB설계 등등.. 토비님의 짱짱한 경력과 경험에서 오는 내용이라면, 도움이 정말 많이 될 것 같아요. 앞으로도 많은 강의활동 부탁드립니다!
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
error 500이면 코드가 잘못된 거 같은데 어디가 잘못 됐는지 봐주실 수 있을까요 🥺 HelloController package com.example.hello_spring.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; @Controller public class HelloController { @GetMapping("hello") public String hello(Model model){ model.addAttribute("data", "hello!"); return "hello"; } @GetMapping("hello-mvc") public String helloMvc(@RequestParam("name") String name, Model model) { model.addAttribute("name", name); return "hello-template"; } @GetMapping("hello-string") @ResponseBody public String helloString(@RequestParam("name") String name){ return "hello" + name; } jdbcMemberRepository package com.example.hello_spring.repository; import com.example.hello_spring.domain.Member; import org.springframework.jdbc.datasource.DataSourceUtils; import javax.sql.DataSource; import java.sql.*; import java.util.ArrayList; import java.util.List; import java.util.Optional; public class jdbcMemberRepository implements MemberRepository { private final DataSource dataSource; public jdbcMemberRepository(DataSource dataSource) { this.dataSource = dataSource; } @Override public Member save(Member member) { String sql = "insert into member(name) values(?)"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql, Statement.RETURN_GENERATED_KEYS); pstmt.setString(1, member.getName()); pstmt.executeUpdate(); rs = pstmt.getGeneratedKeys(); if (rs.next()) { member.setId(rs.getLong(1)); } else { throw new SQLException("id 조회 실패"); } return member; } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } @Override public Optional<Member> findById(Long id) { String sql = "select * from member where id = ?"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setLong(1, id); rs = pstmt.executeQuery(); if(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return Optional.of(member); } else { return Optional.empty(); } } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } @Override public List<Member> findAll() { String sql = "select * from member"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); rs = pstmt.executeQuery(); List<Member> members = new ArrayList<>(); while(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); members.add(member); } return members; } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } @Override public Optional<Member> findByName(String name) { String sql = "select * from member where name = ?"; Connection conn = null; PreparedStatement pstmt = null; ResultSet rs = null; try { conn = getConnection(); pstmt = conn.prepareStatement(sql); pstmt.setString(1, name); rs = pstmt.executeQuery(); if(rs.next()) { Member member = new Member(); member.setId(rs.getLong("id")); member.setName(rs.getString("name")); return Optional.of(member); } return Optional.empty(); } catch (Exception e) { throw new IllegalStateException(e); } finally { close(conn, pstmt, rs); } } private Connection getConnection() { return DataSourceUtils.getConnection(dataSource); } private void close(Connection conn, PreparedStatement pstmt, ResultSet rs) { try { if (rs != null) { rs.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (pstmt != null) { pstmt.close(); } } catch (SQLException e) { e.printStackTrace(); } try { if (conn != null) { close(conn); } } catch (SQLException e) { e.printStackTrace(); } } private void close(Connection conn) throws SQLException { DataSourceUtils.releaseConnection(conn, dataSource); } } 콘솔창 오류메시지 2024-07-20T10:30:05.545+09:00 ERROR 17396 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.IllegalStateException: org.springframework.jdbc.CannotGetJdbcConnectionException: Failed to obtain JDBC Connection] with root cause
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
자식클래스 메서드 실행 시 부모 호출 후 메서드 실행된다고 하셨습니다. 10:32에 super가 없기 때문에 기본인 Car()이 실행되는데, 무조건 위치 상 맨 위에 있는 것이 기본인 것인가요? 예를들어 맨위에 Car(String model) 밑에 Car(String model, int year)가 있으면 Car(Stirng model)이 호출되는 것인가요
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
java에서 string " " 에 들어가는 문자열이 같을 경우에 같은 메모리에 들어가기 때문에 str1 = "a", str2 = "a" 의 a 값이 같은 거라고 하셨습니다. 그리고 int의 경우 -128~127까지의 경우도 동일하고요. 그런데 같지만 다른 것들 8:37에서 문제풀이 하실 때 person1 == person.2 : false인 이유를 모르겠습니다. 따옴표안의 stirng인 "John"이고, 25의 int형 변수인데요. true가 나와야 하지 않나요?
미해결
토비의 스프링 6 - 이해와 원리
안녕하세요 토비님!! 라이브 영상이 너무 좋아서 바로 스프링 6 구매했는데요! 제가 궁금한 게 저는 자바만 열심히 판 상태이고 스프링이 처음이며 내년 상반기에는 토이프로젝트를 시도해야하는 상황입니다. 혹시 스프링 6 듣고 스프링 부트 원리를 들어야 할까요? 아니면 바로 스프링부트로 직접 프로젝트 만들어보면 될까요? 제일 좋은 건 둘 다..이겠지만 혹시라도 필수인지 궁금해서 여쭤봅니다. 그리고 번외로 강의가 진짜 몰입력 있어요!! 감사하게 보겠습니다!! ㅎㅎ
미해결
김영한의 실전 자바 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 객체지향에서 이렇게 2개 클래스로 나눠서 풀었는데, 출력할때 처음 0,0, false 가 왜 출력이 되는지, 저는 for문을 돌린적이 없는데 왜 2번 출력되는지 잘 모르겠습니다.. 각자의 함수에서 계산하기 전이라 0,0,false를 출력하고 그 후에 함수 내부를 실행하고 리턴값을 다시 출력해주는건가요? 제가 리턴값 후에 sout를 다시 한적이 없어서..
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. MemberService에서 try/finally및 변수만 설정 해줬을 뿐인데 왜 실행은 test->MemberServiceIntegration이 아니라 HelloSpringApplication으로 실행을 해야 결과가 나타나게 되나요? 굳이 차이를 못느끼겠는데 왜 그런지 이해가 안가네요
미해결
김영한의 실전 자바 - 중급 1편
선생님 String 변환 메서드들 관련해서 출력시 의문점이 생겨 질문 드립니다. System.out.println("문자열 결합: " + str.concat("!!!!")); String은 불변 객체로 반환값을 담아야 한다고 말씀하셨던거 같은데 print출력할때는 그게 상관이없나요?
미해결
자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비
public class 격자판_최대합 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int[][] panel = new int[n][n]; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) panel[i][j] = sc.nextInt(); DiagonalCalculator diagonal = new DiagonalCalculator(); RowColumnCalculator row = new RowColumnCalculator(); RowColumnCalculator column = new RowColumnCalculator(); for (int rowIndex = 0; rowIndex < n; rowIndex++) { for (int colIndex = 0; colIndex < n; colIndex++) { int rowNum = panel[rowIndex][colIndex]; int colNum = panel[colIndex][rowIndex]; diagonal.calc(rowIndex, colIndex, rowNum, n); row.tempSum(rowNum); column.tempSum(colNum); } row.calcMaxSum(); column.calcMaxSum(); } int diagonalSum = diagonal.getMaxSum(); int rowSum = row.getMaxSum(); int colSum = column.getMaxSum(); int maxValue = Math.max(diagonalSum, Math.max(rowSum, colSum)); System.out.println(maxValue); } private static class DiagonalCalculator { private int leftSum = 0; private int rightSum = 0; public void calc(int rowIndex, int colIndex, int num, int length) { boolean sameLoc = rowIndex == colIndex; if (sameLoc) leftSum += num; if ((rowIndex + colIndex) == length) rightSum += num; } public int getMaxSum() { return Math.max(leftSum, rightSum); } } private static class RowColumnCalculator { private int totalSum = 0; private int tempSum = 0; public void tempSum(int num) { tempSum += num; } public void calcMaxSum() { if (totalSum < tempSum) { totalSum = tempSum; } tempSum = 0; } public int getMaxSum() { return totalSum; } } } 클래스를 분리해서 계산하도록 하니 메인 로직에서는 필요한 값을 넘겨주기만 해도 되고, 나중에 결과를 받아올 때에도 메서드만 호출하면 되서 편했는데 전체적으로 코드가 좀 복잡해지지는 않는지, 이런 부분이 궁금합니다!
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
문자열 배열에서 \0(null) 을 붙임으로써 문자열이 끝났음을 알 수 있다고 하셨는데 그럼 첫번째 문자열배열 str1의 경우엔 왜 널값이 안붙나요? 배열에 각각 문자가 하나씩 들어가는것과 문자열이 한번에 한칸에 다 들어가는 차이 때문인가요? 명확한 해설 부탁드려요.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
최대공약수라는 배경지식이 없을 때 푸는 방법은 없나요? gcd에서 빈칸 내용(a%b)을 모르는 상태에서 어떻게 12를 유추하나요? 빈칸의 수식을 모를 때 풀어나가는 과정을 알려주셨으면 합니다.
해결됨
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 IntelliJ에서 프로젝트 파일들을 다루는 부분이 아직 미숙하여 질문드립니다. 1강을 들으면서 실행했을 때는 강의에서 생성한 hello-spring 프로젝트를 상위 폴더인 spring에 담고 spring 폴더로 IntelliJ를 열어서 실행했습니다. 이때는 정상적으로 실행이 되었는데, 다시 실행하려고 보니 실행이 안 됩니다. 다시 다운로드 받고 검색을 해봤지만, 설정에서 idk와 grade관련된 설정만 나왔습니다. 그런데 상위 폴더인 spring이 아닌 spring 프로젝트로 생성한 hello-spring으로 IntelliJ를 실행시키니 정상적으로 폴더들(패키지들)을 인식하고 실행이 됩니다. 원래 이렇게 작동하는 것이 맞는건지 제가 설정 부분을 잘못 건드려서 발생한 문제인지 궁금합니다.
미해결
토비의 스프링 6 - 이해와 원리
트랜잭션 테스트가 어려운 이유는 JPA나 JDBC에서 알아서 처리해주기 때문에 트랜잭션의 실패 지점이 어디인지를 알 수 없기 때문이고, 이를 해결하려면 트랜잭션 템플릿을 활용하는 방법이 있는 건가요?
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] member 1, 2가 spring으로 동일한데 해당 코드를 실행하면 초록색 표시로 test가 통과하는데 이렇게되면 중복 문제 확인은 어떻게 하나요? 강의를 잘못 이해한 걸까요,,,
미해결
김영한의 실전 자바 - 중급 1편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG ) //TemproalAdjuster사용 //다음주 금요일 -> 다음 금요일 현재가 7월17일 수요일이고 next로 구하면 이틀뒤인 19가 나오지 않나요? 다음주 금요일이면, 26이라 다음 금요일로 바꾸는게 맞지 않을까요? 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요.
미해결
김영한의 실전 자바 - 중급 2편
public Object set(int index, Object element) { Object oldValue = get(index); elementData[index] = element; return oldValue; } public void add(Object e) { elementData[size] = e; size++; } System.out.println(list.size()); 3 System.out.println(list.set(3, "r")); System.out.println(list);System.out.println("==범위 초과=="); list.add("d"); 아래 출력결과에서, 3 null [a, b, c] size=3, capacity=5 set(int index, Object element) { elementData[3] ="r"을 할당하는게 [a, b, c,r] 안 된게 이해가 안가는게, list.add("d") add(Object e) { 에서 elementData[3] = "d" 똑같은 코드인데, "d"를 넣어준거는 할당이 되고, AI 에게 질의한 결과 set메서드는 index 3에 값이 무조건 유효값이 있어야 할당이 된다고 답변 하는데, set이나 add 나 그럼 add의 값은 할당이 된건데, set메서드에 유효값이 있어야 한다는 조건이 왜 붙는건지, 각각의 메서드 안에는 elementData[3] ="r" elementData[3] = "d" 같은걸 수행하는데, set에만 해당 index에 유효값이 있어야 한다 조건문은 코드에 있지 않은데, list.set(3, "r") r도 [a, b, c,r] 할당이 되야 될거 같은데(제 생각에는) 질문을 남겨봅니다. ai 한테 답변 받았지만 풀리지 않아 질문 드립니다. 항상 감사합니다. ==범위 초과== [a, b, c, d] size=4, capacity=5
미해결
Next + React Query로 SNS 서비스 만들기
/src/middleware.ts import { auth } from './auth'; import { NextResponse, NextRequest } from 'next/server'; export async function middleware(request: NextRequest) { const session = await auth(); if (request.nextUrl.pathname.startsWith('/login')) { if (session) { return NextResponse.redirect(new URL('/', request.url)); } } if (request.nextUrl.pathname.startsWith('/mypage')) { if (!session) { return NextResponse.redirect(new URL('/login', request.url)); } } if (request.nextUrl.pathname.startsWith('/admin')) { if (session?.user?.name !== 'admin') { return NextResponse.redirect(new URL('/', request.url)); } } } export const config = { matcher: ['/mypage/:path*', '/admin/:path*', '/login'], }; /src/auth.ts import NextAuth from 'next-auth'; import KakaoProvider from 'next-auth/providers/kakao'; export const { handlers: { GET, POST }, auth, } = NextAuth({ pages: { signIn: '/login', }, providers: [ KakaoProvider({ clientId: process.env.KAKAO_CLIENT_ID!, clientSecret: process.env.KAKAO_CLIENT_SECRET!, }), ], secret: process.env.NEXTAUTH_SECRET, }); /src/app/api/auth/[...nextauth]/route.ts export { GET, POST } from '@/auth'; 로컬에서는 되는데 vercel 로 배포 하니까 안되네요.. api/auth/error 로 가지고 Failed to load resource: the server responded with a status of 500 () /api/auth/session 이렇게 오류가 나네요 "next-auth": "^5.0.0-beta.19", 입니다