※ Keep in mind
본 내용은 웹개발과정의 강의 중 내용을 복습을 위해서 메모한 것에 불과한 것입니다. 이러한 연유로 강의내용을 오인한 나머지 오기재 및 불기재가 있을 수 있으니 '참고'만 해주시길 바랍니다. 저의 경우에도 본 내용을 단순하 읽은 것이 결코 저의 것이라고 생각하지 않습니다. 본 내용은 복습를 위한 초기 내지 중간 과정에 불과한 것이고, 이후에 내용을 보충 후 인출 및 설명하기 과정이 있어야 비로소 복습의 단추가 어느정도 마무리 되어간다고 볼 수 있습니다.
따라서 당초에 본 내용은 비공개였습니다. 그럼에도 불구하고 본 내용을 공개한 점은 함께 공부하는 동료들과 나눔을 바탕으로 배움과 성장의 공진화라는 소기의 목적을 달성에 어느정도 도움이 될수 있기 때문이라고 생각합니다.
1. 전체 학습 순서
자바 프로그래밍 -> 자바 웹 프로그래밍 -> 프워활용(백엔드) -> 프워활용(프론트)
2. 자바 프로그래밍
(1) 초미니
컴퓨터 프로그래밍의 이해 -> 키워드(값/연산자/제어구조/배열) -> 알고리즘연습(목적하기 위한 것 만들기 위한 절차)
입출력장치 이용위한 함수는 플랫폼 API
자바 언어와 API를 분리해서 생각할 필요가 있음
(2) 미니
->코드 데이터 구조화 -> 객체지향 프로그래밍 (옆 두가지는 마치 방정리 하기위한) -> OOA/D & UML (객체지향한다 함은 곳 코딩)
1) 30줄이상 복잡한 코드는 나도 남도 이해하기 위해서 구조화
2) 객체지향은 구슬로서 본 내용 이해위해 게임이 최적
3) ooa/d uml 는 처음 만들면은 Top down 이 아니라 bottom up 으로 하고 나서 향후에 top down 을 한다.
방정리는 지저분한 방에 살아봐야 정리할 필요성을 느낀다
(3) 이후
-> 컬렉션/ 예외처리/ 스레드
2. 자바 프로그래밍
언어(+ -) -> 번역기(이 범주안에서 사용하기) -> 2진수
번역기 다운받으로 가야함 jdk 를 의미
jdk (자바 개발자 키트)
(1)
bin -> 바이너리 실행파일을 의미함
javac 는 컴파일러를 의미 함
(2)
[Java] java, javac 차이점
https://hianna.tistory.com/664
자바를 실행시킬 때는 먼저 javac를 이용해서 클래스를 만든다.
ex : javac Deploy.java (javac는 Java 코드를 바이트 코드로 변환할 때 사용)
이후 만들어진 클래스 파일을
java Deploy.java 로 실행한다 (java는 Java의 바이트 코드 읽고 실행하는데 사용됩니다.)
다만 이 경우 class로 번역한 것을 거치지 않고 바로 java Deply.java로 해도 가능하다
이 경우 속도 차이가 있다. (경험 : 어느정도 딜레이가 느껴짐)
보충
1. API 에 대한 이해 (https://dev-dain.tistory.com/50) (O)
API는 프로그램과 프로그램을 이어주는 매개체 그 자체의 의미를 가진 것이기 때문에 API의 정의와 가장 가까운 개념은 "연결 통로"라고 보면 되구요.
"네이버에서 맵 API를 제공한다." 라는 말은 "API(통로)를 통해 네이버의 맵 기능을 여러 사람이 사용할 수 있게 프로그래밍하여 제공한다"는 뜻이 되는 겁니다.
API 자체를 사용한다가 아니라 API를 통해 맵 기능을 사용한다가 맞는 개념인거죠.
2. java / javac 에대한 이해 (O)
상술함
3. OOA/D & UML 이해 (X)
나의 이해로는 학부 소프트웨어 공학시간에 배운 SRS 그리고 SDS와 같이 만들 소프트웨어의 내용을 명세하는데 이 경우 명세한 내용을 객체지향형으로 분석하고 디자인하는 것으로 이해하였다.
회고
IDE없이 실행을 해 보면서 자바의 원리를 체감할 수 있게되었다.
'배움 __IL > TIL 1기' 카테고리의 다른 글
TIL : 6번째- 221206 [12-1-화] (2) | 2022.12.06 |
---|---|
TIL : 5번째- 221205 [12-1-월] (0) | 2022.12.05 |
4번째- 221202 [11-5-금] (0) | 2022.12.02 |
3번째- 221201 [11-4-목] (0) | 2022.12.01 |
OT 20221129 (0) | 2022.11.29 |