Back End 53

war방식의 단점

프로젝트를 배포하기위해서는 톰캣같은 WAS(웹 어플리케이션 서버)를 설치하고 여기서 설정하고 배포를 해야한다. 이렇게 서버와 빌드파일이 분리되어있는데 별도로 설치를 해야하고 설정하는게 복잡하다. 톰캣같은경우 버전이 변경되면 다시 설치를해야해서 복잡하다. 그러다보니 Spring Boot에서는 톰캣을 내장 라이브러리로 제공해서 내장 톰캣을 지원하게되었다.

Back End/Spring 2024.03.16

코틀린 개요

intellij를 만든 jetbrain사에서 만든 언어다. 자바에 비해서 문법이 간결해 가독성과 생산성이 높고 오류 가능성이 낮다. 자바에서 복잡하게 구현해야되는 것들을 코틀린에서는 쉽게 제공한다. data class Person( val name: String, val age: Int, val email: String ) // equals(), hashCode(), toString()등 유용한 함수를 자동 생성 object MyCompany { // 싱글턴 객체 const val name: String = "MyCompany" } // 탑-레벨 함수로 클래스 외부에서 함수 작성 가능 fun main() { // `new` 키워드 없이 객체 생성 val person = Person("이상훈", 35, "..

스프링부트 개요

- 즉시 운영 가능한 독립형, 스프링 기반의 애플리케이션을 쉽게 만들 수 있다. - 내장된 서버, 보안, 모니터링 및 외부화 된 설정같은 다양한 비 기능적 요소를 제공 - 제안된 스프링 플랫폼 및 서드 파티(3rd Party) 라이브러리로 개발을 빠르게 시작할 수 있다. - 최소한의 설정으로 애플리케이션을 개발하고 구동할 수 있다. - 즉시 실행 가능한 JAR(Java Archive)로 배포할 수 있다.

Spring MVC

- 스프링 프레임워크를 구성하는 모듈, 정식 명칭은 Spring Web MVC다. - 서블릿 API를 기반으로 작성된 웹 프레임워크다. - 프론트 컨트롤러 패턴과 MVC 아키텍처 패턴을 사용 - 유연하고 확장성이 뛰어난 구조 - 견고한 웹 애플리케이션을 만드는데 도움이 되는 풍부한 기능을 제공 - 자바 언어의 Annotation과 Reflection API를 적극 사용 - Annotation-based programming 모델을 제공 - 경량 functional programming model을 지원 - CoC(Convertion over Configuration, 설정보다 관례)를 지원 - 짧은 코드로 함축적인 프로그래밍이 가능 # Annotation-based programming - @Contro..

Back End/Spring 2023.08.22

POJO (Plain Old Java Object)

1. 객체지향적 원리에 충실하고, 특정 규약과 환경에 종속되지 않게 재활용될 수 있는 방식으로 설계된 객체. 2. 객체의 애플리케이션 핵심 로직과 기능을 담아 설계, 개발하는 방법을 POJO 프로그래밍이라고 한다. 3. 자동화된 테스트에 유리하며, 유지보수성이 높다. 4. 2000년, 마틴 파울러가 컨퍼런스 준비 과정에서 만든 용어다. import javax.jms.MessageListener; import javax.jms.Message; import javax.jms.JMSException; public class OrderProcessor implements MessageListener { @Override public void onMessage(Message message) { if (messag..

Back End/Spring 2023.07.31

Spring 개요

스프링은 자바 엔터프라이즈 환경에 필요한 모든 것을 제공하고 자바 엔터프라이즈 애플리케이션을 손쉽게 만들 수 있다. # 엔터프라이즈 애플리케이션 1. 대규모의 복잡한 데이터를 관리하고, 이러한 데이터를 이용해 비즈니스 프로세스 지원 및 자동화한다. 2. 비즈니스의 근간으로 보안과 안정성, 확장성이 필요하며, 뛰어한 성능과 서비스의 안정성이 요구된다. 3. 다수의 사용자가 접근하며, 기업내 분산된 다른 엔터프라이즈 애플리케이션과 통합된다. 4. 데이터 입/출력을 위한 다양한 사용자 인터페이스가 제공된다. 고객 서비스, 공급망, 인사, 회계, 보험, 외환거래, 환자기록, 배송추적 등이 엔터프라이 어플리케이션이 속하고 운영체제, 게임, 워드 프로세서, 공장 자동화, 승강기 제어, 전화 스위치 등이 속하지 않는..

Back End/Spring 2023.07.31

poi(excel 라이브러리), iText(pdf 라이브러리)

엑셀api - poi pdf api - iText 엑셀은 sheet안에 row와 col으로 이루어져있다. 반복문을 사용해야하고 이중for문을 이용해야한다. 1차for문은 row를 핸들링하고 2차 for문은 col을 핸들링 해준다. poi를 통해 excel파일을 읽는 순서. Start Point -> Open Excel File -> Read the First Sheet -> For each Row in Sheet -> For each Cell in Row -> Print Cell Value -> End Point excel에서는 다양한 타입의 데이터가 들어가있는데 가져올때 sheet에서 row안에 cell에 cell.getCellType()을 통해 해당하는 셀타입을 골라내서 case문으로 각각 처리할 수..

Back End/Java 2023.07.27

URLConnection 네트워킹 API

Jsoup은 html만을 가져올 수 있었는데. 다른 리소스 예를들어 html, json, xml, 이미지, 파일(음악, 영상)파일을 내 컴퓨터로 가져올수있다. 네트워크 관련 API를 이용하면 되는데 URLConnection api의 하위의 http에 특화된 HttpURLConnection 클래스를 이용하면 특정 웹서버에서 데이터를 가져올 수 있다. 여기서는 가져오는 절차가 있다. 1 URL 생성 어느 사이트에서 데이터를 가져올지 url을 정해준다. 2 HttpURLConnection 초기화 연결을 할려면 이 클래스를 이용해 초기화를 해야한다. openConnection()을 이용해 HttpURLConnection 객체를 얻는다. 3 Http 메서드 설정 (예: GET) 요청을 하기위해 GET, POST ..

Back End/Java 2023.07.27