2021/02/05 - [공부/자바(java) 융합개발자 2차] - [자바] 21.02.05 JUnit, assertEquals, path 잡기
환경설정은 이걸 참고!
-------------------개발환경 설정 : 프로그램 설치-----------------------------
텔레그램 설치 - 카톡같은 프로그램(독일)
telegram.org/?setln=ko
- PC용 -> 윈도우용
반디집
- V 6.29 다운로드 -> 정보보내기X
- 파일 : 전체 선택
- 탐색기메뉴 : 폴더 바닥 선택할 때 명령 창 열기 체크
<visual studio>
1. 설치
개발 정보 : 구글링 하기(네이버X)
- 검색 : vscode - visual studio -> MS사의 개발툴
- 윈도우 64 stable 다운로드
2. 한글화
-설치 후 : 맨 아래 테트리스모양 -> korean 검색 -> Korean Language Pack for VSC > Install > Restart
3. 확장 설치
- 맨 아래 테트리스모양 -> python 검색
-> 1, 2, 3번째 것 설치 : Python , Python for VSCode, Extension pack 설치
<테스트하기> - 디렉토리 만들기
위치 : C:\Users\ADMIN\Documents\Python
VSCode에서 탐색기 > 폴더 열기 > 문서 > Python > 폴더 만들기 210209_001 > 파일만들기 spring.py
다운로드 > www.python.org/downloads/
> Download Python 3.9.1 > 설치 파일 뜸 >
Add Python 3.9 to PATH 체크 후 Customize installaion 선택 > 전체 선택되어있는 상태에서 Next >
경로 변경 : C:\Python\Python39 & Precompile standard library 체크 > Install > Close
------------------------------------------개발환경 설정 끝---------------------------------------------
---이후는 10:27 메세지 보면서 따라하기---
print('지옥으로 키티') #''도 되고, ""로 해도 됨
' '와 " "가 동일
자바보다 편함
★외우기★
탐색기 : [윈도우키] + [e]
C:\Users\ADMIN\Documents\Python\210209_001
<도스창>
우클릭 : 명령창 열기 -> python + [spacebar] + [tab] : spring.py 가 자동으로 입력됨 -> + Eneter
VSCode 결과 나옴
- VSCode에서 Ctrl + F5누르는 것이 'spring.py' 가 자동으로 입력됨' 이것과 동일
복사한 텍스트를 cmd 창에서 마우스 클릭하면 붙여넣기 됨
복사할 때도 cmd창에서 해당 내용 블록지정 -> 우클릭 : 복사하기 됨
notepad test.java > 예 > 메모장이 뜨고 이름은 test.java가 됨
메모장에
class test {
public static void main(String args[]) {
System.out.println("지옥으로 키티");
}
}
입력 -> 저장하고 닫으면 C:\Users\ADMIN\Documents\Python\210209_001에 test.java 파일 생성됨
cmd창
명령어 외워야 함!!!
cls : 창 클리어
dir : 파일 목록 볼 수 있음
- spring.py도 보이고 test.java도 보임
set : 환경변수들이 보임
- Path = 경로
-> 나는 Path=C:\Program Files\Java\jdk1.8.0_202\bin; 로 되어있음 위에서 'javac'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 뜬 사람은 이게 안되어있는 것
파이썬 관련도 있음
C:\Python\Python39\Scripts\;
C:\Python\Python39\;
탐색기 C:\Windows > notepade.exe : 메모장
explorer.exe : 탐색기
- 우리가 메모장 아이콘 등을 더블클릭해서 실행시키는 것 -> 실제로는 더블클릭을 해서 열리는 게 아니고 윈도우가 우리 눈에 보이지 않게
notepade를 친 것
exe : excute(실행하다)의 약자 실행파일
성 : 홍 -> 홍씨 핏줄을 타고 났다 : 분류 기준
이름 : 길동
파일 이름 : 아이유.mp3 -> 노래를 저장하는 파일
이름.확장자 -> 통틀어 파일 이름이라고 함
이름.hwp -> 한글 워드 프로세스
.doc -> document : MS워드에서 사용
.mp4 -> 영상
-> 파일도 뒷 부분을 보고 무슨 파일인지 속성을 파악 한다
보기 -> 옵션 -> 보기 -> 알려진 파일 형식의 파일 확장명 숨기기(체크/해체)
- 체크 되어있으면 확장자 빼고 이름만 보여줌!
- 체크 해제 : 확장자까지 전부 보여주는데 이름을 전체로 변경해버리면 확장자가 지워져서 제대로 실행이 되지 않음
도스창에서 'notepad' 이런식으로 치면 .exe가 붙었다고 가정!
notepad.exe라고 쳐도 됨
python을 치면 python.exe가 실행됨
python spring.py -> 파이썬이 spring.py를 실행시켜 달라
javac 오류
cmd창에서 javac하고 Enter : 뭔가 막 주르르륵 떠야 정상 안뜨고 'javac'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다. 라고 뜬다면
- [윈도우키] + [Break] : 시스템 뜸 | 아니면 탐색기 -> 내pc -> 속성
> 고급 시스템 설정 > 환경 변수 > 시스템 변수에 JAVA_HOME이 없을 것
2021/02/05 - [공부/자바(java) 융합개발자 2차] - [자바] 21.02.05 JUnit, assertEquals, path 잡기
참고해서 해결
나는 JAVA_HOME 있음 C:\Program Files\Java\jdk1.8.0_202 -> 자바가 설치된 디렉토리 위치
PATH도 %JAVA_HOME%\bin;C:\Program Files (x86)\Common Files\Oracle\Java\javapath;C:\oraclexe\app\oracle\product\11.2.0\server\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;%SYSTEMROOT%\System32\OpenSSH\;
-> 앞, 뒤 % % -> 그 전의 걸 불러온다 -> JAVA_HOME의 C:\Program Files\Java\jdk1.8.0_202 이걸 가지고 옴
javac : java compiler 약자 -> 번역기 : 우리가 적은걸 jvm이 해설할 수 있도록 번역
- 우리가 자바 언어로 적은 것( 그저 Text 일 뿐 : 휴먼 기반) -------컴파일러(:javac가 번역)---------> 2진수(컴퓨터) : 5V 1 0V 0
- 컴파일은 언제 하는가? 실행시킬 때! -> class 파일로 바꿔 줌, 오타가 있거나 하면 에러나고 ..
; 를 기준으로 엔터쳐서 분리해보기
%JAVA_HOME%\bin;
C:\Program Files (x86)\Common Files\Oracle\Java\javapath;
C:\oraclexe\app\oracle\product\11.2.0\server\bin;
%SystemRoot%\system32;%SystemRoot%;
%SystemRoot%\System32\Wbem;
%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\;
%SYSTEMROOT%\System32\OpenSSH\;
여기서 %JAVA_HOME%\bin 이것만 탐색기창에 쳐보기
- 해당 경로로 이동
C:\Users\ADMIN\Documents\Python\210209_001 에서 우측 클릭 > 명령 창 열기 >
dos창에서 javac t 적고 [tab] 누르면 javac test.java -> 엔터 치면 : test.class 파일이 만들어진다 : 컴파일
-> 에러나면 아까 만들었던 test.java를 ANSI로 저장 후 다시 해보기!
<jvm에서 실행>
java test 엔터 -> 지옥으로 키티가 출력됨
- 이클립스에서 실행 버튼 -> javac test.java와 java test를 동시에 해주는 것(컴파일과 실행 동시에)
<컴파일>
자바 파일 -----------javac(컴파일러)-----------> 클래스 파일로 바뀐다 : 파일 -> 하드디스크에 존재
<실행>
우리는 실행을 해야 함 : CPU Memory에서!
class 파일 ---------------java(JVM)-------------> 실행
Java 파일 ----------------이클립스---------------------> 실행
javac java : 알아서 해주니까 우리가 볼 때는, java 파일이 바로 실행되는 걸로 보임
JDK -> 안에 JRE(자바 실행 환경) + Compiler 같이 패키지로 있음
JRE -> JVM(자바가상머신) : JRE를 설치했으면 JVM이 같이 설치된 것
아까 도스 창에서 'java'라고 쳐서 명령
JRE : Java Runtime Environment -> 자바가 실행되는 환경
실행시간 환경
cpu 제조사가 다르면 기계어도 다르다
java 언어로 작성 -> 0101 .. 로 변환 -> cpu에 전달
ㄴ> 기계어, 어셈블리어(기계어보다 간단)
-> cpu를 디테일하게 제어 가능 -> cpu 구조를 알아야 함
java를 배우면 cpu 구조를 몰라도 cpu를 제어 가능(기계어, 어셈블리어 몰라도)
<JAVA>
.java -> .class -> cpu
소스파일 클래스파일
<C>
C -> exe -> cpu
중간 단계를 생략할 수 없을까? ----> 파이썬 탄생 : 컴파일X, 실행파일X
-> 중간 단계가 아예 사라진 건 아니고 내장되어 있는 것
.py -> cpu
Java : 소스 작성 -> 컴파일 -> 실행
Python : 소스작성 ----------> 실행+컴파일
일의 양은 같다.
-> 파이썬은 만들기는 편하지만 속도가 떨어진다
why? 실행 할 때마다 컴파일 해야 함
자바 같은 경우 컴파일을 1번 해놓으면 실행만 하면 됨
Number.py
a = 123
a = a + 1 #124
print(type(a)) #a의 자료형 출력 -> <class 'int'>
print(a)
a = a + 3.14 #127.14 / 윗부분 까지는 정수형, 여기서부터 실수형
print(type(a)) # <class 'float'>
print(a)
a = '지옥으로 키티' # 윗부분 까지는 실수형, 여기서부터 문자열
print(type(a)) # <class 'str'> -> 문자열 타입
print(a)
#a에 입력받기
# a = input() #안녕 333 333 222
# print(type(a)) #str str str
# print(a) #안녕 333 333 222
#a에 입력받기
a = int(input())#333 -> 입력받은 것을 int형으로
print(type(a)) #int
print(a) #333
sample_if.py
Number = input('숫자를 입력하세요 : ') #문자로 입력됨
Number = int(Number) #입력받은 문자를 숫자형으로 바꿔줌
if 50 > Number : #if문 - 50보다 Number가 작으면
print('입력한 숫자는 50보다 작습니다.') #반드시 탭 키로 띄워야 if의 하부명령이라는 것을 인지함
else :
print('입력한 숫자는 50보다 큽니다.') #50입력 시 -> 입력한 숫자는 50보다 작습니다.
sample_if2.py
#숫자 1개를 입력 받아
#4의 배수인지 확인하는 코드를 작성하시오
Number = input('숫자를 입력하세요 : ')
Number = int(Number)
print('입력한 숫자는 4의 배수', end ='')
if Number%4 != 0 or Number == 0 : # 숫자를 4로 나눈 나머지가 0이 아니면
print('가 아닙니다')
else :
print('입니다')
if Number%4 == 0 and Number != 0 :
print('입력한 숫자는 4의 배수입니다.')
else :
print('입력한 숫자는 4의 배수가 아닙니다.')
sample_if3.py
Number = input('속도를 입력하세요 : ')
Number = int(Number)
if 80 < Number :
print('고속 주행입니다')
elif 60 < Number :
print('일반 주행입니다')
else :
print('저속 주행입니다')
switch case 문은 없다
sample_if4.py
#점수 1개를 입력 받아 학점을 출력하시오
#90점 이상은 A
#80점 이상은 B
#70점 이상은 C
#60점 이상은 D
#나머지는 F
Score = input('점수를 입력하세요 : ')
Score = int(Score)
print('학점은', end = ' ')
if 90 <= Score :
print('A 입니다')
elif 80 <= Score :
print('B 입니다')
elif 70 <= Score :
print('C 입니다')
elif 60 <= Score :
print('D 입니다')
else :
print('F 입니다')
sample_for1.py
for Number in range(0, 5) : #변수 선언을 여기에서 바로 함, range(시작, 끝) -> Number가 5보다 작을 때까지 증가한다 -> 기본으로 1씩 증가
print(Number) #0 1 2 3 4
for Number in range(0, 50, 10) : #0~49 즉, 50보다 작을 때까지 도는데 10씩 증가함
print(Number) #0 10 20 30 40
for Number in range(0, -5, -1) :
print(Number) #0 -1 -2 -3 -4
p.96 책 두번째 예제
sample_for2.py
sum = 0
for i in range(1, 11, 1) : #초기값은 1, 증감값은 1, 조건값 11로 for문 선언
sum += i #i변수 값을 sum 변수에 더함
print("sum : %d" % sum) #1~10까지의 합을 출력 -> sum : 55
print("--------------")
#for문을 이용하여 1에서 10까지 식과 합을 구하시오.
sum = 0 #sum 변수를 0으로 초기화
for j in range(1, 11, 1) :
if j < 10 : #j가 10보다 작은 조건으로 if문 선언
print("%d + " % j, end = "")
elif j == 10 : #j가 10인 조건으로 if문 선언
print("%d = " % j, end = "")
sum += j
print("%d" % sum) #1~10까지의 합을 출력 55
=========== 위가 수업 내용!! ===============
%없이 적어도 똑같이 나옴
#for문을 이용하여 1에서 10까지 합을 구하시오.
sum = 0
for i in range(1, 11, 1) :
sum += i #i변수 값을 sum 변수에 더함
print("sum : " + str(sum))
print("--------------")
#for문을 이용하여 1에서 10까지 식과 합을 구하시오.
sum = 0 #sum 변수를 0으로 초기화
for j in range(1, 11, 1) :
if j < 10 : #j가 10보다 작은 조건으로 if문 선언
print(str(j) + " + ", end = "")
elif j == 10 : #j가 10인 조건으로 if문 선언
print(str(j) + " = ", end = "")
sum += j
print(sum) #1~10까지의 합을 출력 55
sample_list1.py
#변수 한꺼번에 선언 -> 변수를 한꺼번에 초기화하기 쉽다
a, b, c, d = 100, 200, 300, 400
print(a) #100
print(b) #200
print(c) #300
print(d) #400
a, b, c, d = 100, 200, 300 이렇게만 해주면 에러
-> 변수는 네개인데 선언은 3개만 해줬기 때문
sample_list2.py
#list
array = [100, 200, 300, 400]
print(array[0]) #100
print(array[1]) #200
print(array[2]) #300
print(array[3]) #400
print("=============================")
for i in array : #array에서 하나씩 빼서 넣어줌 -> 결과는 위와 동일
print(i)
# 100
# 200
# 300
# 400
sample_list3.py
#가변 배열 -> 배열이 늘어남
array = []
array.append(101) #append : 추가
array.append(202)
array.append(303)
array.append(404)
for i in array :
print(i)
print("=============remove 후===============")
array.remove(202) #배열에서 202 제거
for i in array :
print(i)
중단점 : break point -> 숫자 옆 클릭 시 빨간 점 생김
bug(버그) : 벌레/문제가 발생한 코드
Debug(디버그) : 문제를 제거하는 행위
Debugging(디버깅) : 디버그를 하고 있는 혹은 할 행위
Debugger(디버거) : 디버그(를 지원하는) 전용 프로그램
중단점 찍고 -> 왼쪽 네번째 벌레 모양 -> 실행 및 디버그 -> Python Files -> 디버그 모드 : 전체 실행 순서(과정) 알 수 있음
디버깅 작업 : 이런식으로 확인하는 작업
- 단계 정보(F11) 클릭 또는 [F11] 누르면
- 빨간 점 : 실행 됐다
- 노란 테두리 : 이걸 실행될 예정이다
-> 만약 5번 라인 앞에 중단점을 찍고 디버그 모드를 켜면 그 앞까지는 수행하고
중단점 찍은 자리부터 디버그 할 수 있도록 1~4라인 수행 후 5번에서 중단하고 기다림
이클립스
원하는 곳에서 Run > Toggle Breakpoint
----------------------------------------------------------------------------------------
영화 이미테이션 게임 보기
[윈도우] + [d] : 모든 창 최소화 -> 바탕화면 보임 -> 한 번 더 누르면
모든 화면 다시 띄워 줌
----------------------------------------------------------------------------------------
책 IoT 사물인터넷을 위한 라즈베리파이 4 정석
- 라즈베리파이 : 장치, 조그만 컴퓨터
Chapter3. 파이썬 기초 배우기부터 시작할 것 (p.82~)
----------------------------------------------------------------------------------------
2/18 15:00~ 라즈베리파이 시작 -> 장비 지급
---------------------------------------------------------------------------------
회사에서 필요한 프로그램 - 회사pc에 설치 전에 하나하나 다 물어보기 : 가정에서만 무료, 상업적 이용 유료
ex) 알집 등.....
public static void main(String args[])에서 args가 arguments
----------------------------------------------------------------------------------
집에서 할 것 : JAVA_HOME, path 이런것들 설정하고 javac 되는지, VSCode 다운로드 등
'프로그래밍 > 파이썬' 카테고리의 다른 글
[파이썬] 2일차 (0) | 2021.02.10 |
---|---|
[파이썬 예습] 유투브 코딩 1시간만에 배우기 - 파이썬(ft. 실리콘밸리 엔지니어) (0) | 2021.02.06 |