오늘은 알고리즘에 대해 알아보겠다. 알고리즘이란? → 문제를 해결하는 단계적인 방법 여러 알고리즘이 있다. 전화번호부 예시 Mike를 전화번호부에서 찾으려면 첫 장부터 한 장씩 넘겨 찾는 방법이 있을 수 있다. 1024장이면 최대 1024단계가 필요할 수도 있다. 더 빠르게 하면 반씩 분류해서 정보를 정리 할 수 있다. 이렇게 하면 1024장이면 10단계면 찾을 수 있다. 이 단계들을 알고리즘이라고 한다. 좋은 알고리즘이란? 해결해야할 양 대비 처리속도가 더 적게 늘어나는 것 정확하고 효율이 좋은것 문제의 양대비 해결 시간이 적은 것이 좋은 알고리즘이다. 의사코드 전화번호부 예시를 코드 형식으로 나타내본다. 전화번호부를 집어 든다 전화번호부의 중간을 편다 페이지를 본다 만약 Mike Smith가 페이지에..
문자의 표현 이전 글에서 컴퓨터는 2진법을 사용해 작동한다고 알아보았다. [CS50] 컴퓨팅사고와 2진법 오늘은 컴퓨터 사이언스 공부를 시작하기 전에 컴퓨터 사이언스에 대해 알아보겠다. 컴퓨터 사이언스란 "컴퓨터를 이용한 문제 해결에 대한 학문"이다. 문제 해결은 입력을 받아 출력을 만들어 daino.tistory.com 그렇다면 문자는 어떻게 표현할까? 바로 숫자로 변환해 표현한다. 문자를 숫자로 표현 할 수 있도록 정해진 약속이 있는데, 그중 하나가 아스키 코드이다. ASCII ASCII는 8비트까지만 사용했고 미국식 영어만 표현했기에 모든 문자를 표현하기 어려웠다. 그래서 상위 개념으로 유니코드가 탄생했다. 사진의 표현 → RGB값 사용 색상 패턴을 숫자로 해석해서 RGB 양으로 받아들이고 모든 색..
오늘은 컴퓨터 사이언스 공부를 시작하기 전에 컴퓨터 사이언스에 대해 알아보겠다. 컴퓨터 사이언스란 "컴퓨터를 이용한 문제 해결에 대한 학문"이다. 문제 해결은 입력을 받아 출력을 만들어내는 과정을 말하는데, 이러한 입력, 출력을 표현하기 위해 약속이 필요하다. 컴퓨터 사이언스의 첫번째 개념은 이 입출력을 어떻게 표현하는지에 대한 표현 방법이다. 컴퓨터에서 2진법 컴퓨터에 작동원리를 알아보고 2진법이 무엇인지, 컴퓨터는 왜 2진법을 사용하는지 알아보겠다. 10진법 인간은 일상에서 10진법을 사용한다. 10진법은 0, 1, 2, 3, 4, 5, 6, 7, 8, 9로 이루어진이고, 손가락으로 숫자를 세는것과 같다. 만약 123을 표현한다면, 아래와 같이 10의 거듭제곱의 수를 곱해 사용한다. 2진법 인간과 달..
이전에 Swift로 언어를 시작하며 CS강의를 듣은 적이 있다. 그때는 "이게 왜 필요하지? 그냥 코드 치면 안되나?"라는 생각으로 대충 듣고 머리에서 지워버렸다. 하지만 계속해서 개발 공부를 해나가면서, 프로그래밍을 더 깊게 이해하고 싶다는 생각이 들었다. 그래서 알아보던 중 하버드에서 강의하는 [CS50]이라는 컴퓨터 사이언스 강의를 네이버 부스트코스에서 무료로 들을 수 있다는 것을 알았다. 앞으로 CS50 강의를 듣고 정리를 하며 기본을 더 탄탄하게 자리잡는 시간이 되었으면 좋겠다. 다 함께 배우고 성장하는 부스트코스 부스트코스(boostcourse)는 모두 함께 배우고 성장하는 비영리 SW 온라인 플랫폼입니다. www.boostcourse.org
나는 이전 글에서 어떤 질문자님이 댓글 남겨주신 질문에 대한 글을 썼다. [Flutter] API JSON 파싱 서막 이전에 나는 구글의 API를 활용한 글을 쓴 적이 있다. 플러터 [Flutter] 구글맵 [Googlemap] - json 데이터로 마커 생성(2023ver) http로 전 세계 구글지사 json 파일을 받아 구글맵에 마커를 생성해 보겠 daino.tistory.com 사실 이렇게 정리한 이유는 나도 그 질문을 받았을 때 몰랐기 때문이다. 이전에 글을 작성 할때는 단순히 "json 파일을 직렬화 할 때 json_serializable을 사용할 수 있구나!" 정도의 지식만 가지고 있었다. 근데 질문자님에게 질문을 받았을 때 모르는 부분이지만 해결해주고 싶다는 엄청난 욕구가 생겼다. 그래서 ..
서막 이전에 나는 구글의 API를 활용한 글을 쓴 적이 있다. 플러터 [Flutter] 구글맵 [Googlemap] - json 데이터로 마커 생성(2023ver)http로 전 세계 구글지사 json 파일을 받아 구글맵에 마커를 생성해 보겠습니다. 패키지 추가 HTTP 요청을 위해 http 패키지 추가 flutter pub add http json으로 받아온 데이터를 직렬화해주는 패키지를 추daino.tistory.com 근데 어떤 분이 내가 그 글에 댓글을 달아주셨다. JSON 데이터 파싱시, json_serializable 패키지를 사용했는데, 데이터가 원할하게 받아오지지 않고 누실이 있다는 내용이었다. 사실 나는 주로 Firebase로 내부 데이터만 관리했지 외부 API를 써본 적이 없었다. ..