React를 사용하는 이유페이지 전환 없이 앱 같은 느낌의 웹을 만들기 위해서 => 한 페이지에서 다 하는 SPA(Single Page Application) 방식 유행프론트의 비중이 높아짐(데이터를 많이 다루기 때문에) => 한 번 데이터를 받으면 애플리케이션 내에 상태 유지를 할 수 있음FLUX 패턴을 도입하여 데이터 흐름의 일관성이 있어 추적하기 쉬워짐ACTION -> DISPATCHER -> STORE -> VIEW대규모 웹 사이트에 적합변수 겹침, 가독성 문제 해결jsx, tsx: 바벨, 웹팩, vite, swc 툴로 js 변환 필요컴포넌트(js + html) React 프로젝트 설정jsx 파일은 브라우저가 인식하지 못하므로 js 파일로 변환하기 위한 설정npm create vite@latest..
[3-tier 서버 DB 연결 구현]서버와 DB는 서버의 Database Connection Pool에서 미리 생성되어있던 커넥션 객체를 가져오고 그 후 DB는 서버 내부에 세션이라는 것을 만들고 커넥션과 연결되어 커넥션을 통해 사용자에게 요청받은 SQL 요청을 처리한다. [JPA를 사용한 트랜잭션 구현]EntityManagerFactory -> Entity Manager -> EntityTransaction1. 사용 방식: 커넥션 객체를 정의 할 필요 없이 EntityManager가 EntityTransaction을 가져옴2. 한계: 트랜잭션을 직접 관리해야 하고 service 코드에 비즈니스 로직 외의 코드 추가로 가독성 떨어짐 [Spring 트랜잭션 핵심 기술]1. 트랜잭션 동기화: 트랜잭션을 시작..
# apt 패키지 업데이트 및 필수 패키지 설치 sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl # 새로운 GPG 키 및 저장소 등록 curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.28/deb/ /' | sudo tee /et..
* 문제점kubernetes 활용을 위해 세팅 중 가상환경에서 우분투 서버 복제 이후 ip 주소 변경을 위해서 해당 명령어를 사용했을 때 권한 문제가 발생한다.sudo netplan apply ** (generate:12390): WARNING **: 21:47:13.631: Permissions for /etc/netplan/01-network-manager-all.yaml are too open. Netplan configuration should NOT be accessible by others.이 경고는 Netplan 설정 파일의 권한이 너무 넓게 설정되어 있어 보안상의 이슈가 발생할 수 있다는 것을 나타냅니다. Netplan 설정 파일은 민감한 정보를 포함할 수 있으므로 일반 사용자나 그룹에 대..
File보조기억장치에 저장된 연관된 정보들의 집합보조기억장치 할당의 최소 단위Sequence of bytes (물리적 정의)File operationsCreate, Write, Read, Reposition, Delete Etc.OS는 file operations들에 대한 system call을 제공해야 함Types of files in Unix/LinuxRegular file 일반 파일Text or binary data fileDirectoryunix/linux에서는 directory도 하나의 파일Special file파일 형태로 표현된 커널 내 객체데이터 전송, 장치 접근 시 사용하는 파일Everything is a fileThe advantage of this approach is that the ..
리눅스 기본 명령어 1. Login / Logout telnet: 유닉스 시스템에 접속 logout: 유닉스 시스템에서 접속 해제 exit: 유닉스 시스템에서 접속 해제 2. Process management ps: 현재 실행 중인 프로세스의 정보를 출력 kill -9 pid: process 강제 종료 3. File/directory ls: 디렉토리 내용 출력 cd: 현재 디렉토리 변경 cp: 파일/디렉토리 복사 mv 파일명 폴더명: 파일/디렉토리 이름변경과 이동 rm: 파일/디렉토리 삭제 mkdir: 디렉토리 생성 rmdir: 빈 디렉토리 삭제 cat: 파일 내용 출력 more: 파일 내용 쪽단위 출력 chmod: 파일 접근권한 변경 grep: 패턴 검색 4. Others su: 사용자 계정 변경 ta..
1. 컴퓨터 시스템 개요* 프로세서: CPU, GPU, 응용 전용 처리 장치 - 연산 수행 - 컴퓨터의 모든 장치의 동작 제어 * 레지스터: 프로세서 내부에 있는 메모리로 프로세서가 사용할 데이터를 저장하고 컴퓨터에서 가장 빠른 메모리 - 용도: 전용, 범용 - 사용자가 정보 변경 가능 여부에 따른 분류: 사용자 가시, 사용자 불가시 - 저장하는 정보의 종류에 따른 분류: 데이터, 주소, 상태 * 메모리: 주기억장치, 보조기억장치 - 데이터를 저장하는 장치 - 종류: 레지스터, 캐시, 메인메모리, 보조기억장치 - 주기억장치: 프로세서가 수행할 프로그램과 데이터를 저장, 디스크 입출력 병목현상 해소 - 캐시: 프로세서 내부에 있는 메모리로 속도가 빠르고 가격이 비쌈, 주기억장치의 입출력 병목현상 해소, 일..
1강-1. 시스템 프로그래밍 개요* 유닉스 시스템 프로그래밍: 유닉스 제공의 시스템 호출을 이용해 프로그램을 작성. 시스템 호출은 서비스를 프로그램에서 이용할 수 있도록 지원하는 프로그래밍 인터페이스. * 시스템: 컴퓨터, 모바일, 자동차, 세탁기 등은 어떤 하나의 목적을 달성하기 위해 필요한 서비스를 제공하는 것. hw/sw로 분류. * 시스템 프로그램: 시스템을 구성하는 자원을 다루는 프로그램, 응용 프로그램에 서비스를 제공하는 프로그램 * 시스템 콜: 운영체제에게 필요한 기능을 요청하는 역할을 한다. * 시스템 콜 인터페이스: 시스템 프로그램(운영체제)이 제공하는 기능을 사용하기 위한 통로 - kernel 내 모듈을 직접 호출 * Library function: 미리 컴파일 된 함수는 내부적으로 시..