분류 전체보기 10

2022-07-18

2022-02-22 ~ 2022-07-18간 달려온 집체 교육이 오늘로 끝이 난다. 마지막으로 강사님께서 말씀해주시는 취업에 관련된 내용들을 정리하려고 한다. 취업뿐 아니라 앞으로의 커리어를 쌓을 방향에 대해 말씀해주셨다. 내가 어떠한 목표를 설정했지만, 그 목표를 달성하기 위한 아무런 노력도 하지 않는다면 그것은 목표가 아닌 망상이다. 이제부터 목표를 세워라. → 어느 회사에 입사할지를 먼저 결정해라. 정확한 목표를 정해야 한다. (ex : 23년도 1분기 어느 회사의 공채 모집.. 지원하고 그 뒤엔 어떠한 회사에 지원하겠다.) 그 목표를 달성하기 위한 시점을 생각하고, 그 시점에 맞춰서 목표를 달성하려면 하루하루 무슨 일을 해야 하는지 계획을 세워야 한다. 목표를 단기 목표와 장기 목표를 세워야 한다..

Study 2022.07.18

정보 통신 이론 - 아날로그, 디지털 신호와 변조

● 데이터의 전송 • 아날로그 신호와 디지털 신호 - 아날로그 신호 : 연속적으로 변하는 신호. ‧ 단위 시간에 보낼 수 있는 데이터량은 적지만 손상에 대한 내성이 있다. - 디지털 신호 : 미리 정해진 전압만 있는 신호. ex) 모스 신호 ‧ 단위 시간에 보낼 수 있는 데이터량은 많지만 손상에 치명적이다. • 변조 : 신호를 멀리까지 왜곡 없이 전송하기 위해 신호의 진폭, 주파수 위상 등을 바꾸는 기법 - 변조는 아날로그 변조와 디지털 변조로 나눌 수 있다. • 아날로그 변조 : AM, FM, PM • 디지털 변조 : ASK, FSK, PSK, QAM - 신호를 멀리 보내는 경우 신호의 강도가 점점 약해진다. 이를 다시 원래 신호처럼 복구하려면 증폭기가 필요하다. 하지만 증폭기는 비용이 많이 들기 때문..

Network 2022.03.27

정보 통신 이론 - 통신 시스템

배우는 지식들을 “지식 네트워크”로 만들어서 자신의 것으로 만들어라. 지식의 큰 그림을 만들고, 앞으로 배우는 지식을 그 큰 그림에 붙여서 이해해라. 그러면 모든 지식이 하나의 네트워크가 된다. ● 정보통신의 개념 • 정보통신의 정의 - 기계와 기계간에 전기적 회선을 통해 정보를 송수신하는 시스템 • 용어정리 - System : 규칙에 따라 능동적으로 동작하는 환경. ‧ 외부의 제어권 없이 능동적으로 움직여야 한다. - Interface : 시스템과 시스템을 연결하기 위한 표준적인 접근 방식 ‧ ex) USB 인터페이스. . 등 표준으로 만들어서 설계나 사용할 때 편하게 해준다. - Transmission : 데이터를 왜곡 없이 보내기 위한 동작방식 - Protocol : 시스템간 데이터를 송수신 하기 ..

Network 2022.03.27

연결 리스트 (Linked List)

⚫단일 연결 리스트 - 각 노드가 데이터와 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터를 저장하는 자료 구조 *자료 구조 : 메모리에 로딩되는 데이터의 구조 ※언어 차원에서 지원해주는 자료 구조면 쉽게 구현할 수 있지만 프로그래머가 직접 만들어야하는 자료 구조이므로 난이도가 높다. - 리스트의 등장 배경 : 배열의 크기는 입력되는 정보의 MAX값이다. - 늘 1~3개가 들어오지만 가끔 한 번씩 30이 들어온다고 배열의 크기를 30으로 하면 평소에도 30으로 크기를 유지해야한다. ★즉, 데이터의 최대 개수를 메모리로 잡아야 하므로 최대 개수가 들어오지 않는 기간이 더 많은 경우 리소스의 낭비가 된다. - 배열에 데이터가 들어온 상황에서 데이터가 사라졌을 때 다른 데이터가 들어오면 뒤에 있던 데이..

Java Programming 2022.03.27

클래스 (Class)

● 객체 지향 프로그래밍의 특징 추상화 캡슐화 정보은닉 다형성 상속 ● 객체 지향 설계 (SOLID) 원칙 단일 책임 원칙 (SRP : Single Responsibility Principle) : 한 클래스는 하나의 책임만 가져야 한다. 개방/폐쇄 원칙 (OCP : Open/Closed Principle) : 소프트웨어 요소는 확장에는 열려 있으나 변경에는 닫혀 있어야 한다. 리스코프 치환 원칙 (LSP : Liskov Substitution Principle) : 프로그램의 객체는 프로그램의 정확성을 깨뜨리지 않으면서 하위 타입의 인스턴스로 바꿀 수 있어야 한다. 인터페이스 분리 원칙 (ISP : Interface Segregation Principle) : 특정 클라이언트를 위한 인터페이스 여러 개..

