개발
ISSUE15 :: 프롬프트 창에 어떤 명령어도 실행되지 않는 상황
ISSUE15 :: 프롬프트 창에 어떤 명령어도 실행되지 않는 상황
2020.09.01최근에 unbuntu 16.04 에다가 Java 환경설정을 했는데 https://computingforgeeks.com/how-to-install-java-14-on-ubuntu-debian/ 기반으로 따라했습니다. 하다가 vi /etc/profile source /etc/profile 하는 부분에 있어서 프롬프트창이 흰색이 되고 어떠한 명령어도 먹지않습니다. 원인을 몰라 스택오버플로우에 질문을 올려보니 답변은 다음과 같았습니다. Read Advanced Linux Programming and syscalls(2) and environ(7). You need not to edit /etc/profile, you could just edit your ~/.bashrc. Also read documentat..
SQLD04 :: SQL최적화의 원리(1)
SQLD04 :: SQL최적화의 원리(1)
2020.09.01ㅡ. 옵티마이저 SQL개발자가 SQL 작성하고 실행할때 옵티마이저로 SQL을 어떻게 실행할지에 대해 계획을 수립한다. 이러한 계획을 수립한뒤 SQL을 실행한다. 규칙 기반 옵티마이저 보다 비용기반 옵티마이저를 기본적으로 수행하며, 옵티마이저의 실행방법을 알려주는것이 힌트(HINT) 다. ㅡ. 인덱스 인덱스란 데이터를 빠르게 검색할 수 있는 방법이다. 인덱스 키로 정렬되어 있기 때문에 원하는 데이터를 빠르게 조회할 수 있다. 하나의 테이블에서 여러 개의 인덱스를 생성할 수 있다. 또한, 하나의 인덱스에는 여러개의 칼럼으로 구성된다. 테이블 생성할때 기본키는 자동으로 인덱스를 생성하고 인덱스 이름은 SYSXXXX 로 제공된다. ㅡ. 인덱스구조 Root Block, Branch Block, Leaf Block..
GCP28 :: Google Cloud Certification 시작
GCP28 :: Google Cloud Certification 시작
2020.08.31https://www.coursera.org/learn/preparing-cloud-professional-cloud-architect-exam/lecture/qMLHZ/introduction Introduction - Welcome to Preparing for the Professional Cloud Architect Exam | Coursera www.coursera.org 코세라에서 7일 강의 무료 인걸 등록했다. 시간이 지나면 결제가 되는건 단점이지만... 이 내용을 정리해본다. ㅡ. 어소시에이트 vs 프로페셔널 프로페셔널에 Business requirements가 포함된다. (Design, Plan, Ensure fesibility, Optimize) ㅡ. 시험 정보 시험 시간 : 2시간 시험..
GCP27 :: Compute Engine, 이론
GCP27 :: Compute Engine, 이론
2020.08.31ㅡ. Compute Engine VM 들을 생성해서 Google Clouud Service를 제공합니다. laas 이며, Server Autoscaling 수행합니다. ㅡ. 구성 vCPUs (cores), Memory (RAM) -> 선택가능 Persistent disks:HDD, SSD and Local SSD Networking ->(networking interfaces 환경설정) Linux or Windows -> (Linux 나 Windows 머신과 결합하여 동작시킬 수도있습니다.) 을 지원합니다. ㅡ. 특징 1. Machine rightsizing 최적의 사이즈, stackdriver 통계 2. 글로벌 로드 밸런싱 멀티플 리전 고가용성 3. 선점형 Up to 80% discount No SLA..
SQLD03 :: SQL기본과 활용
SQLD03 :: SQL기본과 활용
2020.08.31ㅡ. Intersect 연산 두 개의 테이블에서 교집합을 조회한다. 두 개 테이블의 공통된 값을 조회한다. ㅡ. UNION UNION 연산은 두 개의 테이블을 하나로 만드는 연산이다. 중복된 데이터를 제거한다. 정렬 과정이 발생한다. ㅡ. UNION ALL UNION ALL은 두 개의 테이블을 하나로 합치는 것이다. 중복을 제거하거나 정렬하지 않는다. ㅡ. MINUS 먼저 쓴 SELECT문에 있지만 뒤에 쓴 SELECT문에는 없는 집합을 조회한다. e.g) SELECT DEPTNO FROM DEPT MINUS SELECT DEPTNO FROM EMP; ㅡ. EXISTS Subquery로 어떤 데이터가 참인지 거짓인지 알아보는것, 존재하면 True 그렇지 않다면 False 이다. ㅡ. Partition 기..
Python12 :: map, filter, locals, generator, List comprehension
Python12 :: map, filter, locals, generator, List comprehension
2020.08.31ㅡ. map, filtermap, iterator 기능을 수행하고 메모리를 절약해줍니다.def add_1(n): return n+1target = [2,3,3,4,5]result = map(add_1, target) #함수로 만들어서 돌릴 필요가 없습니다.print(list(result))values = [1,2,3,4,5,6,7,8,9,10]def isEven(n): return True if n%2==0 else Falseresult = filter(isEven, values)print(list(result))result2= filter(lambda k:k%2==0, values)print(list(result2))filter 자체는 조건에 의해 걸러진 요소들을 iterator객체로 만들어..
알고리즘97 ::거북이 카드만들기
알고리즘97 ::거북이 카드만들기
2020.08.30ㅡ. 컨셉 거북이는 10이라는 숫자를 만들려고 한다. 그런데, 주어진 카드가 1,2,5 밖에 없다. 이럴 경우에 1을 10번 골라서 10을 만들거나 2를 두번 고르고 1을 고른뒤 5를 고르면 10이 만들어진다. 하지만 선택하는 수를 최소로 하고 싶다. 이런 경우 어떻게 해야 할까? 방법 : DP를 사용한다. int num = 10; int arr[] = new int[num+1]; int cards[] = {1,2,5}; for(int i=0; i
SQLD03 :: SQL 기본
SQLD03 :: SQL 기본
2020.08.30ㅡ. 트랜잭션 특징 연속성(Durability)는 그 실행을 성공적으로 완료하면 영구적으로 반영되어야 한다. ㅡ. SQL실행 순서 Parsing -> Execution -> Fetch ㅡ. 테이블 이름 변경 *(emp->new_emp) alter table emp rename to new_emp ㅡ. 테이블 칼럼 추가 *(age칼럼은 숫자형 2자리 기본값1) alter table emp add (age number(2) default 1); ㅡ. INSERT문의 성능을 향상시키기 위해 Buffer Cache의 기록을 생략하는 옵션은? Nologging옵션 ㅡ. 테이블 구조는 삭제하지 않고 모든 데이터를 삭제하는 SQL문은? (데이터 삭제후에 테이블의 공간은 초기화) TRUNCATE TABLE EMP; ㅡ..
알고리즘96 :: 거북이 문방구집
알고리즘96 :: 거북이 문방구집
2020.08.29내용 : 대부호 거북이가 있었다. 거북이는 여러 문방구를 가지고 있는데 문방구는 한 사람씩밖에 못들어간다. 동물 친구들은 거북이 문방구를 이용하고자 한다. 각 동물 친구들이 이용할 수 있는 시간대와 들어가서 물건을 구매하는데 걸리는 시간이 존재한다. 만약, 토끼가 2초에 들어가서 문방구를 이용하는데 총 5초가 걸리는데 다음 다람쥐가 4초에서 문방구를 들어가려고 했다면 3초를 더 기다려야한다. 문방구의 수 : N 동물 친구들 각각 문방구에 들어가는 시간 및 문방구를 이용하는데 걸리는 시간 : x,y ㅡ. Step1 문방구의 개수만큼 배열을 생성한 후에 가장 이용시간이 적게 남은 문방구를 갱신해준다. ㅡ. Step2 이용시간이 적게 남아있는 문방구가 존재하는 상황에서 다음 문방구를 이용해야할 동물 친구와 시..
IT09 :: 2020 : 정보처리기사 2회 후기
IT09 :: 2020 : 정보처리기사 2회 후기
2020.08.28ㅡ. !!? 시험 합격률을 보아하니 1회차보다 높아졌습니다. 1,2회차 둘다 시험을 쳤지만 난이도는 비슷했습니다. ㅡ. 시험 준비 기간 7일, 일을 하고있었기 때문에 정보처리기사 실기에 많은 시간을 들일 수 없었습니다. ㅡ. 전략 제가 준비했던 전략은 1회차를 본 경험으로 용어 와 그 의미에 대해서 정리했습니다. 시나공 책으로 준비했는데 책은 크게 의미가 없는것 같습니다. 아주 똑같은 문제가 나오진 않거든요. 특히, IT 에서 자주 사용되는 용어 위주로 정리했습니다. ㅡ. 시험 친 날 시험 문제를 받아보고 애매한 문제들이 많이 있었습니다. 특히, Python에 대해서 주언어가 아니었기 때문에 기본 문법에 대해 전부 알고있는것이 아니었습니다. 이러한 기본 적인 것에 대해서도 준비하면 좋습니다. 상식적인 문..
vue.js, proxy server(node.js), bigQuery 데이터 불러와 사용하기
vue.js, proxy server(node.js), bigQuery 데이터 불러와 사용하기
2020.08.26*홈페이지에 나와있는 상호명은 특정 상호명과 아무 관련이 없습니다. ㅡ. Result *ref : https://cloud.google.com/bigquery/docs/reference/libraries?hl=ko#client-libraries-install-nodejs bigQueryApi 라는 Js 파일을 생성하여 아래 코드를 작성하였습니다. const {BigQuery} = require('@google-cloud/bigquery'); const bigquery = new BigQuery(); async function query() { // Queries the U.S. given names dataset for the state of Texas. const query = `SELECT name ..
ISSUE14 :: AXIOS(vue.js, node.js-bigQuery) CORS 해결방법
ISSUE14 :: AXIOS(vue.js, node.js-bigQuery) CORS 해결방법
2020.08.26ㅡ. 도입 google bigQuery 데이터를 node.js에서 fetch해서 vue.js 로 데이터를 뿌려주는 워크플로우 ㅡ. 문제 CORS 문제 node.js에서 express 를 사용하고 있었기 때문에 아래와 같이 cors 패키지를 설치했음에도 $ npm install --save cors const cors = require('cors'); //app.js app.use(cors()); //app.js Same-origin policy 라는 에러를 뿜어냈습니다. 호스트는 ip + port 를 의미하는데, port 가 달라지면서 (vue.js:8090, node.js:3000) 동일 호스트에서 호출받는 정책이 깨지면서 에러가 발생하였습니다. 즉, 호스트와 오리진이 서로 다른것입니다. 여기서 의미하..