분류 전체보기
-
람다 λ lambdaSwift 2020. 8. 4. 20:59
공부하며 정리하는 블로그로 잘못된 내용이 다소 포함될 수 있습니다. 감안하여 봐주시고 문제가 있다면 댓글로 알려주시면 감사하겠습니다!! 람다가 Swift 카테고리가 맞는지는 조금 의문이지만.. 클로저에 대해 이해하기 전에 람다를 간략하게 살펴보고 가면 좋겠다 싶어서 글을 쓰게 되었습니다 :) 아주 빠르고 간단하게만 살펴보고 가겠습니다. 람다, 즉 람다 대수는 수학자 알론조 처치에 의해 수학기초론 연구의 일환으로 1930년대 소개되었다고 합니다. 자세한 역사는 위키가 더 좋을듯 하구요. 람다는 처음에 논리적 모순을 보이기 위해 사용되었다고 합니다. 함수에 굳이 이름이 있을 필요 없다는 점에 착안해서 표현을 축약시켜 놓은 형태로 볼 수 있습니다. 프로그래밍에서 람다는 주로 익명 함수를 나타내기 위해 사용되는..
-
ReduceSwift 2020. 8. 4. 15:22
Reduce에 대해 알아보겠습니다! Reduce 정의부터 살펴볼까요?? 직역해보면 연속된 원소들을 클로저를 이용해 결합시키고 그 결과를 리턴한다. 정도로 이해할 수 있을 것 같아요. reduce는 2개의 파라미터 initialResult, nextPartialResult 와 1개의 Result 를 return 합니다. 공통점이 보이시나요? 네 파라미터와 결과가 모두 어떤 Result 들을 리턴하고 있습니다. reduce를 사용하는 목적을 생각해볼까요? 위 정의의 Return Value 를 보면 the final accumulated value, 최종적으로 계산된 값을 리턴한다고 나와있습니다. 단계 단계가 다 결과이니 만약 시퀀스의 원소가 없다면, 즉 nextPartialResult가 없으면, 초기값(초기..
-
vi, vim 이란?Linux 2020. 8. 2. 15:22
특히 Linux는 공부하면서 포스팅하는 왕초보 블로그 입니다. 오류나 잘못된 내용이 많을 수 있으니 감안해서 봐주시고 댓글로 알려주신다면 더욱 감사하겠습니다 :) vi 란 유닉스 환경에서 사용되는 텍스트 편집기(editor) 입니다. 위키백과의 설명을 한번 볼까요? 1976년 빌 조이가 초기 BSD 릴리즈에 포함될 편집기로 만들었다. vi라는 이름은 한 줄씩 편집하는 줄단위 편집기가 아니라 한 화면을 편집하는 비주얼 에디터(visual editor)라는 뜻에서 유래했다. 간결하면서도, 강력한 기능으로 열광적인 사용자가 많다. vim 이란 'Vi IMproved' 의 약자로 Bram Moolenaar가 만든 vi 호환 텍스트 편집기 입니다. vi와 호환되면서도 독자적으로 다양한 기능을 추가하여 사용자의 편..
-
Shell 이란?Linux 2020. 8. 2. 14:52
특히 Linux는 공부하면서 포스팅하는 왕초보 블로그 입니다. 오류나 잘못된 내용이 많을 수 있으니 감안해서 봐주시고 댓글로 알려주신다면 더욱 감사하겠습니다 :) Shell 영어 단어로 Shell 이란 껍데기라는 뜻입니다. 컴퓨터 용어로 사용되는 쉘은 커널을 감싸는 껍데기를 의미합니다. 사용자와 커널과의 중간다리 역할을 하는 것으로 사용자로부터 명령을 받아 이를 해석하고 프로그램을 실행시킵니다. Shell은 왜 필요할까 쉘은 컴퓨터가 동작하는 데 기본 바탕이 된다고 합니다. 사용자가 컴퓨터에서 편하게 사용하는 작업들도 사실상 그 밑바탕에는 스크립트 작업이 기본적으로 깔려 있겠죠. 다른 고수준의 프로그래밍 언어나 프로그래밍을 공부하더라도 플랫폼이나 방법들은 계속 바뀌고 변화합니다. 기본 바탕을 이해하고 있..
-
생각의 비밀일상/독서 2020. 8. 2. 01:50
2020.07.24 ~ 2020.08.0.1 내 삶의 태도를 다시 바라보게 해준 책이다. 평소 김승호 회장님의 삶에 대한 태도, 가치관, 생각 등을 풀어내신 책이지만, 명언 모음집, 어록 모음집 같다. 진실이 바탕이 되니 말에 힘이 있다. 삶의 연륜이 느껴진다. 이 책을 읽으며 왜 워렌버핏과의 점심 식사가(맥도날드에서 하는..) 몇 백달러에 팔리는지 알 것도 같았다. " 간혹 한 권의 책을 다 읽고 나면 문득 두려움이 몰려올 때가 있다. 내가 아직까지 이런 걸 모르고 살았다는 두려움이다. 이 세상에 얼마나 고수들이 많은가, 하는 자각에 대한 공포심이기도 하다. 이런 지식과 지혜 없이 살아남은 것이 행운이라는 생각이 들 정도이니 도저히 배우기를 멈출 수 없다. 책이 손에서 떠날 수 없는 이유다." 본문의 ..
-
생각의 비밀 - 필사노트일상/독서 2020. 8. 2. 01:26
필사노트 이 책을 한 마디로 요약하자면 감동이다. 말 그대로 시크릿이다. 한 마디 한 마디가 인생에 뼈가되고 살이 되는 깊이가 있다. 내용이 너무 좋아, 특히나 감명 깊은 내용을 필사하고자 한다. 독후감과는 별개로 말 그대로 필사 공간 :) 여기에 개인적 견해는 담지 않으나 인상적인 부분은 볼드로 남긴다. 책의 색 글자는 그대로 따른다. [성공한 부자들의 습관] 성공하는 사람들은 성공할 수밖에 없는 배경을 가지고 있다. 이 배경에 흔히 빽이라고 불리는 부모의 자산 등은 포함되지 않는다. 이것이 교육으로 온 것인지 스스로의 습득에서 온 것인지는 확실치 않다. 그러나 대부분의 성공한 사람들의 유사점은 놀랍도록 일치한다. 토머스 콜리가 자신의 저서 [부자되는 습관]에 이를 조사한 내용이 들어 있다. 성공한 사..
-
Commandline-tool 에서 Unit 테스트 환경 구축하기TDD 2020. 7. 31. 09:44
iOS 프로젝트를 만들 때는 Unit 테스트를 자동으로 추가해서 생성하는 옵션이 존재합니다. 하지만 macos의 command line tool 에서는 별도로 추가해줘야 한답니다 ㅠㅠ 하지만 어렵지 않아요! 오늘은 그 방법을 살펴보겠습니다 :) 먼저 Unit Test 를 추가해줘야 합니다.. 내 Project로 가서 + 버튼을 클릭합시다 다음으로 `Unit Testing Bundle` 을 추가합니다. 보통 HashTest 처럼 테스트대상+Test 로 이름짓는 것 같습니다. 이미 추가를 시켜놓고 스크린 샷을 찍어서 사진에는 이미 들어가있지만, 프로젝트 네비게이터에 추가되는 걸 확인할 수 있으실거에요 :) 이제 몇 가지 설정을 해줘야 합니다. Xcode 상단 메뉴에서 `Product -> Scheme -> ..
-
Unix의 탄생과 성장 그리고 LinuxLinux 2020. 7. 30. 09:21
리눅스 카테고리의 첫 글로 Unix의 탄생과 성장에 대해 간단하게 알아볼까 해요 :) 리눅스를 이해하기 위해서 먼저 UNIX에 대해 이해하고 가면 좋을 것 같아요. 유닉스(Unix)는 대부분의 현대적 컴퓨터 운영 체제(os)의 원형이 된 os입니다. 윈도우 계열이 아닌 리눅스, 안드로이드, iOS, macos 등이 유닉스를 기반으로 하고 있습니다. 초기의 유닉스는 어셈블리어로 제작되어 다른 기종에 이식하려면 그 기종에 맞게 어셈블리어로 다시 작성해야 하는, 기종간에 호환성이 없는 운영체제였습니다. 1973년 데니스 리치(Dennis R itchie)가 C언어를 개발함으로써, 유닉스는 C언어로 재작성되고 이식성과 호환성을 갖게 되며 큰 인기를 끌었습니다. 이후 벨 연구소를 중심으로 유닉스 사용자 그룹이 빠..