본문 바로가기

개발171

[Javascript] Date() 자바스크립트의 Date() 객체는 시간의 한 점을 플랫폼에 종속되지 않는 형태로 나타낸다. Date() 객체는 1970년 1월 1일 UTC(협정 세계시) 자정과의 시간 차이를 밀리초로 나타내는 정수 값을 담고 있다. 아래는 Date()를 활용할때 가장 많이 사용하는 방법을 정리해 보았다. 생성자 Date() 객체는 클래스 이기 때문에 생성자 호출을 통해 객체를 생성한다. 이때 생성자에 어떠한 인자를 넣느냐에 따라 객체를 통해 얻어 낼 수 있는 시간 데이터가 달라진다. new Date(); new Date(value); new Date(dateString); new Date(year, monthIndex); new Date(year, monthIndex, day); new Date(year, monthIn.. 2023. 12. 8.
[Javascript] 3항 연산자 활용 기준 관리 화면에 아래와 같이 시작시간과 종료시간을 추가해 달라는 요청을 받았다. 단순히 위 그림과 같이 '시작시간'과 '종료시간'을 입력(선택) 받아 저장하면 좋겠지만 입력받은 값이 제대로 되어 있는지 체크까지 해줘야 하는게 우리의 일이다. 오늘은 그 과정을 풀이해보려고 한다. 특정 날짜를 지정 위 그림을 보면 알겠지만 특정 날짜를 입력 받는 것은 아니고, 단순히 '당일'/'익일'만 선택 할 수 있도록 되어 있다. 시간과 날짜를 계산하기 위해서는 임의라도 날짜가 필요하다. 따라서 날짜는 아래와 같이 고정 하였다. 당일 : 1970.01.01 익일 : 1970.01.02 이미 눈치챈 사람도 있을 것이다. 1970년 01월 01일은 timestamp의 시작 날짜이다. 이제 위에 식을 코드로 짜보자 let .. 2023. 12. 8.
[Javascript] GPS 좌표상 거리 계산 방법 function calcDistance(locLat, locLng, myLat, myLng){ const earth_r = 6371; //지구 반지름(km) const dLat = deg2Rad(myLat - locLat); const dLng = def2Rad(myLng - locLng); const a = Math.sin(dLat/2) * Math.sin(dLat/2) + Math.cos(deg2Rad(LocLat)) * Math.cos(deg2Rad(myLat)) * Math.sin(dLng/2) * Math.sin(dLng/2); const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a)); const distance = earth_r * c; return d.. 2023. 12. 1.
[Tip of the Day] IntelliJ : Compare archives Compare archives To compare two .jar , .zip or .phar archives or even files inside an archive, select them in the Project tool window and press Ctrl D . The Compare Archives feature is integrated with the Java bytecode decompiler and allows you to see what exactly has changed between two different versions of a library. 2023. 11. 30.
[Javascript] 8자리 날짜형식 문자열에 포멧 적용하기 서버나 다른 화면으로 부터 '20231121' 과 같은 8자리 문자열을 리턴 받았다. 이 데이터를 화면에 그대로 보여주기 보다는 '년.월.일' 혹은 '년/월/일' 하는 형식으로 포멧을 적용해 보여주는 것이 사용자 경험에 중요한 역활을 할 것이다. 이런 데이터가 수시로 넘어 올 것이기 때문에 아래와 같이 함수를 만들었다. function formatByYmd(ymd){ return ymd.replace(/(\d{4})(\d{2})(\d{2})/, '$1.$2.$'); } 이제 서버에서 '20231121' 과 같은 데이터가 넘어오면 이 함수를 통해 '2023.11.21'로 바뀌게 될 것이다. 만약 구분자를 '/' 나 '-' 같은 형식으로 변경하고 싶다면 replace의 두 번째 인자인 '$1.$2.$3'을 .. 2023. 11. 21.
[Tip of the Day] IntelliJ : Use color for data sources Use colors for data sources You can use colors to distinguish between your data sources and their elements. To set a color to a data source or its object, right-click the element in the Database tool window ( View | Tool Windows | Database ) and select Tools | Set Color. 2023. 11. 15.
[JAVA] enum 사용 상수를 사용하는 이유 개발을 하다 보면 여러가지 설정 값들이 특유의 코드로 설정되는 경우가 많다. 가령 월요일은 '1', 화요일은 '2'...... 일요일은 '0' 하는 식이다. 코드에서는 '1', '2' 같은 코드만 바라본다. 아래와 같이 해당 코드를 처음 보는 사람은 그 의미를 쉽게 알 수 없다. if( "1".equals(days)){ //todo } 하지만 이것의 코드에 의미를 부여 하면 처음 코드를 보는 사람들도 그 의미 쉽게 파악 할 수 있다. public static final int MON = "1"; ... //나머지 요일 생략 if(MON.equals(days)){ //todo } 한줄이 더 추가되긴 했지만 코드는 더 가독성이 높아져 쉽게 의미를 파악 할 수 있게 되었다. 코드는 무조건.. 2023. 11. 10.
[Tip of the Day] IntelliJ : Inspect Code Inspect code Use Code | Inspect Code to run code analysis for the whole project or a custom scope and examine the results in a separate window. 2023. 11. 8.
[Tip of the Day] IntelliJ : Camel case in search Everywhere Camel case in Search Everywhere Use camel case in the Search Everywhere popup (double Shift ) to filter the list of results when searching for a class, file, or symbol. 2023. 11. 7.
[Tip of the Day] IntelliJ 에서 오라클 프로시저 로그 테스트 하는 방법 IntelliJ 에서 오라클 DB에 붙어 프로시저 테스트 시 로그를 출력 할 수 있는 방법을 알아 본다. (IntelliJ 에서는 프로시저 디버깅이 안된다.) 프로시저의 로그는 DBMS_OUTPUT.PUT_LINE() 함수를 사용하는 것이다. 우선 프로시저에 원하는 위치에 DBMS_OUTPUT.PUT_LINE() 함수를 삽입니다. DBMS_OUTPUT.PUT_LINE("출력하고 싶은 데이터 :" || 변수); 변수의 값과 문자열을 파이프( || ) 기호로 묶어서 쓸 수 있다. 그리고 DB console 창에 DECLARE - BEGIN - END 형식으로 프로시저를 호출한다. DECLARE O_ERRORCODE VARCHAR2(1000); O_ERRORMESG VARCHAR2(1000); BEGIN P_.. 2023. 11. 1.
[Tip of the Day] IntelliJ : Override methods Override methods You can easily override methods of the base class by pressing Ctrl O (Code | Override Methods). To implement methods of the interfaces (or of the abstract base class) that the current class implements, press Ctrl I (Code | Implement Methods). 2023. 10. 6.
[Tip of the Day] IntelliJ : Code generation Code generation IntelliJ IDEA can generate getter and setter methods for fields in your class. With the caret inside the class, press Alt Insert (Code | Generate). 2023. 10. 5.