전체 글
-
[Network] CORS (Cross-Origin Resource Sharing) 의미와 해결 방법Computer Science/Network 2025. 12. 16. 11:26
📌 목차 ◦ Origin / SOP / CORS ... ?◦ CORS 에러 발생 이유와 시점◦ CORS 의 해결 방법 🔥 처음 웹 개발을 하다보면 한번쯤은 마주치게 되는 CORS 에러 왜 발생하는지, 어떻게 해결해야하는지 알아보자. No 'Access-Control-Allow-Origin' header is present on the request 📌 Origin / SOP / CORS ... ? CORS 를 이해하기 위해 먼저 출처와 SOP 에 대한 이해가 필요하다. ⚡출처 ( Origin ) 출처란 우리가 흔히 사용하는 URL 안에서 출처(origin) = 프로토콜 + 도메인 + 포트 를 의미하는 것으로이 세가지가 같은 경우 동일한 출처라고 한다. ⚡동일 출처 정책 ( Same-Origi..
-
[Algorithm] 시간 복잡도 (BIG O 표기법) 정리Data Structure & Algorithm/Algorithm 2025. 12. 15. 16:18
📌 목차 ◦ 시간복잡도◦ 시간복잡도 계산 방법 📌 시간복잡도 ⚡정의컴퓨터 프로그램의 입력값과 연산 수행 시간의 상관관계를 나타내는 척도일반적으로 시간 복잡도는 점근 표기법을 이용하여 나타낸다. ** 점근 표기법 ( Asymptotic Notation ) : 함수의 증감 추세를 비교하는 표기법이며, 란다우 표기법이라고 부르기도 한다.Big-O (상한, 최악의 경우), Big-Omega (하한, 최선의 경우), Big-Theta (평균, 상하한의 교집합) 표기법 등이 있다. 시간 복잡도와 로직의 수행 시간은 비례하므로 시간 복잡도 수치가 작을수록 효율적인 알고리즘임을 뜻한다.아래의 예시에서 위부터 간단하고, 아래로 갈수록 복잡해진다. • O(1) 의 상수 형태 • O(log₂n) 의 로그 형태 • ..
-
[Data Structure] Array & List 정리 ( + ArrayList / LinkedList 비교 )Data Structure & Algorithm/Data Structure 2025. 11. 11. 23:24
📌 목차 ◦ Array & List 정리◦ ArrayList 와 LinkedList 차이 ◦ Method 정리, 시간복잡도, 메모리 구조 📌 Array & List 정리 ⚡Array ( 배열 ) 이란? Array 는 같은 타입의 데이터를 연속적인 메모리 공간에 순차적으로 저장하는 자료구조이다. ⚡주요 특징 - 순차적인 데이터 저장 : 같은 타입의 데이터를 순차적으로 저장한다. - 인덱스 : 각 데이터는 0부터 시작하는 고유한 번호(인덱스)를 가지며, 이 번호를 통해 접근할 수 있다. - 빠른 읽기 속도 : 특정 인덱스를 알면, 크기에 상관없이 배열의 시작점으로부터의 거리를 계산하여 원하는 데이터에 즉시 접근할 수 있다. - 연속적인 메모리 할당 : 데이터들이 메모리에 연속적으로 할당된다. - ..
-
[Python] Python 의 인터프리터, 가상 환경이란..? ( Java 와 비교 )Language/Python 2025. 10. 24. 13:27
📌 목차 ◦ Python 의 구조◦ Java 의 JVM 과 다른 점 📌 Python 의 구조 ⚡Python 환경 구성 요소파이썬의 환경은 실행에 필요한 인터프리터와 필요한 패키지(라이브러리) 및 설정들을 포함한다. ▪ Python 인터프리터 - 파이썬 코드를 해석하고 실행하는 프로그램이다.파이썬을 설치한다는 것은 코드를 작성하는 쉘과 코드를 작동시키는 인터프리터를 설치하는 것이라고 생각할 수 있다.( 추가적으로 기본적인 패키지 매니저인 pip 등등도 설치가 된다. ) ▪ 가상 환경 - 프로젝트별로 독립적인 파이썬 환경을 만들어주는 도구이다.이를 통해 각 프로젝트마다 필요한 파이썬 버전과 라이브러리들을 서로 간섭 없이 독립적으로 설치하고 관리하여패키지 충돌을 방지해주는 역할을 한다. - conda나 ..
-
[Java] 람다(Lambda) 표현식과 함수형 인터페이스 개념 총정리Language/Java 2025. 9. 10. 18:58
📌 목차 ◦ 람다의 기본 개념 ◦ 람다 문법 & 사용법 ◦ 함수형 인터페이스와 람다 ◦ 메서드 참조 ( Method Reference ) ◦ 람다와 컬렉션/스트림 활용 ◦ 람다의 제약사항 & 실무 적용 📌 람다의 기본 개념 ⚡람다란 무엇인가? (함수형 프로그래밍, 익명 함수) Java 8부터 도입된 익명 함수 (Anonymous Function). 이름 없는 함수로, 간결하게 코드를 표현할 수 있게 해준다.람다 이전에는 익명 클래스를 많이 사용했지만, 코드가 길고 가독성이 떨어졌었다.코드를 간결화하고, 함수형 프로그래밍을 지원하며, 병렬 처리 및 Stream API 활용에 최적화한 것이 람다이다.기존 익명 클래스(Anonymous Class)와 차이점// 기존 익명 클래스new Thread(new..
-
[Java] Stream(스트림) API 이란? 기본 개념과 구조Language/Java 2025. 9. 4. 17:35
📌 목차 ◦ Stream 의 기본 개념 및 형태◦ Stream 의 구조 / 중간 연산 / 최종 연산◦ Collection 과 차이점, 장단점 ◦ 내부 반복 (Interneal Iteration) / 외부 반복 (External Iteration)◦ Stream 은 항상 좋은가..? ( Stream vs for-loop 성능 비교 ) 📌 Stream 의 기본 개념 및 형태⚡ Stream 이란 ? Java 8 에서 도입된 API로, 컬렉션(Collection)이나 배열(Array) 데이터를 선언적(Declarative)이고 함수형(Functional) 방식으로 처리할 수 있게 해준다. 쉽게 말해서 Stream 은 객체 ( Object ) 가 아니라,데이터를 처리하기 위한 흐름 ( Flow, Pipel..
-
[Network] Stateful (상태유지) 와 Stateless (무상태) 차이Computer Science/Network 2025. 6. 3. 21:11
📌 목차 ◦ Stateful (상태유지) ◦ Stateless (무상태) ◦ Stateful (상태유지) 와 Stateless (무상태) 의 차이점 📌 Stateful (상태유지) ⚡ Stateful (상태유지) 의 의미'상태 유지'라는 것은 Client 와 Server 의 관계에서 Server 가 Client 의 상태를 보존하는 것을 의미한다. 클라이언트와 서버가 통신하는 단계별 과정을 진행하는데 있어,서버에서 클라이언트가 이전 단계의 정보를 저장한 상태를 말한다. 대표적으로 홈페이지에서 한 번 로그인을 하면 페이지를 이동해도 다시 로그인할 필요없이 계속 로그인 된 정보가 유지되는 것이다.서버가 클라이언트의 상태를 유지, 즉 기억하고 있으니 가능한 것이다. 클라이언트의 정보를 기억한다는 ..
-
[Network] RESTful API 그리고 HTTP Method ( GET / POST / PATCH / DELETE 등 ) 정리Computer Science/Network 2025. 5. 31. 16:02
📌 목차 RESTful API 란 ?HTTP Method 정리▪ GET / POST / PUT / PATCH / DELETE / HEAD / TRACE / OPTION 📌 RESTful API REST 란, Representational State Transfer 의 약자로자원을 이름으로 구분하여 자원의 상태를 주고 받는 모든 것을 의미한다. • HTTP URI ( Uniform Resource Identifier )를 통해 자원 ( Resource )을 명시한다.• HTTP Method 를 통해 해당 자원에 대한 CRUD 를 적용하는 것을 의미한다. ⚡ REST 구성 요소 ◾ 자원 ( Resource ) : HTTP URI - Client 는 URI 를 통해 자원을 전달하고, Ser..