일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- spring framework
- myBatis
- JDBC TEMPLATE
- Ubunt
- 프로퍼티
- java spring
- Linux
- spring
- 마이바티스
- POJO
- @AspectJ
- SpringJDBC
- Spring Boot
- 리눅스
- Di
- AOP
- Dependency Injection
- pointcut
- XML
- @Spring-Test
- unix
- 컨테이너
- JdbcTemplate
- Spring JDBC
- @JUnit
- STS
- java
- spring aop
- Framework
- @test
- Today
- Total
목록Content (307)
개키우는개발자 : )
오픈소스 라이선스 - OSI Open Source Definition(https://opensource.org/) - 유명한 오픈 소스 라이선스들 - Apache License 2.0 아파치 라이선스는 아파치 소프트웨어 재단에서 자체적으로 만든 소프트웨어에 대한 라이선스 규정이다. 아파치 2.0 라이선스는 누구나 해당 소프트웨어에서 파생된 프로그램을 제작할 수 있으며 저작권을 양도, 전송할 수 있는 라이선스 규정을 의미한다. 아파치 라이선스에 따르면 누구든 자유롭게 아파치 소프트웨어를 다운 받아 부분 혹은 전체를 개인적 혹은 상업적 목적으로 이용할 수 있으며 재배포시에는 원본 소스 코드 또는 수정한 소스 코드를 반드시 포함시켜야 하는 것은 아니고 아파치 라이선스, 버전 2.0을 포함시켜야 하며 아파치 소..
오픈소스 유닉스의 탄생 - UNIX의 상업화 POSIX 이식 가능 운영 체제 인터페이스(portable operating system interface)의 약자로, 서로 다른 UNIX OS의 공통 API를 정리하여 이식성이 높은 유닉스 응용 프로그램을 개발하기 위한 목적으로 IEEE가 책정한 애플리케이션 인터페이스 규격이다. POSIX의 마지막 글자 X는 유닉스 호환 운영체제에 보통 X가 붙는 것에서 유래한다. 규격의 내용은 커널로의 C언어 인터페이스인 시스템 콜 뿐 아니라, 프로세스 환경, 파일과 디렉터리, 시스템 데이터베이스(암호 파일 등), tar 압축 포맷 등 다양한 분야를 아우른다. 유닉스 계열 외에 마이크로소프트 윈도 NT는 POSIX 1.0에 준하는 POSIX 서브 시스템을 탑재하고 있으며,..
유닉스의 탄생 - Multics 프로젝트 멀틱스(Multics, Multiplexed Information and Computiong Service)는 현대의 운영 체제에 큰 영향을 미친 초기시분할 운영 체제이다. 1964년 멀틱스 프로젝트가 시작되어 2000년 10월 30일에 마지막으로 멀틱스를 쓰던 컴퓨터가 종료되었다. 흔히 유닉스의 역사와 관련하여 멀틱스가 훌륭한 운영 체제가 되지 못했었다는 인식이 있기도 했으나 이는 잘못된 통념임이 밝혀지고 있다. 실제로 멀틱스는 현대적 기능들을 다수 가지고 있었던 훌륭한 운영 체제라고 할 수 있다. 멀틱스는 처음에 GS-645 메인프레임용으로 개발되었고 나중에 하니웰 6180 시리즈 머신에서 지원되었다. - UNIX 의 탄생 BCPL B언어는 AT&T 벨 연구소..
개발자가 알아야 할 필수내용 - 학습내용 - 서비스 실행 및 관리 Linux/Unix 역사 -> Linux 서버설치 -> 파일 편집 -> 파일 관리 사용자 관리 -> 프로세스 관리 -> Bash Shell -> 설치파일 관리 -> Telnet/SSH/FTP -> JAVA JDK 설치 -> Tomcat/MySQL 출처 [뉴렉처] 유튜브 채널https://www.youtube.com/watch?v=Xd7IVMYnGUU&list=PLq8wAnVUcTFU9zLWK-dHWrvTJ0PF8Y0Sf&index=3
어떤 리눅스를 배워야 하는가? - 리눅스 계보 - 미래지향적 내가 배움에 있어 미래에 사용률이 높아지거나 가치가 있는 프로그램 - 점유율점유일이 높다는 건 사용하는 사람이 많다는 것이다. 사용하는 사람이 많다는 것은 어떤 문제(오류)가 발생했을 때 커뮤니티 활동으로 인해 문제 해결에 큰 도움을 받을 수 있고 Tip이나 개발 기법 또한 도움받을 수 있다. - 사용의 편의성프로그래밍 언어도 직관적으로 사람이 쉽게 읽을 수 있도록 진화한다. 그렇기 때문에 사용의 편의성 또한 중요한 선택의 하나이다. - 웹 서버로 운영되는 리눅스별 사용율 - 리눅스 사용자들이 등록한 사용대수 가장 많이 사용하는 Ubuntu를 배우는 게 위에 작성한 3가지에 부합하기 때문에 Ubuntu를 배우겠습니다. - 우분투 버전 리눅스 커..
왜 우리는 리눅스(Linux)를 배워야 하는가 - 프로그래머 ( 또는 개발자 ) 로써 리눅스를 배워야 하는가? 아직 리눅스를 경험해 보지 못하였기 때문에 꼭 배워야 하나? 라는 궁금증을 항상 가지고 있었습니다. 그렇지만 좀더 개발자 역량의 업그래이드(?) 를 하기 위해 알고 있는 것과 모르는 것은 차이가 크게 난다 생각합니다. 그러하여 리눅스는 배울 가치가 있어 보이고 경력이 높아질수록 필요할 것 개인적으론 배우는 게 좋다고 생각이 드네요~ - 현재 가장 많이 사용되는 운영체제들 우리는 어떤 OS를 사용하고 있나. - Unix 유닉스(Unix)는 대부분의 현대적 컴퓨터 운영 체제의 원형이 된 OS이다. 현대의 윈도우 계열이 아닌 리눅스 , 안드로이드, macOS , IOS 등의 많은 운영체제가 유닉스를 ..
Spring Framework 애플리케이션 프로젝트 Java = 1.8MySql = 8.0.12Spring Framework = 3.2.3.RELEASE유튜브 강좌 : SKplanet Tacademyhttps://www.youtube.com/watch?v=j5WlADp5f_o&list=PL9mhQYIlKEhfYqQ-UkO2pe2suSx9IoFT2&index=1 유튜브 강의를 보면서 정리한 후 다시 블로그에 올리면서 또 강의 듣고 정리하니 시간이 오래걸리지만한번더 정리 하는 마음으로 작성 하였습니다. ㅎㅎ 거의 강의를 정리하는 수준이라 가독성도 떨어지고 블로그는 처음 해봐서 .. 제 쓰레기같은 필력을 또한번 느끼게 해주었습니다. ㅋㅋ 총 28개 강의로 구성되어 있지만 자바에서 기본 애플리케이션 작업과 웹애..
Spring Framework MyBatis(마이바티스) 애플리케이션 작성(2) 학습 목표Mapper 인터페이스 개념Mapper 인터페이스 작성 및 설정여러 개의 Mapper 인터페이스 설정 1.Mapper 인터페이스 개념 1-1 MyBatis3.0의 Mapper 인터페이스 Mapper 인터페이스는 Mapping 파일에 기재된 SQL을 호출하기 위한 인터페이스 - Mapper 인터페이스는 SQL을 호출하는 프로그램을 Type Safe 하게 기술하기 위해 MyBatis3.x 부터 등장 - Mapping 파일에 있는 SQL을 자바 인터페이스를 통해 호출할 수 있도록 해줌. 1-2 Mapper 인터페이스를 사용하지 않았을 때 - Mapper 인터페이스를 사용하지 않으면, SQL을 호출하는 프로그램은 SqlSe..
Spring Framework MyBatis(마이바티스) 애플리케이션 작성(1)학습 목표** sqlSession 을 이용한 sql 쿼리 처리 **MyBatis 및 MyBatis-Spring 설치MyBatis 및 MyBatis-Spring 설정DAO 클래스 작성 및 테스트1.MyBatis 및 MyBatis-Spring 설치1-1 MyBatis 라이브러리 검색 및 설치maven repository 경로 https://mvnrepository.com/artifact/org.mybatis/mybatis/3.4.6가장 많이 사용하는 버전으로 pick1234567 org.mybatis mybatis 3.4.6 Colored by Color Scriptercs 1-1 MyBatis 라이브러리 검색 및 설치maven ..
Spring Framework MyBatis(마이바티스) 개요 학습 목표 MyBatis 개요와 특징MyBatis와 MyBatis-Spring의 주요 컴퓨넌트 1.MyBatis 개요와 특징 1-1 MyBatis의 개요 MyBatis(http://www.mybatis.org/mybatis-3/ko/index.html)는 자바 오브젝트와 SQL문 사이의 자동 Mapping 기능을 지원하는 ORM 프레임워크 Sql Mapper 이다. - MyBatis는 SQL을 별도의 파일로 분리해서 관리하게 해주며, 객체-SQL 사이의 파라미터 Mapping 작업을 자동으로 해주기 때문에 인기를 얻고 있는 기술이다. - MyBatis는 Hibernate나 JPA(Java Persistence Api) 처럼 새로운 DB프로그래..
Spring Framework AOP애플리케이션 작성(2) 학습 목표 Aspect 클래스 선언 및 설정Aspect 클래스 구현Aspect 클래스 테스트 1.Aspect 클래스 선언 및 설정 1-1 Spring AOP의 구현방식 XML 기반의 POJO 클래스를 이용한 AOP 구현- 부가기능을 제공하는 Advice 클래스를 작성한다.- XML 설정 파일에 를 이용해서 애스펙트를 설정한다.(즉, 어드바이스와 포인트컷을 설정함) @Aspect 어노테이션을 이용한 AOP 구현- @Aspect 어노테이션을 이용해서 부가기능을 제공하는 Aspect 클래스를 작성한다. 이때 Aspect 클래스는 어드바이스를 구현하는 메서드와 포인트컷을 포함한다. - XML 설정 파일에 를 설정한다. 1-2 @Aspect 어노테이션 -..
Spring Framework AOP애플리케이션 작성(1) 학습 목표 Advice 클래스 작성AOP 설정 및 테스트PointCut 표현식에 대한 이해 1.Advice 클래스 작성 1-1 Spring AOP의 구현방식 XML 기반의 POJO 클래스를 이용한 AOP 구현- 부가기능을 제공하는 Advice 클래스를 작성한다.- XML 설정 파일에 를 이용해서 애스펙트를 설정한다.(즉, 어드바이스와 포인트컷을 설정함) @Aspect 어노테이션을 이용한 AOP 구현- @Aspect 어노테이션을 이용해서 부가기능을 제공하는 Aspect 클래스를 작성한다. 이때 Aspect 클래스는 어드바이스를 구현하는 메서드와 포인트컷을 포함한다. - XML 설정 파일에 를 설정한다. 1-2 Advice의 종류 - Around 어..
Spring Framework AOP 개요 학습 목표 AOP의 개요와 용어AOP의 특징 및 구현방식AspectJ 와 SpringAOP 설치 1.AOP의 개요와 용어 1-1 핵심기능과 부가기능 - 업무(Biz) 로직을 포함하는 기능을 핵심 기능(Core Concerns) - 핵심기능을 도와주는 부가적인 기능(로깅,보안 등)을 부가기능(Cross-cutting Concerns) 이라고 부른다. - 객체지향의 기본 원칙을 적용하여도 핵심기능에서 부가기능을 분리해서 모듈화하는 것은 매우 어렵다. 1-2 AOP(Aspect Oriented Programming)의 개요 AOP는 애플리케이션에서의 관심사의 분리(기능의 분리) 즉, 핵심적인 기능에서 부가적인 기능을 분리한다. 분리한 부가기능을 애스펙트(Aspect)..
광고 클릭은 개발자(저) 에게 큰힘이 됩니다!!'ㅁ' MySQL 환경변수 설정(Windows10) MySQL 을 설치 완료 하셨으면 환경변수 설정을 합니다. 필자는 Workbeanch 를 사용하기때문에 안했지만 환경변수를 설정하면 컴퓨터 어떤 경로에서라도 접근할 수 있어 cmd창으로도 바로 접근가능합니다. 이런 방법이 있으니 설정방법 ㄱㄱ MySQL 이 설치된 경로를 찾습니다 bin폴더까지 접근~ 아마존 Web Service 중에 EC2 가상컴퓨터에 설치한거라 모두 영어로 되어있네요.. 영알못..주륵 내컴퓨터를 우클릭 합니다. 그리고 속성을 클릭합니다. 고급 시스템 설정 클릭. 환경변수 클릭 path 를 선택후 편집을 누릅니다. 새로운 경로를 지정 할 수있도록 New~클릭 처음에 설치된 경로 를 복사 붙..
광고 클릭은 개발자(저) 에게 큰 힘이 됩니다!!'ㅁ' MySQL 8.0.15 다운로드 및 설치방법(Windows 10) https://www.mysql.com/ MySQL 홈페이지 주소입니다. https://dev.mysql.com/downloads/mysql/ 다운로드 페이지로 바로 이동하는 경로입니다. (귀찮으신분은 바로 이동~ ㅋ) 사이트 접속화면 부터해서 최대한 꼼꼼히 캡쳐했는데.. 스왑의 압박이..ㅎㄷㄷ MySQL 메인페이지 MySQL 페이지에서 스크롤을 내리다보면 Community edition 문구가 보일거에요 물론 무료입니다.ㅋ 역시 스크롤을 내리다보면 밑에 이미지와 같은 화면이 보입니다.. 스크롤을 내리면 다운로드 영역이 나옵니다. 324.3M 용량의 MSI Installer 를 받습니..
Spring Framework JDBC 환경설정 학습 목표 DB설정 및 JDBC Driver 설치Spring JDBC 설치 및 DataSource 설정사용자관리 프로젝트 테스트 1.DB설정 및 JDBC Driver 설치 1-1 MySQL 다운 및 설치 https://dog-developers.tistory.com/20 제 블로그 주소 타고 가면 설치방법이 나올거에요 1-2 MySQL JDBC Driver 라이브러리 검색 및 설치 https://mvnrepository.com/artifact/mysql/mysql-connector-java/8.0.12 저는 8.0.12 버전이라 같은 버전으로 설치했습니다.~ 1234567 mysql mysql-connector-java 8.0.12 Colored by Co..
Spring Framework JDBC 개요 학습 목표 데이터 액세스 공통 개념에 대한 이해Spring JDBC 개요에 대한 이해Spring JDBC jdbcTemplate 클래스에 대한 이해 1.데이터 액세스 공통 개념에 대한 이해 1-1 DAO(Data Access Object) 패턴 - 데이터 액세스 계층은 DAO 패턴을 적용하여 비즈니스 로직과 데이터 액세스 로직을 분리하는 것이 원칙이다. - 비즈니스 로직이 없거나 단순하면 DAO와 서비스 계층을 통합 할 수도 있지만 의미 있는 비즈니스 로직을 가진 엔터프라이즈 애플리케이션이라면 데이터 액세스 계층을 DAO 패턴으로 분리해야 한다. - DAO패턴은 서비스계층에 영향을 주지 않고 데이터 액세스 기술을 변경할 수 있는 장점을 가지고 있다. 1-2 커..
Spring Framework 사용자관리 프로젝트 학습 목표 사용자 관리 프로젝트 아키텍쳐에 대한 이해사용자 관리 프로젝트 클래스 설계에 대한 이해사용자 관리 프로젝트 클래스 Code에 대한 이해 1.사용자 관리 프로젝트 아키텍쳐에 대한 이해 1-1 아키텍쳐 개요 - 대부분의 중.대규모 웹 애플리케이션은 효율적인 개발 및 유지보수를 위하여 계층화(Layering) 하여 개발하는 것이 일반적이다. - 사용자관리 프로젝트 아키텍쳐에서 기본적으로 가지는 계층은 프리젠테이션 계층(Presentation Layer), 서비스 계층(Service Layer), 데이터액세스 계층(Data Access Layer) 3계층과 모든 계층에서 사용되는도메인 모델 클래스로 구성되어 있다. - 각각의 계층은 계층마다 독립적으로..
Spring Framework DI 애플리케이션 작성(4) 학습 목표 Bean 등록 메타정보 구성 전략에 대한 이해Bean 등록 및 의존관계 설정 Annotation에 대한 이해프로퍼티(Property) 파일을 이용한 설정 방법에 대한 이해 1.Bean 등록 메타정보 구성 전략에 대한 이해 1-1 전략 : XML 단독 사용 - 모든 Bean을 명시적으로 XML에 등록하는 방법이다. - 생성되는 모든 Bean을 XML에서 확인할 수 있다는 장점이 있으나 Bean의 개수가 많아지면 XML 파일을 관리하기가 번거로울 수 있다. - 여러 개발자가 같은 설정파일을 공유해서 개발하다 보면 설정파일을 동시에 수정하다가 충돌이 일어나는 경우도 적지 않다. - DI에 필요한 적절한 setter 메서드 또는 constru..
Spring Framework DI 애플리케이션 작성(3) 학습 목표 Bean 의존관계 설정 방법에 대한 이해프로퍼티(Property)값 설정 방법에 대한 이해프로퍼티(Property) 파일을 이용한 설정 방법에 대한 이해 1.Bean 의존관계 설정 방법에 대한 이해 1-1 Setter Injection : 태그 Setter 메서드를 통해 의존관계가 있는 Bean을 주입하려면 태그를 사용할 수 있다. - ref 속성은 사용하면 Bean 이름을 이용해 주입할 Bean을 찾는다 - value 속성은 단순 값 또는 Bean이 아닌 객체를 주입할 때 사용한다. Setter 메서드 생성 12345678910111213141516171819package myspring.di.xml; public class Hell..
Spring Framework DI 애플리케이션 작성(2) 학습 목표 JUnit의 개요와 특징JUnit을 사용한 DI테스트 클래스Spring-Test를 사용한 DI테스트 클래스 1.JUnit 의 개요와 특징 1-1 JUnit의 특징 - TDD의 창시자인 Kent Beck과 디자인 패턴 책의 저자인 Erich Gamma가 작성했다. - 단정(assert) 메서드로 테스트 케이스의 수행 결과를 판별한다.예) assertEquals(예상 값, 실제 값) - JUnit4 부터는 테스트를 지원하는 어노테이션을 제공한다.@Test @Before @After - 각 @Test 메서드가 호출할 때 마다 새로운 인스턴스를 생성하여 독립적인 테스트가 이루어지도록 한다. 2.JUnit을 사용한 DI 테스트 클래스 2-1 J..
Spring Framework DI 애플리케이션 작성(1) 학습 목표 POJO 클래스 작성설정 메타정보 XML 작성DI 테스트 클래스 작성 1.POJO 클래스 작성하기 Project 생성 -> config 폴더 생성 , myspring.di.xml 패키지 생성 src/test/java 는 default 폴더로 생성되있고 myspring.di.xml.test 패키지 생성 1-1 POJO 클래스 다이어그램 1-2 Hello.java myyspring.di.xml 패키지 생성후 패키지 안에 Hello.java 생성맴버 변수 선언후 Alt + Shiift + S -> Generate and Setters 를 클릭한후 맴버변수 체크 후 Generate 클릭 하시면getter , setter 메서드가 생성됩니다. ..
Spring Framework IoC 컨테이너와 DI(Dependency Injection) 학습 목표 IoC(Inversion of Control)의 이해DI(Dependency Injection)의 이해Spring DI 컨테이너에 대한 이해 1.IoC(Inversion of Control)의 이해 1-1 IoC의 개념 IoC(제어권의 역전)이란, 객체의 생성, 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀌었다는 것을 의미한다. - 컴퓨넌트 의존관계 결정 (Component dependency resolution), 설정(configuration) 및 생명주기(lifecycle)를 해결하기 위한 디자인 패턴(Design Pattern) 1-2 IoC의 컨테이너 스프링 프레임워크도 객체에 대한 생성..
Spring Framework 프로젝트 시작하기 학습 목표 STS 소개 및 제공하는 기능Spring Project 작성하기Maven과 Library 관리 다른 분이 정리를 잘해놔서 sts 설치 방법 보시고 설치하시면 됩니다 = https://backback.tistory.com/56 1.STS 소개 및 제공하는 기능 1-1 STS(SpringSource Tool Suite) 소개 Spring 개발업체인 SpringSource가 직접 만들어 제공하는 이클립스 확장판으로 최신 이클립스를 기반으로 주요한 Spring지원 플러그인과 관련된 도구를 모아서 Spring 개발에 최적화 되도록 만들어진 IDE이다. 1-2 STS가 제공하는 기능 - Bean 클래스 이름 자도완성 : 현재 프로젝트의 모든 Source와 ..
Spring Framework 의 개요 학습 목표 Spring Framework의 정의Spring Framework의 특징Spring Framework의 의 기능요소 1.Spring Framework의 정의 1-1 Spring Framework 란? Java 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크이다. - 애플리케이션 프레임워크 : 특정 계층이나 기술, 업무 분야에 국한되지 않고 애플리케이션의 전 영역을 포괄하는 범용적인 프레임 워크를 말한다. - 경량급 프레임워크 : 단순한 웹컨테이너에서도 엔터프라이즈 개발의 고급기술을 대부분 사용할 수 있다.( Tomcat 같은 오픈소스 웹 컨테이너만으로도 사용가능하기때문이다.) - 엔터프라이즈 개발 용이 : 개발자가 복잡하고 실수하..