https://extensions.gnome.org/#

  • Dash to Panel
    • 실행한 창이 하단 TaskBar 에 표시
    • 빠른 단축 아이콘 설정
    • 설치 에러 시 42.46 버전 설치(Fedora 37 에서..)
  • Window List
    • 실행한 창이 하단 TaskBar 에 표시(Dash To Panel 사용하기 전에 사용 했었음)
  • Launch new instance
    • 실행 아이콘을 클랙 했을때 새로운 창이 열림(예로 브라우저 클릭 시 이미 실행 되어 있을때도 빈 창이 열림)
  • Applications Menu
    • 메뉴에 프로그램 드롭다운 버튼 생김
  • Places Status Indicator
    • 메뉴에 탐색기의 기본 메뉴 처럼 드롭다운 버튼 생김
  • Extenstion List
    • 메뉴에 확장 드롭다운 버튼 생김
  • Allow Locked Remote Desktop
    • 화면 잠금 시에도 원격 RDP 접속 허용

 

 

 

 

IntellJ 를 이용하기

  • Rebase Current onto Selected
  • Merge into Selected
  • Rebase --interactive (fixup)

시나리오

  1. 개인 개발 브랜치에서 커밋 내용에 신경 쓰지 않고 저장을 목적으로 커밋한다.
  2. master 브랜치에 다른 사람들이 반영 내용이 주기적으로 반영된다.
  3. 개인 개발 브랜치에 master 에 반영된 내용도 함께 업데이트되어 테스트 해야 한다.

시나리오 예

타임라인 순

  • 00:00 master 반영 v1
    • 01:00 master dev 브랜치 checkout
    • 01:10 dev 쓰기 기능 커밋
    • 01:20 dev 쓰기 기능 이래저래 막 커밋1
  • 02:00 master 반영 v2
    • 03:10 dev 쓰기 기능 이래저래 막 커밋2
    • 03:20 dev 쓰기 기능 이래저래 막 커밋3
      [master 브랜치]                                                                                 [dev 브랜치]

    • 04:00 master 내용 dev 브랜치에 반영 ("20:00 master 반영 v2" 내용이 rebase 01:00 시점 이후에 들어옴)
      dev 브랜치에서 "Rebase Current onto Selected"
      master 내용이 dev Checkout 시점으로 들어옴
    • 04:10 dev 쓰기 기능 이래저래 막 커밋4
    • 04:20 dev 쓰기 기능 이래저래 막 커밋5

05:00 dev 쓰기 기능 1~5번 커밋 내용 합쳐 master 에 머지하기

커밋 메시지 합치기
커밋 합치고 메시지 변경

Master 브랜치로 이동

dev -> master 로 Merge
완료

 

            ## HttpClient 4.x 
            
            SSLContextBuilder builder = new SSLContextBuilder();
            builder.loadTrustMaterial(null, (certificate, authType) -> true);

            SSLConnectionSocketFactory sslsf = new SSLConnectionSocketFactory(
                    builder.build(),
                    NoopHostnameVerifier.INSTANCE);

            httpClientBuilder.setSSLSocketFactory(sslsf);

유효하지 않은 인증서를 사용하는 사이트 호출 시 해결 방안

 

방법

  • HttpClient 등 모듈에서 유효한 인증서를 체크하는 로직을 예외 시키는 방법
  • certificate 인증서를 저장하여 호출하는 서버의 keystore 에 등록해주는 방법

방법 1에 대한 방법

 

방법 2에 대한 방법

  1. 크롬에서 아래와 같이 test1.cer 파일로 저장 (이름 무관)
  2. keytool -import -alias test1 -keystore  /data/tls\test1.keystore -file test1.cer -storepass changeit (alias 기존과 겹치지 않는 적당한 명칭, pass는 적당하게)
    ※ %JAVA_HOME%\jre\lib\security\cacerts 에 하지 않고 별도의 경로로 생성
  3. java 에서 https 요청 시 아래 설정 추가
    System.setProperty("javax.net.ssl.trustStore", "/data/tls/test1.keystore");

 

 

javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
	at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1946)
	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:316)
	at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:310)
	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1639)
	at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:223)
	at sun.security.ssl.Handshaker.processLoop(Handshaker.java:1037)
	at sun.security.ssl.Handshaker.process_record(Handshaker.java:965)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1064)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1395)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1379)
	at sun.net.www.protocol.https.HttpsClient.afterConnect(HttpsClient.java:559)
	at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:185)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1564)
	at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
	at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
	at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:347)
	at UrlConTest.main(UrlConTest.java:15)
Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:397)
	at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:302)
	at sun.security.validator.Validator.validate(Validator.java:262)
	at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:324)
	at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:229)
	at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:124)
	at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1621)
	... 14 more
Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
	at sun.security.provider.certpath.SunCertPathBuilder.build(SunCertPathBuilder.java:141)
	at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:126)
	at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:280)
	at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:392)
	... 20 more

 

+ Recent posts