전체 글
[ Git, GitHub ] Windows Git 설치 및 GitHub 사용자 등록
ꕥ분산 버전 관리 시스템인 Git을 설치하고 내 깃허브 계정과 연동해 보자!ꕥ Git 설치https://git-scm.com/downloads/win Git - Downloading PackageDownload for Windows Click here to download the latest (2.47.0(2)) 64-bit version of Git for Windows. This is the most recent maintained build. It was released on 2024-10-22. Other Git for Windows downloads Standalone Installer 32-bit Git for Windows Setupgit-scm.com본인 운영체제 버전에 맞게 공식 배포판 ..
[ Git ] Git을 사용하는 이유/LVCS CVCS DVCS 차이
ꕥ협업 개발자로서 첫 발걸음은 깃허브!깃허브는 왜 사용하는 걸까?ꕥ Git을 사용하기 전에는 LVCS와 CVCS를 사용했다. 1. LVCS : 로컬 버전 관리 시스템로컬 데이터베이스에 파일의 변경 정보를 저장하여 버전을 관리한다. 파일을 특정 시점으로 되돌릴 수 있지만, 로컬 관리이기 때문에 다른 개발자와 협업할 때는 버전 관리가 쉽지 않다는 단점이 있다. 2. CVCS : 중앙집중식 버전 관리 시스템중앙 서버에서 코드를 관리하면 되므로 누가 어떤 수정을 했는지 알 수 있고 로컬보다 버전 관리가 용이하다. 하지만 중앙 서버에 문제가 발생할 경우, 업무 진행 및 복원이 어렵다는 단점이 있다. 3. DVCS : 분산 버전 관리 시스템이름에서 알 수 있다시피 파일들이 원격 저장소와 깃 사용자들의 각 로컬 컴퓨..
[ Programmers ] Lv.1 12903 가운데 글자 가져오기 문제 풀이
문제https://school.programmers.co.kr/learn/courses/30/lessons/12903 생각단어의 가운데 글자를 가져오기 위해서 입력받은 배열의 길이를 반으로 나눈 인덱스를 구하도록 했다.길이가 홀수거나 짝수일 때를 기준으로 배열에서 정확한 중앙 값을 찾도록 했다. 제출 코드def solution(s): num = int(len(s)) # 홀수일 때 if num % 2 == 1: return s[num // 2] # 짝수일 때 else: return s[num // 2 - 1:num // 2 + 1]
[ Express ] Node.js와 MySQL Database 연동/MySQL Preferred Authentication Plugin 오류 해결
Express에서 MySQL에 접속해 보자.const express = require('express')const app = express()const mysql = require('mysql');const connection = mysql.createConnection({ host: '[ 공인 IP 또는 localhost ]', // 데이터베이스 주소 port: '3306', // 데이터베이스 포트 user: 'root', // 로그인 계정 password: 'password', // 비밀번호 database: 'database' // 액세스할 데이터베이스});connection.connect();connection.query('SELECT 1 + 1 AS ..
[ KJ ] Week08
ꕥ 8~9주차 PintOS User Programs 프로젝트를 진행했습니다~ꕥ Project2 : User Programs유저 모드(User Mode) : 일반적인 응용 프로그램이 실행되는 환경 - 제한된 메모리 공간과 시스템 자원에만 접근 가능 - 운영 체제의 핵심 부분에 직접 접근 불가 - 시스템의 안정성과 보안을 유지 - 시스템 자원이나 서비스가 필요할 경우, 시스템 호출(System Call)을 통해 커널 모드로 전환하여 요청을 처리커널 모드(Kernel Mode) : 운영 체제의 핵심 부분과 하드웨어를 직접 제어하는 코드가 실행되는 환경 - 시스템의 메모리 및 하드웨어를 직접 제어 가능 - 오류가 발생할 경우 시스템의 안정성에 큰 영향 - 메모리, 프로세스, 파일 시스템..
[ KJ ] Week07
ꕥ7주차 PintOS 프로젝트 중 Threads부터 시작했습니다~ꕥ Project1 : Threads멀티스레딩 : 하나의 프로세스 내에서 여러 스레드가 동시에 실행되는 기술- 스레드를 어떻게 활용해서 효율적으로 사용할 건지? 1. Alarm Clock문제점 : 현재 timer_sleep 함수는 목표 tick 시간 동안 while 루프에서 빠져나오지 못해, CPU가 다른 작업을 할 수 없게 된다.// 프로그램의 실행을 대략적으로 ticks 타이머 틱 동안 정지void timer_sleep(int64_t ticks_much){ int64_t ticks_now = timer_ticks(); ASSERT(intr_get_level() == INTR_ON); // 양보를 얼마나 했는가 while (time..
[ KJ ] Week06
ꕥ6주차입니다!오랜만에 네트워크를 보니 재밌네요 ㅎㅎ예상치 못하게 만나니까 반가운 그런 친구 느낌..?ꕥ OSI 7 layer 물리 계층 : 전기적 특성. 기능적 특성. 절차적 특성. 기계적 특성.데이터 링크 계층 : 물리 주소 할당. (MAC, DLCI ···)네트워크 계층 : 논리 주소 할당. (IP, IPX ···) 전송 계층 : 패킷 분리. 재전송. 에러 검출.세션 계층 : 앱 연결 시작·유지·해제표현 계층 : 데이터 형식 정의응용 계층 : 통신 S/WPDU : 각 계층의 데이터를 전송 단위 1. L1 : Bit 2. L2 : Frame - Packet이 운반 장치에 Encapsulation 돼서 배송 3. L3 : Packet - Segment를 Internet에서 유통 가능한..
[ KJ ] Week05
ꕥ5주차에는 Memory를 조금 더 이해하고, malloc의 개념 확인 및 구현을 진행했습니다~그리고 제어흐름에 대해 정리했어요!ꕥ 예외적인 제어 흐름(ECF) : 현재 발생하던 프로그램에서 제어 흐름에 갑작스러운 변화가 일어났을 경우예외를 통해서 프로세스가 사용자 모드에서 커널로 유일하게 진입하는 것- 응용 프로그램 실행 중에 예외적인 상태 변화가 일어나는 것Ex) 가상 메모리 페이지 오류, 산술 오버플로우 발생, 인스트럭션이 Divide by zero 시도, 응용 프로그램과 무관한 시스템 타이머 정지, I/O 요청 완료- 운영체제가 임출력, 프로세스, 가상메모리를 구현하기 위해 사용하는 기본 매커니즘- 응용 프로그램은 트랩(trap) 또는 시스템콜(system call)을 보내 운영체제로부터 서비스..