전체 글 221

230612 STUDY LOG.

목표 및 진행. [CS] 06_AWS 실습: EC2 서버 접속하기 (맥 환경) 까지 수강 및 정리 [JAVA] 백엔드 프로그래밍 언어 까지 수강 및 정리 / List 복습 및 정리 [자료구조/알고리즘] 큐 복습 및 정리 [코딩테스트] 문제풀이 강의 수강 및 정리 / 월간 코테 문제풀이 정리 [과제 현황] 컴퓨터 공학 퀴즈 10문제 응시 오늘 후기. 이번주는 블로그 정리하는 것보다 다음주 부터 시작되는 프로젝트를 위해 강의 진도를 빨리빨리 쳐야될것 같다. 성격상 또 띄ㅣㅣㅣㅣㅣㅣ엄 띄ㅣㅣㅣㅣㅣㅣ엄이 안된다. 2주 동안 들을거 1주동안 빡빡하게 듣고 노션에 정리하자. 컴공 문제풀이는 아 진짜 답답파워오브답답답답... 다 맞는거 같기도한데 풀어보면 아니라고 한다. 슬프다. 자료구조와 알고리즘은 너무 조바심내지..

STUDY LOG 2023.06.12

230611 STUDY LOG.

목표 및 진행. [CS] 31_부팅 과정 (참고) 와 향후 학습 로드맵 까지 수강 및 정리 파일 시스템 개념과 inode 작동 방식 이해 [JAVA] 19_예외처리 까지 수강 및 정리 제네릭(Generic) 프로그래밍 이해하기 [자료구조/알고리즘] 자료구조 입문 - 스택 정리 스택과 큐 - 스택이란? [코딩테스트] 문제풀이 수강 및 정리 완료 - 문자열 관련 문제 풀이 [과제 현황] 컴퓨터 공학 퀴즈 완료 미션 과제 - HTML 자바로 만들기 / 페이지네비게이션 구현하기 오늘 후기. 컴퓨터 과학은 아직 너무 낯설어서 개념도 제대로 머리에 잡히지 않는다. 언넝 다 듣고 2회독 해야지.. 과제랑 코테문제만 풀면 시간이 훌쩍 지나있다. 나머지 강의 듣기도 시간이 너무 부족하다. 다음주 공부 계획세우고 또 내일..

STUDY LOG 2023.06.11

스택과 큐 - 스택이란?

