22.04.14 - 배열 복습, git 기초 개념, Q&A 시간
배열 복습
▣ 배열의 장점
- 같은 타입 여러 개 만들 때 편하게 만들어준다
- 메모리 상의 위치를 인접하게 만들어줘서 메모리 손실 줄인다.+접근속도빠르게해준다.
- 변수 하나하나 만들면 위치가 다 제각각, 메모리 손실, 찾는 시간도 더 걸린다.
- 반복문을 이용할 수 있도록 해준다
> 값을 대입하려 할 때 변수로 만들면 s1=10; s2=20; 이런 식으로 넣어줬어야 하는데
> s [1] s [2] s [3]이런 식으로 변수명s1,s2가아닌 변수 i 하나를 - 인덱스로 사용 - 대입 편하게 해 준다.
▣ 배열은 3가지만 알면 아는 것이다 ~!
- 배열 변수 선언
- 배열 생성
- 요소 접근
- 배열에 접근하려면 주소 값으로 접근해야 한다.
- 매번 주소 값으로 접근하기 어렵다.
- 주소 값을 담아 놓는 변수를 만들어 놓고 이 변수로 접근한다.
- 이 변수명을 통상적으로 arr !
- arr은 주소 값을 가지고 있다!
- arr로 주소 값으로 접근한 뒤 몇 번째 칸에 가고 싶은지 결정해준다.!
- arr [ 0 ] -> 배열 주소 값 (arr)에 접근 한 뒤 0번째 칸 결정
- 이 칸에 값을 넣고 싶으면 대입 연산자로 넣어주면 된다. arr [ 0 ] = 3;
▣ 배열 생성 및 할당
- 할당은 ( = )을 통해서 주소 값을 넣어준 것이 할당
▣ 배열의 길이
- ( 배열의 선두 번지 주소 값 ) . length를 해주면 길이를 돌려준다.
- 길이를 알기 위해선 주소 값을 알아야 한다.
- 주소 값은 우리가 만든 어떤 변수에 담겨있을 것이다.
- arr . length( ) 해주면 길이 구할 수 있다.
- 배열의 길이를 모를 때 사용한다.
- ex ) 배열의 주소 값만 전달받았을 경우, 입력받은 만큼 배열 길이 만든 경우
- ex ) 메서드의 인자로 배열을 받았을 경우~
배열 문제 풀기 했던 거 다시 풀어보며 복습 하기!
Code up : 1403번 문제 : 배열 두 번 출력하기
k개의 숫자를 입력받고 그 숫자들을 두번 출력하시오.
입력 예)
2
5 7
출력 예)
5
7
5
7
> 현실 세계에서 풀어본다 생각하고 해 보자!
> 3번 - 메모장의 요소 읽는 부분도 반복문으로 체인지!
- for( int i = 0 ; i < k; i++){
- System.out.println(memo[ i ]);
- }
깃허브 기본 개념 Check !
일단 내 컴퓨터에 있는 것을 깃허브로 올릴 건데
그러기 위해선 먼저 깃허브에 repository 만들어야 한다..
repository 만들고 파일 올리는 것까지 실습
↓
이 작업을 좀 더 편하게 도와주는 소스 트리를 이용해보자
현재 깃허브에 만들어 놓은 repository는 내 컴퓨터에는 없다.
소스 트리 켜고 깃허브의 내 repository를 내 컴퓨터로 가져온다.
가져오는 방법은 Clone 명령으로 실행!
↓
Clone명령으로 깃허브에서 내 컴퓨터로 가져온 파일을
수정해서 다시 github로 올리는 경우 Commit으로 실행!
내가 수정한 파일 자체를 올리는 것이 아닌
수정한 파일이 담겨있는 나의 저장소를 업데이트해주는 것!
나중에 프로젝트 진행하기 전에 다시 설명해주시기로 함
> 오늘 기본 개념 알려주신 이유는
- 깃허브를 사용하는 이유를 알려주고,
- 강사님의 코드와 여러 파일을 공유하기 위해서이다.
> 깃허브를 사용하는 이유
- 파일 업로드 다운로드
- 버전 관리. 형상관리 ( 변경내용도 확인 가능한 점도 큰 장점이다.)
파이널 프로젝트 부분 영상 시청
우리가 교육을 마치는 시점에서 진행할 - Final Project 발표 영상을 보았다.
발표시간은 50분 정도였고, 기능 구현 부분을 집중으로 참조할 부분만 보면서 설명해주시고 끝났다.
퀄리티도 좋아 보였고, 기능들도 많아 보였다. 나는 더 잘할 수 있겠지?! ㅎㅎ
프로젝트는 마지막 4주 동안 진행되며,
강의시간 6시간 동안 수업은 없고, 프로젝트를 진행하고
복습 시간으로 사용하던 6시간을 더해서 12시간 정도는 해줘야 한다고 하셨다.
하하 신난다 ☞☜
여러 가지 궁금한 내용 Q&A 시간
기억에 남는 질문과 답변 몇 개를 뽑아왔다.
Q.. 어떤 프로그램으로 만들었는지 궁금해요
> java, DB oracle, html5, css3, java script, jQuery, ajax, apache tomcat, git, mybatis, spring,
> java가 제일중요 java만 잘해도 나머지는 괜찮다.
> spring이라는 프레임워크는 java를 이용한 개발을 좀 더 쉽게 도와주는 애
> 반복 작업 처리나 여러 가지면으로
> java script를 좀 더 쉽게 사용할 수 있게 도와주는 애들
> jQuery , ajax
> DB oracle 좀 더 쉽게 사용하게 도와주는 애 – mybatis
Q. 배열 선언과 생성 메모리는?
> 배열 선언 - 스택 영역에 생성됨 - int [ ] a;
> 배열 생성 - 선언된 참조 변수에 - heap에 있는 배열의 주소 할당받는 작업
Q. 개발자라는 직업은?
> 평생 새로운 것을 계속 공부하는 직업
> 공부하는 습관을 가져가는 것이 좋다.
> 30분만 공부하자
> 관성의 법칙 ~ 공부하려고 앉아있으면 30분보다 더한다
Q. 저희 과정은 이클립스로만 하는지?
> IDE (통합 개발 환경)
> 이클립스 // 자바 ( intelliJ는 사용 안 한다 )
> vscode // 화면
Q. 스프링 배울 때 스프링 부트로 배우나요?
> 스프링으로 진행합니다.
> 스프링 ( +, - ) 배우고 스프링 부트( * , / ) 배우는 것이 좋다.
> 스프링 부트로 진행하는 것이 강의하기도 편하고 좋지만,
> 현장에서 사용하시다 보면 +.-를 모르는 상태로 배운 것이라
> 결국엔 스프링으로 다시 돌아와서 배워야 한다.
review
제어문, 반복문, 배열까지 진행한 상태에서
오늘은 약간의 휴식? 시간을 가졌다.
내일부터 나갈 진도는 지금까지 배운 내용을
다 이해했다는 가정하에 나가는 것이라고.
오늘은 진도보다는 복습의 시간을 가져보라고 하셨다.
파이널 프로젝트 영상도 보았다.
잘한 조의 프로젝트를 보여준 것이겠지?ㅎㅎ
5명이서 만든 그룹웨어 프로그램이었는데
여러 가지 기능도 많이 구현해놓았고
프런트 화면 구성도 이쁘게 잘해놓았다.
교육을 수료하고 나면 나도
높은 퀄리티의 프로그램을 만들어낼 수 있겠지? 기대된다 ㅎㅎ
질문하고 답변하는 시간도 가졌다.
가장 기억에 남는 것은
공부하는 습관을 가지라고 한 답변
"지금부터라도.. 30분씩 만이라도..
공부하는 습관을 만들어 보자"
30분? 너무 짧은 거 아닌가 생각했지만
'3~4시간은 앉아있어야 공부하는 거지.'
라는 생각에 시작도 못하지 말고
30분이라도 시작해보자
일단 공부를 시작하라는 의미로 말씀하셨던 것 같다.
하다 보면 시간은 자연스럽게 늘어나는 ㅎㅎ
공부 시작의 진입장벽을 스스로 낮추고
언제든 공부할 수 있는 습관을 만들자!