[CS] CORS(Cross-origin Resource Sharing)란 ?
IT이론/네트워크2024. 4. 26. 19:42[CS] CORS(Cross-origin Resource Sharing)란 ?

CORS란 ?MDN Docs에서는 CORS를 다음과 같이 정의하고 있습니다.CORS는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청을 실행합니다. 브라우저는 보안 상의 이유로 스크립트에서 시작한 교차 출처 HTTP요청을 제한합니다. 스크립트에서 브라우저에서 웹 애플리케이션은 자신의 출처와 동일한 리소스만 불러올 수 있으며, 다른 출처의 소스를 불러오면 그 출처에서 올바른 CORS 헤더를 포함한 응답을 반환해야합니다.cross-origin 요청을 하려면 서버의 동의가 필요합니다. 만약 서..

[Redis] Redis(레디스)의 자료구조
개발공부/Redis2024. 4. 16. 19:30[Redis] Redis(레디스)의 자료구조

이전 포스팅을 통해 Redis를 설치하신 뒤 Redis를 효율적으로 활용하기 위해 Redis의 자료구조에 대해 알아보려고합니다 :) Redis의 자료구조 종류Redis는 아래의 자료구조를 공식적으로 지원하고 있습니다 ! StringsVinary-safe한 기본적인 key-value의 구조ListsString element의 모음, 순서는 삽입된 순서를 유지하며 기본적인 자료구조로 Linked List를 사용합니다.Sets유일한 값들의 모임인 자료구조, 순서는 유지되지 않습니다.Hashes내부에 key-value 구조를 하나 더 가지는 Redis 자료구조Bit arrays(bitMaps)bit array를 다룰 수 있는 자료구조HyperLogLogsHyperLogLog는 집합의 원소의 개수를 추정하는 방법..

[Spring, Spring Boot] @Configuration이란 ?
프로그래밍/Java2024. 4. 12. 18:30[Spring, Spring Boot] @Configuration이란 ?

