| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
- 프롬프트엔지니어링
- 프로그래밍
- Spring boot
- 캡스톤디자인프로젝트
- 체크인미팅
- Route53
- 티스토리챌린지
- UNIDEV
- EC2
- openAI API
- 게임개발동아리
- 스프링부트
- CICD
- UNICON
- spring ai
- UNICON2023
- 전국대학생게임개발동아리연합회
- NAT gateway
- Redis
- 오블완
- 개발공부
- 생활코딩
- 백엔드개발자
- 프리티어
- 도커
- 인프라
- 라피신
- AWS
- bastion host
- 42서울
- Today
- Total
목록Study (115)
Hyun's Wonderwall
네트워크 기초네트워크: 노드(서버·라우터·스위치 등)와 링크(유선·무선)가 연결된 구조로 자원 공유를 목표로 함.트래픽: 특정 시점에 흐르는 데이터 총량 (단위 bps).처리량: 성공적으로 전송된 데이터량 → 트래픽 처리 성능 지표.대역폭: 일정 시간 동안 흐를 수 있는 최대 비트 수(=최대 처리용량). 대역폭↑ → 서비스 속도↑.RTT: 왕복지연시간. 송신~수신확인까지 걸리는 시간.네트워크 토폴로지버스형: 하나의 회선에 모든 노드 연결. 설치 간단·저비용 / 회선 장애 시 전체 영향.스타형: 중앙 노드(허브·스위치) 중심 별모양 연결. 보안관리 용이 / 중앙노드 장애 시 전체 마비.트리형: 계층 구조. 리프노드 확장 용이 / 루트노드 장애 시 전체 영향.링형: 노드들이 고리 형태로 연결. 토큰 기반 충..
[디자인패턴의 소개][디자인패턴의 의의]프로그램 설계 시 반복적 문제를 객체 간 관계를 이용해 해결하도록 정의된 규약.라이브러리·프레임워크 설계의 기초 원리로 사용됨.패턴 학습을 통해 문제 해결력 및 팀 내 의사소통 효율 향상.[디자인패턴의 종류]생성패턴: 객체 생성 규약ex) 싱글톤, 팩토리, 추상팩토리, 빌더, 프로토타입 구조패턴: 클래스·객체 구조 설계 규약ex) 프록시, 어댑터, 브리지, 복합체, 데코레이터, 퍼사드, 플라이웨이트 행동패턴: 객체 간 알고리즘·책임 할당 규약ex) 이터레이터, 옵저버, 전략, 책임연쇄, 커맨드, 중재자, 메멘토, 상태, 템플릿메서드, 비지터(추가 예: Flux, MVC, MVVM 등)[라이브러리와 프레임워크의 차이]공통점: 재사용 가능한 기능을 모듈화한 구성 요..
[데이터교환형식 #1. JSON과 직렬화와 역직렬화]JSON(JavaScript Object Notation): Javascript 객체 문법으로 구조화된 데이터 교환형식.- 프로그래밍 언어와 플랫폼에 독립적 -> 서로 다른 시스템간에 데이터를 교환하기 좋음. - 여러 언어에서 객체, 해시테이블, 딕셔너리 등으로 변환되어 쓰임. (ex. javascript에서는 javascript object, python에서는 dict)- 주로 API 반환 형태, 시스템 구성 설정 파일에 활용Javascript 객체 문법: 키(key)와 값(value)으로 구성.- 이미 존재하는 키 중복 선언 시 나중에 선언한 해당 키에 대응한 값이 덮어씌워짐.- 객체 문법 뿐 아니라 단순 배열, 문자열도 표현 가능 (ex. [1, ..
1655번: 가운데를 말해요https://www.acmicpc.net/problem/1655 문제백준이는 동생에게 "가운데를 말해요" 게임을 가르쳐주고 있다. 백준이가 정수를 하나씩 외칠때마다 동생은 지금까지 백준이가 말한 수 중에서 중간값을 말해야 한다. 만약, 그동안 백준이가 외친 수의 개수가 짝수개라면 중간에 있는 두 수 중에서 작은 수를 말해야 한다.예를 들어 백준이가 동생에게 1, 5, 2, 10, -99, 7, 5를 순서대로 외쳤다고 하면, 동생은 1, 1, 2, 2, 2, 2, 5를 차례대로 말해야 한다. 백준이가 외치는 수가 주어졌을 때, 동생이 말해야 하는 수를 구하는 프로그램을 작성하시오.입력첫째 줄에는 백준이가 외치는 정수의 개수 N이 주어진다. N은 1보다 크거나 같고, 100,00..
정렬 알고리즘들과 정의정렬 알고리즘정의버블데이터끼리 인접 요소끼리 비교하고, swap 연산을 수행하며 졍렬하는 방식선택대상에서 가장 크거나 작은 데이터를 찾아 선택하는 과정을 반복하면서 정렬하는 방식삽입대상을 선택해 정렬된 영역에서 선택 데이터의 적절한 위치를 찾아 삽입하면서 정렬하는 방식퀵pivot 값을 선정해 해당 값을 기준으로 정렬하는 방식병합(합병)이미 정렬된 부분 집합들을 효율적으로 병합해 전체를 정렬하는 방식힙최대 힙 트리나 최소 힙 트리를 구성해 정렬을 하는 방식 (내림차순 정렬-최소 힙 / 오름차순 정렬-최대 힙)기수데이터의 자릿수를 바탕으로 비교해 데이터를 정렬하는 방식 05-1. 버블 정렬버블 정렬: 두 인접한 데이터의 크기를 비교해 정렬. 시간 복잡도 O(n^2)으로 다른 알고리즘보다..
"실전에서 TDD하기(카카오페이 기술 블로그)"를 읽고 정리한 내용입니다. https://tech.kakaopay.com/post/implementing-tdd-in-practical-applications/ 실전에서 TDD하기 | 카카오페이 기술 블로그TDD가 무엇인지 모르는 사람은 없습니다. 그런데 왜 하는 사람은 얼마 없을까요?tech.kakaopay.com QA, PM 뿐 아니라 개발자도 품질 보장을 위한 노력을 해야 한다. 릴리즈된 애플리케이션에는 지속적으로 새로운 기능 추가가 이루어지게 된다.기존 코드를 추가/삭제/수정할 때, 기존에 있던 동작이 변하지 않았음을 증명해야 한다. 어떻게?매번 애플리케이션을 구동시켜 직접 모든 기능을 일일이 확인하기는 쉽지 않다. -> 테스트 코드 작성이 중요. ..
04-1. 배열과 리스트배열: 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조.- 값을 인덱스를 통해 참조(값에 바로 접근 가능. 새로운 값 삽입/삭제 어렵.)- 배열의 크기는 선언할 때 지정, 한 번 선언하면 크기를 늘리거나 줄일 수 X.- 선언한 자료형의 값만 저장 가능.리스트: 값과 포인터를 묶은 노드를 포인터로 연결한 자료구조- 인덱스가 없으므로 값에 접근하려면 Head 포인터부터 순서대로 접근해야 (값에 접근하는 속도 느림)[11720번: 숫자의 합] / 브4import java.io.*;import java.util.*;public class Main{ public static void main(String[] args) throws IOException { BufferedRea..
11장: 동시성아이템 82. 스레드 안전성 수준을 문서화하라'한 메서드를 여러 스레드가 동시에 호출할 때 그 메서드가 어떻게 동작하느냐': 해당 클래스의 클라이언트에게 중요한 정보. 가정해서 사용했다가 틀리면 심각한 오류로 이어짐.모든 클래스가 자신의 스레드 안전성 정보를 명확히 문서화해야 한다.synchronized 한정자는 문서화와 관련X ( 'API 문서에 synchronized 한정자가 보이는 메서드는 스레드 안전하다?' -> X. javadoc이 기본 옵션에서 생성한 API문서에는 synchronized 한정자가 포함되지 않는다. 메서드 선언에 synchronized 한정자를 선언할지는 구현 이슈일 뿐 API에 속하지 않아, 따라서 이것만으로 메서드가 스레드 안전하다고 믿기 어렵다.) 멀티스레드..
