Mybatis는 SQL, 저장 프로시저를 자바 오브젝트에 매핑하는 것을 지원하는 SQL 매퍼 프레임워크 입니다. 참고 : MyBatis – 마이바티스 3 | 소개 MyBatis – 마이바티스 3 | 소개 마이바티스는 무엇인가? 마이바티스는 개발자가 지정한 SQL, 저장프로시저 그리고 몇가지 고급 매핑을 지원하는 퍼시스턴스 프레임워크이다. 마이바티스는 JDBC로 처리하는 상당부분의 코드와 mybatis.org 스프링 부트에서 MyBatis를 적용 1. 의존성 설정 mybatis-spring-boot-starter는 mybatis-spring-boot-autoconfigure, spring-boot-starter, spring-boot-starter-jdbc, mybatis-spring 의존성을 포함하고 있..
1. 종속성 1.1 gradle 종속성 runtimeOnly 'com.h2database:h2' implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 1.2 Maven 종속성 org.springframework.boot spring-boot-starter-data-jpa com.h2database h2 runtime 2. 데이터베이스 구성 SpringBoot에서 DB를 연결하기 위해서는 Application.yml 또는 application.properties에 속성을 추가 해야 합니다. spring: datasource: url: jdbc:h2:file:./data/demodb # 파일 저장소 username: sa passwor..
1. curl 사이트에서 다운 로드 받는다. https://curl.se/download.html curl - Download curl.se 2. Windows 64-bit 8.2.1 binary the curl project 를 선택 한다. 3. cutl 8.2.1 for Windows에서 curl fot 64-bit를 선택 하여 다운로드 받는다. 4. 다운로드 받능 "url-8.2.1_4-win64-mingw.zip" 파일을 설치 하고자 하는 폴더에 압축을 푼다. 5. 설치한 디렉토리의 /bin 폴더를 윈도우 환경 변수에 설정 한다. ( path 설정 ) 예) D:\program\curl-8.2.1_4\bin 6. cmd 창에서 확인 한다. curl --version
개발자가 좋은 코드, 읽기 쉬운 코드를 작성하기 위해서는 시간과 노력을 많이 해야 합니다. 가장 좋은 코드는 개발자 본인이 개발을 하고 시간이 흐른 후에 작성한 코드를 볼 때 바로 이해가 되어야 합니다, 즉 내가 작성한 코드는 나를 위해 작성하는 코드로 시간이 흘러도 자신이 이해할 수 없는 코드는 이상한 코드입니다. 이 도서는 코드를 작성할 때 주의 해야 하는 것들에 대해서 설계의 관점에서 작성된 도서입니다. 개발의 사이클은 분석-설계-개발-테스트-배포의 주기를 가지고 있는데 가장 어려운 부분이 설계-개발입니다. 설계가 잘못되면 당연히 잘못된 개발이 되고 잘못된 개발을 바로 잡기 위해서 개발자는 요구사항에 맞게 잘 돌아가는 코드를 작성하게 됩니다. 잘못된 설계의 많은 부분이 객체 지향 원칙에 위배되는 설..
개발자의 생활 속에서 작성된 도서로 30년 가까운 개발자로 살아온 나. 가벼운 마음으로 도서를 받고 읽으면서 얼굴에 웃음과 씁쓸함으로 가득 찼다. 현재와는 많이 틀린 개발 문화 속에서 신입을 보내고 우리나라 IT 벤처 시절을 지나 지금까지 개발 현장을 지키면서 시람과 사람 사이 사람과 조직사이에서 느꼈던 감정들이 도서를 읽으면서 하나하나 머릿속에 떠 올랐습니다. 회의 아니 회의, 애자일을 하지만 애자일 스럽지 않은 것, 이기주의적인 개발자, 개인주의적인 개발자, 성능 등 특히 개발 현장에서 개발과 사람과의 관계, 역할에 따른 개발을 바라보는 시각, 우리나라에서 커피 타입이나 맥주집에서 하는 농담 속에 진실과 같은 대화 등을 통해서 개발자가 있는 공간은 세계 어디나 같다는 생각을 들고 개발 문화가 바뀌었다..
5월 리뷰어 신청을 했을 때 많은 고민을 한 것 중 하나가 머신러닝 시스템 설계를 받게 되면 잘할 수 있을까 하는 고민이 먼저 되었는데 해당 도서를 받게 되어 정독을 한 도서입니다. 머신러닝이란 주제는 몇 년 전부터 관심이 있었지만 실무에서는 다른 업무를 담당하고 있어 잘 모르는 영역이지만 Iot 프로젝트를 수행하면서 수집 테이터를 통해 머신러닝의 기초가 되는 데이터를 모으고 분류하는 전처리 단계 프로세스의 다음 단계에 대한 관심으로 이 도서를 읽게 되었습니다. 다음은 머신러닝 시스템 설계의 구성입니다. Chapter 1: 머신러닝 시스템 개요 : 머신러닝을 왜 사용해야 하는지 유스케이스틀 통해서 이야기하고 있으며 연구용과 프로덕션용 머신러닝 및 전통적인 소프트웨어 설계와 머신러닝 시스템 설계의 차이점을..
자바 표준 라이브러리 중 컬렉션collection에 있는 ArrayList와 LinkedList는 List 인터페이스를 구현한 것으로 JCFJava Collections Framework의 상속 구조는 다음과 같습니다. 그림 SEQ 그림 1 JCF성속구조 ArrayList는 내부적으로 배열을 사용하여 데이터를 저장하고 삽입/삭제 작업 시 해당 위치 이후의 모든 데이터를 이동하여 삽입/삭제시는 느리지만 데이터를 조회하는 작업에서는 인덱스를 통한 접근을 하여 빠른 성능을 제공합니다. LinkedList는 내부적으로 노드node로 구성이 되어 있어 삽입/삭제 작업 시 해당 노드의 위치만 변경하여 빠르지만 조회 작업 시 모든 노드를 검색하므로 느립니다. 그림 ArrayList As LinkedList 추가 또는..
1. Array와 ArrayList 차이점 일반적으로 Array 또는 ArrayList는 동일한 유형(Type)의 데이터 모음을 묶어서 그룹으로 사용하고 싶을 때 사용됩니다. 배열(Array)은 선언할 때 데이터가 들어갈 공간의 개수(길이)를 지정해야 합니다. 또한 크기가 지정되면 크기를 확장 또는 축소할 수 없습니다. 이것은 크기의 제약이 있는 것으로 주의가 필요합니다 1.1. Array Array는 크기를 가지고 있는 동일한 유형의 값을 저장하는 곳으로 int, long등과 같은 기본 테이터 유형과 코드에서 작성하는 데이터 객체를 요소로 가질 수 있지만 크기가 지정되어 있어서 축소나 확장을 하지 못하는 특성을 가지고 있습니다. 다음은 배열을 만드는 예제입니다. 코드 1.1-1 : 배열 만들기 1. S..