본문 바로가기

분류 전체보기191

[Algorithm] 쉽게 이해하는 소수찾기 알고리즘 : 에라토스테네스의 체(파이썬) 본 글에서는 전체 큰 틀을 잡기 위한 기초적인 에라토스테네스의 체를 구현하였습니다. 크게 에라토스테네스의 체가 무엇이고 왜 나왔으며 파이썬 코드로 어떻게 표현하는지에 초점을 맞춰 글을 작성하였고 글을 읽어 나갈 때 컴퓨터의 자원에 대한 관점으로 읽어나가시면 됩니다. :) Contents * 에라토스테네스의 체 ㄴ 개념이 뭔데? ㄴ 왜 나오게 되었을까? ㄴ 어떻게 표현할 것인가?(파이썬) 에라토스테네스의 체 란 무엇인가? 1) 이론 : 내가 원하는 수까지 소수를 빠르게 찾는 알고리즘 소수란 무엇인가? : 2보다 큰 자연수에 대해, 1과 자기 자신 이외의 다른 양의 정수로 나누어 떨어지지 않는 수(1은 소수가 아니다) Ex) 2,3,5,7,11..... 2) 왜 에라토스테네스의 체라는 개념이 나오게 됐을까?.. 2020. 12. 27.
[TCP/IP] HTTP 왜 응답코드를 사용할까? 왜 응답코드를 쓸까? 우리가 웹사이트에서 요청을하고 서버에서 응답을 받을 때에는 http라는 프로토콜을 통해 서로 통신을 하며 데이터를 주고 받게 된다. 클라이언트가 요청(Request)한것에 대해 응답(Response)을 할 때 너가 요청한것을 잘받았어의 경우는 무수히 많다. Good, Great, Ok, Nice 등. 우리 사람의 경우는 바로 이해 할 수 있지만, 컴퓨터체계에서는 이것을 이해 할 수 없다. 숫자로만 상호작용하는 컴퓨터를 위해 약속을 한것이다. * 잘된것의 경우는 -(너의 요청을 잘 받았어) : 2xx * 잘 안되는 경우는 ㄴ 클라이언트(너가 잘못 보낸거 같은데?) : 4xx ㄴ 서버 문제(우리측 문제야) : 5xx 이 외에도 1xx, 3xx도 있지만 자세한건 이 글에서 다루지 않는다. 2020. 12. 26.
큰 그림과 단계별로 이해하는 API, Rest(ful) API, SDK 개념 API, Rest(ful) API, SDK가 무엇인지 정립해서 글을 작성한다. 깊고 심화된 내용보다 전체 그림을 이해하도록 작성하였다. 각 각을 이해하기 위해서는 위의 그림을 참고하면서 읽어나가면서 더욱 도움이 될 것이다. Contents * API란 무엇인가? ㄴ 왜 API란 개념이 나왔을까? * REST API란 무엇일까? ㄴ 왜 REST란 말이 붙게 되었을까? ㄴ 어떻게 표현할까? * SDK란 무엇일까? ㄴ 왜 SDK란 개념이 나왔을까? API란? Application Programming Interface 의 줄임말로 사전적 용어 그대로 애플리케이션 프로그래밍 인터페이스를 의미한다. 단어적 사전에 모든 요소가 담겨 있는데 Interface라는 말이 제일 핵심이다. 기본적으로 클라이언트와 서버 간의.. 2020. 12. 25.
TCP/IP란 무엇이며 왜 배워야 하는가?(+프로토콜 개념) TCP/IP를 학습해나가면서, 큰 그림을 그리는 것을 목표로 글을 작성하게 됐습니다. TCP/IP를 심도 있게 공부하기 전 머릿속에 구조적으로 큰 그림을 그려보는 것을 목표로 편하게 글을 읽어나가면 될 것 같습니다. [ Contents ] * TCP/IP 란? ㄴ> Protocol 란? ㄴ> Protocol 왜 나오게 됐을까? * TCP란? ㄴ> 어떻게 표현될까? * IP란? ㄴ> 어떻게 표현될까? TCP/IP 무엇인가? TCP/IP(Transmission Control Protocol/Internet Protocol)란? 데이터가 의도된 목적지로 전송할 수 있도록 보장해주는 하나의 약속이다. 프로토콜(Protocol) 그게 뭔데? A) : 규정해놓은 약속이다.(규약) Q) 그렇다면 그 약속을 컴퓨터 체.. 2020. 12. 25.
[Python] 파이썬 : 예외 처리(try-except-finally) 단계별로 이해하기 코드를 작성하다가 오류가 출력되었을 때 이러한 오류 관리를 보다 쉽게 할 수는 없을까? 오류 관리에 대한 문제를 해결해보고자 파이썬 예외 처리 try-except-finally를 이해해보자. 단계 1) : 오류가 발생한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 nums = [1,2,3,4,5] print(nums[0]) # 1 정상 출력 print(nums[5]) # 오류 발생 # --------------------------------------------------------------------------- # IndexError Traceback (most recent call last) # in # 2 # 3 print(nums[0]) # ----> 4 p.. 2020. 12. 24.