VS Code 원격 개발 환경 구성: SSH 키로 원격 서버 접속하기
·
CS공부/인프라
이번에는 VS Code의 Remote - SSH 확장 기능을 사용하여,비밀번호 대신 SSH 키를 통해 원격 컴퓨터에 안전하고 편리하게 접속하는 방법을 단계별로 정리하였다.1. 왜 비밀번호 대신 SSH 키를 사용해야 할까?단순 비밀번호 입력 방식은 간단하지만 보안에 취약하다.SSH 키 인증은 비대칭 키 암호화를 기반으로 하여 보안성과 편의성을 동시에 제공한다.항목비밀번호 인증SSH 키 인증보안 수준낮음 (유출, 무차별 대입 공격에 취약)높음 (개인 키 없이는 접속 불가)편의성매번 입력 필요최초 1회 등록 후 비밀번호 없이 접속활용성수동 접속에 적합자동화, 반복 작업에 유리2. SSH 키 생성 (로컬 PC)터미널(Windows는 PowerShell 또는 Git Bash)에서 다음을 실행한다:ssh-keyge..
OAuth2 기반 Google & Kakao 로그인 구축 방법
·
CS공부/Java & Spring
✅ 사전 준비📌 공통Spring Boot (spring-boot-starter-oauth2-client)Redirect URI: https://yourdomain.com/login/oauth2/code/{provider}🧩 1. Google OAuth2 로그인 구축🔧 Google Cloud 설정Google Cloud Console 접속OAuth 동의 화면 구성 (앱 이름, 사용자 이메일 등)OAuth 2.0 클라이언트 ID 생성애플리케이션 유형: 웹 애플리케이션승인된 리디렉션 URI:https://yourdomain.com/login/oauth2/code/google클라이언트 ID, 클라이언트 시크릿 발급⚙️ application.yml 설정spring: security: oauth2: ..
백준 2615: 소형기관차(Java)
·
알고리즘
🚆 백준 2616번: 소형기관차🎯 문제 요약N개의 객차(1 ≤ N ≤ 50,000)가 수직선 상에 있다.각 객차에는 손님이 타고 있다 (최대 100명).소형 기관차는 최대 K칸까지 끌 수 있으며, 총 3대가 존재한다.3개의 소형 기관차가 서로 겹치지 않게 총합 손님 수가 최대가 되도록 운행할 때의 최대 손님 수를 구하라.🧠 문제 접근✅ 핵심 개념3개의 기관차가 끌 수 있는 객차를 비중복으로 선택 → 구간 합 최적화누적합 + DP 사용dp[i][j]: i번째 기관차까지 사용해서, j번째 객차까지 탐색했을 때 최댓값🔍 알고리즘 설계import java.io.*;import java.util.*;public class Main { public static void main(String[] args..
백준 2306: 유전자(Java)
·
알고리즘
🎯 목표주어진 DNA 문자열에서 KOI 유전자 조건을 만족하는 최장 유효 부분 문자열의 길이를 구한다.KOI 유전자 정의:at, gc는 KOI 유전자.KOI 유전자 X → aXt, gXc도 KOI 유전자.X, Y가 KOI 유전자 → XY도 KOI 유전자.✅ 핵심 아이디어DP[i][j]: i~j까지 KOI 유전자 중 최장 길이두 가지 전이 방식:경계 조건: (i,j) 가 a,t or g,c로 감싸진다면 → 내부 + 2분할 결합: dp[i][j] = max(dp[i][k] + dp[k+1][j])🧠 알고리즘 설계import java.io.*;import java.util.*;public class Main { static int[][] dp; static char[] dna; public..
백준 1557: 도로의 개수(Java)
·
알고리즘
✅ 문제 요약N×M 격자 도시에 도로가 건설됨.도로는 격자의 가로선 또는 세로선에 해당.일부 도로는 공사 중이므로 통행 불가.(0,0)에서 (N,M)까지 이동하는 경로의 수를 구하라.오른쪽 또는 아래쪽 방향으로만 이동 가능.🔍 알고리즘 설계DP[i][j] = (0,0)부터 (i,j)까지 가는 경로 수인접한 두 좌표 사이의 도로가 막혀있다면 그 방향으로 이동 불가.공사 중 도로는 (i1, j1, i2, j2)로 주어짐 → Set으로 관리.import java.util.*;public class Main { static int N, M; static long[][] dp; static Set block = new HashSet(); public static void main(Strin..
GitHub 대용량 파일 관리를 위한 Lens 사용법
·
CS공부/기타 CS지식
🎯 목표대용량 파일로 인한 GitHub 제한 해결Git 저장소의 용량 및 속도 문제 해결 Lens CLI를 통한 대체 Git LFS 관리대용량 파일을 별도 스토리지에 분리 관리✅ 왜 대용량 파일 관리가 필요한가?문제점설명Git 저장소 용량 한계GitHub는 기본적으로 파일당 100MB, 전체 1GB 저장소 제한이 있음커밋 내역 무거움바이너리/미디어 파일을 자주 커밋하면 기록이 빠르게 커짐클론/푸시 속도 저하저장소 크기가 커지면 협업 속도 저하🔗 이를 해결하기 위해 Git LFS 또는 대체 도구 Lens를 사용🔄 Git LFS의 한계GitHub에서 공식 지원하지만 무료 저장소는 용량/트래픽 제한이 있음1GB 저장, 월 1GB 트래픽 → 초과 시 유료 플랜 필요커스텀 파이프라인(CI/CD) 연동 어려..