반응형
stash: to store or hide something, especially a large amount
git stash는 branch에 따라 달라지지 않고 전체적으로 공유됨
  • git stash (=git stash save)
  • git stash save [stash명, 기본이름-stash@{0}] : 이름 지정해서 저장하려면 git stash save를 써줘야함
  • git stash list
  • git stash apply [stash명, 기본이름-stash@{0}] : 가장 최근 stash 가져와 merge하되 다시 staged상태까지 복원하진 않음
    • but git stash apply localTemp[stash명] 실행하면 locallTemp is not a valid reference 에러나고 git stash apply stash@{0} 이렇게 해야만 정상동작함
  • git stash apply --index                              : staged상태까지 복원하려면 --index 붙어야함
  • git stash drop [stash명, 기본이름-stash@{0}] : 가장 최근 stash 제거
  • git stash clear : stash전체 다 비움
  • git stash pop                                          : git stash apply + git stash drop 인듯
  • git stash show -p | git apply -R                   : merge한 stash 되돌리기 (unapply 개념)
  • git stash --patch  : 대화형 프롬프트가 뜨며 변경된 데이터 중 저장할 것과 저장하지 않을 것 지정가능

 

반응형

'git' 카테고리의 다른 글

git commit 취소  (0) 2022.05.20
git author/committer, owner/uploader/reviewer 차이  (0) 2022.05.17
git ignore  (0) 2019.09.03
git bash shorcuts: copy(ctrl+insert), paste(shift+insert)  (0) 2019.06.11
git rebase, cherry-pick을 잘 이해해보자  (0) 2019.06.11
반응형

in application.yml

    #jwtExpirationInDay: 365 #에러남
    #jwtExpirationInSec: 365 #에러남
    #jwtExpirationInMs: 604800*1000 #=7days #에러남
    #jwtExpirationInMs:  864 00000 #=1days
    #jwtExpirationInMs: 6048 00000 #=7days
    #jwtExpirationInMs: 8640 00000 #=10days
    jwtExpirationInMs: '2147483647' #24.85day int 최대범위
    #jwtExpirationInMs: 86400 00000 #=100days #숫자가 커서 안들어감 string->int로 바뀌는듯

주기 더 늘이는 방법은??

반응형

'java, spring' 카테고리의 다른 글

Log4j  (0) 2020.02.13
ChannelGenre enum관련 에러 (patch시 No validator could be found for constraint)  (0) 2020.01.14
Spring pageation  (0) 2019.11.25
JPA ddl설정, queryDSL  (0) 2019.11.21
javax.validation.constraints.NotBlank vs NotNull  (0) 2019.11.12
반응형
  • (?) maxSize=67인데 이건 어디서 정해지는 건지? 아래에서 web.pageable.max-page-size: 67 요게작동하는듯

    spring:
    profiles:
        active: local
    datasource:
        jdbc-url: jdbc:mysql://localhost:3306/cdp?useSSL=false&serverTimezone=UTC&useLegacyDatetimeCode=false
        username: root
        password: root
    jpa:
        properties:
            hibernate.dialect: org.hibernate.dialect.MySQL5InnoDBDialect
        hibernate.ddl-auto: update
    jackson:
        serialization:
            WRITE_DATES_AS_TIMESTAMPS: false
        time-zone: UTC
    servlet:
        multipart:
            enabled: true
            file-size-threshold: 2KB
            max-file-size: 50MB
            max-request-size: 75MB
    data:
        rest:
            default-page-size: 57
            defaultPageSize: 77
    
  •  
  •  
  •  
  •  
  •  
  • org.springframework.data.domain.Pageable - request parameter로 받음
  • Defaulf 값은 org.springframework.data.web.PageableDefault annotation으로 설정
    • @PageableDefault(sort = {"provider.providerId", "programId"}, direction =Direction.ASC, size =AppConstants.DEFAULT_PAGE_SIZE_INT)
    • sort는 jpa model bean의 property 명이어야 함 (payload명이 아님)
    • sorting direction의 default는 ASC
    • default size는 application.yml에서 data.rest.default-page-size: 50 이렇게 설정가능하다고 함
  • 실제 request
  • Pageable 이 실제 구현되기 위해서는 Repository에서 적용이 되어야함
    • JpaRepository를 상속받아 그 내부 method를 구현하여 사용하면 됨
    • queryDSL의 경우, 코드에 적용해줘야 함

추가적으로 page가 0부터 시작하기 보다 1부터 시작하도록 변경한다던가 하고 싶다면 PageRequest class를 만들어 사용하면 됨

참고: https://cheese10yun.github.io/spring-jpa-best-12/

반응형
반응형

spring:

    profileslocal

    jpa:

        hibernate.ddl-autocreate-drop # update

        #none : 기본 값이며 아무 일도 일어나지 않는다.

        #create-only : 데이터베이스를 새로 생성한다.

        #drop : 데이터베이스를 drop 한다.

        #create : 데이터베이스를 drop 한 후, 데이터베이스를 새로 생성한다.(기능적으로는 drop + create-only와 같다)

        #create-drop : SessionFactory가 시작될 때 스키마를 drop하고 재생성하며, SessionFactory가 종료될 때도 스키마를 drop 한다.

        #validate : 데이터베이스 스키마를 검증 한다.

        #update : 데이터베이스 스키마를 갱신 한다.


<Before - join>

