2023년 3회 기출
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
해당 파일 업로드 부탁드립니다.
- python
- java
- c
- 정보처리기사
172만명의 커뮤니티!! 함께 토론해봐요.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
해당 파일 업로드 부탁드립니다.
미해결
토비의 스프링 6 - 이해와 원리
제 개인적인 문제인지는 모르겠습니다만, 수업 자료를 다운로드 하는 버튼을 클릭 시 다운로드 된 압축 폴더(zip) 내에 아무것도 들어가 있지 않고, 압축 풀기시에도 오류가 발생하고 있는데, 어떻게 해결할 수 있는 방법이 있을까요?
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
안녕하세요, Springboot 관련 프로젝트 진행 중 계속 해결되지 않는 문제가 있어 연락드립니다. 문제가 되는 클래스는 아래와 같은 추상클래스입니다. @Getter @Setter public abstract class A implements B { @Autowired private String proxyUrl; } @Configuration public class proxyUrlConfig { @Value("${environment_variable_name}") String proxyAddress; @Bean public String proxyUrl() { return proxyAddress; } } 해당 추상클래스에서는 위와 같이 @Configuration으로 스프링 컨테이너에 bean으로 등록된 url을 필드 주입으로 관리하도록 구현이 되어 있습니다. IntelliJ IDE에서도 해당 변수 옆에 bean 모양이 생겨 일단 스프링 컨테이너에서 인식은 되고 있는 상황인데, A 클래스에서 proxyUrl을 출력하면 null값이 나옵니다. 다른 클래스에서도 동일한 방식으로 필드주입으로 url을 사용하고 있는데, 다른 클래스에서는 문제없이 환경 변수에 입력된 url이 정상 출력됩니다. 혹시 A 클래스에서 추가적으로 작업해야 할 부분이 있을까요?? (@Service 어노테이션도 추가해보았지만 문제는 해결되지 않았습니다)
미해결
김영한의 실전 자바 - 기본편
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 안녕하세요. 강의를 듣다가 궁금한 점이 생겼습니다. 인터페이스는 구현 메서드를 가능한 지양해야하므로 default 메서드는 하위 호환 등의 특별한 예외에서 사용해야한다는 말씀에 깊이 공감하고 있습니다. 다만 이런 경우는 어떤 접근 방식이 좋을까요? 프로젝트내 특정 이늄 클래스들 혹은 레코드들에 대해서 공통화된 메서드 처리를 하고 싶을 때 디폴트 메서드가 있는 인터페이스를 상속받아서 공통 기능을 사용하고 있습니다. 이늄과 레코드는 클래스 상속이 안되어서 생긴 편법? 같은 느낌이 드는데요. 이에 대한 정석적인 접근 방식이 있을까요? .. 또한 이늄과 레코드는 상속을 못하게한 객체지향적인? 이유가 있을 것 같은데 혹시 어떻게 이해를 하면 좋을지.. 궁금합니다..!
해결됨
Next + React Query로 SNS 서비스 만들기
안녕하세요 선생님 강의를 보고 참고해서 채팅 기능을 만들었습니다. 그런데 a,b가 채팅화면에 들어왔을때 소켓 연결이 안되거나, 늦게 되거나 하는 경우가 있어서 제가 로직을 잘못짠건지 어딜 확인해야하는건지 조언을 들을수 있을까해서 문의 남깁니다. 먼저 서버에서 이렇게 socket.io 를 설정해주고 /app.js const app = express(); const httpServer = new createServer(app); const io = new Server(httpServer, { cors: { origin: 'https://zzimzzim.com', credentials: true, }, }); /utils/io.js module.exports = function (io, db) { const userSockets = {}; const nsp = io.of('/messages'); nsp.on('connection', (socket) => { console.log('soket connected'); socket.on('disconnect', () => { console.log('-----------------user disconnected'); }); socket.on('login', (user) => { userSockets[user.id] = socket.id; console.log(userSockets, '-------------------------------userSockets'); console.log(`User ${user.id} connected with socket id ${socket.id} --------- 유저입장`); }) socket.on('sendMessage', async (data) => { try { const roomId = data.room.split('-').sort().join('-'); console.log(roomId, '---------------------------------roomId'); console.log(data, '---------------------------------data'); console.log(userSockets, '---------------------------------userSockets'); let room = await db.Room.findOne({ where: { room: roomId }, include: [ { model: db.User, as: 'RoomSender', attributes: ['id', 'email', 'gender', 'mbti'], include: [{model: db.Image}], }, { model: db.User, as: 'RoomReceiver', attributes: ['id', 'email', 'gender', 'mbti'], include: [{model: db.Image}] }, ] }); if (room) { room = await room.update({ content: data.content }); } else { const roomCreated = await db.Room.create({ SenderId: data.senderId, ReceiverId: data.receiverId, content: data.content, room: roomId, }) console.log(roomCreated, '------------------------------roomCreated') room = await db.Room.findOne({ where: { room: roomId }, include: [ { model: db.User, as: 'RoomSender', attributes: ['id', 'email', 'gender', 'mbti'], include: [{model: db.Image}], }, { model: db.User, as: 'RoomReceiver', attributes: ['id', 'email', 'gender', 'mbti'], include: [{model: db.Image}] }, ] }) } const savedMessage = await db.Message.create({ SenderId: data.senderId, ReceiverId: data.receiverId, content: data.content, room: roomId, }); // console.log(savedMessage, '------------------------Message saved'); console.log(room, '------------------------room saved'); const receiverSocketId = userSockets[data.receiverId]; if (receiverSocketId) { socket.to(receiverSocketId).emit('receiveMessage', savedMessage); socket.to(receiverSocketId).emit('receiveRoom', room); } else { console.log(`User ${data.receiverId} is not connected`); } } catch (error) { console.error('Error saving message:', error); } }); }) } 클라이언트에서는 선생님이 useSocket만든것과는 다르게 useContext를 이용해서 /src/app/(afterLogin)/messages/_component/SocketProvider.tsx 'use client'; import { useSession } from 'next-auth/react'; import { ReactNode, createContext, useCallback, useEffect, useMemo, useState } from 'react'; import { io, Socket } from 'socket.io-client'; type Props = { children: ReactNode }; type SocketContextType = { socket: Socket | null; isConnected: boolean; disconnect: Function; goDown: boolean; setGoDown: Function; } export const SocketContext = createContext<SocketContextType>({ socket: null, isConnected: false, disconnect: () => { }, goDown: false, setGoDown: () => {}, }) export default function SocketProvider({ children }: Props) { const { data: session } = useSession(); const [socket, setSocket] = useState<any | null>(null); const [isConnected, setIsConnected] = useState(false); const [goDown, setGoDown] = useState(false); const disconnect = useCallback(() => { socket?.disconnect(); setSocket(null); }, [socket]); const value = useMemo(() => { return { socket, isConnected, disconnect, goDown, setGoDown } }, [socket, isConnected, disconnect, goDown]); useEffect(() => { console.log(socket, '-----------------------------------------socket???'); if (!socket) { const socketInstance = io(`${process.env.NEXT_PUBLIC_BASE_URL}/messages`, { withCredentials: true, }); socketInstance.on('connect', async () => { setIsConnected(true); console.log("소켓연결 성공!!!", socketInstance.id); // console.log(socketInstance, '--------------------socketInstance'); }) setSocket(socketInstance); } }, [socket]); useEffect(() => { if (socket?.connected && session?.user?.id) { console.log('--------------------------------------------socket emit login') socket?.emit('login', { id: session?.user?.id }); } }, [session, socket]); return ( <SocketContext.Provider value={value}> {children} </SocketContext.Provider> ) } 이런식으로 만들고 /src/app/(afterLogin)/messages/layout.tsx import { ReactNode } from 'react'; import SocketProvider from './_component/SocketProvider'; type Props = { children: ReactNode }; export default function Layout({ children }: Props) { return ( <SocketProvider> {children} </SocketProvider> ) } 레이에다가 적용해주었습니다. 이런식으로 해주면 소켓연결을 한번만 하고 원할때 메세지를 주고 받을 수 있을거라고 생각해서 적용한건데 혹시 소켓 연결 관련해서 더 확인해야하거나 수정할 부분이 있을지 궁금합니다. 감사합니다!
해결됨
실무에 바로 적용하는 프런트엔드 테스트 - 1부. 테스트 기초: 단위・통합 테스트
안녕하세요. 효율적인 테스트를 위해 상태 관리는 상위 컴포넌트에 응집해서 관리하는것이 좋다고 하셨는데 컴포넌트가 캡슐화 되어있으면 서로 상호 작용하는 컴포넌트지만 동일한 상태 조회를 각 컴포넌트에서 독립적으로 하게되는 경우도 있을거 같습니다. 이런 경우는 테스트에 용이하도록 구현 코드를 수정해야하는지, 아니면 번거롭더라도 그대로 테스트 코드를 작성해야 하는지 궁금합니다. 애초에 컴포넌트 설계를 잘못했다고 판단해야 할까요?
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
두번 째 코드에서 initialized = 1 로 바꿔주고 initialize(); 함수로 다시 들어갈때 static int initialized = 0 ; 을 다시만나는데 여기서 다시 0이 되는게 아닌건가요?
미해결
김영한의 자바 입문 - 코드로 시작하는 자바 첫걸음
[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 문제와 풀이 3번문제 선생님 풀이와 다르게 마지막 else 부분을 이렇게 작성했는데 이것도 정답이 될 수 있을까요? public class Ex3 { public static void main(String[] args) { int dollar = 5; if (dollar < 0) { System.out.println("잘못된 금액입니다."); } else if (dollar == 0) { System.out.println("환전할 금액이 없습니다."); } else { System.out.println("환전금액은 " + dollar*1300 + "원입니다." );
해결됨
김영한의 실전 자바 - 기본편
java-basic 프로젝트를 생성했을 때 println()이 빨간색으로 되면서 실행이 안되었는데 file-project structure-Modules-Dependencies에 들어가서 openjdk-21을 클릭하고 OK를 클릭하니 실행이 되는데 제가 해결한 방법이 옳은 방법인가요?
미해결
김영한의 실전 자바 - 중급 1편
해당 영상 문제처럼 LocalOuterV1 클래스 안에 localPrinter 클래스가 지역 클래스?등이 존재해도 main 함수가 아래 나오면 메인 함수로부터 프로그램이 우선으로 실행된다 생각 했는데 그거랑 상관없이 위에서 순서대로 결과가 나오나요? 해당 문제의 동작 순서가 어떻게 될까요..?
해결됨
코딩은 실전이다! - Git알못을 위한 깃린이코스(Git, Github 실습위주)
kwk000530@naver.com 입니다. 강의 잘 듣고 있습니다.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
실기를 봐야하는데 강의의 내용에 나오는 코드를 처음부터 반복적으로 직접 노트에 한줄한줄 작성해가면서 해야하는걸까요? 아니면 강의의 설명을 들으면서 이해해야 하는걸까요? 알고리즘이 어려워 아주 기초적인것이라 생각되는것부터 문의 드립니다.
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
안녕하세요~ arr[5] 설명해주실 때 case 1: int arr[5] -> 5개 들고있다고 선언! case 2: arr[5] -> 6번째 값 하면서 case 2 예시로 arr = { 1,2,3,4,5, 6 } 을 들어주셨는데 arr[5] -> 6번째 값이면 6번째에 있는 6이 아닌가요? 7이라고 설명하셨는데 실수하신건지 제가 이해를 잘 못했는지 궁금해서 질문드립니다!
미해결
김영한의 실전 자바 - 중급 2편
스프링을 공부하다가 람다, 스트림에 대한 학습이 부족해서 막혔는데 혹시 고급 편 강의가 언제 나올 수 있을지 대략적이라도 알 수 있을까요?... 다른 시중 강의를 구매하고 볼지 아니면 김영한 님 강의를 기다릴지 고민입니다
해결됨
(2026 최신!) 일주일만에 합격하는 정보처리기사 실기
st.b 가 11이라고 하셨는데 0 아닌가요? 왜 11인지 궁금합니다. ㅠㅠ
미해결
스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술
학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예/아니오) 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 예 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) 예 [질문 내용] 여기에 질문 내용을 남겨주세요. 뭐가 문제일까요?
해결됨
모두의 깃 & 깃허브
왜 풀 리퀘스트 일까요...? 원격 저장소에 넣어달라고에 요청하는거니까 푸쉬 리퀘스트가 맞지 않을까요?
미해결
Next + React Query로 SNS 서비스 만들기
Q질문 로그인 버튼 클릭시 주소변경없이 모달창을 보이게 하려면 결국 라우팅만 이용해서는 할 수 없고 , 기존에 리액트에서 사용하던 모달 state를 관리해주는 방식 으로 해야한다. 라고 생각되어집니다. 이 부분에 대해서 강사님의 생각을 여쭤봅니다. 이렇게 생각한 이유는 로그인 버튼 클릭시 주소변경없이 모달창을 띄우려면 우선, 패러렐 라우팅과 인터셉트 라우팅 둘다 사용해야 하며 '/' 주소가 아닌 '/login' 주소로 바뀌어야만 한다. (이때 인터셉트 라우팅을 사용해야 하는 이유는 새로고침이 뒤에있는 모달창을 안보여도, 뒤에있던 화면은 보여야하기 때문이다. ) 주소가 바뀌어야 하는 이유를 설명하자면 패러렐 라우팅을 '/' 주소로 하게 되면 처음 브라우저에 방문하게 되면 모달창이 보이게 되기 때문이다. 그러므로 로그인 버튼 클릭시 '/login' 의 주소에서 홈화면과 모달창이 보이게 해야한다.
해결됨
김영한의 실전 자바 - 기본편
업캐스팅처럼 문제가 발생할 가능성이 없다. 즉, 안전하다 -> 코드를 생략해도 자바가 컴파일과정에서 코드를 추가해준다. 왜? 추가하더라도 안전하니까 다운캐스팅처럼 문제가 발생할 가능성이 조금이라도 있다. 즉 안전하지 않다 -> 코드를 생략하면 자바가 코드를 추가해주지 않는다. 왜? 추가해서 혹시라도 문제가 발생하면 자바 책임이 되니까 -> 즉, 개발자가 직접 명시해야 한다. -> 명시하지 않으면 컴파일 오류, 명시하면 컴파일 성공 -> 컴파일 성공해서 실행중에 런타임 오류가 발생하지 않으면 괜찮지만, 런타임 오류가 발생하면 코드를 직접 명시한 개발자 책임이 된다. 이 부분이 헷갈려서 정리해 봤는데, 이렇게 이해하는게 맞을까요?
해결됨
한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지
안녕하세요. vercel를 통한 배포를 위해 설정을 하던 중 In which directory is your code located? ./ 이 부분에서 엔터를 눌러서 넘어가려 했는데 엔터를 누르자 Error: Your Team encountered an unknown problem. Please reach out to our support team for details. 이런 에러가 뜨면서 진행이 막히고 있습니다. 혹시 해결 방법을 알려 주실 수 있으신가요?