이유's Programming

    Java 람다에 관하여!

    JAva 에서 중요한 기능 중 하나 람다는 어떻게 쓰는 것일까요?  람다 함수는 프로그래밍 언어에서 사용되는 개념으로 익명 함수(Anonymous functions)를 지칭하는 용어입니다.현재 사용되고 있는 람다의 근간은 수학과 기초 컴퓨터과학 분야에서의 람다 대수이다. 람다 대수는 간단히 말하자면 수학에서 사용하는 함수를 보다 단순하게 표현하는 방법입니다. 익명함수?익명함수란 말그대로 함수의 이름이 없는 함수입니다. 익명함수들은 공통으로 일급객체(First Class citizen)라는 특징을 가지고 있습니다.이 일급 객체란 일반적으로 다를 객체들에 적용 가능한 연산을 모두 지원하는 개체를 가르킵니다. 함수를 값으로 사용 할 수도 있으며 파라메터로 전달 및 변수에 대입 하기와 같은 연산들이 가능합니다...

    ApacheBenchTest 하는 법

    Apache 사용법웹 서버의 처리 성능을 테스트하기 위한 도구입니다. 주어진 시간 안에 얼마나 많은 요청을 처리할 수 있는지, 응답 시간은 어느 정도인지 등의 성능 지표를 확인할 수 있습니다. 이를 통해 서버의 처리 능력을 측정할 수 있습니다.성능 측정 지표: 초당 요청 수, 요청의 평균 응답 시간, 최대/최소 응답 시간, 표준 편차 등.PS C:\\Apache24\\bin> ./ab.exe -c 100 -n 200 -t 60 ./ab.exe -c 100 -n 1000 http://localhost:8080/ - Holiday Management/getHolidaysWithPaginationAndSortUsingGET어떤식으로 사용하는지 자세하게 나온 내용https://blueyikim.tistory..

    DBMS 의 구조를 파악해보자

    DBMS 의 구조를 파악해보자

    데이터베이스 관리 시스템(DBMS)의 전체적인 구조는 크게 메모리 구조, 프로세스 구조, 스토리지 구조로 나눌 수 있습니다. 각각의 요소는 DBMS가 효율적으로 데이터를 관리하고 처리하는 데 필수적인 역할을 합니다. Oracle DBMS를 예로 들어 SGA를 포함한 전체적인 데이터베이스 구조를 설명하겠습니다. 1. 메모리 구조 (Memory Structure)데이터베이스의 메모리 구조는 주로 SGA(System Global Area)와 PGA(Program Global Area)로 나눌 수 있습니다. 이 구조는 데이터베이스와 사용자 세션 간의 데이터 교환과 SQL 실행 성능을 최적화하는 데 중요한 역할을 합니다.1-1. SGA (System Global Area)SGA는 데이터베이스 인스턴스에서 공유되는..

    인덱스.. 그래서 어떻게 해야 효율적이야? (필터조건, 액세스 조건)

    인덱스를 설정하는 것은 정말 운영환경에서 중요한 것으로 효율적으로 설정하기 위해서는 반드시 "필터 조건"과 "액세스 조건"을 이해해야 한다.  액세스 조건 - 인덱스 스캔 범위를 결정 필터 조건 -- 인덱스를 설정했는데 원하는 테이블 결곽 나오지 않았을 경우 이제 테이블로 가기 위한 조건이다  \인덱스의 액세스 조건(Access Predicate)과 필터 조건(Filter Predicate)은 데이터베이스에서 인덱스가 사용될 때, 쿼리의 효율성을 결정하는 중요한 요소들입니다. 이 두 가지는 실행 계획에서 인덱스가 어떻게 사용되는지를 설명하며, 옵티마이저가 인덱스 스캔을 통해 데이터를 검색하는 방식과 조건을 나누어 분석할 수 있게 해줍니다.1. 인덱스의 액세스 조건 (Access Predicate)액세스 ..

    인덱스 스캔의 효율적인 방식...?

    인덱스는 운영환경에서 DB 를 효율적으로 관리하기 위해 설정하게 되면 효율을 아주 높일 수 있따. 이처럼 인덱스를 설정하게 됬을 때 이것이 효율적인지 아닌지를 어떻게 알수 있을까? 우선 크게 SQL 실행계획 그리고 통계, 그리고 wait event 등을 통해서 알 수가 있다.  . SQL 실행 계획(Execution Plan) 확인SQL 실행 계획을 확인하는 것은 인덱스 스캔 효율성을 파악하는 첫 번째 단계입니다. 실행 계획은 SQL이 실행될 때 어떻게 처리되는지를 보여주며, 인덱스 사용 여부, 풀 테이블 스캔 여부 등을 확인할 수 있습니다.1-1. EXPLAIN PLAN 명령어 사용EXPLAIN PLAN FOR SELECT * FROM employees WHERE department = 'HR'; SE..

    HTTP - 커넥션 관리

    HTTP - 커넥션 관리

    HTTP 명세는 HTTP 메시지에 자세하게 설명하고 있지만, HTTP 커넥션과 이제 그것이 어떻게 사용되는지 잘 알고 있어야 한다.  어떤걸 배우는지?- HTTP 는 어떻게 TCP 커넥션을 사용하는가- TCP 커넥션의 지연, 병목, 막힘 - 병렬 커넥션, keep-alive 커넥션, 커넥션 파이프라인을 활용한 HTTP 의 최적화- 커넥션 관리를 위해 따랴아할 규칙들 TCP 커넥션?전 세계 모든 통신들은 이제 대부분 이 TCP 커넥션을 맺어서 이루어진다...! 1) 브라우저가 www.google.com  호슽명을 추출@ 2) 이 브라우저가 호스트 명에 대한 IP 주소를 찾아낸다.  3) 브라우저가 포트번호를 얻는다 4) 브라우저가 서버로 HTTP GET 요청 메시지를 보낸다브라우저 --> 서버 5) 브라우..

    HTTP 1장 - HTTP 개관

    HTTP 1장 - HTTP 개관

    HTTP 개관 ? HTTP 란 무엇일까? HTTP 는 인터넷의 멀티미디어 배달부이다. 수십 업 개의 JPEG 이미지,  HTML 페이지, 텍스트 파일, MPEG 동영상 파일 등이 이제 인터냇을 항해하는데 이를 빠르고, 간편하고, 정확하게 이제 배송해주는 것이다.그래서 쉽게 말하면 정말 인터넷의 멀티미디어 배달부를 의미한다  그래서 이런 전달과정이 어떻게 되는 것일까?웹 서버는 HTTP 프로토콜로 의사소통하기 때문에 보통 HTTP 서버로 불린다.. 그래서 이들 서버는 인터넷의 데이터를 저장하고 HTTP 클라이언트가 요청한 데이터를 제공한다!   리소스는? 웹 서버는 웹 리소스를 관리하고 제공하는데 웹 리소스는 웹 콘텐츠의 원천이다! - 클라이언트 - 서버 ( 파일 시스템, 텍스트파일, 웹 캠 게이트 웨이 ..

    Two Sum - LeetCode

    투 썸 구하는 방법 우선 이중 for 문으로 구하는 방법... 간단하게... nums 안에 들어가는 i 와 j 를 구분해서 하기. class Solution { public int[] twoSum(int[] nums, int target) { int nums_length = nums.length; for(int i=0; i < nums_length - 1; ++i){ for(int j=i+1; j < nums_length; ++j){ if(nums[j] == target - nums[i]){ return new int[]{i,j}; } } } return new int[2]; } } public class Main { public static void main(String[] args) { System...