프로그래밍 언어
-
[JavaScript] Converting circular structure to JSON(json 형태의 배열 로그 찍기)프로그래밍 언어/자바스크립트(jQuery) 2019. 1. 18. 10:41
해석하자면, 선회하는 구조를 JSON으로 바꾸려고 해서 나는 에러. 모르는 객체가 어떤 값을 담고있나 찍어보려고 하다가 이런 에러를 발견했다. JSON.stringify로 해봤는데 위의 에러가 나와서 선회하는 구조니까 배열인가 싶었다. for문으로 돌리면서 json형태로 바꿔주면 console을 찍을 수 있지 않을까라는 생각이 들었다. 1234// 에러가 나는 객체가 trNode라고 한다면,for (output in trNode){ console.log("노드 값: "+JSON.stringify(output))}Colored by Color Scriptercs 위와 같이 콘솔을 찍어보니, 잘나온다.
-
[java] 두 날짜간 월 차이 구하기프로그래밍 언어/자바 & 코틀린 2018. 12. 10. 22:54
두 날짜간의 월 차이 구하기 자동으로 월차를 생성해주는 스케줄러를 구현 중이다. 두 날짜간의 월 차이를 알아내는 함수를 구현해야 했다. 예를 들어, 2018년 12월 1일에 스프링 스케줄러가 실행되면 2018년 7월 16일에 입사한 사람은 8월 1일부터 월차가 발생한다고 가정했을 때, 8월, 9월, 10월, 11월, 12월까지 총 5개의 월차가 발생해야 한다. 그래서 일(day)은 상관없이 월끼리만 계산해주면 된다. 아래는 구현한 함수다. 참 쉽죠잉? ㅎ /** * 두 날짜간의 월 차이 구하기 * */ private int getMonthsDifference(Date date1, Date date2){ /* 해당년도에 12를 곱해서 총 개월수를 구하고 해당 월을 더 한다. */ int month1 = d..
-
[java] 유효한 날짜인지 체크하는 방법(Validation Date)프로그래밍 언어/자바 & 코틀린 2018. 11. 28. 20:52
validationDate java에서 유효한 날짜인지 체크하는 방법 아무 날짜가 스트링 형태로 입력값이 들어올 경우, 에러 메세지를 띄워주어야 하는 기능을 만들어야 했다. 우리 회사는 java7을 이용하기 때문에 java8에서 향상됐다는 datetime은 사용하지 못한다. 그래서 다른 방법을 찾았다. dateFormat의 setLenient를 사용하는 것이다. 여기서 Lenient의 사전적 의미는 '허술하다, 생각한 것보다 판단이나 처벌이 약하다’라는 뜻이다. java doc을 참조하면 아래처럼 설명하고 있다. setLenient(boolean lenient) Specify whether or not date/time parsing is to be lenient. 날짜가 파싱될 때 허술하게 할 지 말지..
-
[java]DTO(또는 VO)에서 객체의 default 값 만들어주는 방법(Constructor of DTO)프로그래밍 언어/자바 & 코틀린 2018. 11. 20. 11:57
dtovalue DTO에서 생성자를 통해 default value 생성하기 insert를 할 경우 기본값이 있다면 DTO에서 만들어주고 Primary key가 될 변수만 새로운 값을 넣어주면 된다. 생성자를 통해 default 값을 만든 이유는 현재 회사에서 개발중인 메뉴가 환경설정 부분이기 때문이다. 사용자가 따로 설정해두지 않으면 default값이 들어가 있도록 하기 위해서다. (최초 메뉴 사용 시 설정된 값이 없을 것이기 때문에 최초 메뉴 클릭시 default를 insert 해주도록) 기본 생성자를 통해 default값을 만들 수도 있고, 오버로딩을 통해 생성자에 매개변수를 넣어서 기본 값을 만들 수 있다. 만들어 본 코드 예시 public class ConstructDto { private Str..
-
Node.js로 사칙연산 계산기를 만들어봐요 - 3편(계산기 완성하기)프로그래밍 언어/Node.js(노드) 2018. 11. 11. 18:08
2편에 이어서 이제 핵심인 계산기 화면과 계산기 로직을 통해 계산기를 완성해보겠습니다! 팝업창으로 호출한 calculator/calculatorPop url을 받기위해서 calculator 모듈을 만들겠습니다. router 폴더 밑에 아래처럼 폴더와 js파일을 만들어주세요. calculator.js에 아래의 코드를 작성해주세요.var express = require('express')var router = express.Router() router.get('/calculatorPop', function(req,res){ res.render('calculator.ejs')}) module.exports = router; calculatorPop이란 호출이 들어오면(get으로 받습니다) calculator...
-
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..
-
Node.js로 사칙연산 계산기를 만들어봐요 - 1편(환경설정)프로그래밍 언어/Node.js(노드) 2018. 11. 5. 20:39
빠르고 가벼운 서버 개발을 위해 Node.js를 많이 사용한다는 말을 듣고 Node로 기존적인 웹 개발방법을 인프런을 통해 배우고 있어요. 강의만 듣는거보다 직접 찾아가면서 배우는게 더 재밌고 즐거우니 간단한 계산기를 만들어보자라는 생각으로 만들었습니다. 자바로 계산기를 만들어봤었는데, 강의를 들을 때 강의 그대로 만든거라서 제가 직접 만든건 아니쥬. 그래서 제가 생각한 로직으로 계산기를 만들어봤습니다. 아마 로직이 안 좋을지도 모르지만, 공부를 하는게 목적이었어요. * npm이 설치되어 있다는 전제로 설명할게요~ 필요한 의존성으로는body-parser : json형태로 데이터를 주고받기 위해서!ejs: 웹 강의를 듣던 프로젝트에서 바로 올려 만든거라서... 딱히 여기서는 필요없어 보이지만 사용해보기로!..
-
DTO(혹은 VO)를 상속 받아서 사용할 경우 주의할 점!프로그래밍 언어/자바 & 코틀린 2018. 9. 18. 20:48
오늘 업무에서 배운 점은 DTO(혹은 VO)를 사용할 때이다. * 여기서 DTO는 Data Transfer Object(데이터 전송 객체), VO는 Value Object(값 객체)를 의미하는데, 둘 다 프로세스 간에 데이터를 전달하는 객체로 이해하면 된다. 단, VO는 Read Only라는 차이점이 있다. DTO간에 상속을 받아서 부모 DTO의 객체도 함께 쓰려고 할 때 주의할 점을 배웠다. DTO 형태로 파라미터를 던지는데, XML쪽에서 에러를 계속해서 뱉었다. 로그에서 parameterType은 DTO형태인데 HashMap이 넘어온다고 말했다. 우리 본부는 DAO에서 공통된 클래스에서 sqlSession을 맺고 끊으면서 DML(select, update, insert, delete)을 위한 메서드를..