# note
[JS] 자바스크립트 기본 2
객체와 프로퍼티 객체(object)란? let 은 하나의 값만 저장이 가능함. 다양한 값들을 함께 저장할 때는 객체를 사용한다. 속성(property): key와 value 한 쌍 key에 띄어쓰기, 하이픈(-) 쓰는 것 지양할 것. 썼다면 따옴표로 감싸주기 중괄호 안에 프로퍼티들을 작성함. 각 프로퍼티는 쉼표를 통해 구분 객체도 결국은 값이기 때문에 객체를 다루기 위해선 변수에 할당해주면서 이름을 만들어주어야 함(test) 객체(object)에 접근하는 법 점 표기법 console.log(test.propertyName2); → property value2 가 출력됨 대괄호 표기법 console.log(test['propertyName2']); → key값에 따옴표를 생략할 수 없을 때 사용함 객체 안에 또 객
DataFrame 재구조화
정돈된 데이터란? 각 변수(데이터의 속성)는 열을 형성 각 관측값(하나의 데이터)은 행을 형성 각 관측 단위별로 별도의 테이블(표)을 구성 → 단일 관측 변수, 관측값, 관측단위 변수 Feature, 컬럼, 속성 데이터를 구성하는 요소들 변수 이름 → 성별, 인종, 연봉, 직위 같은 레이블 변수 값 → 관측 때마다 달라지는 값 : 각 변수가 가질 수 있는 값 ex) → 성: 남성/여성 → 인종: 황인/흑인/백인 → 연봉: 삼천만원, 사천만원... → 키: 100.0 ~ 250.0 >- #### 단일 관측 : 하나의 관측단위, 하나의 데이터 → DataFrame(Pand
DataFrame 결합
DataFrame 합치기 : 두개 이상의 DataFrame을 합쳐 하나의 DataFrame 으로 만들기 → SQL에서의 union이나 join이라고 볼 수 있음 수직결합 단순결합으로 여러개의 DataFrame들의 같은 컬럼끼리 수직으로 합친다. 수평결합 연관성 있는 여러 데이터를 하나로 합쳐서 조회하는 JOIN 처리를 한다. JOIN은 합치려는 DataFrame들의 index 나 특정 컬럼의 값이 같은 행 끼리 합친다. > ! 관리는 나눠서 하고, 분석은 합쳐서 하는것이 효과적 glob - 데이터셋 읽기 : 특정 디렉토리 안의 파일들의 경로를 조회 > "data/*.csv"
[JS] 자바스크립트 기본 문법 정리
자료형: 숫자(정수-integer, 소수-floating point): 사칙연산 가능 문자열(string): 따옴표 사용, 더하기를 통해 합칠 수 있음 불린(boolean): true or false > 추상화: 복잡한 것들을 목적에 맞게 단순화하는 것. 불필요한 것을 숨기고 단순하고 간결하게 표현하면서도 정확하게! 지도처럼. 자료형 변수(variable) let [변수이름]; : 변수 선언 [변수이름] = [값]; : 변수에 값 저장. 여기서 = 은 할당연산자 let [변수이름] = [값]; : 변수 선언과 동시에 값 지정하기 '예약어(JavaScript가 찜해놓은 단어)'는 사용하면 안 됨. if, for, let 같은 것들. 띄어쓰기는 대문자로 구분하는 것이 좋음 함수 함수 선언 함수 호출: 함수이름();
[CSS] 반응형 웹 퍼블리싱에 자주 쓰이는 기본 코드 3대장
1. 브라우저 크기에 따라 달라지는 폰트 크기 만들기 media 쿼리 사용 2. float:left 요소들 넘치지 않는 선에서 왼쪽으로 정렬 후 아래로 내려옴. 3. background-image 반응형 웹 그리드에서 사진을 넣고 싶으면 background-image 를 자주 사용함. 사진 비율을 유지하기 위해 경우에 따라 background-size: cover; or background-size: contain; 등등 써주고, 사진을 가운데로 유지하기 위해 background-position: center; 적용.
정렬 _수정 필요
index이름, column 이름을 기준으로 정렬 sort_index(axis, ascending=True) axis index 이름 기준 정렬(행) : 'index' 또는 0 (기본값) column 이름 기준 정렬(열) : 'columns' 또는 1 ascending 정렬방식 True(기본): 오름차순, False: 내림차순 inplace 원본에 적용 여부 False(기본): 변경한 복사본 반환 True : 원본을 변경 특정 컬럼(열)의 값을 기준으로 정렬 sort_values(by, ascending, inplace) by 정렬 기준 컬럼이름을
DataFrame 데이터 프레임
DataFrame : 표(table - 행렬)을 다루는 Pandas의 타입 (Database 의 Table이나 Exvel의 표와 동일한 역할) → 분석할 데이터를 가지는 판다스의 가장 핵심적인 class → , 로 구성 → 하나의 해과 하나의 열은 Series로 구성됨 → DataFrame 객체는 직접 데이터를 넣어 생성하거나 데이터 셋을 파일(csv, 엑셀, DB 등)로 부터 읽어와 생성 각 행과 열은 식별자를 가지며 Series와 같이 2종류가 있음 순번 → 양수, 음수 index 두가지 → 컬럼도 내부적으로는 순번으로 관리되지만 우리가 조회할 때 사용 불가 이름 → 명시적으로 지정한 행과 열의 이름 → 행 이름: index name, 열 이름: column name (중복 가능) → 명시적으로 지정하지 않을 시 양수 순번이 index, column이 이름으로 설정됨 DataF
Pandas 판다스
pandas : 데이터 분석과 관련된 다양한 기능을 제공하는 python 패키지 (python을 exel처럼 사용 할 수 있는 libray) → 데이터 셋을 이요한 다양한 통계 기능을 다루는데 특화되어있는 pytohb모듈 → Series, DataFrame 제공 - 표 형태 데이터 다루기 위하여 Series : 1차원 자료구조를 표현 - 데이터가 나열된 방향이 한 방향 DataFrame : 2차원 행렬구조의 표(table)을 표현 - 데이터가 나열된 방향이 두 방향 설치: series 1차원 자료구조 DataFrame(표)의 한 행(row)이나 한 열(column)을 표현 각 원소는 index와 index 이름을 가지며 그것들을 이용해 사용할 수 있음 벡터화 연산(element-wise 연산)을 지원 Series 객체에 연산을 하면 각각의 Series 원소들에 연산이 됨
[유닉스 커맨드]디렉토리와 파일 다루기
폴더 = 디렉토리 현재 사용자의 홈 디렉토리를 ‘~’로 표시할 수 있음. 파일과 디렉토리를 둘러볼 때 사용하는 디맨드 pwd: 현재 위치한 디렉토리(working directory) 확인 (print working directory) cd: change directory. 다른 디렉토리로 이동 (cd - : 이전 디렉토리 경로로 이동) ls: list. 디렉토리의 내용들을 쭉 리스트해서 보여줌. 절대 경로: 루트 디렉토리를 기준으로 어떤 파일이나 디렉토리의 고유한 경로를 표시하는 것 ~: 홈 나타내는 경로 📢 dir과 /dir은 다른 경로를 나타냄. /dir은 루트 디렉토리 안에 있는 dir 디렉토리를 뜻함. 상대 경로: 현재 자신이 위치해 있는 디렉토리 기준으로 경로를 나타내는 것 현재 경로를 ‘.’으로 표시 (’/’로 경로 시작하지 않으면 ‘.’없어도 자동으로
[유닉스 커맨드] 실용적 유닉스 커맨드 시작하기
기본 용어 검은 화면에 키보드로 입력하는 걸 커맨드, 혹은 명령어 커맨드를 통해 인터넷을 사용하는 방식이 커맨드 라인 인터페이스(CLI, command-line interface). 혹은 커맨드라인. 화면과 마우스를 통해 컴퓨터 사용 → 그래픽 유저 인터페이스(GUI, graphical user interface) 커맨드를 입력하고 아웃풋을 보여주는 프로그램을 터미널(terminal) 기본 커맨드부터 시작해서, 유닉스 커멘드를 배워보자! shell: 커맨드를 해석해 주는 프로그램 ~$ cal(command) -y(option) 06 2000(argument) 옵션은 커맨드를 어떻게 실행할지 정함 알규먼트는 커맨드의 대
pymysql
pymysql : 파이썬에서 MySQL, MariaDB DBMS와 연동하는 다양한 함수를 제공하는 모듈 > MySQL, MariaDB에다가 사용 가능 기본 작성 절차 Database 연결 port 번호 기본값: 3306 Connection을 이용해 Cursor 생성 Cursor: 연결된 Database에 sql문을 전송하고 select결과 조회 기능을 제공하는 객체 Cusror를 이용해 SQL문 전송 연결 닫기 cursor, connection 연결을 닫는다. with문을 이용할 수 있다. Parameterized Query Parameterized Query SQL 문에서 컬럼 값이 들어가는 자리에 값대신 %s placeholder를 사용한뒤 execute()에서 placeholder에 넣을 값을 tu
[CSS 레이아웃] Flexbox
1. flex box 안에서의 배치 방향 정하기 → flex-direction:(row, column, row-reverse …) 2. flex box 안에서의 정렬 기준 정하기 justify-content:(기본 축 정렬) flex-end(기본축 기준 맨 끝으로 정렬) space-around(모든 요소의 양쪽 공간이 똑같게) space-between(기본축 기준 양 끝을 늘어트림) align-items:(교차 축 정렬) center (등등) > 교차 축 정렬을 하면 늘려서 꽉 채워지던 flex box 안 요소들이 원래 크기로 돌아감. 3. flex box 안에서 요소가 넘칠 때 flex-wrap: wrap; 넘치는 요소는 교차 축 방향으로 넘어가서 배치됨(다음 줄에 배치됨) 요소 간격 : gap; gap: 30px 요소들 사이에 30픽셀씩 간격 생
DDL _Table
DDL: 정의하고자 하는 데이터에 과녀련된 무언가를 만드는 것 DML : I (생성) / U(수정) /D(삭제)/ S(조회) DDL : CREATE / ALTER / DROP + TRNNCATE TABLE 테이블 생성 구문 컬럼 설정 컬럼명 → 데이터타입 → default : 기본값. 값을 입력하지 않을 때 넣어줄 기본값 제약조건 설정 primary key (PK): 행식별 컬럼. NOT NULL, 유일값(Unique) unique Key (uk) : 유일값을 가지는 컬럼 null을 가질 수 있음 not null (nn) : 값이 없어서는 안되는 컬럼 check key (ck) : 컬럼에 들어갈 수 있는 값의 조건을 직접 설정 foreign key (fk): 다른 테이블의 primary key 컬럼의 값만 가질 수 있는 컬럼 다른 테이블을 참조할 때 사용하는 컬럼 컬
Yaml 파일 변경 내용 서버 재시작 없이 반영하기
application.yaml yaml 파일 YamlLoader loadYaml() 메소드 실행 Array에 담긴 파일명을 순회 src/main/resources/properties/에 위치한 파일(실제 파일)의 최근 수정일과 modifiedMap에서 파일명을 key 값으로 최근 수정일을 비교 실제 파일이 수정된 시간이 더 나중인 경우에 실제 파일을 build/resources/main/properties 폴더로 복사 복사한 파일의 최근 수정일 기록, InputStream을 생성하여 데이터 값 기록 InputStream 종료
DML
DML : insert, delete, update DQL : select INSERT 문 - 행 추가 구문 한행추가 : → 모든 컬럼에 값을 넣을 경우 컬럼 지정구문은 생략 할 수 있다. 조회결과(select)를 INSERT 하기 (subquery 이용) → INSERT할 컬럼과 조회한(subquery) 컬럼의 개수와 타입이 맞아야 한다. → 모든 컬럼에 다 넣을 경우 컬럼 설정은 생략할 수 있다. UPDATE : 테이블의 컬럼의 값을 수정 UPDATE 테이블명 UPDATE: 변경할 테이블 지정 SET: 변경할 컬럼과 값을 지정 WHERE: 변경할 행을 선택. DELETE : 테이블의 행을 삭제 구문 테이블의 데이터를 모두 삭제 할 경우 delete를 사용하는것도 가능 하지만 그 대신에 truncate를 사용 할 수
집합 연산자 (결합 쿼리)
집합 연산자 : 둘 이상의 select 결과를 합치는 연산 구문 연산자 UNION: 두 select 결과를 하나로 결합한다. 단 중복되는 행은 제거 (합집합) UNION ALL : 두 select 결과를 하나로 결합한다. 중복되는 행을 포함 (합집합) INTERSECT: 두 select 결과의 동일한 결과행만 결합 (교집합) MINUS: 왼쪽 조회결과에서 오른쪽 조회결과에 없는 행만 결합 (차집합) > mysql에서는 INTERSECT 와 MIINUS는 지원하지 않음 규칙 → 연산대상 select 문의 컬럼 수가 같아야 함 → 연산대상 select 문의 컬럼의 타입이 같아야 함 → 연산 결과의 컬럼이름은 첫번째 select문의 것을 따름 → order by 절은 구문의 마지막에 넣을 수 있음 → UNION ALL을 제외한 나머지 연산
서브 쿼리 Subquery
subquery : sql문 내select 문을 삽입하는 것 : 주로 from 절이나 where 절에서 사용 main query : 실제 조회하고자 하는 query sub query : main query 에서 사용 할 데이터를 조회하기 위한 query 종류 단일 햏 서브 쿼리 : 서브쿼리의 조회 결과가 한 행 다중 행 서브 쿼리 : 서브 쿼리의 조회 결과가 여러 행 inline view : 서브 쿼리를 from 절에 table 대신 사용 단일 행 서브쿼리 : 서브 춰리의 조회 결과가 0개 또는 1개인 쿼리 다중 행 서브쿼리 : 서브 쿼리의 조회 결과 행이 0개 이상인 쿼리 → in, all, any 연산자등과 사용됨 > - where절 에서의 연산자 → in (단일행에서의 == 대신 사용) → 비교연산자 any : 조회된 값들 중 하나만 참이면 참 (where 컬럼 > any(서브쿼리) )-> 이라고 생각 → 비교연
조인 Join
join 📍 조인(JOIN) 이란 : 2개 이상의 테이블에 있는 컬럼들을 합쳐서 가상의 테이블을 만들어 조회하는 방식 소스 테이블 : 내가 먼저 읽어야 한다고 생각하는 테이블. 조회 해야 하는 주 정보(main information) 테이블 타겟 테이블 : 소스를 읽은 후 소스에 조인할 대상이 되는 테이블. 조회하는 주 정보의 부가 정보(sub information) 제공 테이블 조인 연산 : 각 테이블을 어떻게 합칠 지를 표현하는 것 조인 연산에 따른 조인종류 → Equi join , non-equi join 조인 종류 Inner Join → 양쪽 테이블에서 조인 조건을 만족하는 행들만 합친다. Outer Join → 한쪽 테이블의 행들을 모두 사용하고 다른 쪽 테이블은 조인 조건을 만족하는 행만 합친다. 조인조건을 만족하는 행이 없는 경우 NULL을 합친다.
집계함수
집계함수 : 조회 결과를 묶어 집계 처리하는 함수 ( = 그룹함수 = 다중행 함수) 기본적으로 전체 행을 기준으로 계산 select시 group by 절을 이용해 그룹으로 묶을 기준 컬럼을 지정 가능 → 지정한 컬럼의 값이 같은 행끼리 하나의 그룹으로 묶인다 📍 집계함수 avg(column) : 평균 값 조회 sum(column) : 합계 값 조회 max(column) : 제일 큰 값 조회 min(column) : 가장 작은 값 조회 stddev() : 표준편차 조회 variance() : 분산 조회 count(column) : 행 수 조회 개수 조회 → 컬럼명: null을 제외한 값들의 개수 → * : 총 행수 - null과 관계 없이 셈 count(distinct column) : (고유 값의 개수)행 수 조회 개수 조회 / 중복된 값은 1 개로 처리 > > > - count
MySql 함수
함수 concat ( A ): concat이라는 함수 안에다가 A안에 속해있는 값을 하나씩 넣어서 모두 처리를 해라는 뜻 함수 종류 단일 행 함수 > ; 행 단위로 값을 처리하는 함수 단일 행은 select, where 절에서 사용 가능 → CHAR_LENGTH(CONCAT(’A’. ‘B’)) > 다중 행 함수 > : 여러 행의 값들을 묶어서 한번에 처리하는 함수 = 집계함수, 그룹함수 다중행은 select, having 절에서 사용 가능 → where 절에서는 사용 불가(sub query 이용) > 조건 처리 함수 if (조건 수식 , 참 , 거짓) → 조건 수식이 True 이면 참 을 False 이면 거짓 을 출력한다 ifnull (기준 컬럼 값 ), 기본 값 → 기준 컬럼 값 이 NULL 값이면 기본 값 을