일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- java
- 자바8
- class
- 함수형
- 프로그래밍
- Router
- OSI
- 스위치
- frame
- Linux
- Port
- Next
- Layer4
- SQLD
- Layer2
- 자바
- next.js
- Packet
- network
- Mac
- 자격증
- Layer
- nextjs
- ip 할당
- 네트워크
- 오라클
- 포트
- dhcp
- Python
- oracle
- Today
- Total
목록생활 (14)
BEER&DEV
리눅스에서의 make 명령어 이해하기 make 명령어는 주로 대규모 및 복잡한 소프트웨어 프로젝트에서 사용되며, 소스 코드를 컴파일하고 실행 파일을 생성하는 등의 작업을 자동화하는 데 유용합니다. make를 사용하면 프로젝트의 빌드 프로세스를 효율적으로 관리할 수 있습니다. Makefile 작성 make를 사용하기 위해서는 프로젝트 디렉토리에 Makefile이라는 파일이 필요합니다. Makefile은 make가 실행할 명령어들을 정의하는 텍스트 파일입니다. Makefile은 다양한 블록들로 구성되며, 각 블록은 타겟(Target)과 해당 타겟을 실행하기 위한 명령어들로 이루어집니다. 예를 들어, 다음은 간단한 Makefile의 예시입니다. all: hello hello: gcc -o hello hello..
시스템 정의 AWS ec2 Instance 1core RAM 2GB SSD 30GB t2.small OS 버전 Ubuntu 20.04 버전 기준입니다. Application 버전 Python 3.8 시스템 설정 AWS ec2 인스턴스를 처음 생성하게 되면 기본적인 프로그램(vi, apt 등..)을 제외 하고, 인스턴스의 경량화를 위해 아무것도 설치 되어있지 않습니다. 아래 가이드는 Django Application을 인스턴스에 올리는 커멘드를 순서대로 작성하였으며, 다른 설정 필요없이 커멘드만 따라서 입력해주시면 서버 구성이 완료됩니다. 시스템 확인 아래와 버전이 같은지 확인해줍니다. -- 우분투 버전 확인 $ lsb_release -a -- 결과 No LSB modules are available. D..
Nginx 란? Nginx는 웹 서버 소프트웨어로, 가벼움과 높은 성능을 목표로 한다. 웹 서버, 리버스 프록시 및 메일 프록시 기능을 가집니다. APT 란? Advanced Package Tool의 약자인 APT는 Debian 시스템에 포함된 핵심 도구들의 집합체입니다. 즉, 우분투와 같은 데비안 계열의 패키지를 관리하는데 사용됩니다. Apt를 활용하면 다음과 같은 작업을 처리할 수 있습니다: 패키지 설치 패키지 업그레이드 패키지 삭제 의존성 해결 패키지 검색 패키지 정보 확인 저장소 관리 등 우분투(Ubuntu) 에 Nginx 설치하기 1. APT 업데이트 및 업그레이드 $ sudo apt update $ sudo apt upgrade 2. Nginx 설치 $ sudo apt install nginx..
왜 Windows에서 Linux 개발 환경이 필요한가? Windows에서 Linux 개발 환경을 필요로 하는 이유는 간단합니다. 회사에서 쓰는 PC는 Windows 운영체제를 사용하는데, 우리 서비스는 AWS 클라우드에서 Linux를 사용합니다. 그래서 로컬(개발) 환경과 클라우드(운영) 환경을 맞추려고 WSL2(Windows Subsystem for Linux)를 사용했습니다. 이렇게 하면 개발하고 테스트할 때 일관성을 유지하고 생산성도 높일 수 있습니다. 최소사양 WSL 2로 업데이트하려면 Windows 10 또는 Windows11 이상. x64 시스템의 경우: 버전 1903 이상, 빌드 18362.1049 이상. ARM64 시스템의 경우: 버전 2004 이상, 빌드 19041 이상. 구성? 도커, ..
혼자서만 개발을 할 것인가? 개발기획에 앞서 지금은 혼자서 블로그 개발에 참여하고 있지만, 추후 동료들 또는 친구들과 함께 작업할 수 도 있다는 생각을 먼저 했다. 보통 개발단계에서는 로컬에 Database를 두고 진행하는 게 편하지만, 함께 작업을 한다면? 편하다기보다는 개발하면서 기획이 변경될 수도 데이터의 형태가 바뀌는 등 많은 변수가 있을 것으로 보이므로 함께 사용할 Database를 고민해 보던 중 Cloud 서비스를 이용하면 모든 문제를 해결할 수 있다고 판단했다. 하나의 Database로 테스트 데이터 파편화 및 샘플링 작업, 무엇보다 작업하는 로컬 컴퓨터는 부하도 없다. 그래서 무료로 제공하는 Database Cloud 서비스를 찾기로 했다. DB의 종류가 많은데 무엇을 선택해야 할까? 계..
"내 블로그가 어떻게 구글에 노출이 되는 거지?" 로봇이 웹사이트를 크롤링할 때 어떤 부분을 허용하고 어떤 부분을 차단할지를 결정하는 중요한 파일이 있습니다. 그 파일은 바로 "robots.txt"입니다. 이 파일은 웹사이트의 루트 디렉터리에 위치하며, 검색 엔진 로봇에게 특정 지침을 제공합니다. "robots.txt" 파일은 특정 로봇에 대한 지시를 설정하는 데 사용됩니다. 아래처럼 크게 두 가지로 나눠 볼 수 있습니다. "User-agent" 부분에서는 어떤 로봇에게 적용할지를 지정하고, "*"는 모든 로봇을 의미합니다. "Disallow"는 크롤링에서 제외할 디렉터리나 파일을 지정하며, "Allow"는 허용하는 부분을 나타냅니다. 예를 들어, "Disallow: /private/"는 "/privat..
"규칙을 먼저 정하자!" 코드 컨벤션이란? 코드 컨벤션은 일관된 코딩 스타일과 가독성을 유지하기 위한 중요한 규칙들을 정의한 것입니다. 팀 내에서 동일한 코딩 규칙을 공유하면 코드의 일관성이 유지되며, 이로써 코드의 가독성이 향상되고 협업이 효율적으로 진행될 수 있습니다. 주로 들여쓰기, 변수명 표기, 주석 등과 같은 측면에서 일관성을 유지하도록 설계되어 있습니다. 프로젝트를 개별적으로 진행하고 있더라도, 미리 정의된 코드 컨벤션을 도입하는 것은 매우 유용합니다. 현재는 혼자 작업 중이지만 향후 프로젝트 규모가 커지거나 다른 개발자들이 참여할 가능성이 있을 때를 대비한 것입니다. 일관된 규칙과 문서를 통해 다른 개발자들이 프로젝트에 쉽게 참여하고 이해할 수 있도록 함으로써 효율적인 협업이 가능해집니다. ..
"가장 중요하게 생각하는 것.." 블로그를 운영하면서 중요한 부분 중 하나는 구독자들이 게시물을 발견하고 읽을 수 있도록 하는 것입니다. 일반적으로 블로그 방문자는 직접 URL을 입력하는 대신 검색 엔진을 통해 찾아오게 됩니다. 그러므로 블로그가 검색 엔진에 노출되려면 sitemap.xml 또는 robots.txt 파일을 검색 엔진에 제공해야 합니다. React는 주로 클라이언트 측 렌더링(CSR)을 사용하므로 기본적으로 정적인 HTML 문서로 제공되지 않습니다. CSR 웹 애플리케이션은 브라우저에서 실행되기 전에 필요한 파일을 다운로드하기 때문에 검색 엔진이 웹 애플리케이션의 콘텐츠를 탐색하기 어려워집니다. 이로 인해 검색 엔진이 블로그 글을 효과적으로 수집하고 사용자의 검색어에 따라 결과로 노출시키기..
안녕하세요, 데이터베이스에 대해 간단히 소개하고자 합니다. 이번 글에서는 데이터베이스 내에서 중요한 개념인 "식별자(Identifier)"와 "식별자 관계 vs 비식별자 관계"에 대해 알아보겠습니다. 주식별자 (Primary Key)의 특징유최불존 1. 유일성 (Uniqueness) - 주식별자는 각 엔터티 인스턴스를 유일하게 식별하는 특성을 가집니다. - 중복된 값을 가질 수 없으며, 데이터베이스 내에서 고유한 값을 가져야 합니다. 2. 최소성 (Minimality) - 주식별자는 최소한의 속성으로 구성되어야 합니다. - 불필요한 속성을 제외하여 가장 간결한 형태로 식별자를 구성해야 합니다. 3. 불변성 (Immutability) - 주식별자 값은 변하지 않아야 합니다. - 한 번 정해진 주식별자 값은..
관계란? 관계는 데이터베이스 내의 엔터티 간의 연결을 나타내며, 엔터티 사이의 상호작용과 의미를 정의합니다. 엔터티 사이에 어떤 종류의 연관성이 있는지를 나타내며, 데이터의 유용한 정보를 추출하거나 조인과 같은 작업을 수행하는 데 활용됩니다. 관계는 엔터티 사이의 상호작용을 명확하게 표현하여 데이터베이스 설계와 쿼리 작성을 용이하게 합니다. 관계 표기법 관계는 선으로 나타내며, 그 선 위에 관계의 타입을 표시하여 어떤 종류의 관계인지 명시합니다. 다양한 관계 표기법이 있지만, 가장 일반적인 것은 다음과 같습니다: • 일대일 관계 (One-to-One Relationship): 한 엔터티 인스턴스가 다른 엔터티 인스턴스와 매칭되는 경우입니다. • 일대다 관계 (One-to-Many Relationship)..
속성 속성은 데이터베이스에서 엔터티의 특징이나 속성을 나타내는 정보 요소입니다. 간단하게 말하면, 엔터티가 가지는 특성들을 표현하는 것이죠. 예를 들어, “고객” 엔터티라면 “이름”, “나이”, “주소”와 같은 속성들을 가질 수 있습니다. 이러한 속성들은 해당 엔터티의 특징을 설명하고 구분하는데 사용됩니다. 속성값은 이러한 속성들에 실제로 저장되는 값으로, 각각의 속성은 해당 속성값을 가지게 됩니다. 속성과 관련된 중요한 개념들1. 속성(Attribute): 엔터티의 특징이나 속성을 나타내는 데이터 요소입니다. 2. 속성값(Attribute Value): 특정 엔터티의 속성에 저장되는 값입니다. 3. 인스턴스(Instance): 엔터티의 실제 사례를 나타내는 것으로, 속성값들의 집합입니다.“>” 은 2개..
방문해주셔서 감사합니다! 오늘은 SQLD 자격증 시험을 준비하는 분들을 위해 데이터 모델링에 대해 알아보도록 하겠습니다. 모델링의 특징 데이터 모델링은 복잡한 현실 세계를 단순화하여 데이터베이스 구조를 설계하는 과정입니다. 이를 통해 데이터의 구조와 관계를 명확하게 표현하고, 데이터베이스의 효율적인 운용을 지원합니다. 모델링의 세가지 관점 1. 논리적 모델링(Logical Modeling): 현실 세계의 데이터를 개념적으로 표현하는 단계로, 엔터티, 속성, 관계 등을 포함합니다. 2. 물리적 모델링(Physical Modeling): 논리적 모델을 실제 데이터베이스 시스템에 적용할 수 있는 형태로 변환하는 단계로, 테이블, 인덱스, 제약 조건 등을 정의합니다. 3. 개념적 모델링(Conceptual Mo..