728x90
Best Story
- [대학원] IT 특수대학원 면접 후기 인서울 IT 관련 특수대학원 지원 및 면접 후기 우선 직장이 서울이었기 때문에 서울에 있는 대학원들을 알아보았고, 그 중 소프트웨어 관련 학과가 있는 상위권 특수대학원으로 필터링한 결과 아래 5개의 대학원에 지원하였다.숭실대(정보과학 대학원)국민대(소프트웨어 융합대학원)서강대(AI.SW 대학원)서울시립대(과학기술 대학원)한양대(공학 대학원)대학원 지원 시 자기소개서나 학업계획서를 받는 곳도 있는데 그게 점수에 큰 영향은 없고 면접 시 참고 자료로 활용하는 것 같다. 숭실대: 정보과학 대학원편안한 분위기에서 2:3 면접이 진행되었다.입실 전 관심과목과 어필하고 싶은 부분을 작성하는 시간이 있었고, 면접에서는 간단한 자기소개 후 자기소개를 바탕으로 한 기본 질문 1~2개를 받았다. 결론 : 자기소개서도 따로.. 2025.12.14
- [PostgreSQL] 서버 리소스 최적화와 경량화된 Connection Pooling: pgBouncer 도입 PostgreSQL에 직접적으로 연결하지 말고, pgBouncer 커넥션 풀을 통해 관리하자 서버 리소스 최적화회사 내부 개발서버를 장기적으로 운영하다 보면 시간이 흐를수록 캐시, 데이터 등이 계속 쌓이며 Disk, Memory를 차지하게 되고.. 여러 개발자들이 사용하며 다양한 애플리케이션을 구동시키기 때문에 Cpu 사용량도 계속해서 증가 할 것이므로 주기적으로 정리가 필요하다. 1. DB(Elasticsearch) 오래된 데이터 정리 💾서비스에 따라 다양한 Database를 사용하겠지만 Elasticsearch(nosql)와 Postgres(rdb) 기준으로 본다면 Postgres는 RDB로 보통 설정 값이나 사용자 정보 등 일정한 데이터를 저장하는 용도로 사용하기 때문에 시간이 지나도 용량이 매우.. 2025.09.20
- [PostgreSQL] 데이터베이스 서버 보안 취약점 방지 실제 운영중인 서비스에서 데이터베이스의 보안은 매우 중요한 문제이므로 보안 관련 설정을 적용하여 취약점을 미리 방지하는 것이 좋다. PostgreSQL은 데이터베이스 보안을 강화하기 위해 다양한 설정과 기능을 제공한다. 특히 서버 설정 파일을 통해 암호화를 적용하고 안전한 인증 방식을 사용할 수 있다. 이 글에서는 PostgreSQL의 pg_hba.conf 파일을 중심으로 hostssl 및 scram-sha-256 설정 방법과 관련 정보를 다룬다. pg_hba.conf 파일 개요경로: /var/lib/postgresql//main/pg_hba.conf역할: PostgreSQL의 호스트 기반 인증(HBA, Host-Based Authentication) 방식을 정의하며, 클라이언트 접속을 제어한다. 1... 2024.10.22
- [서버] PowerShell 7으로 업그레이드하기: 설치 방법과 주요 장점 PowerShell 7의 설치 방법과 주요 장점, 그리고 SSH 접속 후에도 편리한 자동완성을 사용하는 방법 리눅스 서버를 운영하다 보면 Windows 환경에서 SSH 접속이나 스크립트 작업을 할 일이 많다. 그동안 Windows에 기본 설치된 PowerShell 5.1을 사용해왔는데, 최근 PowerShell 7로 업그레이드하면서 자동 완성, 명령어 예측 등 다양한 개선 사항을 체감할 수 있었다. ✅ PowerShell 5.1 vs PowerShell 7Windows에 기본 탑재된 PowerShell은 5.1 버전이며 PowerShell 7은 .NET Core/.NET 기반으로 재작성된 크로스 플랫폼 버전이다.PowerShell 5.1: Windows 전용, .NET Framework 기반PowerS.. 2025.12.14
- [PostgreSQL] 삽입..이미 있다면? 업데이트 (with. upsert) 데이터를 삽입하는데 충돌이 발생하면 충돌한 기존 데이터를 업데이트 하자 💡 UPSERT 란?UPSERT 는 [Insert + Update]의 합성어로, 고유 키나 제약 조건을 기준으로 기존 레코드의 존재 여부를 판단하여 존재하면 UPDATE, 존재하지 않으면 INSERT를 수행하는 복합 연산이다. 주로 사용되는 대부분의 DBMS(MySQL, Oracle, PostgreSQL, Mongo..)에서 고유 문법에 따라 UPSERT를 지원하고 있으며, 실제로도 많이 사용되고 있다. 하지만 SQL 표준 문법은 아니고, 비슷한 기능의 표준 문법으로 Orcle, SQL Server 등에서 MERGE를 지원하고 있다.MERGE는 상대적으로 복잡한 조건의 병합 처리에 유리하고, UPSERT는 충돌 시 단순 삽입/수정 .. 2025.03.14
- [PostgreSQL] DB Test 서버 세팅하기 (feat. Data dump) 기존에 Test Server가 따로 없어 Dev Server의 DB를 사용하여 Test Case들을 작성했더니 데이터가 변경되며 문제가 생겨 Test용 DB Server를 구축하는 과정이다..Postgres 서버 세팅하기우선 개발 서버의 데이터베이스의 스키마와 데이터를 포함한 전체를 그대로 복사해와야 하기 때문에 개발 서버의 PostgreSQL 버전과 설치 경로 등을 먼저 확인하고 똑같은 경로에 설치 후 접근 권한이나 사용자 권한 등을 세팅해주면 된다. 서버 세팅이 끝났으면 데이터베이스를 복사해오면 되는데 그 전에 꼭 해줘야 할 작업이 있다. ! 테이블 스페이스 디렉터리 생성 !PostgreSQL의 dumpall은 전체 데이터베이스 클러스터를 덤프하는 유틸리티로 데이터베이스 객체의 스키마와 데이터를 덤프.. 2024.03.17
- [Intellij IDEA] Intellij 느려짐 문제 해결하기 (Memory↑) Intellij 자체 메모리 사용량을 늘려 느려짐, 버벅거림 등의 현상 개선 회사에서 개발 업무를 하다보면 프로젝트의 여러 버전을 같이 봐야하거나 비교, 데이터 검증 등의 작업을 할 때 Intellij 프로젝트 창을 2~3개 띄워 서버를 돌리게 되는데 그렇게 되면 Intellij는 생각보다 많은 리소스를 잡아먹는다. 이러한 이유로 속도가 느려지고 종종 끊기거나 강제로 종료되버리는 등의 현상이 발생할 수 있는데 우선 PC의 스펙이 밑의 사진과 같이 JetBrains에서 말하는 시스템 요구 사항보다 부족하다면 PC스펙을 업그레이드 해야한다.. 하지만 PC스펙이 충분한데도 위와 같은 문제가 발생한다면 Intellij가 사용할 수 있는 리소스가 적은것이다. 즉 Intellij의 메모리 사용량을 늘려주면 쉽게 해.. 2024.03.03
- [SpringBoot] Thread starvation or clock leap detected (feat. 쓰레드 기아 현상) 트러블슈팅 Spring을 위해 열일하는 우리의 작고 귀여운 EC2가 자주 죽는 이유인 쓰레드 기아 현상이란? 제목에 있는 Thread starvation or clock leap detected 해당 에러가 어떤 에러이며, 왜 발생하는지 또 해당 에러로 인한 문제와 해결 방법에 대해 알아보자. 우선 EC2 서버가 갑자기 다운되는 상황은 자원 부족, 예외 처리 미흡, 서버 설정 문제 등 이 외에도 매우 다양한 원인들로 인해 갑작스럽게 돌연사 해버릴 수 있는 개복치 같은 서버의 사망 원인을 파악하기 위해서는 가장 쉬우면서도 중요한 서버의 로그를 확인해보면 서버의 상태나 죽었다면 죽은 이유를 파악할 수 있다. 서버가 이런 로그를 계속하여 뱉어냈다면 이 글에서 다루는 쓰레드 기아 문제이다. WARN 23318 --- [l.. 2024.02.11
- [SQL] 파티션(Partition) 사용하여 데이터 조회하기. 파티션은 데이터를 효율적으로 저장하고 관리하기 위한 기술로, 테이블이나 인덱스를 더 작은 논리적(물리적) 단위로 분할하는 것을 의미한다. 주요 특징1.성능 향상: 특정 파티션에 대한 쿼리를 실행할 때는 해당 파티션에만 접근하면 되므로 데이터 검색이 빨라질 수 있다. 2.유지 보수 용이성:대용량 테이블을 파티션으로 나누면 데이터 관리가 용이해진다. 특히, 특정 파티션의 데이터를 백업하거나 삭제하는 작업이 간편해진다.3.병렬 처리:파티셔닝은 쿼리를 병렬로 실행할 때 도움이 된다. 각 파티션을 서로 독립적으로 처리될 수 있으므로 병렬 처리를 통해 전체 쿼리의 성능을 향상시킬 수 있다. *파티션 유형: List partition, Range partition, Hash partition, Composite pa.. 2024.02.09
- [JPA] JPQL (Java Persistence Query Language) JPQL은 JPA에서 사용하는 객체지향적인 쿼리 언어로 JPQL을 사용하여 Entity객체를 대상으로 쿼리를 작성할 수 있다. 객체 중심 쿼리 언어: JPQL은 데이터베이스 테이블이 아닌 Entity객체를 대상으로 쿼리를 작성한다. SQL과 유사하지만 테이블이 아닌 Entity와 그 Entity의 속성을 사용한다. select, from, where, group by, having, order by 등 표준 SQL과 기본 문법은 같다. 특징: JPQL은 객체지향적이며 Entity객체를 대상으로 쿼리를 작성하기 때문에 데이터베이스에 종속적이지 않다. JPQL을 사용하면 Entity객체 사이의 관계를 활용하여 복잡한 쿼리도 작성할 수 있다. Query문에서 FROM [Entity] [EntityAlias] .. 2023.09.25
728x90