분류 전체보기 364

[Vue] 04. Vue Instance 속성 사용법

1. el과 data - el = 해당 vue를 적용할 구역 지정 - data = DOM에 보여줄 데이터 정의 {{title}} 2. methods method안에서 vue객체를 접근할 때는 this.데이터이름으로 접근 *arrow function에서 this는 window를 가리키므로 arrow function 쓰지 않도록 주의하기 {{msgStar()}} {{cnt}} 증가 3. filter - 화면에 표시되는 텍스트 형식을 간단하게 변환하는 기능 - {{ }} 또는 v-bind 속성에서 사용 가능 {{ msg | filterName }} 1. 전역필터 el로 적용할 구역을 정해주지 않기 때문에, 어떤 id를 가진 구역에서든 가져다 사용할 수 있다. 2. 지역필터 el에 지정한 대로 id=app인 구..

Programming/Vue 2022.05.11

Spring(11) - Spring & Mybatis 실습2 : Transaction처리

0. Transaction처리 해주는 이유 transaction이란 DB의 작업 단위이다. Spring에서 SqlSession을 관리할 때, default가 AutoCommit으로 되어있다. Transaction관리자를 등록해서 DB에 작업을 했을 때, Exception이 없으면 commit하고, 있으면 알아서 rollback해주기 위해 사용된다. 1. Transaction library추가 pom.xml에 아래 코드를 추가해서 maven update를 해서 적용시킨다. org.springframework spring-tx ${org.springframework-version} 2. Transaction 관리할 객체 생성&등록하기 1. namespace에 tx 추가하기 root-context.xml의 N..

Programming/Spring 2022.05.07

Spring(11) - Spring & Mybatis 실습1 : Spring과 Mybatis 연결하기

이제 Spring과 MyBatis를 연결시켜보겠다. 1. MyBatis에서 사용하는 객체 Spring에 등록하기 이제 SqlSessionFactory와 SqlSession을 Spring Container가 관리하도록 하자. 1. SqlSessionFactory 등록하기 원래, SqlMapConfig라는 java파일을 만들어서 SqlSessionFactory를 만들고 SqlSession을 만들어내도록 했다. 이제는 Spring에서 그 일을 알아서 하도록 한다. 이 작업이 끝나면, mybatis-config.xml과 dbInfo.properties파일은 삭제해도 된다. SqlSessionFactory에는 대략 3가지 정보가 들어갔었다. 1) DB정보 2) mapper의 위치 3) alias(별칭) 정보 먼저..

Programming/Spring 2022.05.07

Spring(10) - Mybatis 실습 3 : 조회

1. mapper에 SQL 코드 작성 1. 값 하나 받아오기 태그 내에 if, include, where태그 등이 올 수 있다. select * from user where userid = #{userId} and userpwd = #{userPwd} 2. 리스트로 받아오기 List라는 객체가 없기 때문에, 구조를 만들어 사용해야 한다. UserDto타입의 list의 이름은 userList로 했고, type.setProperty값(column값)으로 객체가 만들어진다. 그러면 select해오는 곳에서는 이 resultMap을 사용해서 데이터들을 차곡차곡 쌓아 Dao로 반환해준다. select * from user; 2. DAO에서 호출하기 조회할 때는 DB에 변경이 없으므로 commit은 안 한다. @O..

Programming/Spring 2022.05.07

Spring(10) - Mybatis란?

1. Mybatis란? Mybatis는 Java 객체와 SQL문을 자동으로 mapping 해주는 기능을 지원하므로, ORM(Object Relational Mapping) Framework 중 하나이다. 프로그램 코드와 SQL문을 분리할 수 있어 업무 분담을 정확히 할 수 있다. 즉, DB 업무를 하는 사람이 Java 코드를 몰라도 작업이 가능하다. +) Mybatis는 Spring과 별개의 Framework로 Java뿐만 아니라 다른 언어들도 Mybatis를 활용할 수 있다. 2. Mybatis 동작 과정 Controller, Service와 같은 건 생략하고, MybatisFramework와 관련된 부분만 나타냈다. 1) mapper.xml과 dbinfo.properties를 설정 파일에 넣고, 이 ..

Programming/Spring 2022.05.06

