2023/08 12

[F-Lab 페이백 모각코 51일차] SpringBoot 3 (3.1.2) + SpringDoc ( OAS3)

Swagger를 추가할려고 하니 왠지 잘 안되었다. Swagger 3를 스프링 부트3 에 적용하려다가 실패했다. @Configuration을 선언하고 해당 클래스에 자바설정코드도 코딩해 놓았는데 빌드할때 클래스로드가 되지 않았다. 기존 코드는 게시판을 구현한 것이였는데 그중 코드를 RestAPI로 간단히 바꾸어놓았다. API 클래스에 @RestController 선언해 놓고 기존 컨트롤러 클래스의 자바코드를 약간 RestAPI용으로 약간씩 바꾸어 놓았다. 자바언어로 된 Swagger 설정 파일과 위 변경 사항 그리고 해당 의존성 추가 한 것 외에는 다른 변경상황은 기억나지 않았기 떄문에 1 test completed, 1 failed Caused by: java.lang.ClassNotFoundExcep..

[F-Lab 페이백 모각코 50일차] 프로그래머스 콜라 문제 (Java)

학습목표 콜라 문제 - 프로그래머스 - 자바 TIL 콜라 문제 - 프로그래머스 - 자바 문제 설명 오래전 유행했던 콜라 문제가 있습니다. 콜라 문제의 지문은 다음과 같습니다. 정답은 아무에게도 말하지 마세요. 콜라 빈 병 2개를 가져다주면 콜라 1병을 주는 마트가 있다. 빈 병 20개를 가져다주면 몇 병을 받을 수 있는가? 단, 보유 중인 빈 병이 2개 미만이면, 콜라를 받을 수 없다. 문제를 풀던 상빈이는 콜라 문제의 완벽한 해답을 찾았습니다. 상빈이가 푼 방법은 아래 그림과 같습니다. 우선 콜라 빈 병 20병을 가져가서 10병을 받습니다. 받은 10병을 모두 마신 뒤, 가져가서 5병을 받습니다. 5병 중 4병을 모두 마신 뒤 가져가서 2병을 받고, 또 2병을 모두 마신 뒤 가져가서 1병을 받습니다. ..

[F-Lab 페이백 모각코 49일차] 프로그래머스 코딩테스트 푸드 파이트 대회 (Java)

학습목표 코테 푸드 파이트대회(프로그래머스) - Java TIL 코테 푸드 파이트대회(프로그래머스) 문제 설명 수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다. 이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음..

[F-Lab 페이백 모각코 48일차] (네트워크) 그림으로 배우는 네트워크 원리

그림으로 배우는 네트워크 (NetWork) 원리 Ch.1 네트워크의 기본 네트워크의 전체상을 이해하자 무엇을 위해서 네트워크를 이용할까? 컴퓨터 네트워크: 컴퓨터와 다른 장치들 사이에 데이터를 주고받기 위해 사용하는 네트워크 누가 이용할 수 있는 네트워크인가 사설 네트워크와 인터넷: 사설 네트워크는 조직 내에서 사용되는 네트워크이며, 인터넷은 전 세계적으로 연결된 네트워크 사내 네트워크 구성 LAN, WAN: LAN은 건물 또는 캠퍼스 내에서 컴퓨터와 장치들을 연결하는 네트워크이며, WAN은 지리적으로 떨어진 지역을 연결하는 네트워크 네트워크의 네트워크 인터넷: 전 세계적으로 연결된 대규모 네트워크 무엇이 데이터를 주고받을까? 애플리케이션, 피어투피어 애플리케이션: 애플리케이션은 데이터를 생성하거나 처리..

[F-Lab 페이백 모각코 47일차] (CS) CHAPTER 1 컴퓨터 과학 소개

학습목표 컴퓨터의 기능과 구성을 알아본다. 하드웨어와 소프트웨어의 관계를 알아본다 입력장치, 중앙처리장치, 기억장치, 출력장치의 역할을 알아본다. 시스템 소프트웨어와 응용소프트웨어의 역활을 알아본다. 컴퓨터 과학의 역사와 연구 분야를 알아본다. TIL 컴퓨터 과학 개요 SECTION 1 컴퓨터의 개요 컴퓨터의 기능과 구성 입력 기능: 컴퓨터에 데이터를 전송하는 기능 키보드, 마우스, 스캐너, 마이크 등이 이에 해당 기억 기능: 컴퓨터 내부에서 데이터를 저장하고 유지하는 기능 데이터를 저장하는 주요 장치로는 하드 디스크, USB, SSD 등이 있음 연산 기능: 컴퓨터가 입력받은 정보를 처리하고 결과를 출력하는 기능 중앙처리장치(CPU)가 이 기능을 담당 제어 기능: 다음 실행할 명령어를 결정하고 하드웨어를..

[F-Lab 페이백 모각코 46일차] (CS) CHAPTER 10 보안과 암호화

