분류 전체보기 55

230321

T.김동식 pro30 각 단계에서 기록하고 싶었던것들 30.1 기존 소스 코드 변경하기 인터셉터 설정 인터셉터는 한번 작성해 놓으면 변경하지 않고 다른 프로젝트에서도 사용할 수 있음. 30.2 마이바티스 관련 XML 설정하기 typeAliases typeAlias type경로 alias별명 DB 조회 결과를 내가 커스텀한 객체(DAO)로 가져오고 싶은 경우 간편하게 가져올 수 있도록 패키지에 대한 별명을 지정함. resultMap type 위에서 지정된 별명들은 mapper폴더안의 파일들에서 사용됨. resultMap - id sql문을 담은 select이 resultMap 가져올 형식별명 - type typeAliases별명 result - property속성 - column데이터 column이름 30..

미분류 2023.03.21

230214

T.김동식 json 타입 객체 출력하기 출력 json lib json을 활용할 수 있도록 도와준다. https://code.google.com/archive/p/json-simple/downloads Google Code Archive - Long-term storage for Google Code Project Hosting. code.google.com ajax로 json타입 객체 서버로 받기 전송 package sec03.ex01; import java.io.IOException; import java.io.PrintWriter; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; import javax..

미분류 2023.02.14

230213

T.김동식 AJAX Asynchronous JavaScript And XML 비동기 자바스크립트 + XML 전체 페이지가 아닌 일부분만을 업데이트 할 수있게 함 데이터를 주고받을 수 있음, html, xml, json, text $.ajax({ type:"", dataType:"", async:true/false, url:"http://localhost:8080/test", data:{a:"a"} success:function(data,textStatus){}, error:function(data,textStatus){}, complete:function(data,textStatus){} }); dataType="text" package sec01.ex01; import java.io.IOExceptio..

미분류 2023.02.13

230207

T.김동식 회원가입 회원리스트 로그인구현하기 아이디: 비밀번호: 아이디를 입력하세요. 로그인 창 관리자로 로그인 했습니다. 환영합니다. 님!!! 구구단 출력하기 출력할 구구단의 수를 지정해 주세요. 출력할 구구단 : ${param.dan}단출력 ${param.dan} x ${i} ${dan*i} <, >, &, properties 파일 + fmt 국제화/형식화의 기능을 제공해주는 JSTL 라이브러리 fmt:setLocale value="지정할 언어" fmt:bundle basename="읽을파일명" fmt:message key="출력할 key값" //member.properties mem.name = 홍길동 mem.address = 서울시 강남구 mem.job = 회계사 //member_ko..

카테고리 없음 2023.02.07

230206

T. 김동식 표현언어에서 같은 속성에 대한 우선순위 page>request>session>application hashmap 출력하기 HashMap test: ${hash.a} JSTL jsp standard tag library c 코어 : 변수 지원, 흐름 제어, 반복문 처리, URL 처리 x xml : XML 코어, 흐름 제어, XML 변환 fn 함수 : 컬렉션 처리, 문자열 처리 sql 데이터베이스 : SQL fmt 국제화 : 지역, 메시지 형식, 숫자 및 날짜 형식 c:set 변수설정 c:remove 변수제거 c:if(if) c:choose - c:when(elseif) c:otherwise(else) c:forEach(for문) - var, items, begin, end, step, varS..

카테고리 없음 2023.02.06

230203

T.김동식 자바의 자료구조, collection list, set, map isELIgnored=false Expression Language, 표현언어 EL == eq equal != ne not equal gt greater = ge greater or equal 기존 Expression Tag() 대체 ${표현식} 로그인/회원가입 구현 //login 폼 아이디 비밀번호 //result에서 forward시 msg를 출력할 영역, 첫코딩시 신경쓰지않는다, 이후 추가해도 무방. //아이디를 입력하지 않았을 경우 //login.jsp로 forward한다. //msg를 함께 전송 //아이디를 입력했을 경우 forward없이 출력. //method가 get일경우, 정보가 노출된다. /..

카테고리 없음 2023.02.03

230202

