분류 전체보기
알고리즘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 ..
IT08 :: 프로젝트 마감
IT08 :: 프로젝트 마감
2020.08.26남은 2틀동안 프로젝트를 마감하는 과정을 포스팅 (크로스 체크.. 는 덤) 데이터 정제 처리가 완벽하게 안되서 수정해야 했다. ㅡ. Category_feature(카테고리별 특징들을 보여줍니다.) - Not Yet ㅡ. bigQuery(category_feature) ㅡ. apache-beam(category_feature) #apache_beam from apache_beam.options.pipeline_options import PipelineOptions import apache_beam as beam pipeline_options = PipelineOptions( project='fluid-crane-284202', runner='dataflow', temp_location='gs://dataf..
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) 동일 호스트에서 호출받는 정책이 깨지면서 에러가 발생하였습니다. 즉, 호스트와 오리진이 서로 다른것입니다. 여기서 의미하..
SQLD02 :: 동적SQL
SQLD02 :: 동적SQL
2020.08.26ㅡ. 동적쿼리 실행시에 쿼리문장이 생성되는것을 의미합니다. 문자열로 쿼리문을 들고있다가 실행할 때마다 문자열 쿼리 문장을 바꿔서 실행하는 방식을 의미합니다. ㅡ. 사용 컴파일 시에 SQL문장을 실행시킬 경우, 보통은 쿼리문에서 WHERE절에 조건으로 인자를 전달하게 됩니다. ㅡ. 예제 const query = "SELECT * FROM `fluid-crane-284202.prototyping_dataset.category_basic` WHERE category="+"'"+category+"'"; 위 코드는 bigQuery table에 접근해서 함수의 인자로 전달되는 값들을 동적으로 처리할 때 사용하는 SQL문장입니다.
IT07 :: 프록시 서버란?
IT07 :: 프록시 서버란?
2020.08.26금일 vue.js 상에서 google cloud bigQuery SDK 를 바로 사용하려 했었는데 잘안되서 서버를 하나 더 두었습니다.. 그런데 그게 proxy 서버가 아니냐는 되물음에 proxy 서버가 뭐였나 생각이 들어 정리해봅니다. ㅡ. proxy 서버 프록시 서버란, 컴퓨터 네트워크에서 다른 서버 상의 자우너을 찾는 클라이언트 요청을 받아 중계하는 서버를 말한다고 합니다. proxy 서버 = 중계하는 서버 입니다. proxy서버는 웹 프록시를 의미한다고 합니다. 특히, 분산 시스템의 구조를 단순화 하는데 이점이 있다고 합니다. 클라이언트가 서버로부터 필요한 파일, 웹 페이지 등과 같은 자원을 프록시 서버에 요청하면 프록시 서버가 클라이언트와 사이에서 통신을 수행한다고 합니다. 추가적으로 보안기능을..
node.js restful api 서버 만들기 (with bigQuery)
node.js restful api 서버 만들기 (with bigQuery)
2020.08.25GET : 서버 자원 가져오기 POST : 서버 자원 등록하기 PUT : 서버 자원 치환 (업데이트 같은...) PATCH : 서버 자원 일부 치환 DELETE : 서버 자원 삭제 ㅡ. Express 서버 $ sudo npm i express-generator -g express PROJECT_NAME --view=pug cd PROJECT_NAME 후 npm i 로 모듈 설치를 진행합니다. 모듈 설치가 완료되면 ㅡ. app.js app.js 에서 app.use('/users', usersRouter) 부분이 localhost:3000/users 로 접속하면 usersRouter 의 페이지를 띄워주게 됩니다. users.js 코드를 아래와 같이 구성한다면 var express = require('expr..
JS04 :: webpack
JS04 :: webpack
2020.08.25Vue.js 와 같이 애플리케이션을 CLI로 사용하여 프로젝트 생성하면 자연스럽게 설치되는 모듈 번들러 입니다. ㅡ. 모듈 번들러란? 여러개의 파일을 하나의 파일로 묶어주는 라이브러리를 말합니다. 종속성을 파악해서 서로 엮어 있는 파일을 하나의 파일로 묶어주는 역할을 수행합니다. ㅡ. webpack을 사용하는 이유 1. 네트워크 병목현상 해결 2. 모듈 단위로 개발 가능 3. es6 버전 이상의 스크립트를 사용할 수 있습니다. ㅡ. 오래된 브라우저에서도 es6버전 이상의 자바스크립트 문법 사용이 가능해집니다. ㅡ. webpack 컨셉 1. Entry ㅡ. 종속성 그래프의 시작점을 의미합니다. 2. Output ㅡ. 번들을 저장할 위치를 지정할 수 있습니다. 3. Loader ㅡ. webpack이 이해할 ..
JS03 :: node.js 버전 관리
JS03 :: node.js 버전 관리
2020.08.25n 은 Node.js 버전을 관리해주는 플러그인입니다. $node -v 우선적으로 node 버전을 확인합니다. $ sudo npm install -g n n모듈을 설치합니다. node버전에 따라서 다음 3가지로 분류합니다. 1. 최신버전, 2. 안정버전, 3.LTS버전 1. 최신버전 $ n latest 2. 안정버전 $ n stable 3. LTS버전 $ n lts
GCP26 :: DNS 등록하기, Google Cloud Platform
GCP26 :: DNS 등록하기, Google Cloud Platform
2020.08.24개요 해당 포스팅에서는 AWS 에서 구매한 도메인을 서버와 연결하여 도메인으로 애플리케이션에 접속하는 과정을 보여 줍니다. 서버는 Google Cloud Platform의 VM 인스턴스에 Web Application을 배포한 상태입니다. 보통의 경우 http://외부IP:Port 로 접근할 수 있지만, 이 경우 보안에 취약할 수 있기 때문에 DNS를 등록하여 사용하도록 하겠습니다. AWS 사전에 미리 구입해둔 도메인에 정보를 확인합니다. https://cloud.google.com/dns/docs/quickstart?hl=ko 확인하고시작했습니다. Google DNS Google Cloud Platform에서 DNS 영역을 생성할 수 있습니다. 구입한 도메인을 사전에 배포한 Web Application으..
ISSUE13 :: Load Balancer 에러 처리하기
ISSUE13 :: Load Balancer 에러 처리하기
2020.08.24netstat -tnlp #현재 열려있는 포트를 모두 확인할 수 있습니다. 외부로 통하는 80포트가 열려있지 않았습니다. 그래서 sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT 위 명령어를 실행해줘도, 80번 포트를 열리지 않았습니다. apache --version 실행보니까 No command 'apache' found, did you mean: 또, apache2 --version The program 'apache2' is currently not installed. 여서 sudo apt-get install apache2 여서 우선 apache2를 설치했습니다.