평문을 암호문으로, 암호문을 평문으로 학습목표 암호화 기술의 등장 배경을 이해한다. 비밀키 암호화 방식의 종류와 암호화 과정을 알아본다. 공개키 암호화 방식의 종류와 암호화 과정을 알아본다. TIL 보안과 암호화 보안과 암호화의 개요 암호화 기술 초기 암호화 방식 시저 암호 시저 암호의 원리 시저 암호의 원리: 각 문자를 알파벳 상에서 일정 거리만큼 이동시켜서 암호화하는 방식입니다. 키를 알 수 없는 경우 해독 방법 키를 알 수 없는 경우 해독 방법: 브루트 포스 공격을 통해 가능합니다. 알파벳의 모든 가능한 이동 거리에 대해 시도하여 평문과 암호문이 일치하는 경우를 찾습니다. 단어 키를 사용한 암호화 단어 키를 사용한 암호화: 키로 사용될 단어를 선택하고, 이를 이용하여 각 문자를 암호화합니다. 숫자 ..

[F-Lab 페이백 모각코 45일차] (CS) CHAPTER 9 네트워크와 인터넷

인터넷에서 정보 전송 과정 학습목표 네트워크의 개념을 이해하고 LAN과 WAN의 차이점을 알아본다. 인터넷의 개념을 이해하고 인터넷 서비스의 종류를 알아본다. IP 주소와 도메인 이름의 역할을 알아본다. 인터넷을 이용한 통신 과정을 알아본다. 네트워크에서 오류 검출 방법을 알아본다. TIL 네트워크와 인터넷 네트워크와 인터넷의 개요 네트워크의 개념 네트워크란, 컴퓨터끼리 연결되어 정보를 주고받을 수 있도록 하는 기술입니다. 이를 통해 데이터를 효율적으로 관리하고 공유할 수 있습니다. 네트워크의 분류 네트워크는 크게 LAN(Local Area Network), WAN(Wide Area Network), WLAN(Wireless Local Area Network) 등으로 분류됩니다. 각각의 특징과 장단점을 ..

[F-Lab 페이백 모각코 44일차] (CS) CHAPTER 8 데이터베이스

방대한 데이터를 다루는 기술 학습 목표 데이터베이스의 필요성을 이해하고 데이터베이스 관리 시스템의 역할을 알아본다. 관계형 데이터 모델의 구성을 살펴보고, 관계형 데이터 연산을 직접해본다. 데이터베이스를 구축하고 활용할 때 사용하는 언어인 SQL의 주요 문법을 알아본다. TIL 데이터베이스 데이터베이스의 개요 데이터베이스의 개념: 데이터베이스란 조직의 업무 수행에 필요한 데이터를 모아 놓은 것입니다. 데이터베이스 관리 시스템: 데이터베이스를 관리하는 소프트웨어입니다. 데이터 모델: 데이터베이스를 구축하는 데 사용하는 모델입니다. 관계형 데이터베이스 관계형 데이터 모델: 데이터를 테이블 형태로 나타내는 모델입니다. 관계형 데이터 연산: 관계형 데이터베이스에서 사용되는 연산자입니다. 선택: 특정 레코드를 선..

[F-Lab 페이백 모각코 43일차] (CS) CHAPTER 7 알고리즘

문제 해결을 위한 효율적인 방법과 절차 학습 목표 알고리즘의 의미와 조건을 알아본다. 선택 정렬, 삽입 정렬, 버블 정렬 등 정렬 알고리즘의 동작 과정을 알아본다. 선형 탐색, 이진 탐색 등 탐색 알고리즘의 동작 과정을 알아본다. 피보나치 수열, 하노이 탑, 퀵 정렬 등 재귀 알고리즘의 동작 과정을 알아본다. TIL 알고리즘 알고리즘의 개요 알고리즘의 개념: 문제를 해결하기 위한 명확하고 구체적인 절차나 방법 정렬 알고리즘 선택 정렬 선택 정렬의 동작 과정: 주어진 배열에서 최솟값을 찾아 첫 번째 위치와 교환, 그 다음으로 남은 배열에서 최솟값을 찾아 두 번째 위치와 교환... 이를 반복하여 정렬 완료 파이선으로 구현한 선택 정렬 삽입 정렬 삽입 정렬의 동작 과정: 주어진 배열에서 두 번째 원소부터 시작..

[F-Lab 페이백 모각코 42일차] (CS) CHAPTER 5 프로그래밍 언어

파이선으로 배우는 컴퓨팅 사고력 학습목표 프로그래밍 언어의 개념을 이해하고 종류를 살펴본다. 변수의 개념을 이해하고 다양한 자료형을 이용하여 프로그램을 작성해본다. 제어 구조의 종류를 살펴보고 제어 구조를 활용한 프로그램을 작성해본다. 함수의 개념을 이해하고 함수를 활용한 프로그램을 작성해본다. TIL 프로그래밍 언어 프로그래밍 언어의 개요: 프로그래밍의 이해: 프로그래밍은 컴퓨터가 실행할 수 있는 명령어를 작성하는 과정입니다. 프로그래밍을 하기 위해서는 프로그래밍 언어에 대한 이해가 필요합니다. 프로그래밍 언어의 종류: 프로그래밍 언어는 수백 가지가 존재하며, 각 언어마다 특징과 용도가 다릅니다. 대표적인 언어로는 C++, Java, Python, JavaScript 등이 있습니다. 프로그래밍과 컴퓨팅..