TCP/IP 4계층 모델
·
CS/Network
인터넷에서 통신이 이루어지는 방식을 4개의 계층으로 나누어 설명한 표준 네트워크 모델OSI 7계층 모델보다 실제 구현에 더 가까운 구조OSI 7계층TCP/IP 4계층7. 응용 (Application) 6. 표현 (Presentation) 5. 세션 (Session)→ 4. 응용 계층4. 전송 (Transport)→ 3. 전송 계층3. 네트워크 (Network)→ 2. 인터넷 계층2. 데이터링크 (Datalink) 1. 물리 (Physical)→ 1. 인터페이스 계층1️⃣ 애플리케이션 계층 (Application Layer)FTP, HTTP, SSH, SMTP, DNS 등 응용 프로그램이 사용되는 프로토콜 계층웹 서비스, 이메일 등 서비스를 실질적으로 사람들에게 제공예2️⃣ 전송 계층 (Transport ..
네트워크의 기초
·
CS/Network
네트워크란 노드(node)와 링크(link)가 서로 연결되어 있거나 연결되지 않은 집합체노드-> 서버, 라우터, 스위치 등 네트워크 장치를 의미링크-> 유선 또는 무선을 의미처리량과 지연 시간좋은 네트워크란 많은 처리량을 처리할 수 없으며 지연시간이 짧고 장애 빈도가 적으며 좋은 보안을 갖춘 네트워크1. 처리량 (Throughput)일정 시간 동안 네트워크를 통해 실제로 전달되는 데이터의 양.단위: bps (bits per second), Mbps, Gbps 등의미: 얼마나 많은 데이터를 보낼 수 있는가?예: 100Mbps 인터넷 회선이라면, 이론적으로 1초에 100메가비트까지 데이터를 전송 가능.실제 처리량은 네트워크 혼잡, 패킷 손실, 거리, 장비 성능 등으로 인해 이론 최대보다 낮을 수 있음.대역폭..
[level 1] 3진법 뒤집기 - 68935
·
CS/Algorithm
(https://school.programmers.co.kr/learn/courses/30/lessons/68935) 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr3진법 뒤집기📝 문제 설명자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.📌 입력값n: 1 이상 100,000,000 이하의 자연수✅ 출력값n을 3진법으로 변환 → 뒤집기 → 다시 10진법으로 변환한 결과 값 (정수)📚 제한사항n은 1 이상 100,000,000 이하인 자연수입니다.🧠 문제 접근 방법 3진법으로 변환 하면서 뒤집..
[level 1] 예산 - 12982
·
CS/Algorithm
(https://school.programmers.co.kr/learn/courses/30/lessons/12982) 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr예산 📝 문제 설명S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000..
[level 1] 체육복 - 42862
·
CS/Algorithm
(https://school.programmers.co.kr/learn/courses/30/lessons/42862) 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 체육복 📝 문제 설명점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수..
프로그래밍 패러다임
·
CS
프로그래밍 언어가 문제를 해결하고 코드를 구조화하는 방식이나 철학→ ”코드를 어떻게 작성할 것인가?"에 대한 접근 방식프로그래밍 패러다임├── 1. 명령형 (Imperative)│ ├── 1-1. 절차적 (Procedural)│ ├── 1-2. 객체지향 (Object-Oriented)│ ├── 1-3. 병행/병렬 프로그래밍 (Concurrent/Parallel)│ └── 1-4. 상태 기반(Stateful)│└── 2. 선언형 (Declarative) ├── 2-1. 함수형 (Functional) ├── 2-2. 논리형 (Logic) ├── 2-3. 데이터 중심 (예: SQL) └── 2-4. 제약 기반 (Constraint-based)선언형-함수형 프로그래밍“프로그램..
[PRMemo] GitHub Webhook vs 배치 프로그램
·
Project
프로젝트에서 사용자의 깃허브 레포지토리, PR목록을 서버로 자동 동기화 해야하는데 Webhook과 배치 중 어느 쪽이 더 적절할지 결정이 필요했음1. Webhook / 배치 프로그램 차이점항목Webhook배치 프로그램작동 방식GitHub 이벤트 발생 시 즉시 알림주기적으로 서버에서 GitHub API 호출트리거 조건PR 생성, push, comment 등설정된 시간마다 무조건 실행실시간성✅ 매우 뛰어남❌ 느릴 수 있음API 호출 횟수필요할 때만반복적으로 호출 (비효율적 가능성 있음)GitHub 설정 필요✅ Webhook 수동 등록❌ 없음구현 난이도서버 수신기 필요 (POST endpoint)비교적 간단 (스케줄러만 설정하면 됨) 2. 실제 사용 시나리오이 서비스는 사용자가 GitHub OAuth 로그인 ..
디자인 패턴
·
CS
싱글톤 패턴(singleton pattern)하나의 클래스에 오직 하나의 인스턴트만 가지는 패턴보통 데이터 베이스 연결 모듈에 많이 사용 됨 → 인스턴트를 생성할 때 드는 비용 절감예시 코드// DB 연결 싱글톤 클래스 예제import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;public class SingletonDBConnection { private static SingletonDBConnection instance; private Connection connection; private static final String URL = "jdbc:mysql://localhost:3306/..
프로젝트 회고 : Juseyo - 재고 관리 플랫폼
·
Project
1. 프로젝트 개요서비스명: Juseyo기간: 2025.05.02 ~ 2025.06.02팀 구성: 이름 역할 GitHub 황지윤PM GitHub 장지현개발 팀장 GitHub 홍보람팀원 GitHub 근하람팀원 GitHub 이현석팀원 GitHub 한 줄 소개: 기업별 자산과 재고를 효율적으로 관리하고 요청·승인 프로세스를 자동화하는 재고 관리 플랫폼입니다.🌟 주요 특징부서 및 역할(Role) 기반 권한 관리요청 → 승인 → 반납 흐름 구조실시간 상태 추적 및 Excel 입출력SSE 기반 알림 & STOMP 기반 실시간 채팅사용자 맞춤 비품 추천 기능 구현2. 사용 기술 스택FrontendReact, Next.js, TypeScriptBackendSpring Boot, Spring Security, MyS..
TDD- 테스트 주도 개발(Test Driven Development)
·
카테고리 없음
개발 하기 전 테스트 코드를 먼저 작성테스트가 먼저 → 기능 구현 → 코드 개선"Red-Green-Refactor" 사이클Red (실패)실패하는 테스트를 먼저 작성한다.이 단계에서는 구현 코드가 없기 때문에 테스트는 당연히 실패.Green (성공)테스트가 통과할 수 있도록 최소한의 코드만 작성한다.여기서 중요한 점은 정확하게 테스트만 통과하도록 구현Refactor (리팩토링)테스트가 모두 통과하는 상태에서 코드를 개선한다.중복 제거, 가독성 향상, 설계 개선 등을 수행한다.테스트는 계속 통과해야 한다.⭐중요 : 실패하는 테스트 코드를 작성할 때까지 실제 코드를 작성하지 않는 것과, 실패하는 테스트를 통과할 정도의최소 실제 코드를 작성✅ TDD의 장점신뢰성 높은 코드 작성: 테스트가 먼저 있으므로 요구사항..