Java Programming 2022.03.27

참조형 (Reference)

● 참조형 (String, Array) Run-Time Binding : 실행 시간에 무언가를 한다. Heap을 사용한다. (Stack처럼 움직이지 않는다.) : 프로그래머가 할당하면, 해제는 Java가 자동으로 한다. (GC) • 메모리를 넉넉하게 잡는 메카니즘이 잘 구현되어 있다. ● 참조형(Reference Type)이란 ? - Heap 영역에 실제 데이터가 할당되고 스택을 통해 접근하는 DataType - 메모리가 Run-Time에 생성되는 경우가 있고, Heap영역에는 이름을 붙일 수 없지만 - 시작 주소(시작 정보)는 생성되기 때문에 그 주소를 Stack영역에 참조형 변수로 저장 한 뒤 Heap영역에서 메모리 블록을 통해 참조형 변수를 참조해서 사용한다. - 메모리 블록은 참조형 변수를 통해 ..

Java Programming 2022.03.27

메소드 (Method)

● 메소드 • 프로세스에서 기능을 수행하기 위한 명령문의 집합(Instruction Set) - 기계적 의미 • Function – 직관적 의미 • 메소드 컴파일 -> Instruction Set Function ▶ 좋은 메소드란? 필요한 핵심 기능만 넣고, 함수를 만들었을 때, 다른 사람이 쓸 수 있는지(Reuse), 이름만 봐도 알 수 있고, 모듈화(결합도 ↓, 응집도 ↑)가 잘 되는가 • public static void main(String[] args) → 메인 메소드 • 자바에서는 모든 Function이 메소드임. • 클래스에 포함되어 있음 ● 구성요소 - 리턴형 (void) : 기능(명령)을 실행한 결과 - 메소드 이름 (main) : 메소드를 호출하기 위한 이름 - 파라미터 (String[..

Java Programming 2022.03.27

Process Memory Map / Debug

● 프로세스 메모리 맵 - 운영체제가 프로그램을 메모리에 적재할 때 프로세스의 요소들을 배치하는 방식 - 운영체제 및 시스템마다 차이가 있다.​ ● 스택 영역 (Stack Area) - 스택영역으로 할당된 부분은 스택 방식으로 작동한다. * Stack : 선입후출 구조(First In Last Out, FILO) - 스택 구조로 구현하면 메모리 Lay-out을 순서대로 제어할 수 있다. - 메모리의 정확성을 유지하기 위해 stack 방식을 사용한다. - 스택 영역은 기본 값이 64K byte이다.(OS, Language마다 다르다), 변경도 가능하다. - 컴파일 옵션에 스택 사이즈 조정이 있다. - 전체 메모리의 크기를 계산 할 수 있기 때문에 Stack 방식을 사용하는 것이 바람직하다. * CPU도 메..

Study 2022.03.27

메모리와 버스

● 메모리 - 컴퓨터 시스템에서 데이터를 저장하는 장치 ​ · CPU는 메인 메모리에 들어있는 데이터를 이용한다. 그래서 용량은 적지만 메인메모리의 데이터를 복사하는 메모리가 존재한다. → 캐시메모리 ​★CPU는 캐시 메모리를 참조한다. ● 프로세서 레지스터 - CPU는 연산장치지만 저장장치는 아니다. 그러므로 연산을 하고 나온 값을 저장할 공간이 필요하다. 그러므로 프로세서 레지스터가 필요하다. 범용 레지스터 : 위의 용도로 사용한다. ​특수 레지스터 : 다른 특별한 용도. (ex : 프로그램 실행 시 어디까지 실행했는지 정보를 저장하는 용도, flag 발생 용도 등. . .) 이렇게 각 장치들이 데이터를 주고받으려면 Bus가 필요하다. ● Bus의 종류 Data Bus Address Bus Instr..

Study 2022.03.27

운영체제(Operating System)

● 운영체제란? ​ - 컴퓨터 사용자와 하드웨어 시스템 간의 인터페이스를 담당하는 프로그램이다. ● 운영체제의 기능 ​ - 자원 관리 : 어떠한 기준(indicator:지표)에 맞춰 만들어주는 활동. → 자원을 정해진 기준에 맞추는 것. - 장치 제어 : 자원 관리를 하기 위한 방법. ex) 명령어를 보낸다. - 사용자 편의 제공 ● 운영체제의 종류 - 구조적 구분 : Micro Kernel, Monolithic Kernel ※ Kernel : OS의 핵심으로, H/W Control의 핵심 코드 · Micro Kernel : 순수한 Kernel이 독립적으로 존재하고, 나머지는 유저 모드에서 기능을 수행하는 Kernel · Monolithic Kernel : 모든 기능을 Kernel에 집중시킨 Kernel..

Study 2022.03.27