목록전체 글 (389)
만족
요번에 산 책의 페이지 수가 1200페이지로 들고다니기 힘들 정도의 무게를 자랑한다. 그래서 아이패드에 넣어 보려고 북 스캐닝을 진행했는데, 스캔 상태가 좋지가 않다... 저렇게 페이지 전체가 심하게 기울어져있는 경우가 많았다. 이미 비싸게 돈 주고 책 절단+ 스캔+ 재제본까지 진행한 터라, 여기에서 OCR을 진행해도 큰 의미가 없다고 생각해 그냥 집으로 왔다. (OCR이 페이지당 추가비용이 발생하기도 했고...) 스캔 향상을 통해 기울음 보정하기 Adobe Acrobat DC나 기타 PDF 보정 툴을 통해 기울음을 보정할 수 있다. 왼쪽이 기울음 보정을 한 것이고, 오른쪽이 원본 스캔 파일이다. 확실히 오른쪽은 페이지가 휘어있는 모습을 확인할 수 있다. 그러나 기울음 보정을 하면 화질이 말 그대로 갈려..
올해 초부터 급격한 가격 상승이 있었던 GPU는 아직까지도 최고가 갱신을 계속하고 있으며 떨어질 기미가 보이지 않고 있다. 이 포스트가 GPU가 왜 이렇게 비싸졌는지, 언제쯤 살 수 있을지 전혀 모르는 사람들에게 도움이 될 것이다. 현재 가격은 얼마이고, 얼마나 비싸진 것인가? 2021-11-14 기준 최저가/평균가 가격표이다. 일반적인 사용자에게 맞춰진 3060과 3060ti를 보면 92만, 111만원에 가격이 형성되어 있다. 2팬 3060의 권장소비자가(MSRP)는 329달러로, 원화 환산 시 약 38만원이고 부가세와 관세를 합친다고 해도 45만원 내외가 정상 가격이다. 여기에서 유통사가 먹는 가격이 진짜 잘 쳐줘서 20%라고 해도 55만원 정도가 적절한 가격일 것이다. 그러나 현재 3060의 최저가..
node index.js 이런 형태로 js 파일을 실행시킨다. 그런데, 특정 매개변수를 입력받아야만 할 때가 있다. node index.js --slow 이런 식으로 실행 파일에 매개변수를 넘겨줘서 코드 수정 없이 다른 동작을 하게 만들 수 있다. 그렇다면 입력한 매개변수를 js에서 어떻게 받을 수 있을까? console.log(process.argv) process.argv에 매개변수가 들어있다. 그러나 node index.js --slow 했을 때 process.argv[0]에 --slow가 들어가지는 않는다. [ "...../node", "...../index.js", "--slow" ] 이런 식으로 node의 경로, index.js의 경로, 그 다음부터 매개변수가 들어간다. 따라서 매개변수만 들어..
Crontab Crontab은 특정 시간에 특정 작업을 트리거할수 있게 해 주는 명령어이다. https://jdm.kr/blog/2
Attempting to renew cert (secret.kr) from /etc/letsencrypt/renewal/secret.kr.conf produced an unexpected error: The manual plugin is not working; there may be problems with your existing configuration. The error was: PluginError('An authentication script must be provided with --manual-auth-hook when using the manual plugin non-interactively.',). Skipping. sudo certbot renew 인증서 유효 기간이 30일도 남지 않아..
가령 새로운 문의사항이 있다거나, 서버의 컴퓨팅 자원 소모량이 갑자기 늘어날 때 항상 모니터링을 하고 있는 것이 아니기 때문에 즉시 인지하기 어렵다. 그렇다고 별도의 알림 서버를 구축하자니 시간과 비용이 만만치 않은데, 텔레그램에서 지원하는 봇 API 를 사용하면 간단히 구현할 수 있다. https://telegram.org/ 텔레그램 – 새로운 메시징의 시대 빠르고. 안전하며. 강력함 telegram.org 먼저 텔레그램 계정을 생성하고, 앱을 다운로드받는다. Bot 생성 BotFather를 검색하고 우측에 파란색 체크 아이콘이 이있는 봇(맨 위)을 선택한다. start또는 시작 버튼을 누르면 다음과 같은 채팅이 표시된다. /newbot을 입력하면 두 종류의 봇 이름을 결정하게 된다. 첫 번째 봇 이름..
갑자기 예고도 없이 서버가 다운되었다. 물론 서버 전원이 나간다거나 컴퓨팅 자원이 모두 소모된것은 아니고, 아파치 프로세스만 맛탱이가 간 상태였다. 보통 이런식으로 과부하가 걸리면 속도가 느려진다던가, 서버 자체가 다운되는 경우가 많았는데 이번에는 조금 달랐다. error.log 아파치에서 오류 발생 시 에러 로그를 기록하도록 설정해두었다. 각종 접근해서는 안되고, 애초에 존재하지도 않는 파일에 접근을 시도한 흔적이 잔뜩 남아 있었다. 정상적인 서비스 사용자들은 저 경로에 접근할 일이 전혀 없으며, /var/www/html에 직접 접근하는 방법은 ip를 이용해 접근할 때만 가능하므로, 명백한 공격 행위임을 알 수 있다. 또한 동일한 아이피가 아닌 여러 아이피로 번걸아가며 찔러보고 있다. 아이피 위치를 조..
Performance 만들어진 회귀모델이 얼마나 예측을 잘 해낼 수 있는지를 측정할 수 있는 몇 가지 지표가 있다. Performance: R square (R^2) R^2= 1- Sigma(y- Predict(y))^2 / Sigma(y- E(y))^2 = 1- Sigma(실제값- 예측값)^2/Sigma(실제값- 평균값)^2 (단 y: 실제값, Predict(y): 예측값, E(y): y의 실제 평균값) R^2는 위와 같이 구할 수 있으며, 값은 [0,1]사이값으로 나타난다. 값이 1에 가까울 수록 성능이 좋다는 것을 의미하며, 즉 예측 데이터가 실제 데이터에 얼마나 가깝게 예측되는지를 나타낸다. (Higher is better) Performance: Standard Error of Estimate ..
Deterministic Model (결정적 모델) 변수 간 관계가 명확하여 무작위성이 주는 영향이 없거나 미미한 경우 BMI지수를 계산할 때 BMI= 몸무게/(키^2) 로 계산한다. =>몸무게와 키 정보가 주어지면 정확하게 BMI값을 계산해낼 수 있다. =>무작위성이 없다 Probablistic Model (확률론적 모델) 무작위성이 존재하며 확률론적 모델은 결정적 모델과 오차(Random Error)가 합쳐져 구성된다. 수축기혈압을 계산할 때의 공식은 다음과 같다. SBP= 6* age+ ε (ε은 오차) => 수축기혈압은 나이와 연관이 있지만, 동일한 나이를 가진 사람 전부가 동일한 수축기혈압을 가지지는 않는다 => 20살인 어떤 사람은 SBP가 123일수도, 117일수도 있다. 오차 ε는 명시된 ..
머신러닝(ML; Machine Learning)이란? 경험을 통해 자동으로 개선(improve)시키는 컴퓨터 알고리즘으로, AI의 부분집합이다. ML: Types Unsupervised learning 라벨링되지 않은 데이터들을 가지고 스스로 알고리즘을 학습한다. (ex: 클러스터링 등) Supervised learning 라벨링된 데이터들을 가지고 알고리즘을 마든다. (ex: regression, classification 등) Supervised learning: Steps Supervised learning은 training step, testing step 두 단계로 나누어진다. Training step 트레이닝 데이터로부터 모델(알고리즘)을 만들어내는 단계 => y= f(x)에서 f를 만들어내는..
Similarity(유사도) 두 데이터가 얼마나 유사한지를 수치적으로 나타낸다. [0,1] 사이의 값으로 나타나며, 두 데이터가 높을수록 1에 가까운 수로 표현된다. Dissimilarity(비유사도) 두 데이터가 얼마나 다른지를 수치적으로 나타낸다 0이상의 값으로 나타나며 완전히 같을 경우 0으로 표현된다. (상한값은 데이터에 따라 다르다) Similarity vs Dissimilarity: Data type 데이터 타입에 따라 유사도와 비유사도를 표현하는 방법이 다르다. p, q를 각 데이터의 attribute라고 하자. Dissimilarity Similarity Nominal (순서가 없는 데이터; 직업) 같으면 0, 다르면 1 같으면 1, 다르면 0 Ordinal (순서가 있는 데이터; 옷 사이..
Covariance(공분산) 공분산은 두 변수가 변화할 때 어떤 연관성이 있는지를 나타내는 척도이다. => 한 변수가 변했을 때 다른 변수의 변화량에 얼마나 영향을 주는가? (ex: BMI지수와 성인병의 발병률은 어떤 연관성이 있는가?) 분산V= Sigma( (X-E)^2 ) / N= E((X- E(X))^2) 공분산Cov= E( (X-E(X) * (Y-E(Y)) ) 공분산은 각 변수가 각 평균에서 떨어진 만큼의 거리의 평균을 의미한다. 공분산 값(양수/음수)에 따라 어떤 연관성이 있는지를 알아낼 수 있다. 위와 같이 cov가 양수이면 X가 증가할 때 Y도 증가하고, cov가 음수이면 X가 증가할 때 Y는 감소하는 양상을 띈다. 그러나 cov의 절대값이 큰 것이 연관관계가 크다는 것을 의미하지는 않는다는..
Summary Statistics 데이터의 속성을 나타내는 숫자값이다. (평균, 표준편차 분산 등) Summary Statistics: Mean(평균) 데이터 값들의 합을 데이터 갯수로 나눈 값이다. 가장 흔하게 사용되지만 이상값에 민감하게 반응({0,0,0,1000}의 평균값은 250이다)하여 median(중간값), trimmed mean(이상값을 제외한 평균값)과 함께 사용된다. Summary Statistics: Median(중앙값) 정렬된 데이터셋의 중앙에 위치하는 값이다. 데이터의 갯수가 짝수개일 때는 중앙에 있는 값들을 더한 후 2로 나눈 값을 중앙값으로 사용한다. Symmetric Data vs Skewed Data 중앙값(Median), 최빈값(Mode), 평균값(Mean)이 모여있으면 S..
데이터란 무엇인가? 데이터셋은 데이터 오브젝트로 이루어진다. 데이터 오브젝트는 속성(attribute)에 의해 설명된다. 속성은 variable, field, characteristic dimensions, feature 등으로도 불린다. 상품명 상품가격 0 사과 1000 1 바나나 2000 위 표에서 상품명과 상품가격이 attribute가 되고, 각 열(row; index)가 object가 된다. Attribute 데이터 필드로써 데이터 오브젝트에서 문자나 특성으로 대표된다. Attr에는 여러 타입이 존재한다. Nominal Type 카테고리, 상태 등과 같은 순서가 없는 분류 타입을 말한다. 머리색, 직업 등이 Nominal type에 해당한다. Binary Type 2개의 Nominal attrib..
Numpy: ndarray numpy에서 제공하는 동일 타입의 다차원 배열 import numpy as np #길이가 15인 1차원 행렬 a= np.array(15) #3*5 2차원 배열로 재배열 a= a.reshape(3,5) #(행 갯수, 열 갯수) 반환 #(3,5) a.shape #차원 수 #3*5는 2차원 배열 a.ndim #각 열의 타입 a.dtype.name #각 열의 바이트 크기 a.itemsize #데이터 갯수; 행 갯수*열 갯수 #3*5= 15 a.size ndarray의 수학적 연산 #list를 ndarray로 변환 A= np.array([20,30,40,50]) #[0,1,2,3] B= np.arange(4) #행렬의 덧셈/뺄셈연산은 행/열 크기가 동일해야 한다 C= A- B #행렬의..
건국대학교 교양과목 생활경제증권투자 중간고사 시험범위를 정리한 텍스트입니다. 기업과 증권시장, 금융시장, 증권시장과 투자수단 내용이 포함되어 있습니다. 오개념, 오타에 대해선 책임지지 않으니 알아서 잘 걸러 보십시오... 글자는 서식이 깨져 이미지로 대체합니다. (글자 원본은 맨 아래에 있습니다) 원본 텍스트 더보기 1장: 기업과 증권시장 기업의 발전요인 자유로운 기업활동을 보장하는 법체계 자본시장의 발달로 대규모 자금 조달 가능 (자기자본+ 타인자본) 주식,채권 발행이 가능해지면서 대중으로부터 대규모의 자금 조달 가능 소유와 경영의 분리로 전문경영인의 능력 적극 활용 소유주보다 전문 경영인이 전문성과 시장 이해도가 더 높기 때문에 기업 성공 가능성이 높아진다 그러나 소유주와 경영인의 정보의 비대칭성 문..
https://smallpdf.com/kr/merge-pdf PDF 합치기 - 무료로 인터넷에서 PDF 파일 병합하기 파일 제한, 광고 워터마크 없음 - 사용자가 원하는 대로 완벽하게 PDF를 합쳐주는 무료 온라인 툴입니다. smallpdf.com 별도 프로그램 설치 없이 웹에서 바로 해볼 수 있다. 오픈북 시험의 경우 해당 사이트를 이용해 하나로 합친 후 ctrl+F 로 키워드를 검색하면서 찾으면 빠르게 검색할 수 있다.
Cucoo's Egg 뻐꾸기는 직접 새끼를 기르지 않고 다른 새의 둥지에 알을 옮겨 그 새가 키우게 한다. 그것처럼 다른 시스템에 프로그램(뻐꾸기 알)을 옮겨두고 추후 실행되었을 때 공격자가 원하는 동작을 하게 하는 공격 방법이다. 공격자는 대상 시스템의 Shell 권한 취득을 목적으로 한다. 공격자는 Shell 권한을 취득하기 위해, Shell을 실행시키는 코드를 작성하고 대상 시스템의 취약점이 있는 프로그램을 찾아낸 후, 그 프로그램에 강제로 오류를 일으켜 시스템이 공격자의 프로그램을 실행시키게 만든다. 어떻게 이것이 가능한가? 하나씩 알아보자. 리눅스/유닉스의 계정 먼저 리눅스/유닉스 시스템에서 사용하는 주요 보안 개념에 대해 알아보자. 리눅스에서는 사용자 타입이 "일반 사용자/루트 사용자" 두 가..
HTTP Protocol 웹 상에서 정보를 주고받기 위한 프로토콜이다. 클라이언트가 요청(request)을 보내고, 서버가 응답(response)을 보낸 후 종료되는 프로토콜로 무상태성(Stateless)의 특성을 갖으며, 평문으로 통신한다. 통신 보안을 위해 현재는 Secure layer(SSL/TLS)가 추가된 HTTPS도 많이 사용된다. HTTP: Request GET, POST, PUT, PATCH, DELETE 등 HTTP Method를 가지며, 각 메서드 별 역할이 정의되어 있다. https://developer.mozilla.org/ko/docs/Web/HTTP/Methods HTTP 요청 메서드 - HTTP | MDN HTTP는 요청 메서드를 정의하여, 주어진 리소스에 수행하길 원하는 행동..
방화벽 내/외부를 지나는 패킷들에 일정한 규칙을 기준으로 차단하거나 허용하는 시스템을 말한다. 방화벽은 접근 제어, 로깅과 감시추적, 인증, 데이터의 암호화 등의 역할을 한다. 방화벽: 패킷 필터 룰셋을 정의하여 해당 규칙에 맞는 패킷만 통과시키는 방법이다. 외부IP 외부PORT 내부IP 내부PORT 동작 External Any 192.168.0.2 80 Allow Any Any Any Any Deny 이 경우 외부에서 192.168.0.2:80으로 들어오는 패킷만 허용하고 나머지는 전부 허용하지 않는다. 패킷 필터는 패킷 상태에 대한 정보가 없으며, TCP 연결을 볼 수 없으므로 Boink, Teardrop 공격을 방어할 수 없다. 상태성 패킷 필터는 패킷에 상태를 추가하여, 연결 상태를 저장하고 연결..
