일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- BFS
- 백준
- Javascript
- 국비지원
- 그리디
- js
- 컴퓨터공학
- 알고리즘
- 부트캠프
- KAKAO
- 코테
- CSS
- 자바스크립트
- 호이스팅
- 국비지원취업
- 컴퓨터과학
- github
- cpu
- html/css/js
- computerscience
- CS
- DFS
- 너비우선탐색
- git
- 패스트캠퍼스
- LinkSnap
- nodejs
- 코딩테스트
- 야놀자
- 프론트엔드개발자
- Today
- Total
목록전체 글 (326)
My Boundary As Much As I Experienced
고정소수점(Fixed point) 부동소수점(Floating point) 움직이지 않고 고정된 소수점을 말한다. 고정되지 않고 움직이는 소수점을 뜻한다. 고정 소수점의 표현 방식 고정 소수점의 경우 정수부분와 소수부분으로 나누기에 정수부분이 일정 자릿수보다 큰 수는 다룰 수 없게 된다. 32비트의 경우, 정수 부분이 8비트가 넘어가는 수는 다룰 수 없게 되는 것이다. => 그냥 정직하게 이진수로 저장하는 듯...? 부동 소수점의 표현 방식 하지만 부동소수점은 정수, 소수 대신 가수,지수로 다루기에 정수 부분이 8비트가 넘어가는 큰 수도 다룰 수 있다. 예를 들어, 1111101011.101이라는 수를 1.111101011101×2^9로 정규화하여 충분히 32비트 안에 표현할 수 있기 때문이다. 이와 같은..
에러 상황 깃 브랜치를 만들어 작업하던걸 커밋 원격저장소의 똑같은 이름의 브랜치로 push main 레포지토리에 병합하려고 하니 There isn't anything to compare라는 이야기가 나옴. 원인 다른 블로그들과 stack overflow를 뒤져가며 찾아봤는데, 많은 사람들이 이 상황을 'main-master 브랜치 네임 변경 시기'에 겪었나보다. 브랜치 이름 바꾸는 법밖에 안 나와있었다. 나는 이미 main브랜치로 기본 브랜치 이름을 바꿔놓은 상황이고... 하여튼 실질적인 답을 얻지 못하여 Chat-gpt에게 물어봤다. gpt님의 답변: 더보기 "There isn't anything to compare"라는 메시지는 두 가지 경우에 주로 발생합니다: 브랜치 간 비교할 변경사항이 없는 경우..
인터넷의 발전으로 방대한 양의 웹문서가 생기면서, 제각기 일관적이지 않게 생성된 문서 구조는웹문서에서 원하는 정보를 찾기가 점점 힘들어 지게 만드는 원인이었다. 태그의 기능과 마찬가지로 block element이면서 사이트의 구조(레이아웃)을 설계하기 위한 태그.HTML의 구조를 설계하는데 있어 태그에 의미를 부여 함으로써사이트의 구조를 파악하기 용이할 수 있도록 도와주기 위해 만들어진 태그. 시멘틱태그를 사용하면 좋은점(장점)1. SEO 최적화에 유리. (SEO: Search Engine Optimization)검색 엔진이 태그의 목적에 부합하게 설계되어있는 구조의 사이트에서 더욱 빨리 효율적으로 정보를 파악할 수 있어검색 결과의 노출에 유리할 수 있게 해준다. 2. 웹 접근성에 효율적일반적인 브라..
기본적인 Display 속성의 종류 none block inline inline-block - 안 보여요. - 클릭도 안 돼요. - 아예 영역이 사라져요. - 한 블록을 모두 점유하는 요소이다. - 대표적으로는 h, div 등이 있다. - height와 width를 설정할 수 있다. - 구획으로도 많이 쓰인다. - 글자처럼 취급되는 요소이다. - 한 블록에 여러 개가 쌓일 수 있다. - 대표적인 인라인 요소는 p, span 등이 있다. - height와 width를 가질 수 없다. (컨텐츠에 auto로 맞춰짐) - block과 inline의 중간 형태. - 라는데 그렇게 딱히 쓰이는 걸 본 적이 없다. Display: none과 visibility: hidden, Opacity: 0의 차이 display..
컴퓨터 시스템의 성능을 향상시키기 위해 별도로 탑재된 캐시 전용 메모리. 프로그램에서 직접적으로 읽거나 쓸 수 없고 하드웨어의 메모리 관리 시스템이 내부적으로 제어한다. RAM과 CPU를 잇는 중간자적인 메모리 역할을 한다. 캐시메모리의 구성 CPU 하나 당 캐시메모리가 2~3개 정도 사용된다. 듀얼코어의 경우 각 코어 당 하나의 L1 캐시 메모리를 가지고 있으며, 두 코어가 공유하는 L2 캐시메모리를 사용한다. L1 : CPU 내부에 존재 L2 : CPU와 RAM 사이에 존재. 용량이 크고, 크기를 위해 L1 캐시처럼 나누지 않는다. L3 : 보통 메인보드에 존재한다고 함. 여러 코어가 공유하는 캐시. 작동 원리: 데이터 지역성 시간 지역성은 최근 접근한 데이터에 다시 접근하는 경향을 말한다. 가령 f..
특수 목적 레지스터 MAR(메모리 주소 레지스터) : 읽기와 쓰기 연산을 수행할 주기억장치 주소 저장 PC(프로그램 카운터) : 다음에 수행할 명령어 주소 저장 IR(명령어 레지스터) : 현재 실행 중인 명령어 저장 MBR(메모리 버퍼 레지스터) : 주기억장치에서 읽어온 데이터 or 저장할 데이터 임시 저장 AC(누산기) : 연산 결과 임시 저장 앞선 포스팅에서 다룬 레지스터는 이렇게 여러 종류의 특수 목적 레지스터가 있다. 명령어를 처리하는 사이클을 설명하는데에 필수적인 요소들 명령어 세트 CPU가 실행할 명령어의 집합을 말함. 프로그램을 돌릴 때 발생 연산 코드(Operation Code) + 피연산자(Operand)로 되어있음. 연산 코드(Operation Code) 실행할 연산 연산, 제어, 데이..
자료형을 생성하는 2가지 방식 프로토타입을 만들기 전에 예시로 배열을 만드는 데는 2가지 방법을 사용해보자 const fruits = ["Apple", "Banana", "Cherry"]; //배열 리터럴 방식 const fru2 = new Array("Apple", "Banana", "Cherry"); //사실 리터럴로 입력해도 컴퓨터는 생성자 함수 방식으로 생성한다. 하나는 배열 리터럴 방식으로, []을 이용해서 직관적으로 자신이 넣고싶은 데이터들을 넣을 수 있다. 나머지 하나는 생성자 함수를 사용하는 방법이다. new 연산자와 맨 앞글자가 대문자인(파스칼 표기법) 생성자 함수를 사용하는 방식이다. Array뿐만 아니라, Object도 이와 같이 생성할 수 있다. 생성자 함수(틀)에서 내가 원하는 객..
this라는 이 오묘한 녀석... 문맥에 따라 달라지는 한국어같은 녀석이다. 왜 자바스크립트는 이렇게 맥락적인 문법을 만들었을까? 쓰임새가 딱 한 가지로 고정되어 있는 문법 여러 개가 있는게 더 낫지 않을까. 면접을 위해 한 마디로 요약하자면: This는 쓰이는 위치에 따라 다르게 정의되지만, 주로 쓰이는 방식은 함수 객체나 클래스의 패러미터로 받아 그 값을 지정할 때 많이 씁니다. 기본적으로 메소드 안에 쓰일 땐 호출한 대상에게 바인딩되고 일반 함수에서 쓰일 땐 그 함수의 한 단계 상위 스코프에 바인딩 됩니다. 화살표 함수로 쓰일 땐 자신이 선언된 함수의 유효 범위에 정의됩니다. This의 쓰임새 일반 함수에서 쓰일 때: 함수의 주인에게 바인딩 메소드에서 쓰일 때: 호출 위치에서 정의(this 포함된 ..
https://www.acmicpc.net/problem/1012 문제 유형: DFS/BFS 문제 요약: 모든 배추를 수호하려면 지렁이를 몇 마리 풀어야 하나? (=좌표 상에 이어져있는 배추 그룹이 몇 개가 있는가?) 입출력 예 (입력 / 출력): 문제 풀이 전략: 1. 배추밭을 맵핑한다. 2. 배추밭에 배추가 있는 좌표를 기록한다. 3. dfs선회로 이어져 있는 배추를 모두 방문처리한다. 4. 이어져 있는 배추 그룹 당 한 번 씩 '카운터 += 1'을 해준다. 내 풀이: et fs = require("fs"); let input = fs.readFileSync("input.txt").toString().trim().split("\n"); const tcNum = input[0]; // 테스트 넘버 co..
1. 화살표 함수란? 전통적인 함수 선언 방식의 간편한 대안입니다. - MDN // 기존 익명 함수를 만드는 방법 function (a, b) { return a + b; } // 기존 기명 함수를 만드는 방법 function sum(a,b) { return a + b } 전통적인 함수 선언 방식은 위처럼 생겼고, 간단한 기능 하나만 만들어도 3줄은 잡는다. // 화살표 함수로 익명 함수 만드는 법 (a, b) => a + b // 화살표 함수로 기명 함수 만드는 법 const arrowSum = (a,b) => a + b 화살표 함수를 만들면 짧은 코드로 함수를 쉽게 만들 수 있다. 한 줄 처리인 경우 중괄호나 return을 생략 가능하다. // 한 행으로 처리가 안 될 시 중괄호 스코프를 사용할 수 ..