본문 바로가기

분류 전체보기

(31)
프로그래밍이란? 소프트웨어란? 삶에서 불편했던 문제를 해결하기 위해 개발이 됨 문제해결을 위한 과학적 사고 복잡한 문제를 작은 문제로 분해하여 접근하는 방식 컴퓨테이셔널 씽킹 현실 세계의 문제를 분석하여 해결책을 찾는 과학적 사고법 이렇게 설계한 해결책을 컴퓨터의 명령어로 작성하는 것을 컴퓨터 프로그래밍이라한다. 작은 문제로 분해하고, 문제의 패턴을 발견하고, 어떤 데이터를 이용해야 하는지 결정 문제를 일반화하고 모델링할 수 있는지를 찾는 과정 패턴: 데이터에서 패턴을 파악한다 일반화와 모델링 : 패턴화 된 데이터를 이용하여 일반화 시키고 분석을한 뒤에 재가공을 한다 참고 파이썬 도장
[Python] 파이썬 함수 그리고 람다 함수 1. 파이썬에서 함수의 기본 사용법 def print_hello_world(): print("hello world") def plus(a, b): return a + b print_hello_world() >>> hello world a = plus(5, 4) a >>> 9 2. 파이썬에서 합수는 객체이다. (일급객체란?) 따하서 함수를 호출 할 때 함수를 넘길 수 있다. >>> def add(a,b): ... return a + b ... >>> def calculate(func, arg1, arg2): ... print('calulation: ', func.__name__) ... print('result: ', func(arg1,arg2)) ... >>> calculate(add, 4, 6) #ad..
Call by value와 Call by reference 그리고 Call by object Reference(Call by assignment) 인자를 전달하는 방식에는 기본적으로 두 가지가 있다. Call by value와 Call by reference 그리고 파이썬에서는 그 외의 방법인 Call by object reference로 인자를 전달하게 된다. Call by value 함수에서 값을 복사해서 전달하는 방식으로 자바 같은 경우는 Call by value방식으로 인자를 전달한다 public static void main(String[] args) throws IOException { // TODO Auto-generated method stub int a = 3; int b = 5; System.out.println("a: "+a+", b :"+b); temp(a, b); System.out.println("a: "+a+", b :"..
First-class citizen(일급 객체) 란? 일급 객체의 역사 일급 객체, 일급 함수라는 개념은 영국의 크리스토퍼스트레이치라는 컴퓨터 과학자가 1960년에 처음 소개한 개념이다. 일급 객체가 되려면 다음과 같은 조건을 충족해야 한다 조건 변수나 데이터 구조 안에 담을 수 있다. 매개변수로 전달이 가능하다. 리턴값으로 사용될 수 있다. 변수나 데이터 구조 안에 담을 수 있다. >>>def citizen(): ... print('human') >>> >>>nation = citizen #변수나 데이터 구조 안에 담음 >>>nation() human >>>print(nation) >>>print(type(nation)) 매개변수로 전달이 가능하다 >>> def add(a,b): ... return a + b ... >>> def calculate(fun..
스크립트(Script) 언어란? 스크립트(Script) 언어는 소스 코드를 컴파일 하지 않고도 실행할 수 있는 프로그래밍 언어를 말한다. 예를 들면 C, 자바, 코틀린 같은 언어들은 작성한 소스코드를 컴파일러를 통해 기계어 코드로 바꿔줘야 사용자가 실행 할 수 있는 실행 파일이 얻어 지는데 반에 스크립트 언어는 별도의 컴파일 없이 내장된 번역기에 의해 번역 되므로 바로 실행이 가능하다. 스크립트 언어는 소스를 작성한 후 컴파일 과정 없이 바로 실행하여 결과를 확인 할 수 있다.(Python 같은 언어가 Shell에서 바로 결과를 확인 할 수 있는 이유이다) 단점으로는 번역 과정을 거쳐야 하기 때문에 다소 느리다는 단점이 있다. 컴파일을 해야 하는 언어같은 경우 실행 속도가 빠른 장점이 있지만 개발 과정이 조금 복잡하다는 단점이 있다. ..
[Git] 원격 저장소에 push 된 파일 ignore 추가 원격 저장소에 이미 올라가 있는 파일을 git ignore에 추가하고 싶은 경우 그냥 ignore에 추가시키면 추가가 되지 않는데 아래의 명령을 실행 해 주면 깃의 캐시를 다 날린 다음 다시 add를 시켜줘서 원활하게 진행이 된다 $ git rm -r --cached . $ git add . $ git commit -m "Chore .gitignore" $ git push
[Git] 깃 커밋 메시지 작성법(git commit message) - 2 (에디터 활용) 깃 커밋 메시지를 상세하게 작성하려 할 경우 터미널에서 'git commit -m'을 사용하여 작성하는거는 여간 번거로운 일이 아닐 수가 없다 에디터를 활용하여 깃 커밋 메시지 작성하는 방법을 알아보자 1. 깃 편집기 설정 커밋 할 때나 태그 메시지를 편집 할 때 설정한 편집기를 사용하는데 설정은 다음과 같다 $ git config --global core.editor vim vim 외에 사용하고 싶은 편집기의 이름을 입력하면 된다. 2. 템플릿 설정 커밋 템플릿 텍스트 파일을 설정하게 되면 일정한 스타일을 유지하는데 많은 도움이 된다. 템플릿 파일 만들기 밑의 템플릿은 Tim pope가 작성한 커밋 메시지 템플릿이다 Capitalized, short (50 chars or less) summary Mo..
[Git] 깃 커밋 메시지 작성법(git commit message) - 1 이름을 짓는다는 것 네이밍의 어려움은 프로그래밍을 하다보면 자연스래 느끼게 될 부분이라고 본다 변수, 클래스, 함수의 네이밍.... 해도해도 감이 잘 안 잡히고 너무나 어려운것... 이것에 아무런 고충이 없고 바로바로 생각이 난다면 업종을 바꿔서 작명소를 하는 것도 괜찮을거 같다 깃을 사용하는 데에 있어서도 이같은 문제와 직면하게 되는데 바로 Commit message이다 심지어 문장이라 어떻게 써야 할지 더 막막하다 한글로 커밋 메시지를 작성한다면 그 고충은 덜 하겠지만 영문으로 작성한다면 정말 답답할 것인데 최대한 규칙에 맞는 커밋 메시지를 작성하도록 계속 발전하기 위에 작성법에 대하여 적어본다 커밋 메시지란? working dir(작업중인 로컬 디렉터리)에서 git add를 하게되면 변경된 파일의 ..