만족한 돌고래
@jy29086455
수강평 작성수
-
평균평점
-
블로그
전체 4
2024. 10. 06.
1
인프런 워밍업 클럽 2기 CS 1주차 발자국
학습 내용 이번 주차에는 아래의 내용을 학습했다.운영체제프로세스CPU알고리즘과 자료구조 (Stack, Queue, Hash Table, Linked List 등)회고전공수업을 들으면서 한번씩은 정리하고 시험까지 봤던 내용들이지만 다시 정리가 필요하다고 느꼈고, 워밍업 클럽 스터디를 시작하게 되었다. 이번엔 현업이 바빠 미션과 발자국을 다소 급하게 마무리지었던 것 같은데, 다음부터는 조금 더 자세하고 깊게 정리하고 싶다.
![[미션] 인프런 워밍업클럽 CS 2기 1주차 미션](https://cdn.inflearn.com/public/main/blog/default_thumbnail.png?w=260)
2024. 10. 06.
0
[미션] 인프런 워밍업클럽 CS 2기 1주차 미션
운영체제 cCopy codewhile(true){ wait(1); // 1초 대기 bool isActivated = checkSkillActivated(); // 스킬 사용 여부 확인 } 위 코드는 1초마다 플레이어의 스킬 사용 여부를 확인하는 폴링 방식입니다. 하지만 1초마다 상태를 확인하므로 성능 저하를 초래할 수 있습니다. 이 문제를 개선하기 위해 어떤 방법을 사용할 수 있을까요?인터럽트 방식CPU는 I/O 장치 관리자에게 명령을 전달하고 나서 다른 작업을 계속 수행합니다. I/O가 완료되면 장치 관리자가 CPU에 신호를 보내고, CPU는 이 신호를 받아 인터럽트 서비스 루틴(ISR)을 실행하여 해당 작업을 처리합니다. 이렇게 하면 CPU가 주기적으로 상태를 확인하지 않아도 되므로 성능이 향상됩니다. 프로그램과 프로세스의 차이는 무엇인가요?프로그램: 하드디스크와 같은 저장 장치에 저장된 명령어들의 집합프로세스: 메모리에 적재되어 실행 중인 프로그램 멀티프로그래밍과 멀티프로세싱의 차이는 무엇인가요?멀티프로그래밍: 메모리에 여러 개의 프로세스가 올라와 있는 것멀티프로세싱: 여러 개의 프로세스를 CPU가 처리하는 것 운영체제는 프로세스를 관리하기 위해 무엇을 사용하나요?프로세스 제어 블록(PCB)를 사용합니다. 컨텍스트 스위칭이란 무엇인가요?컨텍스트 스위칭은 실행 중인 프로세스의 상태를 기억 및 저장하고, 다른 프로세스로 교체하여 실행하는 작업입니다 (PCB 활용) 자료구조와 알고리즘여러분은 교실의 학생 정보를 저장하고 조회할 수 있는 관리 프로그램을 개발하려고 합니다. 이때 학생 정보를 저장하기 위한 자료구조로 무엇을 선택하시겠습니까? 이유를 함께 적어주세요.배열 구조를 선택하겠습니다.학생 정보는 학기 초 입학 시에 주로 작성되고, 후에는 주로 조회만을 수행하는 경우가 많기에 조회 시 O(1)의 시간 복잡도를 가진 배열이 적합합니다. 여러분은 고객의 주문을 받는 프로그램을 개발하려고 합니다. 주문은 들어온 순서대로 처리됩니다. 이때 어떤 자료구조를 선택하시겠습니까? 이유를 함께 적어주세요.큐 자료구조큐의 FIFO 구조를 감안했을 때 주문이 들어온 순서대로 주문 처리가 가능한 점에 착안하여 큐를 선택하는 것이 적합하다고 생각합니다.
![[워밍업 클럽 스터디 2기] 1주차 발자국](https://cdn.inflearn.com/public/main/blog/default_thumbnail.png?w=260)
2024. 10. 06.
0
[워밍업 클럽 스터디 2기] 1주차 발자국
학습 내용 이번 주차에는 'Readable Code: 읽기 좋은 코드를 작성하는 사고법' 강의를 통해 SOLID 원칙들(SRP, OCP, LSP, ISP, DIP)에 대해 학습했다. 각 원칙들은 코드의 유지보수성과 확장성을 높이기 위한 객체 지향 설계의 기본 원칙들로, 지뢰찾기 게임 예제를 통해 실제로 어떻게 적용되는지 이해할 수 있었다. 미션미션1은 제 시간에 수행하지 못했던 것이 정말 아쉽다 ㅠㅠ미션 2의 경우 제 시간에 성실하게 수행했는데, 제출 후 다른 분들의 코드를 보니 SOLID 원칙을 더 잘 적용할 수 있는 방법이 있었겠다는 생각이 들었다.참조 강의Readable Code: 읽기 좋은 코드를 작성하는 사고법https://www.inflearn.com/course/readable-code-%EC%9D%BD%EA%B8%B0%EC%A2%8B%EC%9D%80%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1%EC%82%AC%EA%B3%A0%EB%B2%95/dashboard

2024. 10. 06.
0
인프런 워밍업 클럽 2기 - 백엔드 프로젝트(Kotlin, Spring) - 발자국 1주차
학습 내용이번 주차는 Spring Boot 프레임워크에 대한 대략적인 이해와 프로젝트의 구성, 그리고 ERD 모델링 등에 대해서 학습하였습니다.SpringBoot가 아닌 다른 백엔드 프레임워크를 사용해본 경험이 있어 이번 주차는 크게 어렵게 느껴지지 않았지만, Spring Initializer/Intellij를 사용하는 것 등 유용한 방법을 배울 수 있어서 좋았습니다미션미션1의 경우 ERD를 작성할 때 아이디어에 대해 어떻게 테이블 및 테이블 간 관계를 구성할지 고민을 하였고 (단순히 레스토랑만을 리스트업하는 것이 아니라, 리스트업 된 레스토랑 내 채식주의자가 먹을 수 있는 메뉴만을 구성하는 것), 해당 문제를 Restaurant / Menu 간 일대다 관계, 그리고 Restaurant - User 다대다 관계 (Comment/Like)를 형성함으로서 해결하였습니다.미션2의 경우 스프링 프로젝트를 강의에서 알려주신 대로 Spring Initializer와 Intellij를 이용하여 셋업하고, 이를 깃허브 레포지토리에 업로드하는 것이었습니다.미션 1의 경우 시행착오와 계획 수정이 조금 필요했고, 미션2의 경우 강의를 따라가며 무리 없이 마무리할 수 있었습니다.참조 강의입문자를 위한 Spring Boot with Kotlin - 나만의 포트폴리오 사이트 만들기https://www.inflearn.com/course/%EC%9E%85%EB%AC%B8%EC%9E%90-spring-boot-kotlin-%ED%8F%AC%ED%8A%B8%ED%8F%B4%EB%A6%AC%EC%98%A4/dashboard




