본문 바로가기

분류 전체보기292

구글 로그인 시.. RefreshToken얻기. 구글 로그인 시, AccessToken만 받아온다. RefreshToken은 null.. GoogleAuthorizationCodeFlow.Builder()를 사용해서 받아왔는데.. GoogleAuthorizationCodeFlow.Builder( TRANSPORT, FACTORY, CLIENT_ID, CLIENT_SECRET,SCOPES) .setDataStoreFactory(DATA_STORE_FACTORY) .setAccessType("offline") .setApprovalPrompt("force") .build() setAccessType, setApprovalPrompt를 호출하지 않으면... AccessToken만 받아오더라. offline만 설정해도 넘어온다고 하던데.. 우선 내가 해보니 .. 2022. 9. 26.
Gmail API 메일 본문 내용 가져오기. Google API를 사용하여 GMail의 목록을 가져올 수 있다. 그런데.. 목록뿐만 아니라 메시지 본문도 가져올수 있다. Message는 MessagePart로 구성되어있다. 그리고 각 MessagePart에는 Header가 있고, 그 헤더를 통해 MIME타입을 가져와서 읽으면 된다. public void MyFunction(...){ ... List contents = new ArrayList(); List parts = myMessage.getPayload().getParts(); readMessagePart( parts, contents, "text/html"); if( contents.isEmpty()){ readMessagePart(parts, contents, "text/plain"); }.. 2022. 9. 20.
IntelliJ에서 jsp의 수정내용을 재시작없이 반영하기. jsp쪽 코드가 수정되면.. 매번 고양이를 껐다 켰다. 귀찮다. 근데.. 재시작없이 하는 방법이 없을까? 찾아봤더니.. 있다! 우선 원글님께 감사. 여기에 자세히 기술되어있다. https://velog.io/@leyuri/Intellij-jsp-js-%EC%88%98%EC%A0%95-%ED%9B%84-Tomcat-%EC%84%9C%EB%B2%84-%EC%9E%AC%EC%8B%9C%EC%9E%91-%EC%97%86%EC%9D%B4-%EC%9E%90%EB%8F%99-%EB%B0%98%EC%98%81%ED%95%98%EB%8A%94-%EB%B2%95 [Intellij] jsp, js 수정 후 Tomcat 서버 재시작 없이 자동 반영하는 법 스프링 부트를 사용하다가 요새 스프링을 처음 사용하기 시작했다. 스프링.. 2022. 9. 20.
MySQL 8.x에서 변경된 예약어 및 날짜비교 서버에 있는 DB를 테스트용으로 로컬에 설치했다. 그러면서 버전을 8.0.29로 설치했다. (서버는 5.x) 그랬더니.. 멀쩡히 잘 돌던 쿼리가 오류를 막 뱉어낸다. 알고보니.. 쿼리중에 GROUPS라는 이름을 붙여서 쓰고있었는데.. 이것이 예약어가 되어버린것. 그래서 해당 예약어를 찾아서 모두 ` (1옆에 있는 키)를 앞 뒤로 감싸주어 해결. 추가된 예약어들 목록은.. https://dev.mysql.com/doc/refman/8.0/en/keywords.html MySQL :: MySQL 8.0 Reference Manual :: 9.3 Keywords and Reserved Words 9.3 Keywords and Reserved Words Keywords are words that have sig.. 2022. 9. 14.
MVVM패턴 구현 - RelayCommand 만들기 WPF에서 MVVM패턴을 적용하여 개발하려면, View와 ViewModel간에 데이터 통로가 필요하다. 먼저.. 사용자의 action을 처리해줄려면 Command로 엮어줘야한다. Command를 만드는 방법에 대해서 간단하게 기술한다. (물론 나중에 포스팅할 PRISM이라는 매우 편리한 라이브러리가 있다.) 커맨드를 만들기 위해서는 ICommand를 상속받는 클래스를 하나 정의해야한다. (사실 범용성을 위해서는 2개..) public class RelayCommand : ICommand { // 해당 커맨드를 실행할 조건을 담는 Predicate private readonly Predicate _canExecute; // 실제 수행될 메소드를 담는 Action private readonly Action .. 2022. 9. 7.
정규식 빈문자열 또는 숫자만 허용하기. 숫자 또는 빈 문자열이 허용되는 입력이 있다. 이 값의 validation을 위해 valid를 사용하려고 한다. 문자값은 ###,###,### 형식 또는 빈칸. 빈 문자열은 다음과 같이 pattern적용 가능하다. ^$ 그러면 이제 ###,###,###.. 의 정규식에 붙이면.. ^$|^[0-9]+(,[0-9]+)*$ 위와 같이. ㅋ 2022. 9. 7.
728x90