TIL
-
[PintOS]9주차 project2-키워드TIL 2024. 11. 11. 20:03
User mode vs Kernel mode프로그램이 부팅되면 하드웨어가 커널 모드에서 시작하고 운영 체제가 로드되면 사용자 모드에서 사용자 애플리케이션을 시작한다. 하드웨어에 대한 보호를 제공하기 위해 커널 모드에서만 실행되는 특권 명령어가 있다. 사용자가 사용자 모드에서 특권 명령어를 실행하려고 하면 명령어를 불법으로 처리하고 OS에 트랩한다.트랩이란 CPU가 프로그램에서 발생한 예외 상황이나 시스템 호출을 처리하기 위해 실행을 잠시 멈추고 커널 모드로 전환하는 소프트웨어 인터럽트이다. 트랩이 발생하면 현재 실행 중인 프로그램의 흐름이 하드웨어에 의해 중단되고, 제어가 운영 체제의 특정 핸들러 함수로 넘어간다.그 예로 System Call, Exception, 등이 있다.User mode프로그램이 운..
-
[크래프톤 정글] day 7 TIL 정수론TIL 2024. 9. 8. 22:37
정수론 (Number Theory)정수론, 또는 수론은 정수의 성질 또는 정수가 등장하는 경우들을 연구하는 학문,문제 그 자체는 중학생도 이해할 수 있을 정도로 쉬운 경우가 많다.참고로 이름은 정수론이지만 주로 소수를 중점으로 다룬다.ex) 페르마의 마지막 정리, 골드바흐 추측, 콜라츠 추측, 리만 가설,…왜 개발자가 정수론을 배워야할까? 컴퓨터에서 정수는 정확한 값을 가질 수 있기 때문이다.컴퓨터의 floating point 시스템은 소수점 이상과 소수점 이하를 합쳐서 표현할 수 있는 '유효 숫자' 자리수에 한계가 정해져 있다.floating point 이란? 부동소수점실수를 컴퓨터상에서 근사하여 표현할 때, 소수점의 위치를 고정하지 않고 그 위치를 나타내는 수를 따로 적는 것으로 유효숫자를 나타내는 ..
-
[크래프톤 정글] day 5 TIL 정렬(정렬, 버블정렬,선택정렬, 삽입정렬)TIL 2024. 9. 7. 00:41
BOJ (백준온라인저지) 작동원리입력과 출력을 번갈아서 해도 된다.근본적으로 입,출력 파일이 분리시간 제한은 각 파일마다 분리좋은 코드란?정답을 내는 코드계산 복잡도가 낮은 코드사람이 알아보기 좋은 코드코드와 변수명이 짧다.정렬 알고리즘데이터를 정렬하는 이유탐색을 위해, 데이터베이스 같은 경우 이론상 무한개의 데이터를 다룬다.즉, 컴퓨터에서 정렬을 수행하는 이유 중 가장 큰 이유는 이진탐색이 가능한 데이터를 만들기 위해서 이다.정렬이 되어 있지 않는 경우순차 탐색 이외에 다른 알고리즘 사용 x정렬이 되어 있는 경우 이진 탐색이라는 강력한 알고리즘을 사용할 수 있다.이진 탐색이란? 최악의 경우에도 (log N의 성능) 32회정렬된 리스트를 같은 크기의 두 부분 리스트로 나누고 필요한 부분에서만 탐색하도록 ..
-
[정터디] TIL 2일차TIL 2024. 8. 27. 17:49
자바스크립트를 배우는 이유유저의 Painpoint를 해결하기 위해서비스를 만든다.서비스를 만들기 위해웹 개발을 배운다.웹 개발하기 위해자바스크립트를 배운다.결론 : 유저의 Painpoint를 해결하기 위해서 JS를 배운다.JS 기초 문법변수 선언 : 3단계를 거쳐 생성되는 변수선언 → 초기화 → 할당변수를 변수 객체에 등록 → 변수를 메모리에 할당하고, undefined로 초기화 → undefined 로 초기화된 변수에 실제로 값을 할당var변수명에 데이터를 재할당, 동일한 변수명으로 재선언 가능하다.// 이 문제의 결과를 다 같이 생각해봐요.var x = 12;var y = 18;var sum = x + y;console.log(sum); // 1번var x = 2;console.log(sum) // ..
-
[정터디] TIL 1일차TIL 2024. 8. 26. 11:45
0. 정터디란?크래프톤 정글 입소 미니 프로젝트 대비 스터디 그룹이다. 1. TIL https://replit.com Replit – Build software fasterReplit is an AI-powered software development & deployment platform for building, sharing, and shipping software fast.replit.com 위 링크는 학습 시 도움을 줄 수 있다. [Setting / index.html] box1 box2 box3 [Setting / style.css].box { width: 100px; height: 100px;}.red { background-color: red;}.yellow { backgrou..
-
[데브코스] 44일차 TILTIL/교육 내용 정리 2024. 5. 22. 19:32
회원가입 API 구현// mariadb.jsconst mariadb = require('mysql2');const connection = mariadb.createConnection({ host: '127.0.0.1', user: 'root', password: 'root', database: 'Bookshop', dateStrings : true});module.exports = connectionmysql2 모듈을 mariadb에 저장하고 연결 통로를 만들어준다. 여기서 host자리에 2가지가 가능하다. 더 자세히 ← 클릭 다른 파일에서도 모듈을 사용할 수 있게 수출.// users.jsconst express = require('express');const router =..
-
[데브코스] 43일차 TILTIL/교육 내용 정리 2024. 5. 21. 15:55
express-generator와 우리 프로젝트 구조비교bin/www : 포트 번호 등과 같은 웹 서버를 구축하는 데 필요한 설정 데이터가 정의되어 있는 파일→ .env 파일과 같이 설정 값을 가지고 에러 처리, 기타 추가 설정을 해주는 파일node_modules : Node.js, Express에 필요한 모듈들이 설치되는 폴더public : images, javascripts, stylesheets 폴더가 포함. → 정적 파일cf. 동적 : 사람마다 다른 데이터, 정적 : 로고, 회사 소개페이지routes : 라우팅 하위에 존재하는 루트, 각 경로를 담당하는 모듈들이 들어있는 폴더= 라우팅 로직을 구현하는 모듈들 : 클라이언트에서 어떤 요청을 주냐에 따라서 어떤 로직을 수행할지 파일별로 분할 해서 관리..
-
[데브코스]42일차 TILTIL/교육 내용 정리 2024. 5. 20. 14:55
더보기좋아요 추가 / 취소추가 or 취소 각각 API를 들고 가려니깐 굳이..? method PUT 겹친다.+ 좋아요를 누르면 발생하는 일-> 회원이 가지고 있는 좋아요 목록에 하나가 추가 되는 것.따라서 어떻게 ?좋아요 추가 PUT -> POST 변경원래 좋아요를 누르면 수정하려고 했지만,테이블을 따로 만들어 user_id가 좋아요 누른 liked_book_id를 POST해서 새롭게 생성. ( 1:N 관계 )데이터베이스는 배열로 담을 수 있다 vs 없다?결론적으로는 없다. 제 1 정규형에 위반 되기 때문이다. 제 1 정규형이란 릴레이션에 속하는 속성의 속성 값이 모두 원자값 만으로 구성 되어야 한다. 학번교수명학과과목번호성적100홍길동컴퓨터공학과C123, C124A, B200이순신전자공학과C123B 위..