[Java] Map computeIfAbsent(), computeIfPresent() 메소드
·
JAVA
ComputeIfAbsent(key, mappingFunction)Java 8에서 추가된 Map 인터페이스의 기능이다. 해당 Key로 매핑된 Value가 이미 존재하면, 그 기존 Value를 반환하고, 존재하지 않으면 mappingFunction을 실행하여 새로운 Value를 생성 및 저장하고, 그 생성된 Value를 반환한다. 사용 예시프로그래머스 베스트앨범 문제의 일부를 가져왔다.import java.util.*;import java.util.stream.*;public class Main { public static void main(String[] args) { String[] genres = {"classic", "pop", "classic", "classic", "pop"}..
스프링 부트 모니터링(Prometheus + Loki + Grafana, Docker)
·
Back-end/Spring
들어가기AWS EC2와 같은 클라우드 서버를 이용해서 배포를 한 경우 로그를 확인하려면 번거롭게 SSH 접속을 해서 확인해야 했다. 이를 개선하기 위해 모니터링을 도입하기로 결정했다. Prometheus프로메테우스는 시계열 기반의 오픈소스 모니터링 시스템으로, 애플리케이션에서 발생하는 메트릭 데이터를 수집, 저장, 분석, 알림까지 전반적으로 처리해주는 도구이다. 주로 애플리케이션의 성능, 상태, 트래픽 등을 수치로 수집해 시각화하거나 문제가 발생했을 때 경고를 보내주는 데 사용된다. Loki로키는 Grafana Labs에서 만든 로그 수집 및 검색 시스템으로, 프로메테우스처럼 시계열 기반의 데이터를 기반으로 로그를 저장하지만, 숫자 기반의 메트릭을 저장하는 프로메테우스와 달리 로키는 문자열 기반의 로그 ..
2025 정보처리기사 실기 12과목
·
정보처리기사
디지털 저작권 관리(DRM) 구성요소콘텐츠 제공자콘텐츠 소비자콘텐츠 분배자클리어링 하우스DRM 콘텐츠패키저DRM 컨트롤러보안 컨테이너패키지 도구 구성암호화키 관리식별 기술저작권 표현암호화 파일 생성정책 관리크랙 방지인증템퍼 프루핑소프트웨어, 시스템을 외부에서의 악의적인 조작으로부터 보호하는 보안 기술이다.위조, 변조와 같은 이상 조작을 검출하고 이상 감지 시 프로그램을 오작동하도록 만드는 기술이다.템퍼 프루핑 주요 기술해시 함수워터마크핑거 프린트소프트웨어 원본 비교프로그램 체킹실행코드 난독화
2025 정보처리기사 실기 11과목
·
정보처리기사
윈도즈 운영체제 특징GUI 제공선점형 멀티태스킹 방식 제공자동감지 기능 제공OLE 사용유닉스 계열 운영체제대화식 운영체제 기능 제공다중 작업 기능 제공다중 사용자 기능 제공이식성 제공계층적 트리 구조 파일 시스템 제공안드로이드 운영체제리눅스 기반자바와 코틀린 언어런타임 라이브러리안드로이드 소프트웨어 개발 키트메모리 배치 기법최초 적합(First Fit)최적 적합(Best Fit)최악 적합(Worst Fit)페이징 기법의 문제점스레싱 : 지속적으로 페이지 부재가 발생하여 프로세스의 실제 처리 시간 보다 페이지 교체 시간이 더 많아지는 현상이다.페이징 기법의 문제점 해결방안워킹 세트 : 많이 참조하는 페이지들의 집합을 주기억장치 공간에 계속 상주하게 하여 빈번한 페이지 교체 현상을 줄인다.페이지 부재 빈도 ..
2025 정보처리기사 실기 10과목
·
정보처리기사
소프트웨어 테스트 원리결함 존재 증명완벽 테스팅은 불가능초기 집중결함 집중살충제 패러독스정황 의존성오류-부재의 궤변화이트박스 테스트(White-Box Test)각 응용 프로그램의 내부 구조와 동작을 검사하는 소프트웨어 테스트이다.코드 분석과 프로그램 구조에 대한 지식을 바탕으로 문제가 발생할 가능성이 있는 모듈 내부를 테스트하는 방법이다.소스 코드의 모든 문장을 한 번 이상 수행함으로써 진행되고 선택, 반복 등의 부분들을 수행함으로써 논리적 경로를 점검한다.구문 커버리지결정 커버리지조건 커버리지조건/결정 커버리지변경 조건/결정 커버리지다중 조건 커버리지기본 경로 커버리지제어 흐름 테스트데이터 흐름 테스트루프 테스트블랙박스 테스트(Black-Box Test)프로그램 외부 사용자의 요구사항 명세를 보면서 수..
2025 정보처리기사 실기 9과목
·
정보처리기사
SW 개발 보안의 3요소Confidentiality(기밀성) : 인가된 사용자에 대해서만 접근이 가능하다.Integrity(무결성) : 인가된 사용자에 대해서만 수정이 가능하다.Availability(가용성) : 인가된 사용자는 권한 범위 내에서 언제든 접근이 가능해야 한다.SW 개발 보안 용어자산(Assets)위협(Threat)취약점(Vulnerability)위험(Risk)DoS 공격의 종류SYN 플러딩(SYN Flooding) : TCP 프로토콜의 구조적인 문제를 이용한 공격이다.UDP 플러딩(UDP Flooding) : 대량의 UDP 패킷을 만들어 임의의 포트 번호로 전송하여 자원을 고갈시키는 공격이다.스머프(Smurf)/스머핑(Smurfing) : 출발지 주소를 공격 대상의 IP로 설정하여 네트워..
2025 정보처리기사 실기 8과목
·
정보처리기사
개발 도구의 분류빌드 도구구현 도구테스트 도구형상 관리 도구소프트웨어 개발환경운영체제미들웨어DBMS형상 관리의 절차형상 식별형상 통제형상 감사형상 기록소프트웨어 형상 관리 도구 유형공유 폴더 방식(RCS, SCCS) : CVS와 달리 소스 파일의 수정을 한 사람만으로 제한하여 다수의 사람이 파일의 수정을 동시에 할 수 없도록 파일 잠금 방식으로 형상을 관리하는 도구이다.클라이언트/서버 방식(CVS, SVN) : 중앙 집중형 서버 저장소를 두고 클라이언트가 접속해서 버전 관리를 실행한다.분산 저장소 방식(Git)백업의 유형전체 백업차등 백업 : 정해진 시간 이후로 변경된 모든 데이터를 백업한다.증분 백업 : 정해진 시간을 기준으로 그 이후에 변경된 파일만 백업한다.응집도 유형(높은 순에서 낮은 순으로)기능..
2025 정보처리기사 실기 7과목
·
정보처리기사
트랜잭션의 특성원자성 : 트랜잭션의 연산 전체가 성공 또는 실패되어야 하는 성질이다.일관성 : 트랜잭션 수행 전과 트랜잭션 수행 완료 후의 상태가 같아야 하는 성질이다.고립성 : 동시에 실행되는 트랜잭션들이 서로 영향을 미치지 않아야 한다는 성질이다.영속성 : 트랜잭션의 결과는 영속적으로 데이터베이스에 저장되어야 하는 성질이다.트랜잭션의 상태활성(Active)부분 완료(Partially Committed)완료(Committed)실패(Failed)철회(Aborted)트랜잭션 제어언어(TCL)커밋롤백체크포인트병행 제어 기법의 종류로킹(Locking) : 하나의 트랜잭션을 실행하는 동안 특정 데이터 항목에 대해서 다른 모든 트랜잭션이 동시에 접근하지 못하도록 상호배제(Mutual Exclusion) 기능을 제..