2016년 7월 31일 일요일

Head First Programmming - 요약 , 1 - 4 장

Chapter1. 처음으로 하는 코딩

정리

  • = 와 == 의 차이
    • = : 할당
    • == : 동일 여부 비교
  • != : 다름 여부를 비교
  • > : 크기를 비교
  • 들여쓰기 지울때 백스페이스 사용하라
  • while 루프 :


Chapter2. 텍스트 테이터

정리

import urllib.request
page = urllib.request.urlopen(URL)
text = page.read.decode("utf8")
    • 기타 메소드
      • urlcleanup() :
      • urlretrieve() :
  • 서브스트링
    • s[start_index : end_next_index]
      • start_index : 시작 글자 인텍스
      • end_next_index : 글자 다음 인텍스
      • 예) 원문자 "cosmoslight"[6:11] = "light"
  • 문자열 메소드들
    • endswith(str) : 문자열 마지막에 주어진 문자열이 있으면 True
    • upper() : 대문자로 변환 사본 반환
    • lowwer() : 소문자로 변환 사본 반환
    • replace(a,b) : 전체 문자열에서 a b 변환 사본 반환
    • strip() : 앞뒤 공백 제거 사본 반환
    • find(str) : 주어진 문자열 최초 발견 된의 첫번째 인텍스 값을 반환
    • startswith(str) : 문자열 첫음에 주어진 문자열이 있으면 True
  • float(str) : 주어진 문자열 실수형을 변환
  • time 시간 모듈 라이브러리 (자세한 내용 help(time)
    • time.clock() : 부동 소수점 수로 표현된 단위의 현재 시간 반환
    • time.daylight : 서머 타임 적용 여부를 숫자로 반환 , 0 이면 적용 되지 않음
    • time.gmtime() : UTC 날짜와 시간 반환
    • time.localtime() : 표준시간대에 영향 받은 지역 시간을 반환
    • time.sleep(secs) : 주어진 시간(초) 동안 쉰다
    • time.time() : 1970 1 1 이후 시간을 단위로 반환 한다.
    • time.timezone : UTC 지역시간 차이를 단위로 반환 한다.


Chapter 3. 함수

정리

  • 함수 정의 형식
    • def function_name():
  • DRY 원칙 : Don’t Repeat Yourself
  • # : 한 줄 주석 처리 (PyCham의 단축키 : [ ctrl + / ]
  • 한줄 인자를 선택적으로 사용할 수 있다.
    • 기본값을 적용할 수 도 있음
  • 지역변수
  • 함수 내의 변수는 스택프레임에 저장되면 함수 수행을 완료되면 삭제된다.


Chapter 4. 파일과 배열 안의 데이터

정리


  • 파일 데이터 접근
    • open -> for -> close 패턴
  • 텍스트 메소드 split() : 빈문자열 나눈다
    • 예) (a , b , c) = text.split() : a , b ,c 구분 한다.
  • 배열 내장 메소드
    • count() : 전체 개수
    • extend() : 배열을 추가
    • index() : 검색 해당 인텍스 반환
    • insert() : 지정한 인텍스를 항목을 삽입
    • pop(): 배열의 제일 마지막 항목을 제거하고 반환 (위치 지정 가능)
    • remove(): 배열의 번째 항목을 제거하고 반환
    • reverse(): 순서를 반대로
    • sort(): 배열 정렬(낮은 -> 높은)
  • [] : 배열이나 리스트 선언 방법

출처 : Head First Programming (한빛미디어)

2016년 7월 30일 토요일

make 유닉스.리눅스 필수 유틸리티 - 1장 요약

제1장 컴파일, 실행 ,디버그

$make program
  • make : make 명령어
  • program : Target 이라고 하며, 필요항목(prerequisites) 또는 종속항목(dependents)이라는 하나 이상의 파일들을 기반으로 작성(build)된다. 그리고 이들 파일들은 다른 종속 혹은 필요항목에 가지고 있다.

기술파일
예)
1 program : main.o iodata.o  --> 종속행 (dependency line) 혹은 규칙행(rule
2 <tab>cc -o program main.o iodata.o --> 명령행(command line) *** 반드시 탭로 시작 해야한다.

  • program : target
  • : : 타켓과 명령행 혹은 규칙행을 구분 한다. (만약 길면 \)
  • main.o iodata.o : 종속행 혹은 규칙행
  • <tab>cc - o program main.o iodata.o : 명령행 , 반드시 [tab] 으로 시작 해야 한다.

make 실행
일반적인 전제 조건
  • 기술 파일과 프로젝트 파일은 동일한 디렉토리에 있음
  • 기술 파일명은 makefile 혹은 Makefile 이다.
  • make 입력 시점은 현재 디렉토리이다.

$make target

  • target이 최종 생성 후에 수정되거나 제거된 필요 항목 파일이 전혀 없으면 make는 다음 메시지를 보내 준다.
'target' is up to date 혹은 make: Nothing to be done for `all'.
메시지를 출력한다.

  • 없는 target를 만들려고 시도 하면 아래와 같은 메시지를 출력한다.
$make nontarget
make : Don't know how to make nontarget. Stop.

  • 경우에 따라 여러개의 target을 한 번에 make에 전달하여 실행 시킬 수도 있다.
예) $ make main.o iodata.o

  • target 이름 없이 간단히 입력하는 경우는 기술파일(makefile)에 첫 번째 target(예: program)이 만들어 진다.

$ make 

구문의 기본 규칙
  • ** 모든 명령(행)들은 탭 문자로 시작 해야 한다. (다른 행이 탭으로 시작 하지 않도록
    주의) 탭문자를 확인 하기 위한 명령어 
    $ cat -v -t -e makefile
option 설명
-v , -t : 모든 탭을 ^I 표시
-e : 행의 마지막에 달러 기호($)를 표시 한다.
  • 두줄이상을 이어쓰기 할때는 \(역슬래시) 사용한다. 주의) 행이 바뀌는 문자 바로 앞에 위치 해야 함. 역슬래시와 행이 시작하는 문자사이에는 어떤 여백도 있으면 안됨
  • 빈줄은 무시 함.
    • # : 주석 처리를 함.
    • ; : 을 사용하여 명령어를 계속 이어 갈 수 있음.
ex) plot_prompt : prompt.o ; cc -o plot_prompt prompt.o --> 탭으로 명령어를 시작해야 하는 것에 대한 예외
  • 단일한 target을 여러 종속 항목 행들에 표시 할 수도 있다.
ex)
file.o : /usr/src/file.c
   cc -c /usr/src/file.c
.
.
.
file.o : global.h defs 

  • 이중 콜론 ( :: ) : 종속 항목 행이다. 이 구문의 라이브러리를 만드는 데 유용하다.
  • 필수 항목이 없는 Target 만들 수 있다.(물론 콜론은 반드시 있어야 한다.)
ex) 
   clean:
/bin/rm -f core *.o

  • 되도록 alias(앨리어스)나 환경변수 또는 조건 (if or for)처러 여러 줄 된 명령 행은 사용하지 않도록 한다. (cd도 물론)
출처 - make (한빛미디어)