T.김동식 JNDI(java naming and directory interface) ConnectionPool 에 접근하기위해 다운 key/value로 자원을 저장해 필요할때마다 얻는. - tomcat-dbcp.jar 연결 (ConnectionPool 커넥션풀) 접속자수가 많은데 필요할때마다 데이터베이스와 연동해 작업하는것은 비효율적 연동할 데이터 베이스와의 연결을 미리 설정해 빠르게 연동작업. 데이터베이스와 연결시킨 상태를 유지하는 기술 +객체를 구현할때는 javax.sql.DataSource 클래스이용, 애플리케이션 실행할때는 JNDI를 이용 자바 https://namu.wiki/jump/XZBM2sJcuDnoqqgnv%2F34499xk3Jg1xumXypm8tvPtpvcMgQWGZdOVcR134XH..

카테고리 없음 2023.02.03

230201

T.김동식 jsp 내장객체 서블릿으로 구현시 개발자가 일일이 만드는것이 아니라 서블릿으로 변환시 컨테이너가 자동으로 생성해 제공한다. application 컨텍스트정보 session 세션정보 request 요청정보 page 서블릿 인스턴스 response 응답정보 out 결과출력 pageContext 페이지 정보 config 페이지설정정보 exception 예외처리 데이터 조회하기 * 기존에 쓰던 파일을 이용한다. //MemberVO.java package sec02.ex01; import java.sql.Date; public class MemberVO { private String id; private String pwd; private String name; private String email; ..

카테고리 없음 2023.02.01

230130

T.김동식 url 매핑 @WebServlet("/first/test") @WebServlet("/first/*") //@WebServlet("*.do") @WebServlet("/*") 쿠키를 차단해서 사용자의 브라우저에서 데이터들을 기억하지 못한다면 어떻할까? 세션을 이용한 바인딩. binding 바인딩 컴퓨터 프로그래밍에서 각종 값들이 확정되어 더 이상 변경할 수 없는 구속(bind) 상태가 되는 것 set @WebServlet("/set") response.setContentType("text/html; charset=utf-8"); PrintWriter out = response.getWriter(); String ctxMesg = "context에 바인딩됩니다."; String sesMesg =..

카테고리 없음 2023.01.30

230127

T.김동식 인공지능 약인공지능: 현재 강인공지능: 사람을 지배하는, 영화상상 정규표현식 regular expression, 간단히 regexp 또는 regex, rational expression) 또는 정규식이라 불림. 스티븐 클레이니가 정규 집합(regular set)이라는 자신의 수학적 개념을 이용하여 정규 언어를 기술한 1956년이 기원 1992년 POSIX.2에 표준화된 초기 형태들을 이용하여 다양한 프로그램에 채택 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어 텍스트패턴을 기술하기 위한, 패턴에 맞는 문자열을 검색할때 사용 https://regex101.com/ regex101: build, test, and debug regex Regular expression test..

카테고리 없음 2023.01.27

230126

T.김동식 예외처리 & 예외발생 public static void main(String[] args) throws Exception{} throw new Exception(); 입출력기능을 추상화 자바에서 입출력기능을 스트림클래스로 제공 C언어가 조작하는 자바에서 입출력장치를 조작하기위해, 입출력기능을 추상화, 클래스로 제공 하드웨어(입출력장치)가 고장이 나더라도 상관없이 장치에 독립적으로 프로그래밍/구현할 수 있다. inputstreamreader 바이트로 읽어들인 자료를 문자로 변환해주는 스트림 보조스트림 다른스트림을 감싸서 부가 기능을 제공하는 스트림 직렬화 인스턴스 내용을 그대로 저장하거나 네트워크로 전송할 수 있도록 정렬하는것. serialization, externalization 기술을 구현..

카테고리 없음 2023.01.27

230125

T.김동식 컬렉션 프레임워크 자료구조를 사용하기 편리하도록 자바에서 제공하는 라이브러리 *프레임워크: 개발을 용이하게 하기위한 라이브러리의 집합 제너릭 generic 여러 자료형을 사용할때 자료형을 의미하는 문자로 선언한후 생성할때 명시하는 프로그램 방식 iterator collection 인터페이스를 구현한 클래스를 순회하기 위해 사용하는 인터페이스 comparable 비교하다 treeset을 사용할때 정렬하기 위해 comparable인터페이스를 사용 HashSet 순서대로 입력되지 않고, 일정하게 유지되지 않는게 특징 null 요소도 허용 중복을 허용하지 않는다 equals() 메소드로 두 객체를 비교해서 true가 나오면 동일한 객체로 판단하고 중복 저장을 하지 않습니다. finally try 블록..

카테고리 없음 2023.01.25

230119

