분류 전체보기 139

[vuejs] 라우터 이동 시, 스크롤 이동

스크롤이 내려간 상태에서, 라우터로 페이지를 이동하는 이벤트를 발생시킬 때 전환된 페이지의 스크롤 위치가 그대로 남아있는 문제 발생 해결은 매우 간단하다. 라우터 인스턴스에 해당 메서드를 추가한다. 나의 경우에는 스크롤을 최상단으로 올려야해서 좌표를 저렇게 주었다. const router = new VueRouter({ ... scrollBehavior(to, from, savedPosition) { return { x :0, y: 0}; } }) 참고 (예시에 top을 0으로 주라고 적혀있으나, 에러 표기가 나길래 x, y 좌표로 주었음) https://router.vuejs.org/guide/advanced/scroll-behavior.html Vue Router | The official Route..

📕 Language/Vue 2023.09.22

[QueryDSL] @QueryProjection (SELECT절 대상 지정)

프로젝션 (Projections) QueryDSL을 이용해 Entity 전체를 가져오는 것이 아니라, 조회 대상을 지정할 수 있다. 특정 컬럼만을 SELECT 해오는 커스텀 메서드를 생성한 경우, Entity에서 전체 필드를 호출하는 것이 아니라, 특정 대상만 가져오고 싶기 때문에 (나같은 경우) 생성자 방식인 Projectsions.constructor을 이용하여 DTO에 정의한 필드만을 호출하였다. 그런데 DTO 중에서도 특정 필드만 가져오고 싶다면? @RequiredArgsConstructor public class TestRepoImpl implements TestRepoCustom { private final JPAQueryFactory jpaQueryFactory; @Override publi..

[Gradle] Execution failed for task ':compileJava'.> Failed to notify dependency resolution listener. > Could not find querydsl-apt-5.0.0-jpa.jar (com.querydsl:querydsl-apt:5.0.0).

아무리 구글링해도 안나와서 두시간 날려먹은 .. Gradle로 JPA queryDsl 셋팅 한 뒤, 정상적으로 작동하는 것을 확인하고 푸쉬를 했다. 그런데 팀원 하나가 갑자기 빌드가 안된다며 ... 알고보니, 팀원은 maven을 사용한다고 한다. 그래서 내 로컬 프로젝트를 maven으로 전환하여 (add As maven project) pom.xml에 디펜던시도 추가하고 이것저것 작업을 했다. 정상작동 하는거 확인하고 푸쉬 완 근데 다시 로컬 프로젝트를 gradle로 빌드를 하려니까, 저렇게 오류가 난다. 구글링을 하니까 JDK 버전이 안맞아서 그러는거라고 하는데, JDK는 건들지도 않았음 build.gradle 파일도 바꿔보고, JDK 버전도 오르락 내리락 바꿔보고 ... 소용 0 두시간 낑낑대다가, ..

[JPA] SpringBoot(2.x version)에 QueryDsl JPA 적용 (maven 설정)

팀에서 gradle과 maven을 혼용해서 쓰고 있었다 ㅜㅜ 1. Pom.xml (dependency 추가) com.querydsl querydsl-apt ${querydsl.version} provided com.querydsl querydsl-jpa ${querydsl.version} 2. Pom.xml (plugin 추가) com.mysema.maven apt-maven-plugin 1.1.3 process target/generated-sources/java com.querydsl.apt.jpa.JPAAnnotationProcessor : maven 설정 후, gradle clean > gradle compile > gradle install 순으로 실행 그럼 generated 에 정의한 위치에 ..

[JPA] SpringBoot(2.x version)에 QueryDsl JPA 적용 (gradle 설정)

QueryDsl은 SQL, JPQL 등을 코드로 작성할 수 있게 하는 builder opensource framework 이다. : 사람이 Query를 짜다보면 보통 수작업으로 하기에 오류가 생길 여지가 있는데 (String이다 보니) 컴파일 단계에서 오류가 있는지 알 수 없다. QueryDsl은 Query 생성을 자동화 하여 자바 코드로 작성하므로, 위와 같은 문제에 대응할 수 있고 복잡한 쿼리나 동적 쿼리를 구현하는데에 있어 한계가 있는 순수 JPA를 보완하기 위해서도 사용한다. 아직 실무에서 쓰고있지는 않으나, 실무에 많이 적용한다고 해서 얕게나마 파보았다. 1. build.gradle 셋팅 dependencies { ... //querydsl implementation 'com.querydsl:q..

[SpringBoot] SpringBoot에 Swagger(SpringDoc) 적용

springdoc-openapi-ui 라이브러리를 이용해보았다. 1. build.gradle에 dependencies 추가 dependencies { ... implementation 'org.springdoc:springdoc-openapi-ui:1.6.14' } 2. application.properties에 추가 # swaggerdoc springdoc.packages-to-scan=com.osstem.ow.online springdoc.swagger-ui.version=v1.0.0 springdoc.swagger-ui.path=/api-docs springdoc.swagger-ui.tags-sorter=alpha springdoc.swagger-ui.operations-sorter=alpha sp..

[Vuejs] <input> 태그에 입력한 전/후 value 받아오기 (Vuejs get old value when on change event)

input 박스를 이용하여 데이터를 입력했을 때, 기존 값과 새롭게 입력한 값을 비교하여야하는 경우 처음엔 하단과 같이 v-model에 걸어 데이터를 셋팅한 후, @input 이벤트를 이용하여 받아오려고 했으나 계속해서 new 값만 받아올 뿐, old 값은 전달되지 않았다. 기존코드 해결 v-model 대신, :value로 데이터를 셋팅해준 후, @change 이벤트를 걸어 가져올 수 있다. input 엘리먼트에서 v-model을 사용하는 경우, 데이터를 바인딩하며 입력 내용에 대한 양방향 모델 바인딩이 바로 가능하지만, :value(v-bind)을 사용하는 경우에는 그렇지 못하기 때문에 $event를 걸어 target value를 가져온 후, 데이터 값을 따로 변경해주어야 한다. v-model = v-..

📕 Language/Vue 2023.07.13
반응형