개발환경의 변화
1. mainframe + terminal
=> 완전한 중앙집중방식 모든 연산과 저장은 메인프레임이 처리 termianl은 입출력만 담당
2. server(DB) + client
=> server는 유닉스 client는 pc
=> 유닉스에서 사용하는 언어는 c
=> server에서 DB구동
3. 웹서버 + db+ 웹브라우저
=> 웹서버가 접속자를 처리
=> client는 브라우저를 사용
초기 웹서버는 html,css,js 코드를 브라우저로 보내는 역할
브라우저가 html,css,js 코드를 해석해서 화면에 출력
초기에는 c, perl등의 기존 언어를 cgi방식으로 db연동
=> asp,php,jsp 와 같은 웹프로그래밍 언어 등장
------------------------------------------------------------------
asp : MS에서 Visual Basic기반으로 개발
php : 개인개발자가 개발, 오픈소스에서 많이 활용
jsp : java기반으로 개발 , asp 벤치마킹해서 만듬
was(Web Application Server)에서 해석해서 실행
--------------------------------------------------------------------
초기 web server는 html,css,js등 정적컨텐츠만 담당
was는 jsp,asp,php등 동적컨텐츠 담당
시간이 지나면서 하나로 통합됨.
apache web server + Tomcat(WAS)
현재는 Tomcat만 설치 하면 된다 ㅎㅎ.
상용 WAS - Websphere + WebLpgic, JEUS
Client - WAS - DB
Middle ware : 중간계층에 존재하는 서버나 시스템, WAS
------------------------------------------------------------------------------------------------------------------
4.App
=> 초기에는 SQLite를 사용해서 Local에 데이터 저장
=> 후기에는 Server와 연동
App + WAS + DB
APP + DB
App은 Native Code로 개발 : Android-Java, Kotlin, ios - objective-c, swift
폰캡(코르도바)로 개발 : hybrid app
React Native나 Flutter로 개발 : 멀티플랫폼
5. cloud의 유행
=> cloud(서버)에서 대부분을 처리
=> Main Frame과 비슷(?)
-----------------------------------------------------------------------------------------
JRE(Java Runtime Environment) - 자바 실행 환경
: JVM이 포함됨
JDK(Java Development Kit) - 자바 개발 도구
: 개발도구 : JRE
---------------------------------------------------------------------------------------
컴파일
javac hello.java => hello.class 바이트코드가 생성됨
실행
java hello.class
~.dll(dynamic link library)
: 실행시에 동적으로 라이브러리가 연결됨
c -> c++ -> c#
---------------------------------------------------------------------------------------------
JAVA C#
JVN .Net Framework
--------------------------------------------------------------------------------------------
C++와 파이썬은 클래스 없이도 코딩가능
자바는 반드시 클래스가 존재
함수의 parameter는 함수 내부로 값을 전달
함수의 return 값은 외부로 값을전달
** 함수의 return 값은 함수를 호출한 위치로 전달됨 ** 중요(?)
----------------------------강사님이 메모하라고 한 것..-----------------------------------------
2일차 자바 연습문제
public class Hello {
public static int sum(int n, int m) {
return n + m;
}
public static void main(String[] args) {
System.out.println(sum(10,20));
}
}
2일차 코딩.
거의 5시간 이론설명하시고 1시간 코딩 했다.
내일부터는 코딩위주 수업을 하신다고 하심.
너무 기초라 아마 다음주까지 하는 수업은 다 아는 내용일듯
최종 커리큘럼완성은 github 포트폴리오 여러개 생성 후 관리인듯?_?
'Back-End > Java' 카테고리의 다른 글
[java] 예외처리, 객체지향, 클래스 (0) | 2022.02.04 |
---|---|
[java] continue와 break 그리고 배열 (0) | 2022.02.03 |
[java] 조건문과 반복문 (0) | 2022.01.28 |
[java] 연산자와 Scanner (0) | 2022.01.27 |
[java] 객체 지향 프로그래밍(Object Oriented Programing) (0) | 2022.01.25 |