이 영역을 누르면 첫 페이지로 이동
천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

페이지 맨 위로 올라가기

천천히 꾸준히 조용히

천천히 꾸준히 조용히.. i3months 블로그

Computer Science

  • 천천히 꾸준히 조용히
[시스템 프로그래밍] 컴퓨터 시스템과 정보의 표현

[시스템 프로그래밍] 컴퓨터 시스템과 정보의 표현

2022.09.15
컴퓨터 시스템은 소프트웨어와 하드웨어로 구성된다. (시스템 = 소프트웨어 + 하드웨어) 가장 밑바닥에 하드웨어가 위치하고, 운영체제가 하드웨어를 관리해준다. 컴퓨터 시스템이 밑에 있고, 시스템 위에 C, Java 등으로 작성한 응용 프로그램이 올라간다. BUS / I.O / main memory / cache memory / CPU 등이 하드웨어에 속한다. BUS 버스는 하드웨어 요소들을 연결하고 데이터를 전송하는 통로 정도로 생각하면 된다. (워드 단위로 전송한다) CPU 연산장치(ALU), 제어장치 및 레지스터로 구성되어있고 컴퓨터의 두뇌 역할을 한다. CPU는 클락 펄스마다 명령 주기 (Instruction Cycle) 를 반복한다. 1. 인출 (fetch) : Program Counter에 의거해..
[HTTP] 헤더 / 쿠키와 캐시

[HTTP] 헤더 / 쿠키와 캐시

2022.08.13
헤더에는 HTTP 전송에 필요한 모든 부가정보가 들어가 있다. (메세지 바디 내용, 크기, 인증, 요청 클라이언트, 서버 정보..) 표준 헤더는 수없이 많고, 임의로 헤더를 추가할 수도 있다. 헤더는 크게 4가지로 분류할 수 있다. (실제로는 더 복잡함) 1. General 헤더 : 메세지 전체에 적용되는 정보 2. Request 헤더 : 요청 정보 3. Response 헤더 : 응답 정보 4. Representation 헤더 : 과거 엔티티 헤더에서 이름이 바뀜. 메세지 바디를 통해 표현 데이터 전달 Representation 헤더 Content-Type : 표현 데이터의 형식을 알려준다. (html, xml, json 등등.. 메세지 바디에 들어가는 내용) Content-Encoding : 표현 데이..
[HTTP] 상태코드

[HTTP] 상태코드