@Override
  public Page<Program> findDynamicQuery(Pageable pageable, String providerId, String programName) {

    JPQLQuery<Program> query = queryFactory.selectFrom(program).distinct()
        .join(program.multiLanguageList, programMultiLanguage)
        .on(program.eq(programMultiLanguage.program))
        .where(likeProviderId(providerId), likeProgramTitle(programName))
        .offset(pageable.getOffset()).limit(pageable.getPageSize());

    PathBuilder<Program> entityPath = new PathBuilder<>(Program.class, "program");
    for (Sort.Order o : pageable.getSort()) {
      PathBuilder<Object> path = entityPath.get(o.getProperty());
      query.orderBy(new OrderSpecifier(Order.valueOf(o.getDirection().name()), path));
    }

    QueryResults<Program> results = query.fetchResults();
    return new PageImpl<>(results.getResults(), pageable, results.getTotal());
  }

  private BooleanExpression likeProgramTitle(String programTitle) {
    if ("".equals(programTitle)) {
      return null;
    }
    return programMultiLanguage.title.like("%" + programTitle + "%");
  }

<After - join안하고 더 간단히>

@SuppressWarnings("unchecked")
  @Override
  public Page<Program> findDynamicQuery2(Pageable pageable, String providerId, String programName) {

    // order by 조건이 먼저 붙어야 할 수도 있을듯, 확인해봐야함
    JPQLQuery<Program> query = queryFactory.selectFrom(program)
        .where(likeProviderId(providerId), likeProgramTitle2(programName))
        .offset(pageable.getOffset()).limit(pageable.getPageSize());

    PathBuilder<Program> entityPath = new PathBuilder<>(Program.class, "program");
    for (Sort.Order o : pageable.getSort()) {
      PathBuilder<Object> path = entityPath.get(o.getProperty());
      query.orderBy(new OrderSpecifier(Order.valueOf(o.getDirection().name()), path));
    }

    QueryResults<Program> results = query.fetchResults();
    return new PageImpl<>(results.getResults(), pageable, results.getTotal());
  }
  
  private BooleanExpression likeProgramTitle2(String programTitle) {
    if ("".equals(programTitle)) {
      return null;
    }
    return program.multiLanguageList.any().title.like("%" + programTitle + "%");
  }

 

query구하고 실행까지 하려면

select는 query.fetch(), update는 query.update() 이런식으로 가능함

 

com.lge.cdp.model.QChannel.channel를 찾을 수 없다는 에러가 뜬다면

cdp-web/.classpath파일을 열어 아래 항목을 추가하면 됩니다.

<classpathentry kind="src" path="target/generated-sources/java">
        <attributes>
            <attribute name="optional" value="true"/>
            <attribute name="maven.pomderived" value="true"/>
            <attribute name="ignore_optional_problems" value="true"/>
            <attribute name="m2e-apt" value="true"/>
        </attributes>
    </classpathentry>

반응형

'java, spring' 카테고리의 다른 글

Jwt Token Expire 주기 설정  (0) 2019.11.27
Spring pageation  (0) 2019.11.25
javax.validation.constraints.NotBlank vs NotNull  (0) 2019.11.12
spring error  (0) 2019.06.14
spring  (0) 2019.06.12
반응형
반응형

'java, spring' 카테고리의 다른 글

Spring pageation  (0) 2019.11.25
JPA ddl설정, queryDSL  (0) 2019.11.21
spring error  (0) 2019.06.14
spring  (0) 2019.06.12
spring security...  (0) 2019.06.11
반응형
  • Web에서도 사용가능하며 매우 편리
  • 최근 syntax 바뀐듯함
    • start로 시작해서 end로 끝나는게 옛날 syntax
    • new syntax는 start-end가 따로 없고 동일한 효과내려면 (*) 사용가능
    • VSCode Extension은 최신버젼인 v2.12.2 platUML 설치했는데도 new syntax 사용못하고 에러남
    • Web에서는 되니까 그냥 Web꺼 사용함
  • State diagram을 그리되 간단하게 상태만 나오도록 하려면
    • (Draft)-->(QA Registered): Register
    • ()를 쓰면, state명에 ' ' 삽입가능한 장점도 있다
  • 정식 State diagram에선
    • state QA_Registered { \n} (\n 필수, 꼭 한줄 띄어야 에러안남) 이렇게 선언해야함
    • 각 state에 들어가야 할 설명이 있다면 이렇게 써야함
  • 공통사항
    • 방향을 지정하고 싶으면 -[up, down, right, left]-> 4가지 방향중에 1개 지정해서 -up->일케 쓰면됨
반응형
반응형

* hover: 공중부양하다.

* split: divide, seperate, split 차이이해하기

javascript에서 email.split('@')로 string자르는데 씀

반응형
반응형
반응형
반응형
반응형

'db' 카테고리의 다른 글

oracle VS mysql  (0) 2020.02.26
mysql query tip  (0) 2020.01.31
mysql.*, information_schema.*  (0) 2019.09.06
daily check query (mysql & oracle)  (0) 2019.07.17
mySQL local 설치 및 실행 (on windows)  (0) 2019.02.27
반응형

Map: Array를 다른 Array로 변환

매개변수는 순서대로 currentValue[, index[, array]]인듯

매개변수 이름을 중요하지 않고 순서만 중요한듯... 헷갈리는 개념!!! 알아두자!!!

참고) https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/map

반응형

+ Recent posts