본문 바로가기

프로그래밍

JUnit 정리 & 기본 사용법 JUnit Assertions code 설명 assertEquals([message], expected, actual) 두 값이 같은 지 비교 assertSame([message], expceted, actual) assertNotSame([message], expceted, actual) 두 객체가 동일한 객체인지 비교 assertTrue([message], expceted) assertFalse([message], expceted) 참/거짓 판별 assertNull([message], expceted) assertNotNull([message], expceted) null여부 판단 fail([message]) 테스트 실패로 판단 import static org.junit.Assert.*; 으로 sta.. 더보기
자료형3 - 리스트 문자열과 같이 인덱싱과 슬라이싱 가능 lang1 = ['C', 'C++', 'Java'] lang2 = ['JavaScript', 'Python', 'Groovy'] print(lang1 + lang2) # 두 리스트 합치기 print(len(lang1)) # 리스트 길이 print(lang1[1:3]) # 슬라이싱 lang1[0] = 'C#' # lang1의 0번째 리스트 값 변경 print(lang2 * 2) # 리스트 2회 반복 print('Java' in lang1) # 문자열 'Java'가 lang1 존재 여부 리스트의 추가와 삭제 lang1.append('Ruby') # 'Ruby' 추가 lang1.extend(['HTML', 'XML']) # 새로운 리스트 추가 lang1.insert(0, .. 더보기
자료형2 - 문자열 파이썬에서 문자열을 다음과 같이 4가지 방법으로 만들 수 있습니다. 'hello world' "hello world" '''hello world''' """hello world""" ''' 와 """ 은 여러 문자열을 입력할 수 있습니다. 인덱싱(indexing)과 슬라이싱(slicing) >>> s = 'hello world' >>> print(s[0], s[1], s[2], s[-1], s[1:4]) h e l d ell s[1] 을 인덱싱(indexing), s[1:4] 를 슬라이싱(slicing)이라고 부릅니다. 문자열 관련 연산 >>> s = 'hello world' >>> print(s * 2) hello worldhello world >>> print('hello' in s) True jav.. 더보기
자료형1 - 수치형 파이썬의 자료형은 수치형, 문자열, 리스트, 사전, 튜플 집합 등이 있습니다. 수치형은 int, float, complex 등이 있습니다. int – 정수 ex) a = 10 float – 실수 ex) a = 1.23 complex – 복소수 ex) a = 1+2j 2진수0b100, bin(100), int('100', 2)8진수 0o100, oct(100), int('100', 8)16진수0x100, hex(100), int('100', 16) 더보기
Python3 설치 파이썬 다운로드 사이트로 이동하여 Python3을 다운로드 합니다. 윈도우는 쉽게 설치가 가능합니다. 해당 설치파일을 실행한 후 next 버튼을 누르면 설치가 됩니다 리눅스의 경우 우분투12.04 버전 기준으로 설명 드리겠습니다. 1. 먼저 파이썬 소스를 컴파일 하기 위한 패키지를 설치합니다. sudo apt-get install build-essential libncursesw5-dev libreadline5-dev libssl-dev libgdbm-dev libc6-dev libsqlite3-dev tk-dev 2. 다운받은 압축파일 풉니다.저의 경우 Python-3.4.2.tar.xz 를 다운받았습니다. xz -d Python-3.4.2.tar.xz tar xvf Python-3.4.2.tar 위 .. 더보기
서버에서 중복 헤더를 수신했습니다 (Duplicate headers received from server) 크롬 브라우저에서 파일 다운로드 테스트 도중 "서버에서 중복 헤더를 수신했습니다" 라는 메시지가 뜨면서 다운로드가 되지 않았다. URL을 보면 알 수 있겠지만 파일이름에 , 문자가 포함되어 있다. IE 나 Firefox 에서는 정상적으로 다운로드가 되었는데 크롬에서만 문제가 발생하였다. 해당 에러를 해결하는 방법은 간단하다. 이전 소스 response.setHeader("Content-Disposition", "attachment;filename=" + filename); filename 앞에 " 문자를 추가해 주면 된다. 변경된 소스 response.setHeader("Content-Disposition", "attachment;filename=" + "\"" + filename); 더보기
CameraUpdateFactory is not initialized 에러시 구글 맵 띄우기 예제를 실행하던 중 java.lang.NullPointerException: CameraUpdateFactory is not initialized 이라는 에러가 나면서 앱이 중지되어 버리는 현상이 발생하였다. 현재 쓰고 있는 폰에서는 잘 실행이 되는데 옛날 폰에서는 위와 같은 에러가 발생하여 알아보니 Google Play 서비스 버전이 낮아서 그런거였다. 안드로이드 스튜디오를 이용해서 테스트를 돌렸는데 build.gradle 파일에 아래와 같이 compile 'com.google.android.gms:play-services:5.0.89'Play 서비스 버전을 5.0.89 로 하였는데 옛날 폰에서는 버전이 이보다 낮았던 것이다. Play 서비스 버전을 업데이트하고 테스트를 하니 정상적으로.. 더보기
install_failed_uid_changed 에러시 안드로이드 개발 도중 install_failed_uid_changed 에러가 나면서 에뮬레이터에 인스톨이 안되는 경우 발생하여구글링을 해보니 uninstall 도중 찌거기가 남아있어 그렇다고 한다. /data/data 폴더 밑에 패키지폴더를 삭제하면 되는데 방법을 찾다가 아래의 방법으로 해결하였다. 먼저 Play 스토어 에서 terminal 이라고 검색을 하여 "Android Terminal Emulator" 를 설치한다. 설치를 완료하면 해당 어플을 실행한다. su 명령어를 입력하여 슈퍼유저 권한을 얻는다. 슈퍼유저 권한을 얻은 다음 cd /data/data 디렉터리로 이동한 다음 rm -rf 패키지명 으로 해당 패키지를 삭제한다. 이제 다시 실행해보면 정상적으로 에뮬레이터에 설치가 된다. 더보기
git 시작하기2 (github 연동) 먼저 github 에 회원가입을 합니다. 첫번째 텍스트박스에 입력하는 게 아이디가 됩니다. 이메일과 비밀번호를 입력하고 “Sign up for Github” 버튼을 클릭하면 됩니다. New repository 를 클릭하여 repository를 만듭니다. Repository name 을 입력하고 Create repository 버튼을 클릭하면 다음화면이 나오며 기본적인 명령어가 보입니다. 지금은 화면에 HTTP 버튼이 클릭되어있는데 이 경우 매번 githup에 push를 할 때 아이디 비밀번호를 입력하여야 합니다. 이클립스나 인텔리J 같은 IDE를 쓰게 되면 아이디 비밀번호를 저장하여 매번 입력할 필요가 없습니다. 저는 SSH를 이용하여 push를 할 것이므로 SSH 버튼을 클릭합니다. 그러면 git re.. 더보기
invalid LOC header 에러발생시 메이븐을 사용하여 빌드할 때invalid LOC header 에러 발생하면 해당 jar 파일을 삭제한 후 다시 다운로드한 후 빌드하면 된다. 더보기