분류 전체보기 52

TIL 240919 (GitHub) 여러명이 작업할때

1.Git에 변경사항 올리기터미널에git status 로 로컬 저장소에 어떤 파일에 있는 어떤 코드가 변경되었는지 확인한다. git add .  로 모든 변경 파일을 추가한다. git commit -m "메시지" 로  커밋을 하는데 "메시지" 에 변경 코드를 설명한다. git push origin 내브랜치이름 로 내 브랜치를 원격 저장소에 푸시한다. 그리고 GitHub에가서 Pull Request로 팀원들의 리뷰와 피드백을 받고 이상이 없으면 Merge를 해 메인 브랜치에 변경사항을 추가한다. 메인 브랜치로 이동하여 Fetch origin으로 최신 코드들을 가져온다. 2. Git에 변경사항 내 브랜치로 가져오기GitHub Desktop에서 Fetch origin을 하여 변경사항을 가져온다. (Main B..

TIL 2024.09.20

TIL 240912 (GitHub) 개인 혼자 사용할때

GitHub를 쓸 때마다 까먹을것 같아서 명령어를 찾아봐서 정리를 해 보았다. 1. 터미널에서 SSH Key 발급ssh-keygen -t rsa -b 4096 -C "본인 이메일"  후에 나올때 까지 엔터  (기본값으로 설정하기 위함) 2. 공개키 등록하기터미널에 cat ~/.ssh/id_rsa.pub 입력출력 후 등록하는 곳에 가서 입력(프로필 - Settings - SSH and GPG keys - New SSH Key) 3. 로컬 저장소에 있는 코드 Github 원격 저장소에 올리기 (처음 올릴 때)// 로컬 저장소에 Git을 초기화합니다. git init // 로컬 저장소에 Github의 원격 저장소를 연결합니다. git remote add origin  // 변경된 모든 파일을 등록합니다. gi..

TIL 2024.09.12

TIL 240911 (데이터베이스 SQL)

SQL SQL은 데이터베이스에서 데이터를 관리하고 조작하는 표준 프로그래밍 언어이다. 데이터베이스에는 4가지의 대표 SQL 종류가 있다. (DDL, DML, DCL, TCL) DDL(데이터 정의 언어) 명령어는 CREATE(생성), ALTER(변경), DROP(삭제) 하는데 사용 DML(데이터 조작 언어) 명령어는 SELECT(조회), INSERT(추가), UPDATE(수정), DELETE(삭제) 하는데 사용  DCL(데이터 제어 언어) 명령어는 GRANT(권한 부여), REVOKE(권한 취소) 하는데 사용   TCL(트랜잭션 제어 언어) 명령어는 COMMIT(저장), ROLLBACK(이전 상태로 돌리기),                                                       ..

TIL 2024.09.11

TIL 240909 (API와 REST API)

API (Application programming Interface)애플리케이션 간의 상호작용을 관리하는 인터페이스다.사용자와 기기를 연결하기 위한 중간 역할을 한다.  API는 보이지 않는 소프트웨어 인터페이스이다.특정 기능을 호출하거나 데이터를 요청하는방법인데 식당으로보면 손님과 요리사의 사이인 점원이 인터페이스다.손님이 점원에게 요청을 하고 점원이 그 요청을 요리사에게 전달해 그 답을 요리사는 점원에게 주고 점원이 손님에게 전달한다. 컴퓨터로 보면 클라이언트와 서버 사이에 API가 가운데서 상호작용을 도와주는 것 이다.  REST API (Representational State Transfer)HTTP 프로토콜을 통해 API를 설계하기 위한 아키텍처 스타일이다.뛰어난 유연성이 장점이다.  클라이..

TIL 2024.09.09

TIL 240906 (OSI 전송 계층)

1. TCP와 UDP의 개념TCP데이터 전송을 안전하게 하는 프로토콜이다.가상 회선 패킷 교환 방식으로 데이터의 순서가 지켜진다.데이터는 세그먼트로 나뉘어 전송되고 수신 측에서 재조립된다.연결 지향적이고 3 - way handshake 과정을 거친다. 헤더가 20 ~ 60바이트로 가변적이다.Source Port Number출발지 포트 번호이며 송신 측 포트를 나타냄Destination Port Number목적지 포트 번호이며 수신 측 포트를 나타냄Sequence Number송신된 데이터의 순서 번호이며 데이터의 순서를 추적하는 데 사용됨Acknowledgement Number수신자가 기대하는 데이터의 순서를 확인할 수 있음Data OffsetTCP 헤더의 길이로 4비트 크기로 최대 15를 나타낼수 있음 ..

TIL 2024.09.06

TIL 240905 (OSI 네트워크 계층)

1. 네트워크 계층의 개념다른 네트워크와 통신하기 위한 경로 설정을 위해 라우터를 통한 라우팅을 하고 패킷을 전송하는 담당을한다. 2. 라우터서로 다른 네트워크를 연결해 주는 장치이고 현 네트워크에서 다른 네트워크로 패킷을 전송하는 역할을 한다.라우터는 데이터가 목적지로 갈 때 가장 좋을 경로를 알려주는 역할도 한다. 하지만 데이터를 받는 상대의 위치를 모르면 목적지까지의 경로를 알려주지 않는다. 3. IP의 개념데이터 패킷을 네트워크를 통해 전송하는데 필요한 규칙과 절차를 정하는 프로토콜이다.데이터가 어떻게 전송되는지를 결정을 하는 역할도 한다.IPv4(32비트)와 IPv6(128비트)의 두가지 버전이 있으며 각각 데이터 전송 방식과 주소 체계가 다르다. 네트워크 계층에서는 캡슐화할 때 다음과 같은 순..

TIL 2024.09.05

OSI 데이터링크 계층

데이터링크 계층데이터링크 계층은 OSI 7 계층의 2번째 계층으로 장치간 신호를 전달하는 물리 계층을 이용해 네트워크 간의 데이터를 전송할 수 있게 도와준다. 이 사진에서 MAC은 데이터를 전송하기 위해 있는 컴퓨터의 물리적 주소다.여러 대의 컴퓨터를 효율적으로 연결하여 데이터를 통신할 수 있게 한다.물리 계층에는 없는 기능이 있다.주소 할당 : 물리 계층에서 받은 신호들이 네트워크 상의 장치에 안전하게 올 수 있게 한다. (MAC 주소 이용)오류 감지: 신호가 전달되는 동안 오류를 감지하고 감지가 되면 데이터를 폐기한다.데이터링크의 세부 계층 (2계층)데이터링크 계층은 MAC과 LLC 2개의 부 계층으로 나뉜다.LLC(논리적인 제어)는 데이터 패킷의 오류 검출 및 흐름제어 역할을 하고 여러 프로토콜을 ..

TIL 240903 (Node.js)

Node.jsChrome V8 JavaScript 엔진을 기반으로 한 서버 사이드 런타임 환경이다.비동기 I/O 모델을 사용하여 높은 처리량과 낮은 지연 시간을 제공한다. 1. 특징 및 장점이벤트 기반비동기 작업을 처리하는 이벤트 루프를 사용해 효율적인 처리가 가능하다.모듈 시스템CommonJS와 ESM 두가지 모듈 시스템을 통해 유연한 코드 작성이 가능하다. 높은 성능V8 엔진을 통해 자바스크립트를 빠르게 실행할 수 있다.단일 언어 사용클라이언트와 서버에 모두 자바스크립트가 사용이 가능해 쉽게 작업이 가능하다.대규모 커뮤니티활발한 커뮤니티와 많은 패키지를 통해 다양한 라이브러리와 도구 사용이 가능하다. 2. Node.js의 사용 사례웹서버, 실시간 애플리케이션, 마이크로서비스 아키텍처 등 많은 곳에서 ..

TIL 2024.09.03

OSI 물리 계층

물리계층의 기본 개념물리 계층은 OSI 모델의 1번째 계층이다.데이터 통신의 가장 기본적인 계층으로 데이터 전송을 위한 물리적 매체와 신호를 다룬다.물리계층은 전기적, 기계적, 절차적 특성을 정의 하여 데이터가 전송될 수 있도록 한다.상위 계층들이 원할하게 작동할 수 있도록 지원한다.이 계층이 잘 작동하지 않으면 데이터 전송이 불가능하므로 네트워크의 안전성과 선능에 큰 영향을 미친다.물리계층의 주요 구성 요소전송 매체 : 데이터가 전송되는 매체인데 여기서 유선(동축 케이블, 광섬유)과 무선(Wi-Fi, 블루투스) 매체가 있습니다.신호 : 데이터를 전기적 신호로 변환하여 전송하는데, 이는 아날로그 또는 디지털 형태일 수 있고 전송 속도와 대역폭에 영향을 미친다. 물리계층의 역할비트 전송 : 데이터를 비트 ..

TIL 240831 (SQL 기초다지기2)

1. 특정 문자를 다른 문자로 바꾸기 (replace) replace(컬럼, 현재 값, 변경 값) select 컬럼 "현 문자",            replace(컬럼, 현재 문자, 변경문자) "새 컬럼명" from 테이블where restaurant_name like '%문자%'         //  %바꾸고 싶은 문자% 2. 원하는 문자만 남기기 (substr)substr(컬럼, 시작 위치, 글자 수)select 컬럼,            substr(컬럼, 1, 2) " 새 컬럼명"    // 이건 0부터 시작 xfrom 테이블where 컬럼 like '%문자%'    // %바꾸고 싶은 문자%   3. 여러개의 컬럼 문자 합치기 (concat)concat(원하는 값1, 원하는 값 2, 원하는 값..

TIL 2024.08.31