728x90
반응형
SMALL

올리고 자야했는데... 못 올리고 자서 잠을 자버렸습니다..

그래서 아침에 운동하고 아서 올리기~

리눅스에 대해 공부를 많이한 날인거같아요.

To do

  • [x] 아침운동하기
  • [x] 코테10문제풀기
  • [x] 자바 3페이지 읽기
  • [x] cs책 읽고 정리하기 5, 6, 7, 8
  • [x] 이력서 수정하기
  • [x] 이력서 과제
  • [x] *리눅스 계보와 윈도우, 맥 의 차이점 더 찾아보고 정리하기!
  • [x] 폰 노이만 아키텍쳐 정리하기!

외부일정

  • [x] 멘토링
  • [x] cs 스터디

자세한 내용은 아래링크에서 확인~

https://aihtnyc-h.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4

 

리눅스

리눅스란 리눅스의 마스코트인 펭귄 이미지 **리눅스(Linux)**는 **유닉스(Unix)를 기반으로 만들어진 운영체제(Operating System)**의 커널, 혹은 리눅스 커널을 사용하는 운영체제를 의미한다. 그렇다면

aihtnyc-h.tistory.com

https://aihtnyc-h.tistory.com/entry/%EB%A6%AC%EB%88%85%EC%8A%A4-%EB%AA%85%EB%A0%B9%EC%96%B4

 

리눅스 명령어

리눅스 명령어 쉘 프롬프트 상에서 입력 토큰의 종류 명령어 옵션: -기호로 시작되는 토큰 인자: -기호로 시작되지 않는 토큰 기본 명령어 sudo : super user(root)인 관리자 권한(root 계정)으로 실행 pwd

aihtnyc-h.tistory.com

리눅스의 특징

  • 유닉스와 마찬가지로 다중 동시 사용자 시스템이다.
  • 유닉스가 통신 네트워크를 지향해 설계된 것 처럼 리눅스 역시 서버로 작동하는데 최적화 되어있다. 따라서 서버 및 임베디드 시스템 분야에서 많은 발전을 하고 있다.
  • 안정적이며 안전한 운영체제이다.
  • 리눅스는 오픈소스로 누구나 소스 코드를 활용하여 수정 및 재배포가 가능하기 때문에 지속적인 업그레이드가 이루어진다.
  • 리눅스를 기반으로 300가지가 넘는 배포판이 개발되었는데 대표적으로 RedHat, Ubuntu, Debian, Fedora 등이 있다.
  • 리눅스는 명령어 라인(Command Line Interface)을 통해 컴퓨터에 직접 액세스한다. 따라서 운영체제의 학습을 위해서 사용할 수 있다.
728x90
반응형
LIST

'일상 > TIL' 카테고리의 다른 글

0과 1의 세계  (1) 2023.05.15
소프트웨어 아키텍쳐에 대해서  (0) 2023.05.13
오늘의 할일  (0) 2023.05.10
폰노이만 아키텍쳐 요약  (0) 2023.05.09
1로그 - 컴퓨터의 논리와 구조  (0) 2023.05.08
728x90
반응형
SMALL

List, Set, Map, HashMap의 차이에 대해서 설명해주세요.

  1. List : 순서가 있는 컬렉션을 정의
  • 사용자가 요소의 취치를 정확하게 제어 가능
  • 요소의 중복을 허용하며, 인덱스를 기반으로 요소에 접근(ArrayList, LinkedList 등이 이에 속함 등)
  • 저장공간이 필요에 의해 자동으로 늘어난다.(순서가 있는 저장공간)
    • 특징 : 순서가 있고, 중복을 허용(배열과 유사)
    • 장점 : 가변적인 배열 (배열이 자동으로 늘어남)
    • 단점 : 원하는 데이터가 뒤쪽에 위치하는 경우 속도의 문제
    • 방식 : equals()를 이용한 데이터 검색

자바에서 List자료 구조는 크게 vector, arrayList, LinkedList로 나눠진다.

1) ArrayList : 객체 내부에 있는 배열에 데이터 저장

  • 가변적인 배열로, 배열의 크기를 동적으로 변경할 수 있음
  • 일반적인 배열과 달리 ArrayList는 크기를 미리 지정할 필요가 없으며, 요소를 추가하거나 제거함에 따라 자동으로 크기가 조절됨
  • 상당히 빠르고 크기를 맘대로 조절할 수 있는 배열
  • 단방향 포인터 구조로 자료에 대한 순차적인 접근에 강점

ArrayList 특징

  • 동적 크기 : 요소가 추가되거나 제거될 때마다 자동으로 크기가 조정되는 동적배열
  • 인덱스 접근 : 인덱스 기반의 자료구조로, 특정 위치의 요소에 빠르게 접근가능
  • 순서 유지 : 요소를 추가한 순서대로 요소를 저장함, 요소의 순서를 유지
  • 중복 허용 : 동일한 요소를 여러 번 포함할 수 있음
  • Null 요소 허용 : null 요소를 허용함
  • 데이터를 순서대로 저장하고 빠르게 접근해야 하는 경우 매우 유용함 중간에 요소를 삽입하거나 삭제하는 연산은 비효율적이므로, 이런 경우 LinkedList 같은 다른 자료구조를 고려하는 것이 좋음

