목록Study/Java & Kotlin (46)
Hayden's Archive
* 컨테이너 = WAS - 컨테이너는 본질적으로 메모리 공간. - 컨테이너는 JVM 위에 탑재됨. JVM보다 훨씬 광범위하고 파워풀하고 다채로움. 서블릿들이 컨테이너에서 만들어지고 요청을 받고 뭔가가 만들어지고 뭔가가 많이 없어지고 이런 것들이 메모리. - 컨테이너 = 서블릿들이 생성되고 실행되는 제반적인 환경 그 자체. * CGI = Common Gateway Interface - CGI는 서버 사이드에서 돌아가는 전반적인 프로그램. 자바 기반은 스레딩 방식으로 돌아가고 자바 기반이 아닌 것은 프로세스로 일일이 요청에 수행. - CGI 기술 => 컨테이너(=WAS) 상에서 실행하는 프로그램을 통칭. 서버상에서 돌아가는 다이나믹한 기술을 CGI 기술이라고 한다. - ASP, PHP, Pearl, JSP,..
- form 태그 method 속성으로 Get 방식과 Post 방식을 정해줄 수 있다. 디폴트는 Get 방식이다. - 클라이언트에서 데이터 쪼가리 날리면서 요청한다. get 방식이면 데이터 쪼가리를 주소에 입력폼 key, value으로 붙이고 / post 방식이면 ServletRequest에 입력폼 key, value을 담음. 1. Get 방식 - Get 방식. get it (페이지 줘.) - 데이터 전달이 목적이 아니라 페이지 연결이 주목적. 태그가 Get 방식임. - 응답받은 페이지 주소 보면 http://localhost:8888/web02_HTTServletForm/FS?userId=111&userPass=222&menu=김치볶음밥&menu=닭도리탕 - 객체에 안 담기고 주소창에 붙인 걸 보면 F..
web.xml (DD 파일) - 클라이언트의 요청을 수행할 서버사이드의 컴포넌트가 먼저 만들어져 있어야 함. - 자바 SE 레벨에서는 객체 생성의 주체는 개발자. 하지만 자바 EE 레벨에서는 WAS가 서블릿 객체를 생성한다. 개발자는 실행해서 컴파일하고 배포하면 됨. - 서버가 인식할 수 있는 유일한 기술이 xml. 프로그램 아님. 프로그램은 인간이 머신을 이해하는 랭귀지. WAS(컨테이너)가 인식할 수 있는 기술은 xml임. 예전에는 이걸 다 개발자가 만들었다. - WAS는 가동되면 web.xml을 읽어들인다. - WAS가 이걸(web.xml) 읽어서 매핑해서 인스턴스를 컨테이너 메모리 안에다가 생성. XML은 주석 잘 안 다는 게 좋음. - web.xml을 DD(Deployment Descriptor..
- 결론적으로 클래스 필드로 정보가 저장되는데 최종적으로 정보를 넣는 곳이 DB. DB에 액세스하기 위한 프로그램이 DAO. - Model : DAO와 VO를 한꺼번에 가리키는 말. - 개발의 순서는 Back부터 시작. 그래서 프로그램 배울 때도 Back부터 시작. 그게 안 되어있으면 앞으로 dependency 할 수 없음. - 제이쿼리는 Front UI 프레임워크 => 프론트 쪽에서 쓰이는 자바스크립트를 다 모아놨다. - 프로그램은 동적. 들어오는 입력값에 따라 결과값이 달라짐. 이게 프로그래밍. html, css는 값이 들어올 공간도 없을 뿐더러 값이 고정. - 프로그램의 전반적인 매커니즘을 알려면 연결구조를 알아야 한다. 연결구조를 알려면 이 부분을 알아야 함. - 화면은 2가지가 있음. 초기(in..
- 오늘까지 배우는 내용은 Stand-alone Application( https://en.wikipedia.org/wiki/Standalone_software ) - 자바 개발의 핵심은 분산! - 콘솔로 입력해서 콘솔로 출력보는 것=로컬. 1 Tier(로컬머신) - 자바 언어의 마지막 챕터는 소켓(Socket). Remote 환경으로 감. 분산 환경. - 소켓 = 로컬 머신끼리 네트워크로 서비스가 가능한 것. - 2 Tier : 데이터를 보내는 입장(서버 사이드), 데이터를 받아서 처리하고 다시 돌려주는 입장(클라이언트 사이드) --> 이걸 하게 되면 채팅이 가능. 로컬 머신에서 two tier(서버/클라이언트)이 가능. - 3 Tier(클라이언트-서버-DB)는 웹기반. 2008년부터는 4 Tier로 ..
프로세스(Process) - 쓰레드를 알려면 프로세스를 알아야 함. - 프로세스(Process) = 독립적인 하나의 실행 파일. - 현재 실행중인 파일 = 현재 점유하고 있는 파일 - 예) AppTest.java 컴파일 해서 -> AppTest.class 실행 파일(이게 프로세스 파일) Multi-Tasking - 예컨대 AppTest.class, 카카오톡, 다운로드 동시에 실행한다. 우리 눈에는 동시에 실행하는 것으로 보이지만 실제로는 TimeSliced 방식으로 돌아가는 것. - 여러 개의 프로세스가 동시에 돈다 => 서로 다른 프로세스가 시간을 쪼개가면서 CPU를 쓴다. 스레드(Thread) - 스레드 : 전문화된 작업 단위. 특정 일만 전담해서 하는 작업을 스레드로 만듦. 그런데 그런 것들이 여러..
Collection Collection API -> 이걸 알고 나면 배열을 할 필요가 없다. 그걸 할 필요가 없는 컬렉션! // 배열을 안함~~! API 문서에서 java.util - Collection Collection API : 객체들을 저장하는 특징을 다룸. 정확히 말하면 자바에는 자료구조 같은 게 없음. 컬렉션이 그 역할을 한다. 객체를 저장하는 특징을 다루므로 모든 객체를 다 정리하기엔 복잡. 특징을 다루므로 부모의 특징을 정리. 부모 : 계층 구조가 올라간 애들. 컬렉션 API는 부모의 특징! -> 결론적으로 인터페이스를 다루는 게 핵심. 가장 원시적인 방법으로 자료(객체)를 저장. -> 중복이 있는 게 원시적 / 순서가 없는 게 원시적. -> 중복 되고 순서 없다. -> 프로그램에서 원시적..
- 상속은 주로 클래스의 속성, 즉 필드를 공유함. - 상속과 인터페이스를 특징적으로 공부하는 건 좋은데, 인터페이스도 일종의 상속임. - 인터페이스(Interface) : 템플릿(Template)으로만 만들어져 있는 것. 인터페이스에는 필드가 없고 기능만 있다. 인터페이스는 클래스가 아니지만 일종의 모듈이다. 필드 없이 기능이 템플릿으로만 구성되어 있다. 클래스랑 구분하기 위해서 꺽쇠 2개를 써주기도 한다.(>) - 인터페이스의 역할 : 완벽한 템플릿만 틀로 주는 게 인터페이스. - 메소드 템플릿(Method Template) : 구현부가 없는 추상 메소드(Abstract Method) // ex) 날아, 착륙해, 이륙해 -> 지정만 해주는 것. - 정확히는 클래스가 인터페이스를 구현하는 것. => 상..
- 변수는 크게 필드, 지역변수, 스태틱 변수 3가지로 나뉜다. ( 관련 포스팅 : https://hayden-archive.tistory.com/60?category=775409 ) - 자바에서는 정적 변수/스태틱 변수 Static Variable, 클래스 변수 Class Variable, 전역 변수 Global Variable 다 같은 말. - static 키워드는 보통 상속을 하고 나서 다룸. 앞쪽에서 배울 성질이 아님. 객체를 이해한 다음에 이해해야 함. 중요! - Keypoint : 1. 필드(멤버 변수)와 스태틱 변수가 어떻게 다른지 분명히 알아야 함. 2. 내가 설계할 때 변수를 어떤 걸 필드로 하고 어떤 걸 스태틱으로 할지 구분이 되어야 함. static 키워드 1. static한 멤버(필..