T.김동식 바이트스트림: 그림, 멀티미디어, 문자, 모든종류의 데이터 입출력 문자스트림: 문자 데이터 입출력 바이트스트림: fileinputstream, fileoutputstream, bufferedinputstream, bufferedoutputstream 문자스트림: filereader, filerwriter, bufferedreader, bufferedwriter *바이트스트림은 끝에 Steam이 붙는경우가 많다. 기반스트림: fileinputstream, fileoutputstream, filereader, filerwriter 보조스트림: inputscteamreader, outputstreamreader, bufferedinputstream, bufferedoutpurstream *직접읽거나..

카테고리 없음 2023.01.21

230116

T.김동식 지역내부 클래스 호출 . = in 개념으로 이해할것. public class A {class B{}} //중첩 클래스 public static void main(String[] args) { A a = new A(); A.B b= a.new B(); //로컬클래스: 메서드 안에 위치해있어 메서드가 실행되야만 사용가능한 클래스 } global 영역의 데이터 사용 outClass 에서 inClass의 객체를 만들어 호출하면 inClass 함수에서도 부모클래스의 데이터를 사용할수 있다. public class OutClass { //global 영역 int num = 10; static int sNum = 20; InClass inclass; public OutClass() {inclass = ne..

카테고리 없음 2023.01.21

230113

T.김동식 이론 재귀 recursion, 마트료시카 인형, 자기 자신을 참조하는 것 계승 factorial 자연수의 계승, !, 그 수보다 작거나 같은 모든 양의 정수의 곱 final로 선언하면 상수가 된다. Stream 주고받는것, 입력스트림(System.in), 출력스트림(System.out) 정렬 알고리즘 퀵정렬 한 요소(pivot 피벗)를 선택, 기준으로 작은 요소들은 모두왼쪽 큰 요소들은 모두 오른쪽으로, 더이상 분할이 불가능 할 때까지 반복 힙정렬 트리구조, 큰것부터 순서대로 데이터를 추출하는 성질 버블정렬 저울대, 큰것부터 순서대로 데이터를 추출하는 성질 기본 자료형(bsil fd cb)의 객체를 제공하는 클래스 Wrapper 자바에서 클래스의 동적 로딩 방식을 제공하는 메서드는 Class...

카테고리 없음 2023.01.18

230112

T.김동식 이론 선형자료구조: 스택, 큐, 배열(같은 자료형), 리스트 비선형자료구조: 그래프, 트리 *배열은 같은 자료형을 순서대로 관리할때 사용하는 자료 구조 연관배열: 배열을 키와 값으로 나누어서 사용하는 것 var [배열명] = []; [배열명]["[키]"] = "[값]"; var [배열명] = {"[키]" : "[값]"}; document.write([배열명]["[키]"]); 문제풀이 // 배열은 name[0] = 로 값을 넣고 for(;;)로 값을 출력한다. // 출력할때 name[i].function() 로 출력한다. Dog [] dogs = new Dog [5]; dogs[0] = new Dog("이름1", "타입1"); dogs[1] = new Dog("이름2", "타입2"); dogs[..

카테고리 없음 2023.01.18

230111

T.김동식 용어 JDBC (JAVA DATA BASE CONNECTIVITY) 자바에서 데이터베이스에 접속하게하는 자바 API Member class 아이디와 이름을 세팅한다. private int memberID; private String memberName; public Member(int memberID, String memberName) { super(); this.memberID = memberID; this.memberName = memberName; } //private을 했으니 gettersetter 설정 public int getMemberID() {return memberID;} public void setMemberID(int memberID) {this.memberID = memb..

카테고리 없음 2023.01.18

230110

T.김동식 자료구조 많은 자료를 효과적으로 저장하기 위한 구조, 선형자료구조, 비선형자료구조로 나뉨 generic 제너릭, Type 파라미터(매개변수) 어떤 자료구조에 String, Integer 등 많은 타입을 지원하고싶을때 각각 타입마다의 class를 만드는 코딩의 비효율성을 해결하기 위한 방법* 함수 내부로 전달하기 위해 사용하는 변수 * ArrayList를 떠올린다, 객체 객체명 = new 객체(); 한문자로, 대문자로 이름을 짖는것이 관례이다, 아럐 예시 E - Element K - Key N - Number T - Type V - Value 예시1 //Apple이라는 class로 toString으로 "사과"를 return한다고 가정해보자, public class Apple { @Override..

