목록이것저것 (20)
forest_moon
초반에 개발관련 환경설정을 세팅한다고 이것저것 덕지덕지 해놓았던게 요즘들어 경로문제나..터미널 속도가 문제가 너무 심각해짐. brew update 만해도 10분이상 걸리고,, 설치하는데는 로딩만 20분이상걸림 .. 전에는 켜놓고 다른거 한다고 생각안했었는데 겸사겸사 공장 초기화를 하고 경로설정을 제대로 하기 위해서 기록한다. https://brew.sh/index_ko 위 주소로 들어가면 해당코드가 있음. 터미널에 명령어 복사해서 붙여 넣고 엔터 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 맥북 비밀번호 입력하고 나면 자동 설치 된다. zsh: command not found: ..
CORS란? CORS(Cross-Origin Resource Sharing)는 출처가 다른 자원들을 공유한다는 뜻으로, 한 출처에 있는 자원에서 다른 출처에 있는 자원에 접근하도록 하는 개념입니다. 교차 출처 리소스 공유(Cross-Origin Resource Sharing, CORS)는 추가 HTTP 헤더를 사용하여, 한 출처에서 실행 중인 웹 애플리케이션이 다른 출처의 선택한 자원에 접근할 수 있는 권한을 부여하도록 브라우저에 알려주는 체제입니다. 웹 애플리케이션은 리소스가 자신의 출처(도메인, 프로토콜, 포트)와 다를 때 교차 출처 HTTP 요청을 실행합니다. 쉽게 말해 도메인 , 프로토콜, 포트 번호가 하나라도 다를 경우에는 출처가 다른 교차출처(Cross-Origin)라고 판단되며 브라우저의 보..
개인적으로 OAuth2.0을사용한이유는 ? ? 나의 경우에는 프로젝트 진행할때 사용한 적이있다. 일반적으로 보안이 잘 되어있지 않은 사이트에서 개인정보가(이메일,핸드폰번호) 들어가게 된다면 별로 좋지 않다고 이야기를 들었었고,겸사겸사 새로운 API를 사용해보고 싶어서 도입 했었다. OAuth(Open authorization)란 ? 인터넷 사용자들이 비밀번호를 제공하지 않고 다른 웹사이트 상의 자신의 정보에 대해 웹사이트 나 앱의 접근권한을 부여할 수 있는 공통적인 수단으로서 사용되는 접근 위임을 위한 개방형 표준이다 . 쉽게말해 다양한 플랫폼에서 권한 부여를 위한 산업 프로토콜이다. OAuth의 탄생 하게된 이유 OAuth 방식이 등장하기 전에는 인증방식의 표준이 없었기 때문에 기존의 기본인증인 id ..
SQL (관계형 DB) 정의 Structured Query Language (구조화 된 쿼리 언어) 데이터베이스 자체를 나타내는 것이 아니라, 특정 유형의 데이터베이스와 상호 작용하는 데 사용 하는 쿼리 언어 입니다. 기능 RDBMS (관계형 데이터베이스 관리 시스템)에서 데이터를 저장, 수정, 삭제 및 검색 할 수 있음 특징 데이터는 정해진 데이터 스키마에 따라 테이블에 저장된다. 데이터는 관계를 통해 여러 테이블에 분산된다. 데이터는 테이블에 레코드로 저장되는데, 각 테이블마다 명확하게 정의된 구조가 있다. 해당 구조는 필드의 이름과 데이터 유형으로 정의된다. 따라서 스키마를 준수하지 않은 레코드는 테이블에 추가할 수 없다. 즉, 스키마를 수정하지 않는 이상은 정해진 구조에 맞는 레코드만 추가가 가능..
프로그램의 실행 순서 1. 사용자가 프로그램 실행을 요청 2. 프로그램의 정보를 읽고 메모리에 로드한다. 3. CPU는 프로그램 코드를 가져다 메모리를 관리하고 명령문을 실행한다. 4. 동적메모리가 할당되면 FreeStore 영역을 사용한다 ( 아래쪽으로 이동) 5. 스택메모리가 할당되면 FreeStore 영역을 사용한다 (위쪽으로 이동) 위 와 같이 프로그램이 실행되기 위해서는 운영체제(OS)가 프로그램의 정보를 메모리에 로드 해야하고 , 또한 프로그램이 실행되는 동안 CPU가 코드를 처리하기 위해서는, 메모리가 명령어와 데이터들을 저장해야 한다. 프로그램이 운영체제(OS)로 부터 할당받는 대표적인 메모리 공간은 코드(code) 영역, 데이터(data) 영역, 힙(heap) 영역, 스택(stack) 영..
쿠버네티스(Kubernetes)의 개요 쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼이다. 쿠버네티스는 선언적 구성과 자동화를 모두 용이하게 해준다. 쿠버네티스는 크고, 빠르게 성장하는 생태계를 가지고 있다. 쿠버네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용할 수 있다. 쿠버네티스란 명칭은 키잡이(helmsman)나 파일럿을 뜻하는 그리스어에서 유래했다. K8s라는 표기는 "K"와 "s"와 그 사이에 있는 8글자를 나타내는 약식 표기이다. 구글이 2014년에 매주 수십억 개의 컨테이너를 생성하는 Google이 내부 배포시스템으로 사용하던 'borg'를 기반으로 쿠버네티스 프로젝트를 오픈소스화했다. 쿠버네티스는 프로덕션 워크로드를 대규모로 ..
정렬 등과 함께 가장 기초인 알고리즘으로 꼽히는 문제이며 검색 범위를 줄여 나가면서 원하는 데이터를 검색하는 알고리즘. 이진 탐색 알고리즘이란 오름차순으로 정렬된 정수의 리스트를 같은 크기의 두 부분 리스트로 나누고 필요한 부분에서만 탐색하도록 제한하여 원하는 값을 찾는 알고리즘이다. 리스트의 중간 부분에 찾는 원소가 있는지 확인하고, 없으면 위쪽에 있는지 아래쪽에 있는지 판단하여 맨 앞부터 검색하거나 중간부터 검색한다. 이진 탐색은 정렬된 리스트에만 사용할 수 있다는 단점이 있음,대신 검색이 반복되면서 범위가 절반으로 줄어들기 때문에 속도가 빠르다는 단점이 있다. 동작방식 1. 배열의 중간 값을 가져온다. 2. 중간 값과 검색 값을 비교한다 2.1 중간 값 과 검색값이 같다 = 검색 종료 (mid = ..
특정한 알고리즘에 대한 성능을 평가하기 위해 '복잡도(Complexity)'의 척도를 사용 합니다. 복잡도에는 시간 복잡도와 공간 복잡도가 있으며, 동일한 기능을 수행하는 알고리즘을 테스트 하는 경우에는 복잡도가 낮을수록 좋은 알고리즘이라고 흔히들 말한다. 좋은 알고리즘 : 알고리즘이 수행을 시작하여 결과가 도출될 때까지 걸리는 시간이 짧고 연산하는 컴퓨터 내의 메모리와 같은 자원을 덜 사용하는 알고리즘 **시간 복잡도 특정 값에 대하여 알고리즘 수행 시간을 분석 **공간 복잡도 특정 값에 대하여 알고리즘의 데이터 사용량을 분석 1. 시간 복잡도(Time Complexity) 알고리즘의 수행 시간을 분석할때 시간 복잡도를 이용한다. 시간 복잡도는 3가지로 주로 나타낸다. 최선의 경우(Best Case),..