2023/04

어휘 분석부터 구문 분석까지 실습 어휘 분석기의 소중함을 배워보자 어휘 분석기의 유무에 따라 어떻게 식을 인식해 가는지 과정을 봅시다 foo = (bar - 60) 어휘 분석기가 없는 구문 분석 간단한 C 언어 문법 (1) ::= (2) ::= = ; (3) ::= (4) ::= + | - | (5) ::= * | / | (6) ::= | | ( ) (7) ::= (8) ::= ( | _){ | | _} (9) ::= {} (10) ::= a |⋯| z (11) ::= 0 | 1 | ⋯| 9 어휘 분석 토큰 단위 분리 : foo | = | ( | bar | - | 60 | ) | 식별자 : foo, bar 연산자 : = , - 상수 : 60 구분자 : ( , ) , ; 구문 분석 구문 분석(Syntax ..
BNF (Backus-Naur Form) BNF (Backus-Naur Form)은 프로그래밍 언어의 문법 규칙을 표현하기 위한 메타언어입니다. BNF는 규칙을 생성하기 위한 표기법으로 LHS(left-hand side)와 RHS(right-hand side)로 구성되어 있습니다. LHS는 한 개의 논터미널(Non-terminal)로 구성된 문자열로 표현되며, BNF에서는 각괄호()를 사용하여 표현합니다. RHS는 터미널(Terminal)과 논터미널로 구성된 문자열로 표현되며, BNF에서는 각괄호를 사용하지 않고 표현합니다. 즉, 위 예시에서 ''와 ''가 LHS에 해당하며, ‘|’, ‘,’ 등으로 구분된 'id’와 ‘’, 그리고 ''와 ''가 RHS에 해당합니다. BNF 문법은 문법 전체를 형식적으로 ..
· ETC
Centos Postgresql 설치하는 방법 CentOS 운영 체제에서 PostgreSQL을 설치하려면 다음 단계를 따르세요: PostgreSQL 저장소 추가하기: 먼저, PostgreSQL 공식 저장소를 시스템에 추가해야 합니다. 저장소 파일을 다운로드하고 설치하려면 다음 명령을 실행하세요. sudo yum install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-7-x86_64/pgdg-redhat-repo-latest.noarch.rpm PostgreSQL 설치하기: 저장소가 추가되면, yum을 사용하여 PostgreSQL 패키지를 설치할 수 있습니다. 아래 명령을 사용하여 PostgreSQL을 설치하세요. sudo yum inst..
· ETC
Resolver Error: Permission Denied (publickey,gssapi-keyex,gssapi-with-mic) 해결 Visual Studio Code에서 Remote SSH 접속을 시도했으나, SSH 키 권한 문제로 인해 접속이 거부되었다. 해결 방법 먼저, 권한 문제를 해결하기 위해 chmod 777을 사용했으나, 너무 많은 권한을 부여하여 아래와 같은 에러가 발생했다. chmod 777은 파일에 너무 많은 권한을 부여하므로, 대신 chmod 400 명령을 사용하여 권한을 조정했다. chmod 400 명령은 파일의 권한을 변경하여 소유자에게만 읽기 권한을 부여하고, 다른 사용자에게는 권한을 부여하지 않는다. 이렇게 하니, 정상적으로 SSH 접속이 가능해졌다. 관련 개념 파일 권한..
OSPF 알고리즘 Link-state 알고리즘은 OSPF(Open Shortest Path First) 라우팅 프로토콜에서 사용되는 알고리즘 중 하나입니다. 이 알고리즘은 OSPF 라우터가 연결된 모든 링크 정보를 수집하고 그래프 형태로 나타내며, 그래프를 사용하여 최단 경로를 계산합니다. OSPF는 대규모 네트워크에서 사용되며, 이런 환경에서는 라우팅 테이블을 구성하는 것이 굉장히 복잡하고 시간이 많이 걸립니다. 따라서 OSPF에서는 각 라우터가 이웃 라우터와 정보를 교환하며, 이 정보는 링크 상태, 대역폭, 지연 등의 정보를 포함합니다 결과적으로 라우터는 이 정보를 사용하여 자신의 최단 경로 테이블을 계산합니다. Link State 알고리즘 : OSPF 라우팅 프로토콜 OSPF(Open Shortes..
RSA RSA 암호화 알고리즘은 대표적인 공개키 암호화 기법 중 하나입니다. 송신자와 수신자는 모두 n과 e를 알고 있어야하고, 오직 수신자만이 d를 가집니다 키 생성 RSA 알고리즘에서는 먼저 공개키와 개인키를 생성해야 합니다. 소수 p와 q를 무작위로 선택합니다. n = pq를 계산합니다. n은 매우 큰 수이며, 공개키와 개인키의 생성에 사용됩니다. φ(n) = (p-1)(q-1)을 계산합니다. φ(n)은 오일러 피 함수(Euler’s totient function)로 불립니다 또한, n보다 작은 양의 정수 중 n과 서로소인 수의 개수를 나타냅니다. 1 < e < φ(n)를 만족하는 e를 선택합니다. e는 공개키의 일부로 사용됩니다. d * e ≡ 1 (mod φ(n))을 만족하는 d를 계산합니다. ..
· ETC
PostgreSQL 종료하는 방법 만약 pg_ctl 명령어를 이용해 Postgresql을 종료해도 실패한다면, 강제 종료하는 방법이 있습니다. 다음과 같은 순서로 시도해보세요. sudo lsof -i tcp:5432 명령어를 이용해 5432 포트를 사용하는 프로세스를 찾습니다. 명령어 실행 결과 나온 프로세스 ID(PID)를 이용해 sudo kill -9 [PID] 명령어로 해당 프로세스를 강제 종료합니다. 다시 pg_ctl 명령어로 Postgresql을 시작해봅니다.
공개 키 오늘은 공개 키 암호의 기본적인 개념을 살펴보고 키 분배 문제에 대한 준비 과정을 알아보자 공개 키 알고리즘은 수학적 함수에 근거해서 만들었다. 서로 다른 두 개의 키를 이용하는 비대칭 방식 두 개의 키를 사용하기 때문에 기밀성과 키 분배, 인증 분야에서 성능이 뛰어나다. 공개 키 암호 시스템은 크게 아래 3 분류로 나눌 수 있다. 암호화/복호화 - 공개키로 메시지를 암호화 디지털 서명 - 자신의 개인키로 복호화 키 교환 - 세션 키 교환을 위해 상호 협조 공개 키 암호에 대한 오해 공개 키 암호가 관용 암호보다 해독에 있어 안전하다 암호 시스템의 안전도는 키의 길이와 암호를 뚫는데 필요한 계산량에 따라 달라진다 근본적으로 공개 키 암호화 관용 암호 중 어느 것이 더 암호 해독에 더 강하다고 말..
BlindTok (3) - DB 연결 및 테이블 설계 서버 인스턴스를 생성했으므로 다음은 테이블을 설계하고 DB를 연결할 차례이다. 프로젝트의 빠른 진행을 위해 테이블과 기능 명세는 구체적으로 잡고 가야 하기 때문에 오늘은 테이블 설계를 하는 시간을 가졌다. 개발도 해야 하는데, 시험 기간이라 할게 산더미다 PostgreSQL DB 연결 import config from "@config/ormconfig"; import {DataSource, EntityManager} from "typeorm"; const {host, port, username, password, database, synchronize, logging, entities, migrations} = config; let _datasourc..
· DEV/Backend
PostgreSQL 접속하는 방법 터미널이나 명령 프롬프트를 열고 다음과 같이 입력합니다. psql -U [username] -h [hostname] -p [port] -d [database_name] Ex. psql -U berom -d postgres 예를 들어, 사용자 이름이 postgres, 호스트 이름이 localhost, 포트 번호가 5432, 데이터베이스 이름이 mydb인 경우 다음과 같이 입력합니다. psql -U postgres -h localhost -p 5432 -d mydb 비밀번호를 입력하라는 메시지가 나타나면 입력하고 Enter를 누릅니다.
berom
'2023/04 글 목록 (8 Page)