카테고리 없음 2023.01.18

230118

T.김동식 맵 리듀스 MapReduce *Reduce 축약하다 *하둡, 빅데이터 솔루션 구글에서 대용량 데이터처리를 목적으로 발표한 소프트웨어 프레임 워크 자바로 이루어짐. 예) A, A, B, C -> A 2, B 1, C 1 stream().reduce() 스트림의 원소들을 하나씩 소모해가며, 누적 계산을 수행하고 결과값을 리턴하는 메서드 * Arrays.stream().reduce(초기값, 함수λ(a, b)->a+b ) ArrayList arr = new ArrayList(); arr.add("A"); arr.add("B"); arr.add("C"); arr.stream().reduce("0", (a, b) -> a+", "+b); System.out.println(arr.toString()); S..

카테고리 없음 2023.01.18

230106

T. 김동식 eclipse Ctrl shift O import 단축키 system.in.read() 콘솔 키보드 입력받기, system.out.print()와 반대 extends & implements class, interface 모두 부모자식관계를 맺을 수 있다. 한 클래스가 여러 인터페이스를 구현 할 수 있다. public class G implements D, E, F{} public class G extends A implements D{} interface interface는 원래 메서드가 구현될 수 없지만 추상/디폴트/정적/프라이빗 메서드는 가능하다. abstract void a(); default void a(){} static void a(){} private void a(){}// de..

카테고리 없음 2023.01.06

230105

T. 김동식 JAVA 이론복습 지역변수는 내부에서만 사용될수잇고 스택 메모리에 생성된다. static 예약어를 사용하는 static은 데이터영역 메모리에 생성된다. 이론 agile 방법론: 피드백->재설계->피드백->재설계 Water fall 방법론: 요구사항분석->설계->구현->테스트->유지보수 Stream 스트림 입력스트림: 출발지로 가는길(키보드, 파일, 프로그램) 출력스트림: 도착지로 가는길(모니터, 파일, 프로그램) 싱글톤 복습 class CardCompany1{ String name; int cardNum; public CardCompany1(String name) { super(); this.name = name; cardNum = 1000; } void makeCard() { cardNum..

카테고리 없음 2023.01.05

230104

T. 김동식 git 파일실행 git접속 - Package Explorer - 오른쪽 마우스 - import - Projects from Folder or Archive - 경로연결 - finish - java파일 실행 구성 클래스 필생메(필드, 생성자, 메소드) 인터페이스 상추디정(상수, 추상메소드, 디폴트메소드, 정적메소드) interface 클래스에게 지시해 구현(implement)시키는 역할. 구현하는 기능이 없기때문에 new 객체를 만들 수 없다. 서블릿 api 계층 구조 ↓ Servlet ↓ Implements ↓ GenericServlet 추상클래스 HttpServlet 추상클래스, get/post 요청 브라우저 출력 Dynamic Web Project생성 - [NEW]servlet - ini..

카테고리 없음 2023.01.04

230103

T. 김동식 BOM: 브라우저 객체 구조 (window) DOM: 문서 객체 구조 (document, screen, location, history, navigator) abstract 추상메소드, 구현부가 없는 메소드 // 메서드는 선언부와 구현부로 나뉜다. // 선언부: void, sound // 구현부: {} void sound1() {System.out.println("소리를 낼 수 있다.");} //추상메서드가 있는 클래스는 추상클래스로 정의 public abstract class Animal { //추상메소드, 구현부가 없는 메소드 abstract void sound2(); } // 추상메소드의 자식은 extends,상속받아 메소드를 수행 public class Bird extends Anim..

카테고리 없음 2023.01.03

230102

T. 김동식 WAS web application server 소프트웨어 프레임워크. 웹애플리케이션과 서버환경을 만들어 동작. framwork 개발 보조용, 데이트베이스 연동, 템플릿형태 표준, 세션관리, 코드재사용 등의 기능 포함 예) spring https://spring.io/ Spring makes Java simple. Level up your Java code and explore what Spring can do for you. spring.io CGI 동작 방식 요청이있을경우 웹서버에 의해 생성되는 형태, 메모리에 과부하로인해 더이상 쓰이지 않는다. jsp(java server page), asp, php로 대체. jsp(자바코드, html코드안에 자바) 서블릿(자바코드, 자바코드안에 htm..

카테고리 없음 2023.01.02