| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- playgroundAI
- 스택
- Runwith
- 데이터 거버넌스
- 연계방식
- 코딩테스트
- serializtion
- 소스코드품질
- 부하 테스트
- extendwith
- 알고리즘
- application.yml
- AI그림
- LRS
- git
- JUnit
- Live Template
- 일기
- 정적분석도구
- 백준
- 파이썬
- JUnit5
- 영어일기
- 데이터 직렬화
- notempty
- useRef
- 테스트
- git 오류
- diary
- xapi
- Today
- Total
목록분류 전체보기 (31)
HanSol's Oak Cask
✅ JUnit4 @Test(expected = ...) vs JUnit5 assertThrows() 차이 정리JUnit5로 넘어오면서 기존 JUnit4에서 사용하던 예외 테스트 방식이 달라졌습니다. 아래에서 차이점과 적용 방법을 정리해보았습니다.1. JUnit4 방식 (✅ 가능)JUnit4에서는 @Test 어노테이션에 expected 속성을 이용하여 예외 발생 여부를 테스트했습니다.@Test(expected = IllegalArgumentException.class)public void testExceptionThrown() { someMethodThatThrows(); // 예외가 발생해야 테스트 통과}2. JUnit5 방식 (❌ expected 불가, ✅ assertThrows 사용)JUnit..
1. Builder 패턴이란?Builder 패턴은 객체 생성 과정이 복잡할 때, 단계적으로 객체를 생성할 수 있도록 도와주는 디자인 패턴입니다.즉, 객체의 생성 과정과 표현 방식을 분리하여, 가독성과 유지보수성을 높이는 목적으로 사용됩니다.2. 왜 Builder 패턴을 사용할까?✅ 1) 생성자(Constructors) 매개변수 난잡함 문제 해결생성자에 많은 매개변수가 필요하면 매개변수 순서 실수가 발생할 가능성이 높음.일부 값만 설정하고 싶은 경우 불필요한 null 값을 넣어야 하는 문제가 발생.🚨 문제 코드 (생성자 사용)class Car { private String brand; private String model; private int year; private boolean..
전자정부 프레임워크(e-Government Framework)란?📌 정의정부가 공공부문의 정보 시스템을 개발하고 운영하는 데 있어 "표준화된 개발 환경"을 제공하기 위해 만들어진 Java 기반의 오픈 소스 웹 애플리케이션 프레임워크🚀 전자정부 프레임워크의 등장 배경과거 공공기관들은 개별적으로 IT 시스템을 개발 → 일관되지 않은 개발 환경, 코드 스타일 차이 발생➡ 통합 및 유지보수 어려움, 시스템 간 호환성 및 연계성 부족➡ 높은 유지보수 비용, 낮은 생산성, 보안 문제, 신뢰성 부족➡ 이 문제를 해결하기 위해 개발 표준화 필요!✅ 전자정부 프레임워크의 장단점🔹 장점✔ 표준화된 개발 환경 제공 → 개발 일관성 유지✔ 재사용성 및 확장성 확보 → 공통 모듈 활용 가능✔ 오픈 소스 기반 → 라이선스 ..
🎯 1. LRS의 정의**LRS (Learning Record Store)**는 학습 경험 데이터를 수집, 저장, 관리, 분석할 수 있는 시스템입니다.xAPI (Experience API, Tin Can API) 표준을 따르는 데이터의 저장소 역할을 합니다.학습자의 온라인/오프라인 활동, 모바일 학습, 게임 기반 학습, 현장 교육 등 다양한 학습 경험 데이터를 중앙 집중식으로 수집하고 보관합니다.🏗️ 2. LRS의 실체: 서버인가, 데이터베이스인가?📦 LRS는 단순한 DB가 아닌 '시스템'이다.LRS는 서버 + 데이터베이스 + API 인터페이스를 포함하는 웹 기반 애플리케이션 시스템입니다. 구성 요소 역할 기술 예시 서버 (Application Layer)xAPI 데이터 수신, 처리, 인증, AP..
🏗️ 1. xAPI란 무엇인가?**xAPI (Experience API)**는 학습 활동과 경험을 추적하고 기록하는 표준 프로토콜입니다.(프로토콜: 복수의 컴퓨터 사이나 중앙 컴퓨터와 단말기 사이에서 데이터 통신을 원활하게 하기 위해 필요한 통신 규약.)이전 명칭: Tin Can API, Experience API개발 목적: 기존의 SCORM 표준이 가진 한계를 극복하여 다양한 학습 경험(온라인, 오프라인, 모바일, 시뮬레이션 등)을 추적할 수 있도록 설계핵심 기능:진술문(Statement) 형식의 학습 경험 기록학습 경험 데이터를 표준화된 형태(JSON)로 기록다양한 시스템 간 학습 데이터 통합**LRS (Learning Record Store)**와 연계하여 데이터 저장 및 분석🎯 2. xAPI의..
📚 논문 많이 효과적이게 읽는 방법논문을 읽는 방법은 자신의 이해도에 따라 달라질 수 있습니다. 특히 초심자라면 다음과 같은 단계적 접근이 효과적입니다.🔍 1. 관심 분야의 좋은 논문 찾기관심 키워드로 논문 검색: 우선, 관심 있는 주제와 관련된 논문을 검색합니다.Related Works 리스트업: 논문의 관련 연구(Related Works) 부분에서 참고된 논문들을 목록화합니다.반복적으로 인용되는 논문 파악: 다양한 논문에서 반복적으로 언급되는 핵심 논문들이 보이기 시작합니다.랜드마크 논문 10편 내외 선정: 이렇게 발견된, 레퍼런스가 많이 된 논문 10편 내외를 정리합니다.📌 이 논문들은 해당 분야에서 검증된 고품질 논문으로, 전체적인 맥락을 이해하는 데 중요한 자료입니다.🧭 2. 문제 해결 ..
💡 0. 문제 이해📌 문제 설명문자열 S가 주어졌을 때, 단어만 뒤집고 태그는 그대로 출력하는 프로그램을 작성하는 문제입니다.📝 문제의 주요 규칙단어: 알파벳 소문자(a-z)와 숫자(0-9)로 구성.태그: 로 끝나는 부분 문자열로, 태그 내부는 뒤집지 않고 그대로 출력.공백: 단어 구분자이며, 단어마다 공백이 하나씩 존재.태그 처리: 를 만나면 태그 모드를 해제.단어 처리: 태그 외부에서는 단어를 역순으로 출력.⚡ 중요한 추가 사항문자열의 길이는 최대 100,000으로, **O(N)**의 시간 복잡도를 가지는 풀이가 필요합니다.마지막 단어 출력을 위해 반복문 종료 후 스택에 남은 문자를 출력하는 추가 처리도 필요합니다.🎯 1. 핵심 (문제를 풀기 위한 접근 전략)🧩 1️⃣ 태그 구간 판별True..
📚 파이썬 deque 총정리🔍 0. 개요**deque (Double-Ended Queue)**는 파이썬의 collections 모듈에서 제공하는 자료구조입니다.양쪽 끝에서의 O(1) 삽입과 삭제가 가능하여 큐(queue)나 스택(stack) 구현 시 **리스트(list)**보다 효율적입니다.🏃 1. deque의 주요 특징특징설명양방향 접근성앞쪽과 뒤쪽 모두에서 **O(1)**의 시간으로 추가 및 삭제 가능빠른 삭제/삽입리스트는 앞쪽 요소 삭제 시 O(N) 시간이 소요되지만, deque는 O(1)스레드 안전성멀티스레드 환경에서 안정적으로 작동 (락 제공)메모리 효율적동적 배열보다 메모리 사용량이 적음💡 2. deque 생성과 초기화from collections import deque# 비어있는 de..
📌 0. 문제 이해📝 문제 설명:정수를 저장하는 **큐(Queue)**를 구현하고, 주어지는 명령어를 처리하는 프로그램 작성.📌 지원해야 하는 명령어:push X: 정수 X를 큐에 넣음pop: 큐에서 가장 앞의 정수를 제거하고 출력 (없으면 -1 출력)size: 큐에 들어있는 정수의 개수 출력empty: 큐가 비어있으면 1, 아니면 0 출력front: 큐의 가장 앞 정수를 출력 (없으면 -1 출력)back: 큐의 가장 뒤 정수를 출력 (없으면 -1 출력)📈 입력 조건:명령의 수 N (1 ≤ N ≤ 10,000)각 명령어는 문제에서 제시한 형태로 주어짐🎯 핵심 요구사항:시간 초과 없이 큐 연산 수행각 명령어 수행 시 결과를 정확히 출력💻 1. 내 코드import sysn = int(sys.std..
⚛️ React에서 useRef를 사용하는 이유⚛️useRef는 React에서 컴포넌트의 상태 변화 없이 값을 유지하거나, DOM 요소에 직접 접근할 수 있도록 하는 **훅(Hook)**입니다.많은 사람들이 "let으로도 값을 저장할 수 있는데 왜 굳이 useRef를 사용해야 할까?"라고 의문을 가집니다.하지만 useRef는 단순한 변수 저장 이상의 기능과 장점을 제공합니다.🔍 1. useRef와 let의 차이점 비교 항목 ⚡ useRef 💡 let 🔄 렌더링 유지 여부값이 변경되어도 컴포넌트를 리렌더링하지 않음.값이 변경되어도 렌더링 없음.♻ 렌더링 간 값 유지컴포넌트가 리렌더링되어도 값이 유지됨.리렌더링 시 값이 초기화됨.🏃 DOM 참조 기능DOM 요소 참조 가능 (ref={myRef}..