Spring(10) - Mybatis 실습 1 : 기본 세팅

1. Mybatis 관련 라이브러리 추가 maven을 사용하고 있기 때문에, pom.xml에 아래 코드를 추가한다. 1. 태그에 버전 정보를 추가한다. //... 3.5.9 2.0.7 2. 태그에 library 불러오는 코드를 추가한다. org.mybatis mybatis ${mybatis-version} org.mybatis mybatis-spring ${mybatis-spring-version} 2. DB와 연결하기 1. Mybatis 설정 파일 생성하기 1) mybatis-config.xml 2) dbInfo.properties (선택사항) 2. DB 연결 코드 작성하기 db관련 정보는 가독성을 위해, 별도의 파일에 작성해서 연결해주었다. 파일을 따로 생성하지 않고 값을 바로 작성해도 된다. #db..

Programming/Spring 2022.05.06

[Java] 백준 9935번 : 문자열 폭발

1. 문제 https://www.acmicpc.net/problem/9935 9935번: 문자열 폭발 첫째 줄에 문자열이 주어진다. 문자열의 길이는 1보다 크거나 같고, 1,000,000보다 작거나 같다. 둘째 줄에 폭발 문자열이 주어진다. 길이는 1보다 크거나 같고, 36보다 작거나 같다. 두 문자열은 모 www.acmicpc.net 2. 풀이 과정 StringBuilder객체인 sb에 결과 문자열을 담았다. 실행 과정은 아래 2단계로 정리할 수 있다. 1) (sb길이 >= 폭발시킬 문자열 길이) & (방금 읽은 문자 == 폭발시킬 문자열의 마지막 문자)이면, 검사 시작 2) sb의 뒤에서 폭발시킬 문자열 길이만큼 잘라서 비교 => 같으면 자르기 폭발시킬 문자열 내에 반복되는 구간이 있다면 KMP를 쓰..

[Java] 백준 2098번 : 외판원 순회*

1. 문제 https://www.acmicpc.net/problem/2098 2098번: 외판원 순회 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 16) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 2. 풀이 과정 재귀 + 2차원 배열 DP문제라고 할 수 있다. 처음엔 순열을 돌려서 전체 탐색을 했는데 경우의 수가 16!으로 결국 시간 초과가 발생했다. 해결 방안이 떠오르지 않아, 질문을 보고 힌트를 얻어 풀 수 있었다. 이 문제의 key point는 2가지다. 1) 루프는 시작점이 어디든, 더해지는 값이 같기 때문에 값의 총합은 같다. => ..

[Vue] 03. 보간법과 지시어

1. 보간법 데이터 바인딩 방법으로 값 대입 또는 표현식이라고 할 수 있다. JavaScript에서는 Mustache 구문 즉, 이중 중괄호를 사용해서 나타낸다. {{변수명}} 특징 1. 이중 중괄호의 값은 HTML이 아닌 일반 텍스트로 데이터를 해석한다. {{msg}} 실행 화면 html로 해석되지 않아, tag까지 그대로 출력된다. html로 해석하기 위해서는 지시어 중 v-html을 사용해야 하며, 자세한 건 아래에 지시어 파트에 정리해놓았다. 특징 2. JavaScript 표현식 기능 지원 {{num+1}} {{num==0 ? "숫자는 0" : "숫자는 0이 아니다."}} {{"hello".split('').reverse().join('')}} {{msg}} 실행 화면 2. Directive : ..

Programming/Vue 2022.05.04

[JavaScript] 8. 모듈 사용

외부 파일에 선언한 변수를 import해서 사용할 수 있다. 먼저, html 문서에서 곱셈을 계산하는 모듈을 가져와 사용하려고 한다. 다른 곳에서 사용하도록 설정하는 방법에는 2가지 방법이 있다. 1. 외부에서 사용하도록 허가할 변수마다 export 키워드 붙이기 export const title = "계산기 모듈"; export function mul(i, j) { return i * j; } function off() { //외부에서 사용 불가 console.log("종료"); } 2. 마지막에 외부에서 사용하도록 허가할 변수들을 모아서 한 번에 export 키워드 붙이기 //cal.js const title = "계산기 모듈"; function mul(i, j) { return i * j; } fu..

Programming/JS 2022.05.04