728x90
반응형

분류 전체보기 226

쿠키(cookie), 세션(session), 토큰(token), JWT(JSON Web Token)

쿠키사이트 방문 시 데이터 저장사용자가 웹사이트를 방문하면, 브라우저는 서버에 요청을 보냄서버는 요청에 응답하며, 클라이언트가 요청한 데이터와 함께 쿠키를 포함할 수 있음브라우저는 이 쿠키를 클라이언트 컴퓨터에 저장쿠키의 역할:쿠키는 서버가 클라이언트를 기억하기 위해 브라우저에 저장하는 작은 데이터 조각예를 들어, 로그인 상태, 사용자 선호 설정(예: 언어 설정) 등 저장 가능쿠키의 동작 방식:웹사이트에 다시 방문할 때마다, 브라우저는 해당 도메인과 관련된 쿠키를 서버에 함께 전송(도메인에 따라 제한)서버는 이 쿠키를 사용하여 클라이언트의 상태를 파악하고 적절히 대응유효 기간:쿠키는 서버에서 정한 유효 기간이 있으며, 이 기간이 지나면 자동으로 삭제세션 쿠키는 브라우저가 닫힐 때 삭제사용자 조작 가능성:..

인증(Authentication)과 인가(Authorization)의 차이

인증(Authentication)로그인을 통해 특정 서비스 권한을 부여받은 사용자임을 인증 받는 것사용자가 누구인지 처음에 확인하는 과정ex) 웹사이트 로그인 시 아이디와 비밀번호 입력, 지문 인식으로 잠금 해제, 이메일 인증 코드 입력 인가(Authorization)한 번 인증을 받은 사용자가 이후 서비스의 여러 기능(특히 인증된 상태에서만 할 수 있는 기능)을 사용할 때 서버가 로그인 되어있는 상태임을 알아보고 허가해주는 것인증된 사용자가 특정 자원이나 기능에 접근할 권한이 있는 지를 결정하여 사용자가 어떤 작업을 수행할 수 있는지를 규정ex) 관리자가 데이터베이스를 수정할 수 있는 권한 부여, 일반 사용자가 특정 페이지에 접근할 수 없도록 제한, 특정 사용자가 파일을 읽을 수 없지만 수정할 수 없도..

[Python] 제너레이터(Generator)

제너레이터(Generator)이터레이터(Iterator)를 간단히 생성해주는 함수일반적인 함수처럼 정의되지만, 값을 반환할 때 return 대신 yield 사용제너레이터 함수는 호출될 때 실행되지 않고, 제너레이터 객체를 반환이터레이터 프로토콜를 따름yield 키워드: 값을 생성하고, 함수의 실행 상태를 유지. 다음 next() 호출 시 이 상태로 다시 실행을 시작지연 평가: 값을 필요할 때마다 하나씩 생성하여 메모리 사용을 줄임def gen(): yield 'a' yield 'b' yield 'c' g = gen()next(g) # 'a'next(g) # 'b'next(g) # 'c'next(g) # StopIteration모든 제너레이터는 이러에티러를 만드므로 제너레이터 객체는 이터레..

[Python] 이터레이터(Iterator)

이터레이터(Iterator)반복 가능한 객체를 순회할 수 있는 객체반복 가능한 객체란? -> List, tuple, set 등반복 가능한 객체 != 이터레이터 반복 가능한 객체 == 이터러블(iterable) 객체 (반복가능하면 이터레이터로 만들 수 있는 것)이터러블 객체는 __iter__() method를 가지고 있고, 이 method는 이터레이터를 반환하는 역할이터러블 객체는 iter() 함수를 이용하여 이터레이터로 만들 수 있mylist = [1, 2, 3]next(mylist)Traceback (most recent call last):File "", line 1, in TypeError: 'list' object is not an iterator# Iterable하다는 것이 Iterator라는 ..

[M1 Mac] UMT 가상환경 VScode SSH 연결하는 법 & Linux SSH 서버 실행방법

호스트 머신인 Mac에서 리눅스에 원격으로 접속한 상태로 VScode를 사용하기 위해 UTM 가상환경에 설치한 리눅스와 현재 호스트인 Mac을 SSH를 이용하여 연결해보겠습니다. SSH 연결 우선 가상환경에 설치한 리눅스의 ip 주소를 확인하기 위해 터미널에 ifconfig를 입력합니다. ifconfig 맨 처음에 나오는 enp0s1: 부분에서 inet 옆에 있는 ip주소가 우리가 사용할 ip 주소입니다. enp0s1: flags= ~~~~~~ inet (여기 있는 ip 주소 사용) netmask 255.255.255.0 broadcast ~~ inet6 ~~~ inet6 ~~~ global> ~~~~~~ ~~~~~~ 만약 ifconfig가 작동하지 않는다면 net-tools를 설치해주고 다시 시도해보세..

