분류 전체보기 28

SSL, TLS

SSL(Secure Sockets Layer), 보안 소켓 계층보안 연결 생성 통신 프로토콜TLS(Transport Layer Security), 전송 계층 보안SSL의 보안 결함을 수정한 업그레이드 버전현재 많은 경우에 SSL이라는 말은 TLS 프로토콜과 TLS 인증서를 가리킴연결 과정handshake 프로세스를 용이하도록디지털 인증서 사용 -> 브라우저와 웹 서버 간 암호화된 통신을 설정HTTP클라이언트와 서버 간 통신을 위한 프로토콜HTTPS: HTTP 연결에 SSL/TLS 프로토콜을 설정HTTPS브라우저는 TLS를 사용해 웹 사이트의 SSL 인증서를 확인해당 웹 사이트의 서버거 보안 표준을 준수하고 있다면 인증암호화된 연결은 https://로 표시됨SSL/TLSTLS 1.2까지공개키 기반으로 대칭..

공부 2025.11.04

고성능 JPA & Hibernate - Section 12. Caching 강의록

작성중...Database CachingCache캐시란, 빠른 저장소(메모리 등)에 자주 쓰는 데이터를 보관해서 응답시간을 줄이고 DB 부하를 낮추는 기술.효과: 읽기 지연(latency) 감소, DB I/O/CPU 부담 감소, 더 많은 동시사용자 처리 가능.트레이드오프: 데이터 일관성(정확성) 관리 필요, 메모리 비용, 복잡성 증가.캐시 동기화 전략Cache-asideapplication에서 직접 캐시 확인캐시 미스면 DB 조회 -> DB 결과를 캐시에 적재(보통 TTL 설정).쓰기(수정/삭제)는 DB에 먼저 쓰고 캐시 무효화(invalidate) 또는 갱신Read-through캐시 계층의 라이브러리가 캐시 미스 시 자동으로 DB 데이터 로드해 캐시에 넣어줌애플리케이션 코드는 단순히 캐시만 호출캐시 서..

공부 2025.09.30

[SWEA] 1206. View (S/W 문제해결 기본 - 1일차) / Python 코드

학기가 끝나가면서 다음 분기 준비로 코딩 테스트가 급박해지는 시점, 시간을 내어서 해보자.곧 코테 언어도 JAVA로 바꿔서 연습할 듯 한데이번 주는 급한 마음에 파이썬으로! SW Expert Academy의 D3 난이도 문제로 전에 풀었던 D2 문제보다도 쉬웠다.  T = 10 for test_case in range(1, T + 1): N = int(input()) height = list(map(int, input().split())) result = 0 for j in range(2, N - 2): cur = height[j - 2:j + 3] cur.sort(reverse=True) ..

알고리즘 2024.05.17

[프로그래머스] 미로 탈출 / BFS / Python 코드

BFS/DFS 문제 풀이를 익히기 위해 미로 탈출 문제를 풀었다. Lv.2에 이전에 백준에서 많이 풀어봤던 느낌이라 쉽게 접근하고 풀 수 있었다. 어제 풀었던 문제를 떠올리면서 힌트를 얻기도 했다. 문제 설명 문자열의 배열로 주어진 미로에서 레버를 찍고 출구까지 가는 최단 거리를 구하는 문제이다. 상, 하, 좌, 우로 이동할 수 있으며 (대각선 불가) output으로는 몇 칸을 이동했는지를, 탈출할 수 없으면 -1을 반환한다. 문제 해결 인접한 칸을 방문하면서 최단 거리를 구하는 문제라 BFS를 사용했다. 가장 먼저 구한 답이 최단 거리가 될 것이다. DFS로 푼다면 모든 경우의 수를 다 구하기 때문에 비효율적임 일단 레버를 찍고 탈출구로 갈 수 있으므로 레버까지의 BFS 한 번, 출구까지의 BFS 한 ..

알고리즘 2024.02.13

[프로그래머스] 가장 먼 노드 / 그래프, DFS, BFS / Python 코드

어제 오늘 푼 문제는 난이도 Lv.3의 가장 먼 노드이다. 문제 자체는 어렵지 않았지만 효율적인 풀이를 고민하는 데 노력이 들었다. 알고리즘 공부할 때 봤던 그래프의 개념과 문제 풀이 하면서 익혔던 DFS, BFS 개념 및 구현 방법을 복습할 수 있었던 좋은 문제였다. 문제 설명 1부터 까지의 노드가 존재하는 그래프에서 1번 노드와 가장 먼 노드의 개수를 구하는 문제다. input으로 노드의 개수와 하나의 간선으로 연결된 두 노드의 배열이 list로 주어진다. 문제 해결 이전에 DFS 문제를 많이 풀었기 때문에 자연스럽게 DFS로 풀어야겠다고 생각했는데 막상 코드를 짜고 보니 BFS 비슷한 방법으로 풀고 있었다. 지금 생각해보면 어떤 방법으로 풀어도 상관 없는 것 같다. 먼저 인접리스트로 만들어 놓고 1..