2022.08.12
클라이언트가 보낸 요청에 대한 처리 상태를 응답 메시지에서 상태코드를 통해 알려준다. 100번대 (Informational) : 요청이 수신되고 처리중 200번대 (Successful) : 요청 정상 처리 300번대 (Redirection) : 요청이 완료되려면 추가 행동이 필요 400번대 (Client Error) : 클라이언트 오류 500번대 (Server Error) : 서버 오류 200번대 200 OK : 요청 성공을 의미함 201 Created : 요청에 성공하고 새로운 리소스가 반환됨 (POST 메서드를 사용한 경우 URI도 함께 반환) 202 Accepted : 요청이 접수됐지만 처리되진 않음 204 : No Content : 요청을 성공적으로 수행했지만 본문에 보낼 데이터가 없음. (임시저..
[HTTP] HTTP 메서드와 활용

[HTTP] HTTP 메서드와 활용

2022.08.12
웹에서 HTTP를 통해 통신하는 경우를 생각해보자. 클라이언트는 주소 창에 URI를 입력해 서버에게 요청한다. 이 때 API URI는 어떻게 설계됐을까? (https://aws.amazon.com/ko/what-is/api/ API에 대한 설명은 이쪽을 참고하자.) URI는 리소스 식별에 집중해야 한다. 여기서 리소스는 웹 사이트의 회원이 있다면 그 회원 자체를 의미한다. 회원을 등록하는 작업이 있다면 회원 / 등록 으로 구분해서 생각해야 한다. 즉, 왼쪽 예시보다 오른쪽 예시가 더 괜찮게 설계됐다고 할 수 있다. 이렇게 되면 URI가 중복될 수 있는데, 이럴 때 HTTP 메서드를 사용한다. GET 리소스를 조회할 때 주로 사용한다. 서버에 전달하는 데이터는 쿼리를 통해 전달한다. GET 메서드를 통해 ..
[HTTP] URL / HTTP 기본

[HTTP] URL / HTTP 기본

2022.08.12
URI : Uniform Resource Identifier URL : Uniform Resource Locator URN : Uniform Resource Name URL은 위치를, URN은 이름을 나타낸다. URL과 URI는 보통 같이 쓰이고 주소창에 URL URI를 입력해 웹페이지를 이동한다. https://hanamon.kr/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC-%EA%B8%B0%EB%B3%B8-url-uri-urn-%EC%B0%A8%EC%9D%B4%EC%A0%90/ [네트워크/기본] URI, URL 및 URN의 차이점 - 하나몬 수정 보완 중에 있습니다… 🙏 그래도 의견 있으시면 주세요. ⚡️ URI과 그 하위 개념 URL, URN 개념 이해하기 ❗️URI 이란? U..
[HTTP] 클라이언트와 서버 간의 통신 (TCP, UDP, IP, DNS)

[HTTP] 클라이언트와 서버 간의 통신 (TCP, UDP, IP, DNS)

2022.08.10
클라이언트와 서버가 복잡한 인터넷 망을 통해 통신할 때 IP(Internet Protocol)가 필요하다. IP는 패킷이라는 통신 단위로 지정한 IP주소로 데이터를 전달할 수 있도록 정해놓은 규칙이다. 내 IP와 목적지의 IP를 전송할 데이터를 묶어 위와 같이 IP 패킷을 만든다. 만들어진 패킷을 인터넷 망에 던져놓으면, 노드들끼리 패킷의 목적지와 연관된 노드를 찾는 작업을 반복하며 패킷을 전송한다. (여기서 노드는 출발지와 목적지를 중계하는 서버인 라우터 정도로 생각하자.) 패킷이 목적지에 도착하면 다시 패킷을 만들어 잘 받았다고 말해준다. IP는 컴퓨터와 컴퓨터간의 통신을 명확히 구현했지만, 몇 가지 문제점이 있다. 나는 패킷을 보내는데 상대방의 컴퓨터는 꺼져있어 받을 수 없다면? 패킷이 가는 중 어..
Pytorch Lightning

Pytorch Lightning

2022.03.26
Pytorch Lightning은 Pytorch보다 더 높은 수준의 추상화를 지원해 구조화된 코드를 작성할 수 있도록 한다. PL의 코드 스타일에 대해 살펴보자. 먼저 클래스(모델)를 선언한 다음, init함수에서 신경망 모델의 layer, 활성함수 등을 선언하고 forward에서는 이미 만든 layer를 활용해 모델을 구축한다. 그 다음 데이터를 준비한다. prepare_data함수에서 데이터를 입력받은 다음 텐서로 변환하고, 변환된 텐서에 대해 학습 / 검증 / 시험 단계를 거친다. 다음으로는 옵티마이저를 준비한 다음, 오차함수를 준비한다. 입력한 데이터를 최적화하는 과정이다. 즉, 학습 검증 평가 모드를 함수단위로 분할해서 진행한다. 각각의 단계를 자세히 살펴보자. epoch_end부분의 리턴타입은..
Pytorch / Tensorflow - 차원

Pytorch / Tensorflow - 차원

2022.03.18
설치 파이토치와 텐서플로우를 설치할 때, 각자 다른 가상환경에 따로 설치하는 편이 좋다. 같은 가상환경에 설치해도 둘은 다른 라이브러리이기에 충돌이 발생하지는 않지만, 하나의 가상환경에 여러 개의 프로젝트를 작업할 경우 무슨 프로젝트에 무슨 라이브러리가 필요한지 알기 어렵게 될 수 있다. 즉, 파이토치를 사용하는 프로젝트는 파이토치 가상환경에서, 텐서플로우를 사용하는 프로젝트는 텐서플로우 가상환경에서.. 이런 방식으로 사용하는게 합리적이다. 차원 2차원 텐서의 경우 행과 열로 표현될 수 있어 행렬로 이해할 수 있다. 이미지 데이터는 (가로, 세로, 색상)으로 총 3차원으로 표현되는데, 여기서 이미지 데이터 batch를 활용하게 되면 (이미지 데이터, 가로, 세로, 색상)으로 4차원의 형태가 된다. 차원이..
Pytorch - Tensor

Pytorch - Tensor

2022.03.16
정의 다차원 배열을 의미하며, Numpy에서의 Array와 유사하다. 연산 속도를 극대화하기 위해 GPU연산을 지원한다. 이 때 그래픽카드가 없으면 CPU모드로 설치할 수 있는데, 이런 경우 GPU연산은 지원되지 않지만, 더 많은 딥러닝 연산 함수가 지원되는 tensor객체를 사용하기 위해 파이토치를 사용하기도 한다. x = torch.zeros(5, 3) print(x) print(x.shape) """ tensor([[0., 0., 0.], [0., 0., 0.], [0., 0., 0.], [0., 0., 0.], [0., 0., 0.]]) 행렬의 원소를 0으로 하고 출력한다 torch.Size([5, 3]) 5행 3열 크기의 행렬 """ 2차원 텐서 뿐만 아니라 3차원 N차원까지 존재하며, torc..
정리

정리

2021.12.13
1. (Traditional) ML 과 DL의 차이점 딥러닝에서는 backpropagation으로 Cost를 최소화한다. (층을 겹쳐서 쌓으니 scale이 커짐) DL 에서는 Feature 추출도 기계가 함. (인간의 개입을 최소화) 위의 이유 때문에 DL의 모델이 ML보다 복잡해지고 결정할 parameter수도 많아짐. 학습 데이터가 많이 필요함. 2. backpropagation, chain rule 여러 층으로 구성된 Neural Network. 즉 Deep Neural Network 에서 가중치를 갱신할 때 사용. forward(Loss 값 계산) -> backward(편미분 chain rule) -> gradient descent(가중치 업데이트) MLP에서 XOR을 처리하기 위해 backpro..
Machine Learning - RNN

Machine Learning - RNN

2021.12.05
RNN (Recurrent Neural Networks) 지금까지 배웠던 것들을 생각해보자. 처음에 DNN (Deep Neural Networks)에 대해 배웠고, 다음으로 영상과 이미지 처리에 효과적인 CNN (Convolution Neural Networks)을 배웠으며 이제는 series에 대한 정보를 다룰 때 유용한 RNN에 대해 배울 차례이다. DNN Parameter가 급격하게 많아지는 단점이 있다. CNN Parameter를 줄일 수 있다. backpropagation을 수행하는 점은 DNN과 동일함. RNN RNN은 순차적인 데이터의 처리에 적합하다. ex. 시간에 따라 순차적인 입력이 들어오는 음성, 음악 상태 정보 등.. RNN을 음성인식에 사용하는 예시를 생각해보자. 우리는 음성을 직..
Deep Learning - CNN

Deep Learning - CNN

2021.12.05
딥러닝의 활용 분야인 CNN (Convolutional Neural Network) 에 대해 알아보자. 영상을 볼 때 우리는 영상을 보지만, 컴퓨터는 숫자를 본다. 이미지는 행렬 기반으로 표현된다. 예시로 위와 같이 6x6 size의 행렬이 있을 때 3x3행렬을 * 연산 해 줄 수 있는데 이 연산을 Convolution이라고 한다. (선형대수의 곱셈과 convolution은 다름) 큰 수일수록 밝고 작은 수일수록 어둡다고 하자. convolution 연산 과정을 살펴보자. 3x3행렬로 나눈 다음 각 요소에 따라 연산을 진행한다. 완료된 연산은 오른쪽의 결과 행렬에 적는다. 위 방법을 반복해서 4x4 행렬을 완성한다. 예시의 연산을 마치면 위와 같이 나온다. 여기서 3x3행렬은 Filter라고 하는데 딥러..
  • 최신
    • 1
    • ···
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
  • 다음

정보

천천히 꾸준히 조용히 블로그의 첫 페이지로 이동

천천히 꾸준히 조용히

  • 천천히 꾸준히 조용히의 첫 페이지로 이동

검색

방문자

  • 전체 방문자
  • 오늘
  • 어제

카테고리

  • 분류 전체보기 (664)
    • Algorithm (205)
      • Data Structure (5)
      • Theory && Tip (33)
      • Baekjoon (166)
      • ALGOSPOT (1)
    • Spring (123)
      • Spring (28)
      • Spring Web MVC (20)
      • Spring Database (14)
      • Spring Boot (6)
      • Spring 3.1 (11)
      • Spring Batch (6)
      • Spring Security (16)
      • JPA (12)
      • Spring Data JPA (5)
      • QueryDSL (4)
      • eGovFramework (1)
    • Programming Language (74)
      • C (25)
      • C++ (12)
      • Java (19)
      • JavaScript (15)
      • Python (1)
      • PHP (2)
    • Computer Science (142)
      • Machine Learning (38)
      • Operating System (18)
      • Computer Network (28)
      • System Programming (22)
      • Universial Programming Lang.. (8)
      • Computer Architecture (4)
      • Compiler Design (11)
      • Computer Security (13)
    • Database (21)
      • Database (7)
      • MySQL (3)
      • Oracle (3)
      • Redis (5)
      • Elasticsearch (3)
    • DevOps (20)
      • Docker && Kubernetes (8)
      • Jenkins (4)
      • Amazon Web Service (8)
    • Mobile (28)
      • Android (21)
      • Flutter (7)
    • 💡 솔루션 (16)
    • 💬 기록 (10)
    • 📚 공부 (0)
    • 📝 낙서장 (25)

최근 글

나의 외부 링크

메뉴

  • 홈
반응형

정보

i3months의 천천히 꾸준히 조용히

천천히 꾸준히 조용히

i3months

블로그 구독하기

  • 구독하기
  • RSS 피드

티스토리

  • 티스토리 홈
  • 이 블로그 관리하기
  • 글쓰기
Powered by Tistory / Kakao. Copyright © i3months.

티스토리툴바