본문 바로가기
728x90
반응형

Programming150

[Spring] 스프링 버전 확인 링크 스프링 버전은 maven spring 으로 검색 https://mvnrepository.com/artifact/org.springframework/spring-core Maven Repository: org.springframework » spring-core mvnrepository.com 2020. 8. 6.
[Spring] JUnit 단위 테스트 1-1. JUnit Java에서 독립된 단위 테스트를 지원해주는 산업 표준 프레임워크 1-2. Spring-Test @RunWith/@ContextConfiguration 등의 어노테이션을 활용하여 Spring Framework에서 조금 더 편하게 테스트를 지원할 수 있게 해준다. 2-1 JUnit 환경 세팅 Eclipse + springMVC + maven 개발환경 기반 2-2. JUnit 라이브러리 추가 Maven 프로젝트를 사용하면 의존관계 설정이 쉽게 되어 기존 프로젝트에서처럼 개발자가 해당 라이브러리를 찾는 수고를 덜어준다. pom.xml -> dependencies element 안에 JUnit dependency 코드를 추가 junit junit 4.7 test 3. JUnit Spring-.. 2020. 8. 6.
[Algorithm] 선택 정렬(Selection Sort) 선택 정렬(Selection Sort) 가장 작은 것을 선택해서 제일 앞으로 보내고 자리를 바꾸는 정렬법(반복) - 비효율적인 정렬 알고리즘 - 데이터의 개수가 조금만 많아지더라도 아주 많은 연산을 해야하기때문에 시간이 오래걸림 예제) 다음의 숫자들을 오름차순으로 정렬하는 프로그램을 작성하세요. 1 10 5 8 7 6 4 3 2 9 - 코딩하기 전 정렬 해보기 - 1 10 5 8 7 6 4 3 2 9 1 2 5 8 7 6 4 3 10 9 1 2 3 8 7 6 4 5 10 9 1 2 3 4 7 6 8 5 10 9 1 2 3 4 5 6 8 7 10 9 1 2 3 4 5 6 7 8 10 9 1 2 3 4 5 6 7 8 9 10 #include int main(void){ int i,j,min,index,tem.. 2020. 8. 5.
[Algorithm] 프로그래밍에서 알고리즘이란? 알고리즘이란 '문제를 해결하는 절차'이다. - 알고리즘은 입력, 출력, 유한성, 명백성, 효과성을 만족해야한다. - 알고리즘은 분석을 통해 좋고 나쁨을 평가할 수 있다. - 알고리즘은 논리이며 수학이고 실질적인 개발에 적용되는 기초적인 아이디어다. 알고리즘의 쓰임 -> 개발의 전체 과정에 사용된다. - 실제 프로그램을 개발할 때 효율적인 알고리즘을 적용함으로써 원하는 결과를 도출해야한다. - 스케줄 관리 프로그램 : 달력에서 특정한 달에 해당하는 일 수는 어떻게 구할까? - 내비게이션 프로그램 : 여러 개의 중간 지점을 거쳐서 특정 지점으로 갈 때 가장 빠른 길은 무엇일까? - 게시판 프로그램 : 한 페이지당 게시글을 10개씩 출력해야하는데 어떻게 출력할까? 알고리즘을 공부해야하는 이유 -> 프로그래머의.. 2020. 8. 5.
[Spring] IoC 컨테이너 - Inversion of Control(7강) Ioc(Inversion of Control) : 제어 역전 - 일반적으로 프로그래밍을 작성할 때 프로그램이 흘러가는 흐름이나 생성되는 객체에 대한 제어권을 개발자가 가지는 것과 달리 프레임워크가 가지는 것을 의미한다. - 개발자가 코드의 흐름이나 객체 생성에 관련된 코드를 프로그래밍 코드에 직접 작성하는 것이 아닌 프레임워크가 사용하는 파일에 작성하면 이를 토대로 프레임워크가 객체를 생성하여 반환하고 코드가 동작하는 순서를 결정하게 된다는 의미이다. POJO Class == 간단하게 자바에서는 java bean , vo, dao 라고 부른다 - POJO(Plain Old Java Object) : 자바 모델이나, 기능, 프레임워크 등에 따르지않고 홀로 독립적이며 단순한 기능만을 가진 객체들을 의미한다... 2020. 8. 4.
[Spring] MyBatis와 스프링 연동 & DB연동 테스트 예제 MyBatis 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다. 마이바티스는 JDBC로 처리하는 상당부분의 코드와 파라미터 설정및 결과 매핑을 대신해준다. 마이바티스는 데이터베이스 레코드에 원시타입과 Map 인터페이스, 그리고 자바 POJO 를 설정해서 매핑하기 위해 XML과 어노테이션을 사용할 수 있다. - 자동으로 Connection close() 가능 - MyBatis 내부적으로 PreparedStatement 처리 - 리턴 타입을 지정하면, 자동으로 객체 생성및 ResutlSet 으로 처리 https://mybatis.org/mybatis-3/ko/index.html 1. pom.xml -> MyBatis 관련 maven 라이브러리 추가 1) sp.. 2020. 8. 4.
[Spring] STS(Spring Tool Suite) 스프링 전용 개발 도구 STS(Spring Tool Suite) Eclipse를 기반으로 전용 플러그인을 결합하여 만들어진 스프링 전용 개발 도구 Spring Framework 사용한 프로그램은 다수의 라이브러리를 필요에 따라 조합해서 준비해야 한다. 이를 모두 수작업하려고 하면 매우 힘든 일이다. 그래서 일반적으로 Apache Maven (오픈 소스 빌드 도구)를 이용하여 프로젝트를 생성하고 사용하도록 되어 있다. STS는 Maven과 주요 프로젝트 템플릿을 결합하여 간단한 설정만으로 필요한 라이브러리를 내장한 프로젝트를 만들 수 있게 되어 있다. 따라서 Spring Framework 이용에는 특별한 이유가 없는 한 STS를 사용하도록 하자. 명령 줄에서 Maven 명령을 사용하여 프로젝트 생성해도 좋지만, STS 이용에 비.. 2020. 8. 4.
[Spring] 스프링과 오라클 DB 연동 작업 / JDBC / ojdbc8.jar 오라클 JDBC Driver 11g까지는 공식적으로 Maven 에서 지원하지 않으므로 수동으로 jar 파일을 추가시켜야 한다. (ojdbc8.jar 경로 -> sqldeveloper-jdbc-lib) 1. 프로젝트 우클릭하여 -> Properties > Java Build Path 에서 Libraries > add External JARS... 2. 프로젝트 우클릭 > Properties > Deployment Assembly 3. JDBC 테스트 package org.ex00.persistence; import java.sql.Connection; import java.sql.DriverManager; import org.junit.Assert; // //import org.junit.Ignore; i.. 2020. 8. 4.
[Spring] Spring Framework란? Spring Framework -오늘날 가장 많이 사용하는 Java기반 응용 프로그램 개발 프레임워크 -2003년 6월에 rod johnson이 발표 -모든 java애플리케이션 개발에 이용 가능, Java EE 웹 애플리케이션 개발에 주로 사용 - framework(툴) : sw를 개발하기위한 구조, 지원 라이브러리 등 환경이 이미 구축되어있는 개념 특징 - 경량의 컨테이너로써 자바 객체를 직접 관리 - POJO(Plain Old Java Object) 방식의 프레임워크 - loC(Inversion of Control) 지원 - DI(Dependency Injection) 지원 - AOP(Aspect-Oriented Programming) 지원 - iBATIS, myBATIS, Hibernate 등의 데.. 2020. 8. 3.
[JAVA] 제네릭(Generic) 제네릭(generic) 이란? 자바에서의 제네릭이란 데이터 타입(data type)을 일반화한다(generalize)는 것을 의미한다. (JDK 1.5부터) 클래스나 메소드에서 사용할 내부 데이터 타입을 컴파일 시에 미리 지정하는 방법이다. 제네릭의 장점 1. 객체의 타입 안정성을 높일 수 있다. 2. 타입 체크와 형변환을 생략할 수 있어 코드가 간결해진다. 1) 제네릭의 용어 2) 제네릭의 선언 및 생성 - 클래스를 작성할 때, Object타입 대신 T와 같은 타입변수를 사용한다. // Object 타입 class Box{ Object item; void setItem(Object item){this.item=item;} Object getItem(){return item;} } // Generic 타.. 2020. 8. 2.
동기(Synchronous)와 비동기(Asynchronous )의 개념과 차이점 출처 : https://webclub.tistory.com/605?category=501058 1) 동기식 처리 모델(Synchronous processing model) 동기식 처리 모델은 직렬적으로 task를 수행한다. 태스크는 순차적으로 실행되며 어떤 작업이 수행 중이면 다음 작업은 대기하게된다. 예를 들어 서버에서 데이터를 가져와서 화면에 표시하는 작업을 수행할 때, 서버에 데이터를 요청하고 데이터가 응답될 때까지 이후의 태스크들은 블로킹(blocking, 작업중단)된다. function func1() { console.log('func1'); func2(); } function func2() { console.log('func2'); func3(); } function func3() { cons.. 2020. 8. 2.
[WEB] Web Server(웹서버) / WAS(웹어플리케이션) / Web Container ▶ Static Page(정적 페이지) - 웹 서버는 파일 경로 이름을 받아 경로와 일치하는 파일 컨텐츠를 반환 - 항상 동일한 페이지 반환 - ex) image, html, css, javascript 파일과 같이 컴퓨터 저장되어 있는 파일들 ▶ Dynamic Page(동적 페이지) - 파라미터의 내용에 맞게 동적인 컨텐츠를 반환 - 웹 서버에 의해 실행되는 프로그램을 통해 만들어진 결과물을 반환 (ex. Servlet) 자원 이용의 효율성 및 장애 극복, 배포 및 유지보수의 편의성을 위해 Web Server와 WAS분리 ▶ Web Server 1) 웹 서버의 개념 - 하드웨어 : Web서버가 설치되어있는 컴퓨터 - 소프트웨어 : 클라이언트로부터 HTTP요청을 받아 정적인 컨텐츠를 제공하는 프로그램 2.. 2020. 7. 30.
728x90
반응형