2) Vector : ArrayList와 동일하게 사용이 가능

  • ArrayList의 구형버전이며, 모든 메소드가 동기회 됨
  • 잘 쓰이진 않음

Vector 특징

  • 동적 크기 : 요소가 추가되거나 제거될 때마다 자동으로 조정되는 동적 배열
  • 인덱스 접근 : 특정 위치의 요소에 빠르게 접근할 수 있음
  • 순서 유지 : 요소를 추가한 순서ㅐ로 요소를 저장하므로, 요소의 순서를 유지
  • 중복 허용 : 동일한 요소를 여러 번 포함할 수 있음
  • Null 요소 허용 : null 요소를 허용함
  • 스레드 안전 : 모든 메서드는 동기화되어 있어 여러 스레드가 동시에 Vector를 수정하는 경우에도 데이터의 일관성이 유지함
  • 여러 스레드가 동시에 데이터를 수정해야 하는 병렬 처리 상황에서 매우 유용함 하지만, 동기화는 성능을 저하시킬 수 있으므로, 단일 스레드 환경에서는 ArrayList를 사용하는 것이 더 효율적일 수 있음

Arraylist와 Vector의 차이점

  • 한 데이터에 동시접속이 발생했을 때 처리가 가능한 기능이 있나 없나의 차이점
  • 동시 접속을 고려하여 만들어진 리스트가 Vector이다
  • Arraylist는 동시접속을 고려안하고 가볍다는 장점이 있다.

3) Linkedlist

  • 양방향 포인터 구조로 데이터의 삽입, 삭제가 빈번할 경우 빠른 성능 보장
  • 스택, 큐, 양방향 큐 등을 만들기 위한 용도로 쓰임
  • lterator 사용
  • 노드가 다음 노드와 이전 노드를 참조하는 방식으로 데이터 저장
  • 각 요소가 이전 요소와 다음 요소의 정보를 가지고 있는 것이 “연결 리스트”의 특정

Linkedlist 특징

  • 동적 크기 : 요소가 추가되거나 제거될 대마다 자동으로 크기 조정됨
  • 요소의 삽입 및 삭제 효율성 : 중간에 요소를 삽입하거나 삭제하는 것이 매우 효율적, 노드 간의 연결만 변경하면 되기 때문
  • 순서 유지 : 요소를 추가한 순서대로 요소를 저장하므로, 요소의 순서를 유지함
  • 중복 허용 : 동일한 요소를 여러 번 포함함
  • Null 요소 허용 : null 요소를 허용함Iterator 추출 전용 인터페이스
    • 데이터를 추출하기 위한 데이터 임시 저장공간
    • 주로 순서가 없는 자료구조의 값들을 추출할 때 사용
    • 보통 hasNext와 next 메소드를 이용한 while문으로 값을 추출한다.
  • LinkedList는 인덱스를 이용한 빠른 접근이 상대적으로 느림 특정 위치의 요소를 찾기 위해서는 처음 또는 끝에서부터 해당 위치까지 순차적으로 이동해야하기 때문 LinkedList는 자주 요소의 삽입이나 삭제가 발생하고, 인덱스를 이용한 접근이 빈번하지 않은 상황에서 효율적으로 사용할 수 있음

linked 특성상 항상 처음부터 같은 경로를 반복적으로 지나면서 데이터의 위치를 검색해야하기 때문에 마지막으로 접근한 데이터를

기준으로 그 다음 데이터를 알아내는 것이 더 쉽다


2. Set : 터페이스는 중복을 허용하지 않는 컬렉션을 정의

  • 중복되지 않는 숫자(데이터)를 구할 때 사용하면 유용
  • 같은 요소가 한 번 이상 Set에 포함될 수 없음
  • 대부분의 Set 구현체는 요소의 순서를 보장하지 않으며, 이들 요소에는 인덱스가 없음
  • HashSet, TreeSet 등이 이에 속함
    • 특징 : 순서가 없고, 중복을 허용하지 않음
    • 장점 : 빠른 속도
    • 단점 : 단순 집합의 개념으로 정렬하려면 별도의 처리가 필요함

hashSet의 key값은 hashcode 비교에 의해 중복여부가 확인된다.

hashCode()를 가지고 비교하고 ==로 비교해서 true를 리턴하거나 equals()로 비교해서 true를 리턴하는지 체크

element를 덮어 쓸 것인지 결정하면 된다.

Hashset은 Iterator를 사용한다

왜냐하면, set은 순서가 없기 때문에 데이터에 순서를 정해 추출해야한다.


