0. 찾아보게 된 계기 vscode 같은 에디터를 사용하다보면 아래 이미지와 같이 붉은 밑줄등으로 내 코드의 문법상 오류나 도달할 수 없는 값 등을 알려주는 경우가 있다. 컴파일러든 인터프리터든 난 코드를 실행시키거나 컴파일한 적이 없는데, 어떻게 가능한 건지 궁금했었다. 에디터는 어떤 원리로 내 코드를 감시하는 거지? 실시간으로 나 몰래 실행시키나? 찾아보니 린터(linter) 다른 말로는 린트(lint) 라는 도구가 내가 작성한 코드를 정해진 규칙에 맞게 검사해주고 있다는 것을 알았다. 사실 위 경우는 특별한 린터를 설치했다기보다는 vscode가 제공하는 기본 문법검사기가 찾아준 것이지만 위 검사기 또한 간단한 린터로 볼 수 있다고 한다. 1. 린터란? 다양한 정의들이 많지만 결국 요약하면 "코드를 ..
ALL
1. 연립하는 이유 식 하나에 미지수가 2개 있으면, 미지 수의 경우의 수에 따라 해의 개수가 무한으로 발산하므로 (수의 조건 제한 없다는 전제 하에) 미지수를 소거하여 일원 일차방정식으로 만들어 해를 찾는 방정식 풀이의 하나이다. 개념이 어려운 부분은 딱히 없고, 굳이 따로 빼서 정리할 부분도 없는 것 같아서 재미있게 풀었던 문제 2개만 리뷰한다. 2 . 재밌게 풀었던 두 문제 문제(1) : \(3x + 5y = 90 ~을 ~만족하는~ 자연수~ x,~y의 ~ 값을~구하여라.\) \(3x = 90 - 5y \) \(3x = 5(18 - y) \) 여기서 x는 5의 배수임을 알 수 있으므로 \(x = 5k \)라 두면 \(3*5k = 5(18-y) \) \(3k = (18-y) \) \(y = 18 - 3..
1. 정의 \( 2x + 4x = 6x \) 처럼 어떤 x값에도 항상 성립하는 등식은 항등식 \(2x + 4x = 6\) 처럼 x = 1 같은 특정한 값에만 성립하는 등식을 방정식이라고 한다. 식에서 \(ax + by = cz \) 같이 여러개의 문자가 섞여 있을 경우도 있으므로 특정 "문자"에 관한 방정식 이라는 표현을 사용하여 미지수를 정한다. ex) x에 관한 방정식, a에 관한 방정식 또한 미지수의 차수에 따라 방정식을 n차 방정식이라 부른다. 방정식의 경우 특정한 값을 "근", 또는 "해"라고 부르며 이 값을 찾는 것을 "방정식을 푼다." 라고 한다. 2. 해를 찾는 방법 대학 시절 미분적분학 때 기억이 잘 안나는데 고등학교 수준에서는 해를 찾는 방법을 1) 인수분해를 이용해서 찾기 2) 근의 ..
1. 허수단위 i 실수 범위에서는 제곱하여 음수를 구할 수 없다. 그래서 수의 확장이 필요한데, 그걸 복소수라 하며 복소수 중 허수의 단위는 \( i \)다. \( i^2 = -1\) 로 정의한다. 2. 켤레복소수 복소수 \( z= a +bi\) 가 있다고 했을 때, 허수부분의 부호만 반대인 복소수를 의미한다. 복소수 : \( z= a +bi\) 켤레복소수 : \( z= a -bi\) 3. 제곱근 계산시 주의할 점 임의의 두 실수 a,b가 양수일 때 \(\sqrt{a}>0, ~\sqrt{b}>0 \) 면 \(\sqrt{a}\sqrt{b} = \sqrt{ab}, ~~\frac{\sqrt{a}}{\sqrt{b}} = \sqrt{\frac{a}{b}}\) 이 성립한다. 그런데 복소수로 수의 범위를 확장하면 루..
CS특강 #2 초기 컴퓨팅 & 전자 컴퓨팅 20세기 중반 ~ Harvard Mark I - © 출처 Wikipedia 인구의 증가 ☞ 세계 무역 및 운송 네트워크 연결 ☞ 기술 및 과학적 노력의 지적 수준이 더 높은 안목을 가짐 그래서 데이터의 폭발적인 증가 ☞ 세상이 복잡해짐 ☞ 자동화와 더 뛰어난 계산의 필요성이 증가 = 컴퓨터의 발전 EX) 기계식 전기 컴퓨터 Haravad Mark I (전쟁용) 계전기 ☞ 진공관 ☞ 트랜지스터 © 출처 CrashCourse - Computer Sicence 계전기 © 출처 CrashCourse - Computer Sicence 1. 전류가 코일에 흐를 때 전자기장이 만들어 짐 . 2. 구부러진 금속 부분이 닫히며 회로가 완성됨. 3. 전기가 통함(수도꼭지와..
최근 c++에서 연산자를 매개변수에 따라서 오버로딩(operator overloading)을 할 수 있다는 것을 배웠다. #include class Vector2D { int x, y; public: Vector2D(int x, int y) : x(x), y(y) {} int get_x(){ return x; } int get_y(){ return y; } }; Vector2D operator+(Vector2D& a, Vector2D& b){ int x1 =0, x2 =0; Vector2D result(x1,x2); // 여기서 내가 새로 만든 객체는 0,0만 할당된다. 실수 1 x1 = a.get_x() + b.get_x(); x2 = a.get_y() + b.get_y(); return result;..