느린 것을 걱정하지 말고, 멈춰서는 것을 걱정하라
article thumbnail
DBeaver 쿼리에 띄어쓰기(공백)가 있을때 오류가 나는 현상해결
IT/ORACLE 2024. 2. 4. 09:24

문제 아래와같이 Dbeaver편집기 상에서 띄어쓰기가 있을 경우 ORA-00900: SQL문이 부적합합니다. 라는 오류가 발생하는 현상이 있다. 문제 해결을 위해 Dbeaver의 Preferences > 편집기 > SQL 편집기 > SQL실행으로 들어간다. Blank line is statement delimiter가 체크되어있는 것을 체크해제하면 에러가 안난다.

article thumbnail
Oracle Join시 Join 메서드 선택 전략
IT/ORACLE 2023. 10. 9. 16:09

보통의 OLTP(Online Transaction Processing)성 프로세스의 경우, 소량의 데이터를 조회하여 데이터를 생성, 수정, 삭제하여 NL조인으로 충분하지만, 데이터가 많을 경우 소트머지 조인이나, 해시조인을 사용하라고 한다. 소트머지 조인의 경우 조인하려는 양쪽의 테이블을 조인컬럼을 기준으로 정렬 후, 조인하는 방식이고 해시조인의 경우 데이터의 양이 적은 테이블을 기준(데이터 양이 큰 테이블을 기준으로 만들수 있지만 지양한다.)으로 해시테이블을 만든 후 조인테이블이 해시테이블과 일치하는지 확인하는 작업을 하면서 조인한다. NL조인보다 위 두개 조인이 대용량 데이터 조인시 빠른 이유는 NL조인의 경우 인덱스에 기반한 랜덤액세스 방식의 조인이고, 모든 프로세스가 바라보고 있는, SGA영역에서..

자주 사용되는 오라클 힌트
IT/ORACLE 2023. 9. 24. 10:51

현재, 친절한 SQL튜닝이라는 책을 보고 있는데, 아래의 쿼리 힌트가 자주 사용된다고 하여 메모해둔 다음 틈틈이 보기 위해 남겨둔다. 분류 힌크 설명 최적화 목표 ALL_ROWS 전체 처리속도 최적화 FIRST_ROWS(N) 최초 N건 응답속도 최적화 액세스 방식 FULL Table Full Scan으로 유도 INDEX Index Scan으로 유도 INDEX_DESC Index를 역순으로 스캔하도록 유도 INDEX_FFS Index Fast Full Scan으로 유도 INDEX_SS Index Skip Scan으로 유도 조인 순서 ORDERED FROM 절에 나열된 순서대로 조인 LEADING LEADING 힌트 괄호에 기술한 순서대로 조인(T1 T2) SWAP_JOIN_INPUTS 해시 조인 시, Bu..

article thumbnail
위메프 면접 스크립트의 추억. (릿코드 414. Third Maximum Number)
일지 2023. 8. 15. 12:29

과거 위메프에 다닐때 면접관이나 스크립터로 면접에 자주 참여하였었는데, 팀장님께서 탈락할 것 같은 인원에게 마지막 찬스 비슷하게 내던 문제가 Leetcode에서 나와서 신기하여 포스팅 해본다. 문제는 약간 다르지만, 거의 같은문제의 수준이다. 그때 묻던 문제는 다음과 같다. 문제 무작위 배열이 있을때, distinct하게 10번째로 큰 수를 출력하도록 하려면 어떤식으로 알고리즘을 짤 것인가? 화상면접 특성상 입코딩 + 압박감 때문에 10 ~ 20분내에 풀어냈어야 하므로 면접자들은 더 어려운 상황이었을 것이다. 많은 사람들이 답을 잘 못하였고, 알고리즘을 좀 풀어본 사람들은 정렬후 세번째 숫자를 출력하는 정도로 말하였던것 같다. 하지만, 추가적인 문제로 정렬을 사용하지 않고 풀려면 어떻게 해야할까가 문제의..

Flutter 프로젝트 git push후 다시 내려받을때 이슈
IT/안드로이드 2023. 8. 4. 19:15

내 개인프로젝트를 사우분께 보여드리고 싶어서 flutter프로젝트를 받았더니.. android 폴더가 없는것 아닌가.. 안드로이드 스튜디오에서 저절로 만들어진 .gitignore등의 설정에 따라 push를 한 것인데 말이다. 알고보니.. 필요 없던것.. 프로젝트를 내려받은뒤 프로젝트 루트폴더에서 아래의 명령어를 수행하면 된다. flutter create .

article thumbnail
JPA 1차캐시와 2차캐시
IT/JPA 2023. 7. 29. 19:51

