현재 시간과 날짜 알아보기 NOW() 함수를 통해서 현재 시간을 확인할 수 있다. CURDATE(),CURTIME()함수를 이용시 각각 현재 날짜와 현재시간을 반환한다. SELECT CURDATE(), CURTIME(), NOW(); 시간과 날짜 표현하기 시간과 날짜의 표현의 경우 각각 DATE()와 TIME()함수를 이용한다. 문자열을 넣어주면 문자열에 따른 날짜와 시간을 생성한다. SELECT '2021-6-1 1:2:3' = '2021-06-01 01:02:03', DATE('2021-6-1 1:2:3') = DATE('2021-06-01 01:02:03'), TIME('2021-6-1 1:2:3') = TIME('2021-06-01 01:02:03'), DATE('2021-6-1 1:2:3') =..
우선 MySQL에서는 문자를 1부터 센다. 조금 더 자세한 문자열 관련 함수에 관해서 알아보자. 모두 대문자, 소문자로 변경하기 UCASE(), UPPER()을 통해서 모두 대문자로 변경할 수 있고 LCASE(), LOWER()를 통해서 모두 소문자로 변경할 수 있다. SELECT UCASE(CustomerName), LCASE(ContactName) FROM Customers; 문자열 합치기 일반적인 프로그래밍 언어에서는 +를 이용해서 문자열의 합칠 수 있지만, MySQL에서는 CONCAT()함수를 이용하여 문자열을 합친다. SELECT CONCAT('HELLO', ' ', 'THIS IS ', 2021); CONCAT을 이용하여 데이터에 문자열을 추가로 더 붙여서 표현할 수도 있다. SELECT CO..
올림,내림,반올림,절대값 함수 알아보기 ROUND는 반올림, CEIL은 올림, FLOOR은 내림을 의미한다. SELECT Price, ROUND(price), CEIL(price), FLOOR(price) FROM Products; ABS는 절대값 함수이다. SELECT * FROM OrderDetails WHERE ABS(Quantity - 10) < 5; 최대값,최소값 알아보기 GREATEST는 (괄호 안에서) 가장 큰 값, LEAST (괄호 안에서) 가장 작은 값을 나타낸다. SELECT OrderDetailID, ProductID, Quantity, GREATEST(OrderDetailID, ProductID, Quantity), LEAST(OrderDetailID, ProductID, Quant..
MySQL 연산자 이용하기 MySQL에서는 다른 프로그래밍 언어들 같이 + - * / % mod true false AND && OR || 등의 연산을 지원한다. 다음과 같이 AS를 이용해 연산한 값의 셀의 이름을 지정해줄 수 있다. SELECT ProductName, Price / 2 AS HalfPrice FROM Products; 기본적인 문자열은 0을 취급하고 숫자로 된 문자열의 경우 자동으로 변환되어 계산된다. SELECT 'ABC' + 3; SQL에서는 IS, IS NOT 연산자도 지원하는데 IS는 양쪽이 모두 TRUE 또는 FALSE, IS NOT은 한쪽은 TRUE, 한쪽은 FALSE을 의미한다. MySQL 범위 내의 값 선택하기 BETWEEN {MIN} AND {MAX}를 통해 범위 내 값..
MySQL 주석달기 -- MySQL은 --을 통해서 주석들 달 수 있습니다. MySQL 테이블의 모든 내용 보기 이때 모든 열의 내용을 보기 위해서는 * 전체 선택자를 이용해서 테이블의 모든 내용을 볼 수 있다. SELECT * FROM Customers; MySQL 테이블에서 원하는 column(열)만 골라서 보기 다음과 같이 원하는 열을 선택하거나 원하는 열들 여러개를 선택해서 내용을 볼 수 있다. SELECT CustomerName FROM Customers; SELECT CustomerName, ContactName, Country FROM Customers; MySQL 테이블에서 원하는 row(행)만 골라서 보기 WHERE뒤에 원하는 조건을 입력하여, 조건에 맞는 행을 확인할 수 있다. SELE..
MySQL은 가장 널리쓰이는 RDBMS(Relational Database Management System)이다. MySQL과 같은 방식에 속하는 데이터베이스들은 엑셀표와 유사한 형식으로 데이터를 저장한다. 이때, 들어갈 데이터와 들어갈 수 있는 데이터 형식 등을 지정할 수 있다. 즉, 데이터를 관리하는 방식으로 SQL(Structed Query Language)를 사용한다. 엑셀과 같이 데이터가 들어갈 경우, 일부 데이터가 겹치는 문제가 존재하게 된다, 이러한 문제를 해결하기 위해서, 각각 데이터를 분리해서 그 데이터 사이의 관계를 지어준다. MySQL과 같은 관계형 데이터베이스에서는 분리된 여러 테이블들을 이어주는 Join이라는 기능을 제공한다.
서버로써 동작하기 위해서는 사용자에게 요청을 받아 응답을 기다려야 한다. Node.js는 이벤트 기반, Non blocking I/O 모델을 사용한다. 자바스크립트는 단일 스레드 기반의 언어이기 때문에, 한번에 하나의 작업만 진행한다.이떄 비동기 방식은 이벤트 루프를 이용해서 동시성을 지원한다. 자바스크립트 엔진은 단일 호출 스택을 사용하여 요청이 들어올 때마다 해당 요청을 순차적으로 호출 스택에 담아 처리한다. 이벤트 루프는 브라우저나 Node.js에서 지원되는 방식이다. 이벤트 루프에 관한 설명 Node.Js 공식문서 Philip Roberts: Help, I’m stuck in an event-loop. 이벤트 루프 시각적으로 확인하기 이벤트 루프는 호출 스택과 태스크 큐의 상태를 확인하며 호출 스..
npm을 이용한 패키지 관리 원하는 디렉토리로 이동한 뒤 npm init을 입력해준다. npm init 이제부터 npm이 패키지 관리를 시작하게 된다. This utility will walk you through creating a package.json file. It only covers the most common items, and tries to guess sensible defaults. See `npm help init` for definitive documentation on these fields and exactly what they do. Use `npm install ` afterwards to install a package and save it as a dependency in..
Node.js란? Node.js는 주로 서버 사이드 개발에 이용되는 소프트웨어 플랫폼이다.개발 언어는 자바스크립트를 활용하며 Non-blocking I/O와 단일 스레드 이벤트 루프를 통한 높은 처리 성능을 가지고 있다.일반적으로 Node.js로 서버를 개발하므로 Node.js가 서버로 혼동되기도 하는데, Node.js 자체가 서버를 의미하는 것은 아니다. google의 크롬 브라우저에서 사용하는 V8 자바스크립트 엔진을 사용하며 이벤트 기반의 비동기 방식을 사용하여 이벤트 처리에 있어 빠른 속도를 발휘한다. Node.js 자체적으로 HTTP 서버 라이브러리를 포함하고 있어 웹서버에서 별도의 추가적인 소프트웨어 없이 동작이 가능하다. Node.js 설치하기 공식 홈페이지에 들어가 LTS버전을 설치하자 어..
이미지를 검은색과 힌색으로만 표현한 것을 이진화 이미지라고 한다. 일반적으로 이진화 이미지를 만들기 위해서는 특정 값을 기준으로 두 가지로 나누는 것이 일반적이다.이는 Thresholding이라고 한다.이를 통해 이진(binary) 이미지를 생성할 수 있다. 이전의 gray스케일로 변환한 값을 가지고 threshhoding 하면 다음과 같은 이진 이미지를 얻을 수 있다. import cv2 img_origin = cv2.imread('source.jpg') gray = cv2.cvtColor(img_origin, cv2.COLOR_BGR2GRAY) ret,img_thresh = cv2.threshold(gray, 100,255.0, cv2.THRESH_BINARY_INV) cv2.imshow("img_t..
Stack Overflow란? 개발자들이 프로그래밍을 할 때, 막히거나 궁금한 것이 있을 때, 프로그래밍에 관해서 질문하고 답변을 받는 사이트이다. 제일 규모가 크기 때문에, 빠르게 답변이 올라온다. 대부분 디버깅 하면서 구글 검색하면 들어가는 곳이, Stack Overflow이다. Stack Overflow의 운영 Stack Overflow는 점수 시스템을 기반으로 운영된다. 추천과 반대 투표제를 이용해서 질문의 퀄리티를 관리한다. 유익한 질문이거나 유익한 답변이면 Reputation을 얻고, 대충한 질문이거나 성의 없는 질문일 경우 반대 투표를 받아 Reputation을 잃게 된다. 점수 획득 내가 다른 사용자의 질문을 채택한 경우: +2점 내 질문이 다른 사용자의 찬성 투표를 받으면: +5점 내 답..
윈도우에서의 명령 프롬프트에서 적는 명령어를 bat 파일로 만들어서 사용할 수 있습니다. 화면에 메시지 출력 ECHO Hello World 화면에 출력되는 텍스트 보이기 @ECHO ON 화면에 출력되는 텍스트 감추기 @ECHO OFF 문자열 줄바꿈 ECHO. 파일 복사 COPY 파일 삭제 DEL 프로그램 바로 실행하기 start /d 시작하고자 하는 주소 /b 파일명 /b는 따로 새로운 창을 띄우지 않겠다는 것을 나타내는 옵션이다. start /d "C:\Program Files (x86)\Google\Chrome\Application" /b chrome.exe 명령 실행 후 창 남겨두기 추가적인 입력이 필요한 경우 매우 유용하다. 명령이 실행하고 종료되어도 cmd창이 바로 닫히지 않는다. cmd /k
파일 또는 디렉토리 확인 ls ls -al 옵션 -a 숨긴 파일 및 디렉토리 까지 표시 -l 상세정보 표시 -s 크기별 정렬 디렉토리 이동 cd /velog 현재 디렉토리 확인 pwd 신규 디렉토리 생성 mkdir velog 디렉토리 삭제 rmdir은 파일이 없는 폴더만 삭제가 가능하다. rmdir velog 파일이 있는 폴더를 삭제하고자 하면 rm 명령어를 이용해 삭제하면 된다. rm -rf velog 파일 삭제 rm velog.txt 옵션 -r 하위 디렉토리 삭제 -f 강제로 삭제 -i 파일 지울지 물어봄 -v 삭제 정보 표시 파일에서 단어 검색 grep -in 'hello' ./velog.txt 위의 명령어는 대소문자를 구분하지 않고 velog.txt 내에서 hellow가 있는 행과 line 번호를..
1. 컴파일 하기 gcc 으로 컴파일이 가능하다. $ gcc main.c 2. 컴파일한 파일 실행하기 컴파일할때 출력 파일명을 지정하지 않을 경우 기본적으로 a.out이라는 파일명으로 파일이 나오게 된다. 실행은 ./실행파일 명으로 실행이 가능하다. ./는 현재폴더내에서의 프로그램을 뜻한다. "./명령" 은 현재의 디렉토리에 있는 "명령" 을 실행하라는 것이다. 환경변수에 추가하면 ./없이 이용이 가능하지만 보안상 좋지 않다. $ ./a.out 3. 컴파일한 결과 파일 지정 gcc 에서는 -o 옵션을 통해 컴파일 과정에서 만들어지는 실행 파일의 이름을 수정 할 수 있도록 지원한다. gcc -o $ gcc -o main main.c 다음과 같은 방법으로 컴파일 할 파일 여러개를 지정할 수도 있다. gcc ..