본문 바로가기

전체 글

(36)
putty로 EC2 접속하기 (No supported authentication methods avaliable) cmd로는 정상적으로 접속이 된다. 서비스>OpenSSH Authentication Agent>시작유형:자동, 서비스상태:시작 세팅 이후로는 -i ${private_key} 옵션이 없이도 바로 접속이 된다. 근데 putty에서는 공개키 세팅을 따로 해주어야 하는데 그게 안된다. 구글링에서는 저 빨간 부분에 private key 세팅하는 부분이 있었는데 왜 난 없지,, 이거 방금 다운받은 최신 버전인데..싶은 찰나 SSH>Auth>Credentials에 private key를 입력해주면 된다. AWS EC2 인스턴스 시작할 때 다운받은 pem확장자 키를 입력하니 old한 형식이라고 사용할 수 없다고 한다. 그래서 puttygen.exe으로 새로 생성한 ppk를 사용했다. *(putty 세팅에서 key를 추..
KEEP DENSE_RANK 함수 변환 Oracle -> PostgreSQL (테이블을 T, 컬럼을 C, 등록일자를 RegDt 로 표현했을 경우) T에서 가장 최근에 등록된 데이터 값중 C의 가장 큰 값은? *(가독성을 위해 변수명만 BOLD) SELECT MAX(C) FROM T WHERE RegDt = (SELECT MAX(RegDt) FROM T); 위 데이터를 오라클에서 KEEP DENSE_RANK 함수를 써서 표현하면 다음과 같다. SELECT MAX(C) KEEP(DENSE_RANK FIRST ORDER BY RegDt DESC) FROM T; 위 함수를 PostgreSQL 로 이관하다가 그대로 사용하지 못한다는 것을 깨달았다. 더 효율적인 방법이야 많겠지만, 구글링 좀 뒤져보니까 좀 복잡하더라도 이게 가장 이해가 잘 돼서 난 이렇게 씀. WITH exampleName..
[JAVA] String to Json(String타입의 json데이터를 json으로 파싱) Json 규격에 맞는 String 데이터(본 게시글에서는 str이라는 변수)를 JsonParser로 파싱해서 바로 JsonObject에 담는게 안돼서 짜증났다. JsonArray에 담은 뒤 첫번째 인덱스로 뽑아서 아래와 같이 하면 해결.
[JAVA]HttpUrlConnection : POST 방식 (어떻게 보면 기본적인 상식일 수도 있어서 부끄러운 일이지만 기록하는 오늘의 시행착오) A에서 B로 http 통신 write 한다고 했을 때 A는 write만 한다고 해서 OutputStream만 만들어주면 HTTP 통신이 안된다. connection.getResponseCode 메서드 썼을 때 연결이 안되는 걸 보고 눈치챘어야 했는데 너무 헤맸다. HTTP 정보를 주고 받은 뒤 데이터를 송신하기 때문에 A는 write하는 경우밖에 없다고 하더라도 OutputStream의 write 동작 이후 InputStream의 read 로직이 있어야한다.
[JAVA] int와 Integer 값 비교, 그리고 128 알고리즘 코딩 중에 래퍼클래스(Integer)는 == 나 != 로 비교할 수 없다는걸 까먹고 실수를 했다. 주석코드 : 수정 후 주석없는 코드 : 수정 전 -> 비교하는 값 중 하나만 int로 설정해줘도 알아서 int로 비교한다. 위와 같이 수정하면서 해결했고, 그 과정에서 이상한 점이 발견됐다. 저 실수대로라면 모든 Integer 값을 다르다고 봐야 하는데 100 언저리의 숫자 까지는 같은 값은 같은 값으로 연산이 되었다. 확인 결과 java에서 IntegerCash.low와 IntegerCash.high를 두고 그 사이 값은 다른 로직으로 처리되는 것이 보였다. IntegerCash.low 는 -128이고 IntegerCash.high는 127이다.
[안드로이드스튜디오]This project uses AndroidX dependencies, but the 'android.useAndroidX' property is not enabled. 저번에 안드로이드스튜디오를 4.2로 버전업 한 이후로 계속 새로운 에러가 생겨난다. Inflater를 inflate 하는 부분에서 NoSuchMethodException: android.graphics.FontFamily 에러가 발생했는데 TypefaceCompatApi26Impl.class 라이브러리의 부재가 원인이라고 한다.(stack overflow 검색) 그래서 Build.gradle(Module)에 implementation 'androidx.core:core:1.3.0' 를 추가해주었다. 그 후 실행해서 발생한 것이 제목에 써있는 에러이다. 상단에 refactor 메뉴에서 migrate to androidX 해주면 gradle.property에 android.useAndroidX=true가 추..
[JAVA] EXCEL파일 write하기(WritableWorkbook) 위와 같이 WritableWorkbook 클래스로 객체를 생성해주고 WiritableSheet 클래스로 workbook 객체에 sheet를 생성한다. createSheet(시트 이름, 시트 인덱스)로 사용한다. 이후에 WritableFont와 WritableCellFormat 클래스로 이후 추가할 셀의 폰트와 배경색, 서체 등을 설정할 수 있다. addCell 메서드를 통해 Cell을 위와 같이 추가한다. new Label(x좌표, y좌표, 셀의 내용, 셀의 포맷) 형식으로 사용한다. 두번째 라인처럼 mergeCell(셀 병합 시작할 x좌표, 셀 병합 시작할 y좌표, 셀 병합 끝낼 x좌표, 셀 병합 끝낼 y좌표)로 셀을 병합할 수 있다. setRowView(x좌표, 높이) 와 setColumnView(y..
[JAVA] 큐 정렬하기 Queue<String> sorting 가장 작은 index를 리턴하고 후에 sotrIndex 파라메터를 queue.size() - i 로 조정해주면서 오름차순 정렬이 된다. minIndex 위치의 값을 queue의 마지막에 add해준다. for문으로 두 메서드를 실행해서 queue 내부 데이터를 오름차순으로 만들어준다. www.geeksforgeeks.org/sorting-queue-without-extra-space/ 에서 Queue 형식의 sorting 방법을 참고함. Sorting a Queue without extra space - GeeksforGeeks A Computer Science portal for geeks. It contains well written, well thought and well explained compu..