스택(Stack)이란? 스택은 데이터를 일시적으로 쌓아놓는 자료구조로 데이터의 입력과 출력 순서는 후입선출(LIFO) 입니다. 가장 나중에 넣은 데이터를 가장 먼저 꺼냅니다. 스택에 데이터를 넣는 작업을 push라고 하며 꺼내는 작업을 pop이라고 합니다. 가장 상단의 값을 top이라고 하고 가장 아랫부분은 bottom이라고 합니다. 자바 프로그램이 실행 될 때도 이와 같은 방식으로 스택 구조에 의해 함수가 실행됩니다. 스택 만들기. 고정 길이 스택을 만들어 필드, 생성자, 메서드 순으로 살펴봅시다. package june2023.day11.stack; import java.util.Scanner; class IntStack { private int[] stack; private int capacity;..

제네릭(Generic) 프로그래밍 이해하기

제네릭 자료형 정의. 자바 제네릭(Generic)은 자바에서 도입된 타입 매개변수화 기능입니다. 제네릭을 사용하면 클래스나 메서드를 정의할 때 타입을 매개변수로 받아서 재사용할 수 있습니다. 이는 코드의 재사용성과 유연성을 높여줍니다. - 클래스에서 사용하는 변수의 자료형이 여러개 일수 있고, 그 기능(메서드)은 동일한 경우 클래스의 자료형을 특정하지 않고 추후 해당 클래스를 사용할 때 지정 할 수 있도록 선언 - 실제 사용되는 자료형의 변환은 컴파일러에 의해 검증되므로 안정적인 프로그래밍 방식 - 컬렉션 프레임워크에서 많이 사용되고 있음 제네릭 자료형을 사용하는 예시. 술을 만들 때 다양한 재료를 기반으로 만들 수 있습니다. 와인은 포도, 맥주는 맥아를 주된 재료로 만들어 집니다. 이를 코드로 만들어 ..

BACKEND/JAVA 2023.06.11

파일 시스템 개념과 inode 작동 방식 이해

파일 시스템의 개념과 역할. 운영체제에서 파일 시스템은 파일의 저장, 조직, 관리를 담당하는 체계입니다. 파일 시스템은 운영체제와 하드웨어 간의 인터페이스 역할을 하며, 파일을 사용자에게 편리하게 제공하기 위해 설계되었습니다. 즉, 운영체제가 저장매체에 파일을 쓰기 위한 자료구조 또는 알고리즘 입니다. 파일 시스템의 역할. 1. 데이터 저장 및 조직: 파일 시스템은 데이터를 저장하고 조직하는 방식을 제공합니다. 파일 시스템은 하드 디스크 등의 물리적인 저장 장치를 사용하여 파일을 블록 단위로 저장하고, 디렉토리 구조를 통해 파일을 계층적으로 구성합니다. 이를 통해 사용자는 파일을 쉽게 찾고 관리할 수 있습니다. 2. 파일의 접근성: 파일 시스템은 파일에 접근하기 위한 인터페이스를 제공합니다. 사용자는 파..

COMPUTER SCIENCE 2023.06.11

230610 STUDY LOG.

목표. [CS] 강의 수강 및 정리 [JAVA] 강의 수강 및 정리 [자료구조/알고리즘] 스택 정리 [코딩테스트] 실전 코딩테스트 1주차 풀이 수강 및 정리 진행 및 완료. [CS] 강의 수강 및 정리 물리 메모리와 가상메모리, MMU와 TLB, 가상메모리 알고리즘 [JAVA] 강의 수강 및 정리 자바 클래스 - Class 클래스 [자료구조/알고리즘] 스택 정리 중 [코딩테스트] 실전 코딩테스트 1주차 풀이 수강 및 정리 완료. 오늘 후기. 컴퓨터 공학은 이해가 잘 안되지만 큰 흐름을 읽고 세부적인 내용은 다시 반복해서 복기해야겠다. 자바 관련 내용들은 프로젝트 들어가기전까지 확실하게 잡고 가자. 자료구조 알고리즘 및 코테 > 컴퓨터공학 > 자바 순으로 버겁다ㅏㅏㅏㅏㅏ 내일은 과제들 전부 마무리하고 남은..

STUDY LOG 2023.06.11

자바 클래스 - Class 클래스

Class 클래스. 자바의 모든 클래스와 인터페이스는 컴파일 후 class 파일이 생성 됩니다. Class 클래스는 컴파일 된 class 파일을 로드하여 객체를 동적 로드하고, 정보를 가져오는 메서드가 제공됩니다. Class.forName("클래스 이름")메서드로 클래스를 동적으로 로드합니다. 우리가 모르는 클래스 정보를 사용할 경우에 Class 클래스를 활용합니다. Class 클래스를 선언하고 클래스 정보를 가져오는 방법은 다음과 같습니다. Class.forName("클래스 이름") 메서드 사용하기 Object 클래스의 getClass() 메서드 사용하기 클래스 파일 이름을 Class 변수에 직접 대입하기 class MyClass { } public class ClassClassTest { public..

BACKEND/JAVA 2023.06.11

물리 메모리와 가상메모리, MMU와 TLB, 가상메모리 알고리즘

물리 메모리 가상 메모리. 물리 메모리(Physical Memory)와 가상 메모리(Virtual Memory)는 컴퓨터 시스템에서 메모리 관리를 위해 사용되는 개념입니다. 물리 메모리는 실제 하드웨어적으로 존재하는 컴퓨터의 주 기억장치를 말합니다. 주로 RAM(Random Access Memory)으로 구성되며, 프로그램이 실행되고 데이터가 저장되는 실제 메모리 공간입니다. 물리 메모리는 직접 접근이 가능하고 처리 속도가 매우 빠릅니다. 그러나 물리 메모리는 제한된 용량을 가지고 있어, 실행 중인 프로세스들이 요구하는 메모리 크기보다 작을 수 있습니다. 가상 메모리는 물리 메모리의 한계를 극복하기 위해 사용되는 메모리 관리 기술입니다. 가상 메모리는 프로그램이 물리 메모리보다 큰 메모리 공간을 사용할 ..

COMPUTER SCIENCE 2023.06.11

230609 STUDY LOG.

목표. [CS] 강의 수강 + 정리 [JAVA] OOP 정리 [코딩테스트] 프로그래머스 풀기 [과제 및 미션] 월간 코테 응시 진행 및 완료. [CS] 데드락과 스타베이션 개념 이해 까지 수강 및 정리 스레드의 개념과 장단점, 데드락, 스타베이션 이해하기 [JAVA] OOP 정리 상속과 추상 클래스, 템플릿 메서드 패턴 인터페이스와 다형성(DAO) 활용하기 인터페이스 여러가지 요소와 인터페이스의 상속 [코딩테스트] 프로그래머스 풀기 [과제 및 미션] 월간 코테 응시 완료. 오늘 후기. 월간 코딩테스트를 응시했다. 3문제 중 1문제를 맞혔으나 그닥 훌륭한 방법은 아녔던것 같아 아쉽고 나머지 2문제도 풀 수 있겠는데 했지만 아오.. 답답답답답답 자료구조 알고리즘 너무 욕심내지말고 .. 조금 욕심내고 좌절하지..

STUDY LOG 2023.06.09

스레드의 개념과 장단점, 데드락, 스타베이션 이해하기

스레드(Thread). 스레드(Thread)는 독립적으로 실행되는 작업의 단위입니다. 하나의 프로세스는 여러 개의 스레드를 가질 수 있으며, 각 스레드는 동시에 실행될 수 있습니다. 스레드를 사용하여 동시에 여러 작업을 수행하면 시스템의 자원을 효율적으로 활용할 수 있습니다. 스레드의 개념을 이해하기 위해서는 다음과 같은 개념들을 알아야 합니다: 프로세스(Process). 프로세스는 실행 중인 프로그램을 의미합니다. 각 프로세스는 독립된 메모리 공간을 가지며, 프로세스 간에는 메모리가 분리되어 있습니다. 각 프로세스는 최소한 하나의 스레드(메인 스레드)를 가지고 있습니다. 멀티스레딩(Multithreading). 멀티스레딩은 하나의 프로세스 내에서 여러 개의 스레드를 동시에 실행하는 것을 의미합니다. 멀..

COMPUTER SCIENCE 2023.06.09