JPA의 1차캐시와 2차캐시.. 책이나 강의등을 통해 JPA를 공부하긴 하였으나,, 회사 프로젝트가 대부분 mybatis로 되어있기에 기억이 희미해져 간다.. 기억을 되살리고자 글로 정리하고자 한다. 일단, 네이버검색을 통해 캐시에 대한 사전적 정의를 본다. 캐시 (cache) 중앙 처리 장치의 성능 향상을 위해 사용하는 보조 기억 장치. 저용량, 고속의 반도체 기억 장치이다. 음.. 약간 하드웨어적 정의가 사전적 정의로 되어있다. cpu와 보조기억장치 사이에서 성능향상을 위해 두는 중간 레이어정도로 기술하고 있다. 그런데! 프로그래밍 용어와 관련된 사전적 정의도 있는데, JPA에서 말하는 캐시는 아래의 사전적 정의가 맞아보인다. 캐시(Cache) 캐시란 컴퓨터 프로그래밍 용어로, 자주 사용하는 데이터나..

article thumbnail
CloudFront, Route53 연결하기
IT/AWS 2023. 7. 16. 22:59

S3에 이미지를 업로드하고, 이를위한 CDN으로 CloudFront를 사용하도록 얼마전에 세팅을 하였었다. https://honeyinfo7.tistory.com/338 s3와 cloudfront 연동하기 현재 토이프로젝트를 하면서 S3에 사진을 올려두고, 이 사진을 Client가 바로 S3를 통해서 접근할 것이냐. 아니면, 내 서버를 한번 거쳐서 이미지에 접근할 것인가 하는 고민이 있었다. 그러던 어느 honeyinfo7.tistory.com 그리고, CloudFront의 접근을 얼마전에 내가 발급받은 도메인으로 하게하기 위한 작업을 하였는데,, 잘 되지 않았다. 일단,, 이 과정을 적어보고 나중에 잘되거나 해결책을 찾았을시 수정하기로 한다.. CloudFront에 들어가서 편집 버튼을 누른다. 대체..

article thumbnail
나는 계획파 vs 행동파?
일지 2023. 7. 15. 18:51

문득,, 토이프로젝트를 하고있는도중 새로운 아이디어가 떠올랐다. 막상 토이프로젝트를 하기 전에는 완벽한 계획을 세우고자는 마음에 몇년간 토이프로젝트를 하지 못하다가 에잇!! 계획없이 그냥 무지성으로 시작하게되니, 생각지 못한 문제를 마주하고 해결하는 과정을 통해 또다른 아이디어가 연쇄적으로 일어나는것 같다. 아무래도 나는 철두철미하게 계획을 세워서 실행하기 보다는 일단 행동이 앞서야 하는 타입인것 같다.

article thumbnail
s3와 cloudfront 연동하기
IT/AWS 2023. 7. 11. 21:49

현재 토이프로젝트를 하면서 S3에 사진을 올려두고, 이 사진을 Client가 바로 S3를 통해서 접근할 것이냐. 아니면, 내 서버를 한번 거쳐서 이미지에 접근할 것인가 하는 고민이 있었다. 그러던 어느날 퇴근전 팀원분과 이런저런 이야기를 나누며 수다를 떨던중. 위의 고민을 넌지시 말해보았는데 CloudFront라는것을 추천해주셨다. 요즘세상 키워드만 알면 전지전능한 ChatGPT가 설명해주니, CloudFront에 대해 물어보면 아래와 같다. 뭔가, 중간에서 캐시역할을 하는듯하다. 또한, S3에서 CloudFront에 대한 접근설정을 하면 보안적인면도 증가되지 않을까 싶다. CloudFront 생성 우측 상단의 배포생성 버튼을 클릭한다. 원본 도메인을 클릭하고, s3관련된 것으로 보이는 도메인을 클릭한다..

article thumbnail
안드로이드 에뮬레이터가 localhost 접근 불가 [Flutter] Error: SocketException: Connection refused (OS Error: Connection refused, errno = 111), address = 127.0.0.1 버그
IT/안드로이드 2023. 5. 1. 19:47

local에서 스프링부트로 대충 샘플 api서버를 띄우고 해당서버에 아래와 같은 코드로 접근을 하는데, 에러가 뜬다. final resp = await dio.get('http://127.0.0.1:8080/api/v2/orders'); 에러메시지 E/flutter (10174): Error: SocketException: Connection refused (OS Error: Connection refused, errno = 111), address = 127.0.0.1, port = 41792 음??? Postman으로는 되는데 왜 안될까.. 어쩌다 보니 찾은 방법은 루프백 아이피(localhost)대신 노출되고 있는 아이피를 써야하는듯. ## 우리집 내부망은 192로 시작하므로 내부망에서 내 컴퓨터의..