@Configuration이란 ?Spring, Spring Boot에서 Bean을 수동으로 등록하기 위해서는, class 상단에 @Configuration 어노테이션을 적용해주고, @Bean을 사용해 수동으로 빈을 등록할 수 있습니다 !빈을 생성할 때 메서드의 이름으로 빈의 이름이 결정됩니다. 그러므로 중복된 빈의 이름이 존재하지 않도록 주의해줘야합니다 !@Configurationpublic class DatabaseConfig { @Bean public SqlSessionTemplate sqlSessionTemplate(SqlSessionFactory sqlSessionFactory) { return new SqlSessionTemplate(sqlSessionFactory); ..

[React] .js vs .jsx의 차이점
프로그래밍/React2024. 4. 11. 09:00[React] .js vs .jsx의 차이점

JSX란 ?jsx는 JavaScript XML의 약자로 자바스크립트에서 XML을 추가한 확장형 문법입니다. 큰 특징은 자바스크립트에서 HTML 문법을 사용할 수 있다는점입니다.주로 리액트나 다른 프론트엔드 프레임워크에서도 사용이 가능합니다 ! .js와 .jsx의 차이점리액트에서 .js보다 .jsx를 쓰는 이유는 자바스크립트 내에서 HTML을 사용할 수 있다는 점 이외에는 기능적으로 별다른 차이점이 존재하지 않습니다.리액트 공식 홈페이지에서 jsx 관련해서 자바스크립트 내에서 직관적으로 UI 관련 작업이 관련 작업이 가능하고, 개발에 도움을 주는 에러 및 경고 메시지를 표시할 수 있게 해준다고합니다 !js와 jsx는 큰 차이점이 없고 프로젝트 시 팀 내에서 js를 쓸 것인지, jsx를 쓸 것인지 협의를 하..

[CS] 트랜잭션이란 ? (Spring/Spring Boot)
IT이론/데이터베이스2024. 3. 25. 23:53[CS] 트랜잭션이란 ? (Spring/Spring Boot)

트랜잭션(Transaction)이란: DB 상태를 변환 시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위입니다.쪼갤 수 없는 여러 작접들을 논리적으로 최소 단위로 묶은 것입니다. 트랜잭션의 예시 상황많은 블로그에서 보셨던 방식으로 접근해 보겠습니다 !온라인 쇼핑몰을 결제할 때, 두가지 작업을 거쳐야합니다.첫 번째 판매처에 돈을 송금하기, 두 번째 판매처에서 고객이 보낸 돈을 받기 두 작업을 한 트랜잭션이라고 할 경우 판매처에 돈을 보냈는데 판매처에서 고객이 보낸 돈을 받지 못하는 경우나, 고객이 돈을 보내지 않았는데 판매처에서 돈을 받는 경우가 생기면 안된다.모든 작업이 성공적으로 완료되어야 작업 결과를 적용(commit)하고, 트랜잭션에 속한 모든 작업 중에(1번이나 2번 둘 중) 하나라도 오류가..

[Java, 자바] 프로그래머스 타겟 넘버
알고리즘/프로그래머스2024. 3. 18. 13:20[Java, 자바] 프로그래머스 타겟 넘버

프로그래머스 👉🏻 https://school.programmers.co.kr/learn/courses/30/lessons/43165 # 난이도 : LV2 # 알고리즘 분류 : DFS, BFS 문제내용 제한사항 입출력 예 풀이방법 이번 문제는 numbers 배열의 모든 경우의 수를 구하는 문제입니다 ! 추가적인 조건으로 더하기와 빼기가 골고루 섞여야한다는 점 ! DFS를 진행하기 위해서 매개변수로 Level과 누적합, 배열과 target을 매개변수로 전달하였습니다. DFS를 호출할 때 L과 sum은 0을 초기값으로 전달해주고 DFS내부에서 다음 DFS로 호출할 때 L은 1을 더해주고, 더하기와 빼기가 모두 이루어져야하기 때문에 sum은 numbers[L] 값을 더한 값과 뺀 값을 따로 전달해주었습니다. L..

[Java, 자바] 프로그래머스 주식가격 문제
알고리즘/프로그래머스2024. 3. 18. 13:08[Java, 자바] 프로그래머스 주식가격 문제

프로그래머스 👉🏻 https://school.programmers.co.kr/learn/courses/30/lessons/42584 # 난이도 : LV2 문제내용 제한사항 입출력 예 풀이방법 이번 문제는 설명이 많이 이해하기 어려웠습니다....저 뿐만 아니라 많은 사람이 그렇게 느낀 것 같더라구요.... 이해하기 쉽게 잘 정리해 놓으신 분의 내용을 참고하여 풀이하였습니다. 간단하게 요약하자면 각 초의 주가를 기준으로 해당 초부터 n초 사이에 가격이 떨어지지 않는 시간을 구하는 문제이더라구요 ! 그래서 Queue를 활용하여 문제 풀이를 진행하였으며, target이라는 변수에 Q에 있는 주가를 poll한 뒤 Q에 남은 값을 활용하여 answer의 인덱스를 증가 시켜주었며, target가 Q의 주가보다 클 때..

[Algorithm] 에라토스테네스의 체
알고리즘/알고리즘 정리2024. 3. 11. 12:48[Algorithm] 에라토스테네스의 체

알고리즘에 대한 이해 !에라토스테네스의 체란 소수를 판별하는 알고리즘입니다 !소수를 대량으로 빠르고 정확하게 구하는 방법입니다.소수란 무엇인가 ?소수는 양의 약수를 두 개만 가지는 자연수, 즉 1과 자기자신으로만 나누어지는 수를 의미합니다.2, 3, 5, 7, 11 ...등이 있죠 !반복문을 통해 소수를 구하는 법을 먼저 확인하겠습니다 !private boolean isPrimeNumber(int targetNumber) { for(int i = 2 ; i 위와 같이 알고리즘을 작성하는 경우 소수 판별 알고리즘의 시간 복잡도는 O(N)입니다.즉 ! 모든 경우의 수를 다 확인하여 약수 여부를 확인한다는 점에서 몹시 비효율적이라고 볼 수 있죠 !에라토스테네스의 체 구현방법 !O(N)의 시간 복잡도를..

image