본문 바로가기

수업 정리

(93)
69일차 수업정리(Lambda, Android Interface) **클래스나 인터페이스 사용 => 안드로이드에서는 이벤트 처리를 할 때 내부 클래스나 내부 인터페이스를 자주 사용 => 대부분 이벤트가 발생할 때만 이 클래스의 객체를 이용하므로 별도 클래스 생성없이 사용하는 경우가 많음 => 메소드가 1개 뿐인 인터페이스 사용시 JDK1.7 버전 부터는 람다 문법을 지원 => 자바에서 상속하는 방법 (1) 클래스를 상속받거나 인터페이스를 구현한 별도의 클래스를 만들어서 사용 (2) Anonymous Class를 이용하는 방법 (3) 메소드가 1개인 인터페이스를 이용할 때는 람다를 이용하는 것이 가능 **람다 => JDK 1.7 버전에서 함수형 프로그래밍을 지원하기 위하여 도입 => Java는 완전한 객체 지향 언어이므로 함수라는 것이 존재하지 않음 - 모든 것은 전부 ..
68일차 수업 정리(Android 구조 및 화면 출력) 공유 컴퓨터 : smb://192.168.0.76. - 계정 : 304, 비번 : 1111 **Mac 비밀번호 : 1111 **프로그램을 설치하려고 할때 다운로드 받은 파일이라 안된다는 경우 시스템 환경설정을 실행하고, [보안 및 개인정보보호]에서 설정 **Mac의 키보드 - CapsLock 키가 한영 전환 - 복사나 붙여넣기기 윈도우키 + c, 윈도우키 + v **Android를 하기 위한 준비 1. JDK 설치 => 설치 확인 : Windows의 경우 환경변수에 ProgramFile - Java - jdk - bin 이라는 디렉토리를 path에 추가하고 명령어 입력 => 터미널에서 java -version(JRE 설치여부와 버전 확인), javac -version(JDK 설치여부와 버전확인) 2. A..
67일차 수업정리(텍스트 파일보고 다시 정리) **File Upload => File이 있는 form은 method가 반드시 post방식이어야 하고 enctype을 multipart/form-data로 설정 => pom.xml 파일에 의존성을 설정 - commons-fileupload의 의존성을 설정 => 스프링에서는 설정 파일에 MultipartResolver 클래스의 bean을 설정 파일에 등록해 주어야 함 - maxUploadSize 프로퍼티 : 업로드 되는 파일의 최대 크기를 설정 , 기본값은 -1(무제한) - maxInMemorySize 프로퍼티 : 인코딩 설정 기본값은 ISO-8859-1, 인코딩 필터 설정시 필터 설정을 따르게 됨 => Spring에서는 파일을 업로드 할때 HttpServletRequest 대신에 MultipartHttp..
66일차 수업정리(RestController, ajax) **@RestController => Spring4.0 부터 제공하는 Controller => 요청 처리 메소드에서 String 리턴시 String을 그대로 클라이언트에게 전송 - DTO 또는 Map 그리고 List나 배열을 리턴하면 JSON형식으로 변환하여 클라이언트에게 전송 => String을 리턴하는 경우 csv를 제공하고자 하는 경우이고 그 이외 자료형은 JSON **ajax(Asynchronous JAvascript Xml) => 비동기적으로 서버의 데이터를 가져와서 사용 => 전체화면 갱신 없이 데이터를 가져와서 화면의 일부분을 수정하기 위해서 주로 사용 - 모바일처럼 네트워크 안정성 담보 불가능 상황의 경우, 전체화면 갱신하는 도중 네트워크 해제시 화면 출력 불가 - ajax를 이용하면 서버..
63~65일차 수업 정리(Spring MVC Project 외 정리) **XML => Hyper Text Markup Language : Tag 를 브라우저가 해석해서 랜더링 => eXtensible Markup Language : 확장 마크업 언어 => XML은 태그의 의미를 DTD에 설정한 곳이나 개발자가 해석 => HTML이 구조적이지 못하여 데이터를 표현하는데 한계가 있어 만들어낸 데이터 표현 포멧 - 프로젝트 설정이나 OpenAPI 에 많이 사용 - 프로젝트 설정 파일로 사용되는 경우 우리가 해석할 수 없고 해석을 대신해주는 DTD를 상단에 선언해주어야 함 **Spring MVC Project 에서 사용되는 XML 1) 이름이 고정된 파일 => Server.xml : Tomcat의 설정파일 => pom.xml : Maven의 설정 파일 => web.xml : We..
63~66일차 수업 정리(Spring MVC Project) **Spring MVC Project를 위한 데이터베이스 테이블을 생성 => Oracle과 MyBatis -> Hibernate로 변경 -> MySQL 1. Oracle에 작성 drop table item; CREATE TABLE ITEM( itemid number(5), itemname VARCHAR2(20), price number(6), description VARCHAR2(50), pictureurl VARCHAR2(20), PRIMARY KEY (itemid) ); insert into item values(1, 'Lemon', 500, 'Vitamin-A', 'lemon.jpg'); insert into item values(2, 'Orange', 1500, 'Vitamin-B', 'orang..
63일차 수업 정리(Spring - MVC패턴) **MVC(Model View Controller)패턴 => 애플리케이션의 역할을 3가지로 분리해서 구현하는 패턴 => Model : 비지니스 로직을 처리하고 결과를 생성하는 영역 => View : Model이 생성한 결과를 출력하는 영역 => Controller : Movel과 Viewe를 연결시켜주는 영역 => Model2 : Presentation 영역의 코드와 Business Logic 영역의 코드를 분리 - Java Web Application : Presentation Logic은 jsp파일, Business Logic은 java파일에 작성 1. 장점 => 유지보수가 편리 2. 단점 => 구현이 어려워질수 있음 3. Controller를 2단계로 구성하는 경우 1) FrontController..
62일차 수업 정리(Spring - Transaction, Hibernate, MyBatis) **Spring에서의 Transaction 사용 1. Spring에서의 Transaction 사용을 위한 설정 => TransactionManager 클래스의 bean을 생성 => 연동하는 프레임 워크에 따라 다르게 생성 => Spring JDBC와 MyBatis를 사용할 때는 동일한 방식으로 생성 - DataSourceTransactionManager 클래스의 bean 생성, 이 때 dataSource 프로퍼티에 DataSource 빈 주입 => Hibernate는 위와는 다른 방식으로 생성 - Hibernate는 트랜잭션 사용이 필수 2. 적용 => 데이터베이스 작업을 수행하는 메소드 위에 @Transactional을 추가하는 방법 => xml 파일에 tx:advice 와 tx:method 태그를 이..