본문 바로가기

분류 전체보기115

ChatGPT '메모리 가득 참' 저장된 메모리 관리 ChatGPT의 저장된 메모리ChatGPT를 사용하다 보면 사용자가 기억하기를 원하거나, 반복되는 지시가 있을 때 그 내용을 메모리에 저장하는 것을 본 적이 있으실 겁니다. 새로운 메모리가 저장될 때 ChatGPT의 답변 위쪽에 아래와 같이 [저장된 메모리 업데이트됨]이라는 표시가 뜹니다.채팅을 삭제할 때도 [이 채팅에 저장된 메모리를 삭제하려면 설정으로 가세요.]라는 문구를 확인할 수 있죠. 해당 버튼을 누르면 메모리가 저장된 위치로 이동합니다. 해당 기능은 윈도우 어플리케이션이나 웹에서는 잘 동작하는 것 같습니다. 하지만 모바일 앱에서는 설정 탭으로만 이동되기 때문에 저장된 메모리를 찾기가 쉽지 않습니다. 다음은 모바일 앱에서 저장된 메모리 위치를 찾는 방법입니다. ChatGPT 저장된 메모리 위치.. 2025. 10. 23.
Room kaptDebugKotlin 오류 해결하기 Room kaptDebugKotlinHilt사용 중이라 겸사겸사 kapt를 사용하고 있었는데, Room 의존성만 추가하면 자꾸 kaptDebugKotlin 오류가 생겼습니다. 추가하고자 했던 Room 의존성 코드implementation(libs.androidx.room.runtime)implementation(libs.androidx.room.ktx)kapt(libs.androidx.room.compiler) Hilt 사용시에는 Kapt 문제가 없었는데 Room만 추가하면 오류가 발생하니 머리가 아팠네요. ksp로 바꿔보기도 했지만, 바꾸는 중에 또 새로운 오류가 발생해서 새로운 해결 방법을 찾았습니다. Build LogExecution failed for task ':data:kaptDebugKotl.. 2025. 9. 2.
정보처리기사9 - 소프트웨어 기초 / 패키징 9. 소프트웨어 기초 / 패키징운영체제 기본 개념 구성 요소설명운영체제 (OS)하드웨어와 사용자 간 인터페이스 제공 소프트웨어커널OS의 핵심 기능 (자원 제어, 메모리 관리 등)쉘사용자 명령어 인터페이스 (CLI/GUI 등) 주요 운영체제 종류 운영체제 특징 WindowsGUI 지원, 선점형 멀티태스킹, 자동 하드웨어 감지, OLE 사용UnixC 언어 기반, 시분할 다중 사용자 OS, 이식성 우수, 트리 구조 파일 시스템LinuxUnix와 유사한 구조, 오픈 소스Mac OS유닉스 기반 GUI OS (애플사)Android리눅스 커널 기반 모바일 OS 메모리 관리 기법반입 기법: 필요한 페이지만 메모리에 적재배치 기법: 최초적합, 최적적합, 최악적합할당 기법: 고정/가변 분할교체 기법: FIFO, LRU .. 2025. 8. 3.
정보처리기사8 - 소프트웨어 테스트 8. 소프트웨어 테스트소프트웨어 테스트 7원리 원리 설명 결함 존재 증명테스트는 결함이 있음을 보여주는 활동완벽한 테스트 불가능모든 조합을 테스트하는 것은 불가능초기 테스트초기에 집중할수록 결함 비용 절감결함 집중결함은 특정 모듈에 집중되는 경향살충제 패러독스같은 테스트 반복 → 새로운 결함 탐지 어려움정황 의존성테스트는 상황에 따라 달라짐오류-부재의 궤변요구사항을 만족하지 않으면 오류 없어도 실패 테스트 산출물테스트 계획서, 테스트 베이시스테스트 케이스, 테스트 시나리오테스트 슈트, 테스트 스크립트테스트 결과 보고서테스트 유형 분류 분류 하위 분류 실행 여부정적 테스트, 동적 테스트접근 방식화이트박스: 내부 로직 기반블랙박스: 기능 명세 기반목적검증 (Validation), 확인 (Verificat.. 2025. 8. 3.
정보처리기사7 - 보안 구축 7. 보안 구축보안의 3요소 (CIA)기밀성(Confidentiality): 인가되지 않은 사용자 접근 방지무결성(Integrity): 데이터가 변조되지 않도록 보장가용성(Availability): 필요할 때 시스템과 데이터를 사용할 수 있어야 함개발 보안 용어자산: 보호 대상위협: 자산을 해치는 존재나 행위취약점: 위협이 발생할 수 있는 약점위험: 취약점으로 인한 손실 가능성 ✨ DoS / DDoS / DRDoSDoS: 단일 공격자가 시스템 자원을 소진시켜 서비스 거부SYN 플러딩, UDP 플러딩, 스머프(ICMP Echo 패킷, 직접 브로드캐스팅), 죽음의 핑(ICMP 패킷 크게, 단편화, 재조합), 랜드 어택(같은 패킷 주소), 티어드롭(잘못된 Fragment Offset 정보), 봉크/보잉크DDo.. 2025. 8. 3.
정보처리기사6 - 서버 / 모듈 구현 6. 서버 / 모듈 구현서버 구성 요소분류 설명웹 서버정적인 웹 페이지(html, css, js 등)를 클라이언트에 제공WAS (웹 애플리케이션 서버)동적인 서비스(JSP, Servlet 등)를 처리DB 서버데이터 저장 및 관리 (SQL 처리)파일 서버이미지, 문서 등 파일 저장 및 제공형상 관리(Configuration Management)시스템 개발 중 산출물의 변경사항을 체계적으로 관리하기 위한 활동주요 활동:형상 식별: 관리할 항목 정의형상 통제: 변경 요청 승인/반려 (형상 통제 위원회 운영)형상 감사: 변경 내역 및 기준의 적절성 확인형상 기록: 변경 이력 관리베이스라인: 변경 통제 기준 시점형상통제위원회 : 형상 관리에 대한 주요 방침을 정하고 산출물을 검토하며, 단계별 의사결정을 수행하는 .. 2025. 7. 13.
정보처리기사5 - 인터페이스 구현 5. 인터페이스 구현인터페이스 기능 구현 기술JSON (JavaScript Object Notation)사람이 읽고 쓰기 쉬운 형식으로, 키-값 쌍으로 구성된 데이터 구조시스템 간 데이터 교환에 널리 사용됨XML (eXtensible Markup Language)데이터의 구조와 의미를 태그로 표현SGML의 복잡함과 HTML의 한계를 보완한 마크업 언어프롤로그, 요소(Element), 속성(Attribute) 등 구성AJAX (Asynchronous JavaScript And XML)웹 페이지 전체를 다시 로드하지 않고 일부만 서버와 비동기 통신XMLHttpRequest 객체 사용사용자 경험 향상에 기여XSLT (Extensible Stylesheet Language Transformations)XML 데.. 2025. 7. 13.
정보처리기사4 - 연계 시스템 구현 4. 연계 시스템 구현연계 시스템서로 다른 시스템 간에 데이터를 전송하고 교환하는 구조송신 시스템: 데이터를 보내는 쪽수신 시스템: 데이터를 받는 쪽중계 서버: 송신과 수신 사이에서 데이터를 중개하는 역할연계 데이터 표준화시스템 간 데이터 교환 시 형식을 맞추기 위해 인터페이스 데이터 규격을 설정합니다.공통부: 데이터 헤더 등, 모든 인터페이스에 공통되는 요소개별부: 시스템별로 고유한 데이터 본문종료부: 전송이 끝났음을 알리는 마무리 정보연계 방식직접 연계 방식 : 시스템이 서로 직접 연결되어 통신DB링크, DB 연결APIJDBC하이퍼링크간접 연계 방식 : 중간 매개체를 통해 시스템이 간접적으로 연결EAI (Enterprise Application Integration)ESB (Enterprise Ser.. 2025. 7. 13.
정보처리기사3 - 데이터 구축 3. 데이터 구축데이터 모델현실 세계의 정보를 컴퓨터가 이해하고 처리할 수 있도록 추상화하여 구조화한 설계 모델입니다.구성 요소: 데이터 구조, 연산, 제약 조건설계 속성:개체(Entity), 속성(Attribute), 관계(Relationship)설계 절차:요구사항 분석개념적 모델 (예: ERD)논리적 모델 (정규화 중심)물리적 모델 (성능 중심의 반정규화 포함)✨ 논리적 데이터 모델링 종류관계형 모델: 테이블(릴레이션), 행(튜플), 열(속성)으로 구성되며, 카디널리티(행 개수), 차수(열 개수), 스키마, 인스턴스 등의 개념 포함계층형 모델: 트리 구조 기반, 상하 관계 명확네트워크형 모델: 다대다 관계를 지원하는 그래프 형태✨ 관계형 데이터 모델 처리 방식관계 대수 (Relational Algeb.. 2025. 7. 13.
정보처리기사2 - 소프트웨어 화면 설계 2. 소프트웨어 화면 설계UI(User Interface)사용자와 시스템이 서로 상호작용할 수 있게 돕는 모든 수단UX(User Experience)사용자가 제품, 서비스, 시스템을 직접 또는 간접적으로 이용하면서 느끼는 전체적인 경험UI 종류CLI (Command Line Interface): 명령어 기반 인터페이스GUI (Graphical User Interface): 버튼, 아이콘 등 그래픽 기반NUI (Natural UI): 손짓, 음성 등 자연스러운 신체 동작으로 조작OUI (Organic UI): 일상 사물에 인터페이스 기능을 결합 (예: 스마트 냉장고)UI 설계 원칙항목 설명직관성누구나 쉽게 이해하고 사용할 수 있어야 함정확성(유효성)사용자가 원하는 목표를 정확하게 달성할 수 있어야 함학습성.. 2025. 7. 13.
정보처리기사1 - 소프트웨어 개발 설계 1. 소프트웨어 개발 설계소프트웨어 생명주기 (SDLC)소프트웨어를 개발할 때 거치는 전 과정의 흐름구분 모델 이름 설명1️⃣ 고전적 모델폭포수 모델 (Waterfall)단계별 순차 진행, 계획적이지만 유연성 낮음2️⃣ 시제품 중심프로토타이핑 모델 (Prototyping)빠른 시제품 제작 → 피드백 → 보완3️⃣ 리스크 중심나선형 모델 (Spiral)반복 + 위험 분석을 중점적으로 관리4️⃣ 반복적 모델반복적 모델 (Iterative)기능을 나눠 반복 개발, 점진적으로 완성5️⃣ 애자일 계열애자일 모델 (Agile)빠른 피드백, 유연한 대응, 스프린트 중심(보너스)DevOps 모델개발 + 운영 통합, 자동화와 지속적인 배포 강조소프트웨어 개발 방법론소프트웨어 생명주기를 어떻게 효과적으로 수행할지에 대한.. 2025. 7. 13.
자바, 코틀린, 파이썬, C++ 한눈에 비교하기 Java, Kotlin, Python, C++ 언어를 한눈에 비교할 수 있도록 표로 정리해 보았습니다.{[" style="width: 11.8604%; height: 17px;"> " style="width: 21.8604%; height: 17px;">JAVAKOTLINPYTHONC++{[" style="width: 11.8604%; height: 20px;">클래스명" style="width: 21.8604%; height: 20px;">PascalCasePascalCasePascalCasePascalCase{[" style="width: 11.8604%; height: 20px;">변수, 함수명" style="width: 21.8604%; height: 20px;">camelCasecamelCase.. 2025. 1. 17.