📌 Study Tip
-
정보처리기사
[정보처리기사 실기] 프로그래밍 언어 활용 (C언어, JAVA, Python)
✏️ C언어, JAVA기본 데이터 타입 및 크기C언어JAVA자료형예약어(크기, byte)예약어(크기, byte)정수형short(2)int(4)long(4)unsignedbyte(1)short(2)int(4)long(8)실수형float(4)double(8)long doublefloat(4)double(8)문자형char(1)unsigned charchar(2)형 없음voidvoid논리형-boolean(1) C언어 연산자 우선순위비트연산자: 정수형 변수만을 대상으로 합니다. JAVA 연산자 우선순위 JAVA의 다형성: 오버로딩(Overloading), 오버라이딩(Overriding), 업캐스팅(UpCasting)오버로딩- 같은 클래스 내에서 같은 메소드명 중복 정의(매개변수의 자료형, 개수, 순서 상이)- 메..
-
정보처리기사
페이지 교체 알고리즘 - FIFO, LRU, LFU
FIFO(First in First out, 먼저 들어온 것을 먼저 교체)1. 3개의 페이지 프레임을 갖는 시스템에서 페이지 참조 순서가 1, 2, 1, 0, 4, 1, 3일 경우 FIFO 알고리즘에 의한 페이지 교체의 경우 프레임의 최종 상태는?FIFO공간 3개1: 페이지 부재 발생1 2: 페이지 부재 발생1 21 2 0: 페이지 부재 발생4 2 0: 페이지 부재 발생FIFO: 먼저 들어온 것을 먼저 빼냄1 → 44 1 0: 페이지 부재 발생2 → 14 1 3: 페이지 부재 발생0 → 3프레임의 최종 상태4, 1, 3 2. 3개의 페이지 프레임을 가진 기억장치에서 페이지 요청을 다음과 같은 페이지 번호 순으로 요청했을 때 교체 알고리즘으로 FIFO방법을 사용한다면 몇 번의 페이지 부재가 발생하는가? (..
-
정보처리기사
[정보처리기사 실기] 2022년 3회 실기(1~20번)
01. 다음 중 형상관리 도구에 해당하는 것을 모두 고르시오.보기: Ant, CVS, OLAP, Maven, SVN, Jenkins, OLTP, Git, Graddle형상 관리(SW 전반적인 것을 통제하고 관리) > 버전 관리(이전 버전으로 되돌린다던지) > 변경 관리(소스코드 변경)형상 관리: SW 개발 도중에 발생하는 변경사항을 통제하고 관리하는 도구(역할)Ant: 배포 도구CVS: 형상 관리 도구 -> 중앙 집중식(중앙에 레파지토리 만들어놓고 소스코드 업로드/다운로드)OLAP: 데이터에서 무언가를 분석할 수 있도록 함수 제공Maven: 배포 도구SVN: 형상 관리 도구 -> 중앙 집중식Jenkins: 배포도구OLTP: 온라인 트랜잭션 처리Git: 형상 관리 도구 -> 분산 환경 처리Graddle: ..
-
SQL 튜닝
[SQL튜닝/인덱스와 조인] Nested Loop 조인 (Prefetch, Batch I/O)
🖥️ 들어가며📌 Prefetch, Batch I/O: 모두 Disk I/O 횟수를 감소시키기 위해 사용합니다.다만 Prefetch는 미세한 Block Read량이 증가하게 되고, Batch I/O는 Disk I/O 발생 시 정렬 순서가 상이해집니다. ✏️ 1. Nested Loop 조인기본 매커니즘for문(Java의 중첩 루프문)과 동일한 원리입니다.반복문의 외부에 있는 테이블 = 선행 테이블 = 외부 테이블 = Outer Table반복문의 내부에 있는 테이블 = 후행 테이블 = 내부 테이블 = Inner Table선행 테이블 조건에 만족하는 첫번째 행 추출 → 후행 테이블 읽으면서 조인 → 선행 테이블 조건을 만족하는 모든 행의 수만큼 반복수행=> 선행 테이블 조건에 만족하는 행의 수가 많으면 그만..
-
SQL 튜닝
[SQL튜닝/인덱스와 조인] 인덱스 종류 및 설계 (B-Tree 인덱스, 비트맵 인덱스, 함수기반 인덱스, 리버스 인덱스, Clustered Index, IOT)
🖥️ 들어가며📌 인덱스 종류- B-Tree 인덱스, 비트맵 인덱스, 함수기반 인덱스, 리버스 인덱스, Clustered Index, IOT📌 결합 인덱스 설계시 고려사항- 조건절에 자주 사용되는 컬럼, 등치 조건으로 사용되는지, 카디널리티가 좋은지, 소트 연산을 대체할 수 있는지 ✏️ 1. B-Tree 인덱스Unbalanced IndexB-Tree에서 B는 Balanced이므로, Unbalanced Index는 없습니다.Index Skew 현상Index 정렬 순으로 특정 방향의 데이터가 대량으로 Delete되어 Leaf Block이 빈 상태를 말합니다.Leaf Block은 완전히 비어있을 때만 Freelist(Free Block)로 반환됩니다.(부분적으로 비어있는 블록은 인덱스 구조에 남아있습니다...
-
알고리즘
[알고리즘/해쉬(Hash)] 개념, 해시 충돌(Hash Collision), Python-Dictionary 문법
Hash 개념Key : Value 형태를 갖는 자료구조Key: 이름 - Value: 전화번호모든 데이터 타입으로 접근 가능Hash Table💡 Key - ValueHashing: Hash FunctionKey: 고유한 값, 해시 함수의 input(저장 시 값을 해시 함수로 바꾸어 저장함)Value: bucket(저장소)에 최종적으로 저장되는 값, key와 매칭되어 저장, 검색, 접근, 삭제 가능Hash Function: key 값을 Hash로 변경해 주는 함수⇒ Hash Table에서 key 값은 해시 함수를 통해 해시로 변경(index 매핑)되며, 이 Hash 값은 key와 매칭되어 bucket(저장소)에 저장됨 해시 충돌(Hash Collision)필연적 문제Hash를 이용한 자료구조 방식에서 필연..
-
Python
Python Lv.0 코딩 기초 트레이닝 - 이어 붙인 수, 원소들의 곱과 합, 주사위 게임 2
코딩 기초 트레이닝1. 이어 붙인 수짝수만 순서대로 이어붙인 수짝수라면if num_list[i] % 2 == 0:이어붙인 수aSum = in(str(aSum) + str(num_list[i]))홀수만 순서대로 이어붙인 수홀수라면else:이어붙인 수bSum = int(str(bSum) + str(num_list[i]))두 수의 합을 returnanswer = aSum + bSumdef solution(num_list): answer = 0 aSum = 0 bSum = 0 for i in range(len(num_list)): if num_list[i] % 2 == 0: aSum = int(str(aSum) + str(num_list[i])) ..
-
개인 개발일지
[FE/Next.js/Storybook] 25.08.04 - 스토리북 적용 및 PostCSS 오류 해결
✏️ 25.08.04 - 주요 TaskFE Storybook 도입Storybook 실행 중 PostCSS 관련 오류 해결package.json 내 "type":"module" 및 Tailwind CSS 📌 프론트엔드✅ FE Storybook 도입도입 목적UI 컴포넌트 문서화와 개발 편의성 향상컴포넌트별 독립적인 테스트 및 시각화 가능(+ 팀 프로젝트였다면 디자이너/기획자/개발자 간 커뮤니케이션 효율화)개발 중 Storybook 도입한 이유기존 UI 컴포넌트 테스트가 번거로웠음Storyboo은 각 컴포넌트를 따로 렌더링/테스트/프리뷰할 수 있기에 생산성 향상 기대실제 서비스 반영 전, 각 컴포넌트의 상태와 조합을 테스트하기 용이사용자 시나리오별 다양한 UI 케이스를 시각적으로 확인 가능이점컴포넌트 단위 ..
-
코딩테스트
[java/프로그래머스/12951] JadenCase 문자열 만들기 (.split(" ")을 쓰면 안 되는 이유, boolean isFirst = false, Character.toUpperCase(c), Character.toLowerCase(c))
✏️ 문제 설명JadenCase란 모든 단어의 첫 문자가 대문자이고, 그 외의 알파벳은 소문자인 문자열입니다. 단, 첫 문자가 알파벳이 아닐 때에는 이어지는 알파벳은 소문자로 쓰면 됩니다. (첫 번째 입출력 예 참고) 문자열 s가 주어졌을 때, s를 JadenCase로 바꾼 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건s는 길이 1 이상 200 이하인 문자열입니다.s는 알파벳과 숫자, 공백문자(" ")로 이루어져 있습니다.숫자는 단어의 첫 문자로만 나옵니다.숫자로만 이루어진 단어는 없습니다.공백문자가 연속해서 나올 수 있습니다.✏️ code📌 split(" ") vs. split("")- split(" "): 공백으로 기준으로 문자열을 나누는데, 이 방식은 연속된 공백이 있을 경우..
-
SQL 튜닝
[SQL튜닝/아키텍처 기반 튜닝 원리] SQL 파싱 부하 (SQL 처리과정, 캐싱된 SQL 공유, Bind 변수 사용, Static/Dynamic SQL, Application Cursor Caching)
🖥️ 들어가며📌 SQL 파싱 부하의 핵심: 파싱 최소화, 쿼리 최적화, 인덱스 관리를 통해 시스템 자원 효율성을 극대화하는 것입니다.(Hard Parsing, Soft Parsing, Bind 변수, Application Cursor Caching)✏️ 1. SQL 처리과정처리과정 1: SQL 파싱(Parsing)(1) Syntax 검사: SQL 문장에 문법적 오류가 없는지(2) Semantic 검사: 의미상 오류가 없는지(3) SQL 실행 계획이 Library Cache(SQL Server: Procedure Cache)에 존재하는지, 존재 여부 점검=> ⭐⭐⭐ 캐싱 O: Soft Parsing, 캐싱 X: Hard Parsing파싱 종류설명소프트 파싱 (Soft Parsing)SQL과 실행계획을 ..