알고리즘 2024.02.12

[프로그래머스] 오픈채팅방 / 2019 Kakao / Python 코드

프로그래머스 매일 한 문제 이상 풀기 도전, 남은 방학을 이렇게 보내보려고 한다. 어제에 이어서 진단 문제로 한 문제를 풀었는데 스택 문제가 너무 쉬워서 한 문제 더 풀었다. 오픈채팅방은 2019년 카카오 블라인드 채용의 기출문제로 Lv.2의 쉬운 문제였다. 카카오 글자만 보고 겁나서 안 풀려고 했는데 막상 풀어보니 오래된 문제라 그런지 풀 만했다. 효율 때문에 런타임 에러가 나와 생각보다 푸는 데 조금 걸렸던 문제다. 문제 설명 사용자들이 채팅방에 들어오고 나가는 안내 메시지를 배열로 반환하는 문제다. 채팅방에 들어오고 나가고 이름을 변경하는 메소드와 유저 ID, 닉네임이 공백 문자로 구분되어 하나의 문자열로 주어진다. 주의사항으로는 사용자가 나갈 때는 닉네임이 들어오지 않는다는 것이 있겠다. 문제 해..

알고리즘 2024.02.10

[프로그래머스] 디스크 컨트롤러 / Heap / Python 코드

많은 기업에서 코딩테스트를 프로그래머스 툴로 푼다는 말을 들었다. 프로그래머스는 코딩테스느 문제가 다양하지 않아서 백준만 풀었는데, 얼마 남지 않은 방학동안 프로그래머스 문제를 풀기로 결정했다. 코딩테스트 문제로 들어가니 수준에 맞는 문제 추천을 위한 진단 문제 풀기가 가능하길래 들어가봤다. 문제 이름이 재미있어 보이는 걸로 골랐는데 Lv.3 문제였던 답게 헤맨 과정이 있어 푸는데 시간이 좀 걸렸다. 문제 설명 한 번에 하나의 작업만 수행할 수 있는 하드디스크를 작업의 요청부터 종료까지 걸린 시간의 평균을 가장 줄이는 방법으로 디스크 컨트롤러를 구현하는 함수를 작성, input은 2차원 배열로, output은 평균 시간을 int형으로 반환하면 된다. 문제 해결 문제를 쭉 읽어 봤을 땐 그렇게 어려워 보이..

알고리즘 2024.02.09

npx create-react-app 오류 - no longer supported

react 공부 시작하려고 했는데 CRA부터 막힌다면? ㅋㅋㅋ.. npm uninstall도 해보고 node 버전도 바꿔보고 하라는 대로 해도 안되길래 카톡방에 질문 올렸는데 이 블로그 참고하고 그대로 하니까 바로 해결됐다! https://velog.io/@sisofiy626/React-create-react-app-%EC%84%A4%EC%B9%98%EC%8B%9C-%EC%97%90%EB%9F%AC%EA%B0%80-%EB%B0%9C%EC%83%9D%ED%95%9C%EB%8B%A4%EB%A9%B4 [React] create-react-app 설치시 에러가 발생한다면? 얼마 전 특정 라이브러리의 테스트를 위해 CRA를 설치하던 도중 아래와 같은 에러가 발생하였습니다. velog.io

web 2023.08.10

정보처리기사 필기 공부하기 - [5과목] 정보시스템 구축관리

정보보안 3요소 기밀성, 무결성, 가용성 TCP tcp wrapper: 외부 컴퓨터의 접속 인가 여부 점검, 인허가 3-way handshake: 통신이 원활히 이루어질 수 있는지 확인 NFC 기술 Zing: 키오스크에 갖다 대면 기가급 속도로 정보 전송 광대역 통합망; BcN, Broadband convergence Network - 음성, 데이터통신, 유선, 무선통신, 방송, 인터넷 등이 하나로 융합된 차세대 통합 네트워크 - 끊임없이(seamless) 이용할 수 있는 유비쿼터스 서비스 환경을 지원 Marine Navi(마린 내비). KT가 소개한 소형 선박용 네비게이션 시스템 C-V2X(Cellular Vehicle To Everything) : 차량-사물 통신 라이브러리 vs 프레임워크 라이브러리..

공부 2023.07.08