3. Map : 키와 값 쌍의 컬렉션을 정의

  • 키의 중복을 허용하지 않지만 다른 키에 대해 동일한 값을 가질 수 있음
  • Map 인터페이스를 사용하면 키를 이용하여 값을 검색할 수 있음
  • HashMap, TreeMap, LinkedHashMap 등이 이에 속함
    • 특징 : Key(키)랑 Value(값)으로 나눠서 데이터 관리, 순서는 없으며, 키에 대한 중복은 없음
    • 장점 : 빠른 속도
    • 단점 : Key의 검색 속도가 검색 속도를 좌우함

4. HashMap : Map 인터페이스의 한 구현체로서, 객체들을 해시 함수를 통해 해시값으로 변환하고 이를 인덱스로 사용하여 데이터를 저장하고 검색하는 자료구조

  • 해시 충돌(hash collision)이 발생할 경우, LinkedList 혹은 TreeNode 형태로 체이닝되어 저장됨
  • HashMap은 순서를 보장하지 않음
  • index번호 대신 키값으로 값을 찾는 맵형태의 자료구조도 iterator 클래스를 이용해서 키값을 순서대로 iterator에 저장해두면 순서대로 데이터 추출이 가능하다.

 


 

728x90
반응형
LIST
728x90
반응형
SMALL

To do

  • [x] 아침운동하기
  • [x] 코테10문제풀기
  • [x] 자바 3페이지 읽기
  • [x] cs책 읽고 정리하기 4로그 완료
  • [x] 이력서 수정하기 (전체적인 수정 + 포폴 정리)
  • [x] 이력서 과제
  • [x] *리눅스 계보와 윈도우, 맥 의 차이점 더 찾아보고 정리하기!
  • [x] 폰 노이만 아키텍쳐 정리하기!

오늘도 하루종일 이력서만 수정한 거 같아요..!

4로그 - 가로세로 1cm 프로세서 칩

컴퓨터의 전자 회로는 몇 가지 기본 소자가 매우 많이 모여 만들어진다. 가장 중요한 기본 소자로는 논리 게이트를 들 수 있다.

논리 게이트

  • 1 or 2의 입력 값을 바탕으로 단일 출력 값을 계산해 낸다.
  • 전압이나 전류 같은 입력 신호를 이용하여 전압이나 전류인 출력 신호를 제어한다.
  • 이러한 게이트가 필요한 만큼 적절한 방식으로 연결되면 어떤 종류의 계산도 수행할 수 있다.
  • 찰스 펫졸드 <<CODE>>
  • 수많은 웹사이트에서 논리회로가 산술 연산과 여타 계산을 수행하는 방법을 그래픽 애니메이션으로 보여 준다.

회로 소자에서 가장 핵심적인 부분은 트랜지스터다.

트랜지스터

  • 1947년 벨 연구소 - 존 바딘, 월터 블래튼, 월리엄 쇼클리 발명 1956년 노벨 물리학상을 공동 수상
  • 컴퓨터에서 트랜지스터는 기본적으로 스위치 역할을 한다.

에니악 :

전구와 크기가 비슷한 진공관

  • 1960년대 컴퓨터네서는 지우개 정도 크기의 트랜지스터로 논리 게이트가 만들어짐

논리 게이트는 집적회로상에서 만들어진다.

집적회로

  • 칩, 마이크로칩
  • 집적회로는 모든 소자와 배선이 단일 평면 위에 들어가 있으며, 개별 부품과 재래식 전선이 없는 회로를 만들기 위해 일련의 복잡한 광학적, 화학적 공정을 거쳐 제조된 것
  • 직접회로는 개별 부품으로 만들어진 회로보다 훨씬 작고 견고 하다.
  • 칩의 지름은 약 12인치(30cm)인 원형 웨이퍼상에서 한꺼번에 제조된다.
  • 웨이퍼는 잘려서 각 칩으로 나뉘고, 칩은 하나씩 패키징된다.
  • 일반적인칩은 시스템의 나머지 부분과 칩을 연결해 주는 수십에서 수백 개의 핀이 있는 더 큰 패키지에 장착된다.

집적회로가 실리콘 기반으로 만들어진다는 점에서 착안해서 집적회로 사압이 처음 시작되어 실리콘밸리라라고 붙임 실리콘밸리

  • 모든 첨단 기술 회사를 일컫는 약칭
  • 뉴욕에 있는 실리콘앨리나 영국 케임브리지에 있는 실리콘펜 같은 수십 곳의 추종 지역 탄생

집적회로

  • 1958년경에 로버트 노이스와 잭 킬비가 독자적으로 발명 2000년 노벨 물리학상 공동 수상
  • 디지털 전자 장치의 핵심 요소이지만 다른 기술도 함께 사용됨
728x90
반응형
LIST

'일상 > TIL' 카테고리의 다른 글

소프트웨어 아키텍쳐에 대해서  (0) 2023.05.13
리눅스 정리  (0) 2023.05.12
폰노이만 아키텍쳐 요약  (0) 2023.05.09
1로그 - 컴퓨터의 논리와 구조  (0) 2023.05.08
우아한 캠프 코드테스트 시험 후기  (0) 2023.05.06

+ Recent posts