Linux 2024.03.10

[Kali Linux] 마우스 휠 방향 반대로 바꾸기

리눅스의 경우 기본적으로 마우스 휠의 방향이 평소 우리가 사용하던 것과 반대로 초기화 되어있습니다. 칼리 리눅스의 경우 다음과 같이 해결할 수 있습니다. 1. Mouse and Touchpad에 들어갑니다. 2. Device에서 Mouse라 써있는 것을 선택합니다. 3. Reverse scroll direction을 체크표시해주세요(기본적으로 체크 표시 해제가 되어있을 것입니다.) 4. Reboot를 해주세요. 저같은 경우에는 나중에 다른 기기를 사용하더라도 또 설정하기 싫어서 모든 Device에 Reverse scroll direction을 설정해놓았습니다.

Linux 2024.03.10

[Linux][bee-box] bash ipconfig command not found

ipconfig는 Windows 운영체제에서 사용하는 comman입니다. bee-box와 같은 Linux 기반 시스템에서는 ipconfig가 아니라 ifconfig또는 ip addr show를 사용합니다. ifconfig로 했는데 여전히 존재하지 않는 명령어라고 하는 경우에는 따로 net-tools 패키지를 설치해주어야 합니다. ifconfig: 시스템에 설치되어 있는 네트워크 인터페이스의 현재 구성을 보여줍니다. 이 명령어는 오래되었거나 최신 배포판에서 기본적으로 설치되지 않을 수 있습니다. ip addr show: 더 현대적이고 유연한 ip 명령어를 사용하여 네트워크 인터페이스의 상세한 정보를 보여줍니다. 이 명령어는 대부분의 현대 Linux 배포판에서 사용할 수 있습니다. // yum으로 net-t..

Linux 2024.03.07

[Computer Architecture] Exceptions

Exception unscheduled event that disrupt program excution(프로그램의 실행을 멈춤) User program의 Instruction을 수행하다가 문제사항이 생기게 되면 그 문제를 해결할 수 있는 OS 안에 위치하는 Exception handler을 이용하기 위해 OS에게 해결해달라고 소프트웨어에게 알리는 것입니다. 즉, 하드웨어가 소프트웨어에게 알리고 소프트웨어가 OS에게 handling 해달라고 부탁하게 됩니다. Exception 처리가 끝난 뒤에는 다시 원래 지점으로 돌아와서 진행하게 됩니다. (returns control to user) Exception 종류 Interrupts CPU 바깥의 event로 인해서 일어나는 Exception (caused b..

[Computer Architecture] Hazard Detection

Hazard Detection 각 파이프라인 사이 위치하는 정보를 전달하는 파이프라인 레지스터에서 hazard를 감지 Hazard 유형 EX/MEM단계의 Rd 레지스터와 ID/EX 단계의 Rs1 레지스터가 같은 경우 EX/MEM단계의 Rd 레지스터와 ID/EX 단계의 Rs2 레지스터가 같은 경우 MEM/WB단계의 Rd 레지스터와 ID/EX 단계의 Rs1 레지스터가 같은 경우 MEM/WB단계의 Rd 레지스터와 ID/EX 단계의 Rs2 레지스터가 같은 경우 문제 앞선 Instruction이 register에 write를 하지 않은 명령어라면 forwarding을 하면 안됩니다. x0는 항상 0으로 고정되어 있기에 어떠한 값도 안써지기 때문에 x0에 대한 계산에 대해 nonzero result value를 f..

[Computer Architecture] Pipeline Hazards

Pipeline Hazards Structural Hazards 동시에 두 가지 다른 방식으로 같은 자원을 사용하려고 시도하는 경우 발생합니다. Data Hazards 항목을 준비되기 전에 사용하려고 시도하는 경우 발생 명령어가 파이프라인에 있으면서 아직 처리되지 않은 이전 명령어의 결과에 의존하는 경우 앞쪽의 Instruction이 결과가 나오지 않았는데 뒤에 따라오는 명령어가 그 레지스터 값을 얻으려고 할 때 발생하는 hazards -> data dependency 발생 Control Hazards 조건이 평가되기 전에 결정을 내리려고 시도하는 경우 발생 branch instructions branch 결과가 나오기 전에는 어떤 instruction을 fetch 해야하는지 알 수 없습니다. Hazar..

728x90
반응형