목록코딩 (54)
책 읽다가 코딩하다 죽을래
🧾 이 강의는 시리즈 별로 되어있습니다. git (깃), github(깃허브)에 대해 제대로 배워보는 강의 1장 Git 설치법[클릭] git (깃), github(깃허브)에 대해 제대로 배워보는 강의 2장 Git 구조와 사용법[클릭] git (깃), github(깃허브)에 대해 제대로 배워보는 강의 3장 GitHub[클릭] it (깃), github(깃허브)에 대해 제대로 배워보는 강의 4장 Branch따는 법 및 PR[클릭] 📖 Git이 뭐에요? 규모가 큰 프로젝트, 현업에서는 여러 명의 개발자들과 협업하는 일은 기피할 수 없다. 이렇게 여러 명의 개발자들이 하나의 프로젝트를 동시에 개발할 때 어떤 식으로 협업을 할까? 차례대로 한 사람씩 돌아가면서 기능을 구현하면서 완성된 결과물은 카톡으로 공유하는 ..
깨끗한 코드는 단순하고 직접적이다. 깨끗한 코드는 잘 쓴 문장처럼 읽힌다. 깨끗한 코드는 결코 설계자의 의도를 숨기지 않는다. 오히려 명쾌한 추상화와 단순한 제어문으로 가득하다. - Object Oriented Analysis and Design with Application의 저자 그래디 부치- 항상 코드를 깨끗한 상태로 유지해야 합니다. 왜냐면, 깨끗한 코드가 있어야 깨끗한 코드를 만들 수 있습니다. 기존에 깨끗한 코드가 있어야 빠르게 코드를 이해하고 깨끗한 코드를 작성할 수 있기 때문입니다. 빨리 가기 위한 단 하나의 방법은 "깨끗한 코드를 항상 유지하는 것"입니다. 우리는 깨끗한 코드를 클린 코드로 부르며 이는 개발자가 지향해야하고 갖춰야하는 기본 덕목입니다. 이 강의는 시리즈 별로 되어있습니다...
이 강의는 시리즈 별로 되어있습니다. 클린코드 강의 0. 클린코드의 목적[클릭] 클린코드 강의 1. 의미 있는 이름[클릭] 클린코드 강의 2. 추상화[클릭] 클린코드 강의 3. 예외[클릭] 클린코드의 세 번째 원칙 예외입니다! 📖 리팩토링이란? 리팩토링은 외부 동작을 바꾸지 않으면서 내부 구조를 개선하는 방법으로, 소프트웨어 시스템을 변경하는 프로세스이다. 소프트웨어를 보다 이해하기 쉽고, 수정하기 쉽도록 만드는 것, 겉으로 보이는 소프트웨어의 기능을 변경하지 않는 것이다. 현업에서의 웹 개발자는 완성된 프로젝트란 없습니다. 프로젝트가 완성되면 요구사항이 생기고 그 요구사항을 완료하면 또 다른 요구사항이 생기기 때문입니다. 우리는 요구사항을 구현해주기 위해서는 코드를 한줄한줄 읽어보면서 이해해야 하고 다..
이 강의는 시리즈 별로 되어있습니다. 클린코드 강의 0. 클린코드의 목적[클릭] 클린코드 강의 1. 의미 있는 이름[클릭] 클린코드 강의 2. 추상화[클릭] 클린코드 강의 4. 리팩토링[클릭] 클린코드의 세 번째 원칙 예외입니다! 📖 예외처리를 해야 하는 이유 (코드는 파이썬이지만 파이썬은 몰라도 다른 언어의 기본 배경지식을 이용해 이해할 수 있다면 상관없습니다.) def buy_foods_for_mom(): go_to_butcher_shop() buy_pork() go_to_supermarket() buy_milk() 위 코드를 보자 그냥 봐서는 정상적으로 동작할 것 같지만 만약 정육점에 고기가 없었다면 어떻게 될까요? 그렇다면 슈퍼 마켓은커녕 집에는 돌아오지 못하고 영원히 정육점에 고기가 생길 때까지..
이 강의는 시리즈 별로 되어있습니다. 클린코드 강의 0. 클린코드의 목적[클릭] 클린코드 강의 1. 의미 있는 이름[클릭] 클린코드 강의 3. 예외[클릭] 클린코드 강의 4. 리팩토링[클릭] 클린코드의 두 번 째 원칙 추상화입니다! 이것의 구조는 접점(接點)과 그것을 동작시키는 기구로 되어 있다. 손으로 동작시키는 간단한 것에서 전자력(電磁⼒)에 의하여 작동되는 대형까지 매우 많은 방식과 구조가 있다. 전력용에서는 개폐에 수반돼 는 불꽃이나 열에 의한 접점의 소손(燒損)을 피하기 위하여 빨리 끊는 기구를 설치한 것이 있으며, 대형 에는 소호 장치(消弧裝置)를 붙이기도 한다. 신호회로에는 다접점(多接點)의 이것이 사용되며 또 전기 신호로 동작하는 계전기(릴레이) ·진공관 ·반도체 등을 이용한 이것은 논리회..
이 강의는 시리즈 별로 되어있습니다. 클린코드 강의 0. 클린코드의 목적[클릭] 클린코드 강의 2. 추상화[클릭] 클린코드 강의 3. 예외[클릭] 클린코드 강의 4. 리팩토링[클릭] 클린코드의 첫 번 째 원칙 의미 있는 이름입니다! 📖 의미 있는 이름이란? 변수 이름을 짓는 것은 프로그래머에 있어서 대단히 중요한 문제입니다. 한 번 지은 이름이 10번이고 수십 번이고 쓰이기 때문입니다. (코드는 파이썬이지만 파이썬은 몰라도 다른 언어의 기본 배경지식을 이용해 이해할 수 있다면 상관없습니다.) mca = 3 다음 코드를 봅시다. 무엇을 설명하는 것 같아 보이나요? 만약 제가 이런 코드를 작성한다면, 6개월 후에 mca라는 단어를 보고 원래 의미를 떠올릴 수 있을까? 하물며, 이 코드를 본 다른 개발자는 무..
📚 this(자기 참조)란? this는 자신이 속한 객체 또는 자신이 생성할 인스턴스를 가리키는 자기 참조 변수 입니다. this를 통해 자신이 속한 객체 또는 자신이 생성할 인스턴스의 프로퍼티나 메소드를 참조할 수 있습니다. 에서 이웅모 저 즉 자바스크립트 내에서 this는 '누가 나를 불렀느냐'를 뜻한다고 합니다. 그래서 this를 소환했을 때의 어떤 실행 컨텍스트에서 불러내었는지를 알면 이해하기 쉬워집니다. 📋 실행 컨텍스트에 따라 달라지는 this this는 다음 실행 컨텍스트에 따라 달라집니다. 전역 공간에서 -> window/global 함수 내부에서 -> window/global 메소드 호출 시 -> 메소드 호출 주체 callback함수에서 -> 함수 내부에서와 동일 생성자 함수에서 -> 인..
문제 스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out) 특성을 가지고 있다. 1부터 n까지의 수를 스택에 넣었다가 뽑아 늘어놓음으로써, 하나의 수열을 만들 수 있다. 이때, 스택에 push하는 순서는 반드시 오름차순을 지키도록 한다고 하자. 임의의 수열이 주어졌을 때 스택을 이용해 그 수열을 만들 수 있는지 없는지, 있다면 어떤 순서로 push와 pop 연산을 수행해야 하는지를 알아낼 수 있다. 이를 계산하는 프로그램을 작성하라. 입력 첫 줄에 n (1 ≤ n ≤ 100,000)이 주어..