728x90
Best Story
- [서버] 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
- [대학원] IT 특수대학원 면접 후기 인서울 IT 관련 특수대학원 지원 및 면접 후기 우선 직장이 서울이었기 때문에 서울에 있는 대학원들을 알아보았고, 그 중 소프트웨어 관련 학과가 있는 상위권 특수대학원으로 필터링한 결과 아래 5개의 대학원에 지원하였다.숭실대(정보과학 대학원)국민대(소프트웨어 융합대학원)서강대(AI.SW 대학원)서울시립대(과학기술 대학원)한양대(공학 대학원)대학원 지원 시 자기소개서나 학업계획서를 받는 곳도 있는데 그게 점수에 큰 영향은 없고 면접 시 참고 자료로 활용하는 것 같다. 숭실대: 정보과학 대학원편안한 분위기에서 2:3 면접이 진행되었다.입실 전 관심과목과 어필하고 싶은 부분을 작성하는 시간이 있었고, 면접에서는 간단한 자기소개 후 자기소개를 바탕으로 한 기본 질문 1~2개를 받았다. 결론 : 자기소개서도 따로.. 2025.12.14
- [Database] SnowFlake 알고리즘 : 대규모 분산 환경에서의 고유 ID 전략 관계형 데이터베이스를 설계할 때 PK를 어떤 값을 지정해야 할지 항상 고민될 것이다. 대규모 트랜잭션 환경에서 유리한 단일 PK 전략을 세우기 위해 snowflake 알고리즘을 알아보자 1. 왜 Snowflake 알고리즘을 써야 할까? 🤔대규모 분산 서버 환경에서 고유한 ID를 생성하는 건 꽤 까다로운 문제다. 기존에는 DB의 AUTO_INCREMENT 기능에 의존해 ID를 생성했는데, 이 방식은 DB에 부하가 집중되어 트래픽이 몰리면 병목 현상이 발생할 수 있다.즉, DB 락 경합으로 인해 전체 서비스가 느려지거나 심지어 중단될 위험도 있다.또한, UUID 같은 랜덤 ID를 사용하면 고유성은 보장되지만, ID가 길고 무작위라서 인덱싱 효율이 떨어지고 조회 성능도 저하된다.이처럼 단일 DB 의존, 성능.. 2025.07.27
- [Docker] 컨테이너 환경 모니터링 시스템 구축하기 (Prometheus + Grafana) Prometheus, Grafana, cAdvisor, node-exporter를 사용하여 Docker 호스트와 컨테이너들을 모니터링 하는 방법. Docker 호스트로 사용되는 서버의 리소스와 컨테이너들을 모니터링하기 위해 리서치 해보았을 때 서버를 모니터링하기 위한 다양한 툴이 있지만 가장 많이 사용되는 조합은 역시 Prometheus & Grafana였다. Prometheus & Grafana는 다른 경량 모니터링 툴 보다 다소 무거울 수 있지만, 보다 정밀한 데이터 수집, 장기 저장, 알림 기능 등 강력한 기능을 제공한다. 특수한 경우가 아니라면 커스텀 없이도 기본값으로 충분히 활용할 수 있기 때문에 초기 구축도 크게 어렵지 않으며, 레퍼런스나 정보도 많고, 다양한 대시보드 소스를 활용할 수 있.. 2025.04.22
- [Docker] nGrinder 부하 테스트 환경 구성 (with. AWS) AWS EC2 환경에서 docker-compose를 사용하여 nGrinder(성능 테스트 툴)를 동작시키기 위한 컨테이너 구성 과정*해당 글은 Ubuntu 기준으로 작성됨. 1. AWS EC2 인스턴스 세팅Local 환경에 Container를 생성해서 테스트 해도 되지만 리소스가 제한적이고, 외부에서 접속할 수 없기 때문에 AWS ec2를 사용하였다. 우선 아래의 링크에서 AWS에서 EC2 인스턴스를 생성해야 한다. https://ap-northeast-2.console.aws.amazon.com/ec2/home?region=ap-northeast-2#Home: 인스턴스 생성이 완료되면 Local에서 Terminal을 열고 SSH로 EC2 서버에 접속한다.ssh -i [.pem 파일 경로] ubuntu@.. 2024.06.30
- [PostgreSQL] Trigger / Procedure / Function trigger, procedure, function은 각각 무엇을 의미하며 어떻게 사용하는가 trigger와 procedure 그리고 function은 다양한 데이터베이스 관리 시스템(DBMS)에서 사용되는 개념이다. 각 DBMS마다 구현 방식이나 지원 여부에는 조금씩 차이가 있으며, 이 글에서는 postgresql에 대한 개념을 정리했다. Trigger트리거(trigger)는 특정 이벤트 (INSERT, UPDATE, DELETE)가 테이블에서 발생할 때 자동으로 실행되는 일련의 명령문으로 총이 방아쇠를 당겨 총알을 발사 하듯이 이벤트가 발생했을 때 특정한 기능을 실행시키는 것이다. 트리거는 테이블이나 뷰에 대해 설정된다.BEFORE, AFTER, INSTEAD OF 시점에 설정할 수 있다.행(.. 2024.05.25
- [Docker] 02. 컨테이너 핵심 개념과 사용 방법 (Dockerfile, compose, volumes, network...) 도커 이미지를 만들어 컨테이너를 띄우는 방법과 주로 사용되는 개념들을 정리하자 1. DockerFile 작성 📝Dockerfile은 도커 이미지를 생성하기 위해 필요한 명령어들을 순차적으로 나열한 텍스트 파일이다. 각 명령어는 새로운 계층(layer)을 만들며, 이 계층들이 합쳐져 최종 이미지를 구성한다. 이를 통해 애플리케이션 빌드와 배포 과정을 표준화·자동화할 수 있다.💻 기본 구조 및 주요 명령어1. FROM: 기반 이미지를 지정 (모든 Dockerfile은 FROM으로 시작)FROM ubuntu:18.04 2. LABEL: 이미지 메타데이터 정의 (제작자, 버전 등)LABEL maintainer="name@example.com" 3. RUN: 빌드 시 실행할 명령어 정의 (패키지 설치, 설정 .. 2024.05.06
- [Docker] 01. 가상화와 컨테이너 및 도커 엔진의 구조 Docker의 Container에 대한 기본 개념과 Docker Engine의 내부 동작 방식 모던 웹개발에서 Docker가 왜 필요한가? 🐳💡 해결하고자 하는 문제1. 초창기 컴퓨팅 환경의 한계1960~70년대 컴퓨터는 한 대의 기계가 하나의 애플리케이션만 실행하는 구조였다. 프로세스(Process)는 프로그램의 실행 인스턴스로, CPU·메모리 등 자원을 할당받아 실행되며, 커널(Kernel)이 이를 관리했다.하지만 여러 사용자가 동시에 자원을 쓰기 시작하면서 문제가 발생했다.특정 프로그램이 CPU·메모리를 과도하게 점유 → 다른 사용자 프로그램까지 영향을 줌애플리케이션 오류가 OS까지 확산 → 전체 시스템 중단 발생즉, 자원을 공유하되 안전하게 격리할 방법이 필요해졌다. 2. 웹 서비스 시대와 자.. 2024.05.06
- [SSO] SSO(Single Sign-On) 개념 정리 SSO는 사용자가 여러 애플리케이션 또는 서비스에 대해 하나의 인증 정보로 로그인할 수 있는 인증 메커니즘으로 보안 강화 및 인증, 권한 부여 솔루션 등으로 활용된다. 특징 및 장점 단일 인증 정보: 사용자는 SSO시스템을 통해 단일 인증 정보(id,pw)를 입력하여 여러 서비스에 접근할 수 있다. 사용자 경험 향상: 여러 번의 로그인 절차를 거치지 않고도 여러 서비스에 쉽게 액세스할 수 있다. 보안 강화: 하나의 강력한 인증 수단을 사용하므로, 다양한 애플리케이션에서 사용자 인증 정보를 관리하는 데 필요한 보안 수준을 높일 수 있다. 관리 용이성: 사용자 인증 정보를 중앙 집중화하여 관리자가 액세스 권한을 효과적으로 관리할 수 있다. 단점 의존성: SSO 시스템이 다운될 경우, 여러 서비스에 대한 액세.. 2023.10.20
- [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