분류 전체보기
-
Node.js로 사칙연산 계산기를 만들어봐요 - 2편(첫 화면 띄우기)프로그래밍 언어/Node.js(노드) 2018. 11. 11. 16:37
1편에서는 Node로 서버 통신하는 부분까지 포스팅 했습니다. 저번 포스팅에 이어서 app.js를 아래와 같이 작성하겠습니다. var express = require('express')var app = express()var bodyParser = require('body-parser') var router = require('./router/index') app.listen(3000, function() { console.log("start! express server on port 3000");}); app.use(express.static('public'))app.use(bodyParser.json())app.use(bodyParser.urlencoded({extended:true}))app.set..
-
[Algorithm] BFS(너비우선탐색) 내맘대로 끄적인 java 슈도코드와 완성된 코드알고리즘/알고리즘 문제 2018. 11. 8. 22:59
bfs 공부했던 BFS 슈도코드로 끄적여보기 본사로 출장을 가던 중, 전날 공부했던 BFS를 떠올리며 java로 어떻게 구현할까 슈도 코드 방식으로 끄적여봄. 본사 도착하자마자 붕 뜨는 시간에 얼른 구현해보았는데 잘 돌아갔다. 예쓰! int[][] adjacencyMatrix = new int[][] // if node exist = 1, non exist = 0 Queue queue = new Queue int[] distancePath = new int[adjacency.length] int[] predecessor = new int[adjacency.length] Arrays.fill(distancePath, -1) // -1 means unvisitied node enqueue(시작점) dinst..
-
Node.js로 사칙연산 계산기를 만들어봐요 - 1편(환경설정)프로그래밍 언어/Node.js(노드) 2018. 11. 5. 20:39
빠르고 가벼운 서버 개발을 위해 Node.js를 많이 사용한다는 말을 듣고 Node로 기존적인 웹 개발방법을 인프런을 통해 배우고 있어요. 강의만 듣는거보다 직접 찾아가면서 배우는게 더 재밌고 즐거우니 간단한 계산기를 만들어보자라는 생각으로 만들었습니다. 자바로 계산기를 만들어봤었는데, 강의를 들을 때 강의 그대로 만든거라서 제가 직접 만든건 아니쥬. 그래서 제가 생각한 로직으로 계산기를 만들어봤습니다. 아마 로직이 안 좋을지도 모르지만, 공부를 하는게 목적이었어요. * npm이 설치되어 있다는 전제로 설명할게요~ 필요한 의존성으로는body-parser : json형태로 데이터를 주고받기 위해서!ejs: 웹 강의를 듣던 프로젝트에서 바로 올려 만든거라서... 딱히 여기서는 필요없어 보이지만 사용해보기로!..
-
GitHub master 기준으로 강제로 로컬 업데이트 하기(overwrite local file)웹 개발/웹&프로그래밍 2018. 11. 4. 00:53
회사에서 svn을 사용하는 관계로 Git은 잘 쓸줄 모른다. 개인적으로 사용하는 정도? 혼자 하는 프로젝트다보니 브랜치가 따로 필요 없었는데, 회사에서 가끔씩 코드를 작성할 때도 있어서 브랜치를 한 번 만들어서 써볼까란 생각을 하게 됐다. (사실 회사 노트북으로 마스터에 바로 올려도 상관은 없지만.. 써보고 싶어서) 어쨌든 충돌이 난 결과로 강제로 로컬 파일을 덮어쓸 방법을 찾아야했다. 맥 유저라서 터미널 기준으로 설명. 1. 터미널을 켜서 GitHub 리파지토리와 연동돼있는 local 디렉토리로 이동 2. 아래의 스크립트를 순서대로 입력하기. 12345git fetch --all git reset --hard origin/master git pull origin mastercs 그럼 로컬이 바뀌어있는 ..
-
[Oracle] ibatis에서 오라클 프로시저(procedure)를 결과 값으로 받기(사용법)DataBase/Oracle 2018. 10. 31. 10:41
스프링 개발을 하시는 분들의 글을 읽어보면 오라클 프로시저는 보통 파라미터에 담아서 사용한다. 나도 그렇게 쓰고 싶었지만, mysql도 같이 사용하기 때문에 파라미터가 아닌 결과 값을 받아와야 했다.(mysql은 프로시저에서 select가 가능해 select한 결과를 받아올 수 있다. 하지만 오라클은 select가 안됨.) 예를 들면, 1Map receiveMap = procedureDAO.getAnyList("procedureDAO.getAnyList", param);cs 위와 같은 코드가 있으면 오라클 프로시저의 경우 out 변수가 param에 담긴다. 하지만, 나의 조건은 receiveMap에 담아야하는 방법을 찾아야 했다. 거의 모든 분들이 param에서 값을 꺼내쓰는 글 밖에 없었고, 하루 종일..
-
[GitHub] 깃헙에서 리파지토리 언어 변경하는 방법웹 개발/웹&프로그래밍 2018. 10. 28. 20:20
Node 공부를 하려고 깃헙에서 리파지토리를 만들었는데 html이 떴다. 응? 난 Node로 만든건데? 그래서 방법을 찾아보니 간단했다. 1. 리파지토리에서 .gitattributes를 찾아서 클릭 2. 동그라미 친 부분을 편집해서 커밋 12* linguist-vendored*.js linguist-vendored=falsecs 그럼 자바스크립트로 바뀐 모습을 볼 수 있다. 다른 방법도 궁금하다면 아래의 url을 찾고하면 됨! https://stackoverflow.com/questions/34713765/github-changes-repository-to-wrong-language
-
[Oracle] ORA-04091: table 000 is mutating 에러와 autonomous transactions(자율 트랜잭션)DataBase/Oracle 2018. 10. 27. 16:09
오라클에서 function을 이용해 update 하는 중에 발생한 에러이다.(사실 이 에러는 회사 선임님쪽에서 발생했다.) mutating?이 뭐지. 찾아봤는데'변이'라는 뜻을 가지고 있었다. 흔히 우리가 말하는 돌연변이(mutant)를 말할 때 같은 의미겠지? ㅎㅎ 변이하고 있는 테이블에 참조를 걸려고 하니 에러가 생긴 것이었다. 아니나 다를까 function을 보니 update 해주는 table을 참조해서 값을 가져오는 기능이었다. 근데 이게 mariaDB(혹은 mysql)에서는 잘 돌아간다. 회사에서 항상 우리끼리 'mariaDB는 너무 관용적이다'라고 말한다. 안될 것 같은 쿼리도 mariaDB에서 잘 돌아간다. 회사에서 아래와 같은 방법으로 짜여져 있었다.(매우매우 간소화시켜서 올려둡니다) qu..
-
[문자열 연결 function] MySQL의 group_concat과 oracle의 LISTAGG 사용 방법DataBase/MariaDB & MySQL 2018. 10. 22. 17:49
컬럼의 데이터들을 연결해서 보여주고 싶을 때가 있다. 예를 들면, 우리 회사의 사업 분야를 row 한 개에 보고 싶다! comp_name business_area zorba food zorba hotel zorba car zorba 회사의 사업 분야를 한 줄에 보게 되면 결과는 이렇게 만들 수 있다. comp_name total_business_area zorba food, hotel, car 이런 걸 가능하게 해주는 function이 mysql의 group_concat과 oracle의 listagg이다. 위의 예시를 이용해 사용법을 설명해보겠다. 1) MYSQL 123select group_concat(business_area SEPARATOR ',') from demo_table where comp_..