분류 전체보기
-
Hash - 금융 보안에서의 중요성CS 2025. 12. 2. 19:28
목차해시는 왜 금융 보안에서 중요한가?해시 함수 기본 개념 정리2-1. 단방향성2-2. 충돌 저항성2-3. 눈사태 효과비밀번호 저장에 쓰이는 해시 (고객 정보 보호)3-1. 평문 저장의 위험3-2. 솔트 + 해시 + 반복(PBKDF2)3-3. 파이썬 예제: 회원가입/로그인 비밀번호 검증거래 데이터 무결성 검증 (전문 위변조 방지)4-1. 전송 중 데이터가 바뀌지 않았는지 확인하기4-2. 해시값을 이용한 무결성 체크4-3. 파이썬 예제: 파일/전문 무결성 검증전자서명과 해시 (계약, 대출, 공인문서)5-1. 전자서명에서 해시가 하는 일5-2. 해시를 먼저 하고, 그다음에 서명하는 이유5-3. 파이썬 예제: “서명 전 단계” 해시 처리API 인증에서의 HMAC 해시 (오픈뱅킹, 내부 API)6-1. 단순 토..
-
Apache SparkCS 2025. 11. 26. 16:01
https://aws.amazon.com/ko/what-is/apache-spark/ 포스트를 참고해서 작성했습니다. 1. 왜 사용하는가? - Apache Spark 는 빅데이터를 빠르게 처리하기 위해 사용하는 분산 처리 엔진이다. 등장 배경을 이해하기 위해선 Hadoop MapReduce를 알아야 한다(이하 HM). HM은 병렬 분산 알고리즘을 사용해서 빅 데이터 세트를 처리하기 위한 프로그래밍 모델인데, 매번 디스크 I/O가 일어나기 때문에 속도가 느리다는 단점이 있었다. Spark는 인 메모리 처리를 수행하고, 작업의 단계 수를 줄이고, 여러 병렬 작업에서 데이터를 재사용하여 MapReduce의 한계를 해결하기 위해 만들어졌다. - Spark는 데이터를 메모리에 올려놓고(Cache) 여러 연산에..
-
Apache KafkaCS 2025. 11. 26. 11:54
https://aws.amazon.com/ko/what-is/apache-kafka/글을 참고했다. 이 포스트는 내가 공부하려고 쓴 글이니 되도록 링크에 들어가서 하나하나 탐독하기를 권한다. 1. 왜 사용하는가? 크게 두 가지로 생각할 수 있다 1-1 : 실시간 스트리밍 데이터 파이프라인, 실시간 스트리밍 애플리케이션 구축 ex) 사용자 활동 데이터를 받아 유저들이 웹사이트를 어떻게 사용하는지 실시간으로 추척하는 데이터 파이프라인을 만들 수 있음 + 단순하게 데이터를 수집 및 저장하는 것이 아니라, 애플리케이션에 read 서비스를 제공해 실시간으로 저장되는 데이터를 읽을 수 있게 함 1-2 : 1-1 에서 본 특성으로 인해 두 애플리케이션 간의 통신을 처리하고 중재하는 '메세지 브로커 솔루션'으로..
-
면접을 위한 JAVA 정리CS 2025. 11. 17. 15:18
제가 다시 보려고 만든 건데, C#과 비슷한 부분이 많아서 생략된 부분이 많습니다. 1. C와의 차이점 - JVM 위에서 실행- 가비지 컬렉터 - 절차지향 vs 객체지향 - 예외 처리와 접근 제어자가 언어 레벨에서 제공됨 2. 접근 제어자 - public : 모든 곳에서 접근 가능- protected : 같은 패키지, 상속 관계에서 접근'- default : 같은 패키지에서 접속 가능 - private : 클래스 내부에서 접근 가능 3. OOP 객체 지향 프로그래밍 - 추상화 : 핵심만 명시하고 구체적인 부분은 내부에서 구현함- 캡슐화 : 변수 보호, getter, setter - 상속 : 코드 재사용, 부모 기능 확장- 다형성 : 오버라이딩, 오버로딩 # 오버라이딩 : 부모 클래스에서 상속받은 메..
-
면접을 위한 C 정리CS 2025. 11. 17. 14:59
1. 컴파일 과정전처리 - #include, #define 같은 지시문 처리 -> 하나의 소스 코드로 변환컴파일 - 어셈블리 코드로 변환어셈블 - 기계어를 담은 obj 파일로 변환링크 - 여러 오브젝트 파일과 라이브러리가 결합 -> 실행 가능한 바이너리 생성 2. 메모리 구성텍스트 - 코드 저장데이터 - 초기값이 있는 전역/정적 변수 저장BSS -초기값이 없는 전역/정적 변수 저장 -> 프로그램 실행 시 0으로 초기화 힙 - malloc과 같은 함수를 통해 할당하는 동적 메모리 저장스택 - 함수 호출 시 지역 변수, 매개변수, 리턴 주소 등 저장 3. 선언과 정의 선언 - 컴파일러에게 이름과 타입 정보를 알려주는 행위 / 정의 - 실제로 메모리 공간을 할당 extern int g_count; // 선..
-
면접을 위한 DB 정리CS 2025. 11. 14. 01:16
이번에 나이스 평가정보 면접을 보며 데이터베이스 공부를 다시 할 기회가 있었다.(공부한 내용 위주로 면접이 흘러간 것은 아니었다 ㅜㅜ) 공부한 것이 아까워 주요 내용을 블로그에 남기려고 한다! 키워드 위주로~ 1. SQL 1-1 행 삽입INSERT INTO employees (emp_id, name, dept, salary)VALUES (1, 'Kim', 'IT', 5000); 다른 행에서 SELECT 해서 INSERT 하는 경우 INSERT INTO high_salary (emp_id, name, salary)SELECT emp_id, name, salaryFROM employeesWHERE salary >= 5000; 1-2 테이블 구조 수정 -- 1. 컬럼 추가 (ADD)ALTER TABLE ..
-
[프로그래머스] 서버 증설 횟수 + sortedDictionary 사용코딩테스트 2025. 8. 9. 13:48
문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/389479?language=csharp 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 풀이: Priority Queue는 C# 6.0 버전 이상부터 사용할 수 있어서 프로그래머스 환경에서는 사용하기 힘들다. 때문에 SortedDictionary를 사용해서 해결함. 스케쥴링 문제는 공통적으로 두 가지 이슈를 함께 생각하면 좋은 거 같다. 1. 언제 만료되는가 2. 만료됐을 때의 상태는 어떠한가. -> 이 두가지를 적절하게 자료 구조에 녹여낼 수 있다면 문제가 쉽게 풀리는 경우가 많다. 자세한 ..
-
[프로그래머스] 징검다리 + 이분 탐색 정리코딩테스트 2025. 8. 7. 21:32
1. 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/43236 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2. 풀이 딱히 풀이가 복잡하진 않은데, 이 문제를 보고 이분 탐색 개념을 떠올리는 것이 어렵다. using System;using System.Linq;using System.Collections;using System.Collections.Generic;public class Solution { public int solution(int distance, int[] rocks, int n) { ..