반응형

소수점의 올림, 버림, 반올림이 필요할 때는 표준 내장 객체인 Math를 사용합니다.

물론 Math객체 외에도 여러가지 방법이 있지만 Math객체를 사용하는 것이 편합니다.

Math객체는 이밖에도 30여가지의 메소드를 포함하고 있어 소수점 외에 다른 수학적 처리를 위해서도 많이 사용되는 객체입니다.

 

소수점과 관련된 메소드는 다음과 같습니다.

 

Math.ceil( x )     : 올림. 인수보다 크거나 같은 수 중에서 가장 작은 정수를 반환합니다.
Math.floor( x )   : 버림. 인수보다 작거나 같은 수 중에서 가장 큰 정수를 반환합니다.
Math.round( x ) : 반올림. 숫자에서 가장 가까운 정수를 반환합니다.


아래 리스트는 mozilla에서 제공하는 MDN Web Doc에 나오는 Math객체의 메소드 리스트입니다. 참고하세요.

  1. Math.abs()
  2. Math.acos()
  3. Math.acosh() (en-US)
  4. Math.asin() (en-US)
  5. Math.asinh() (en-US)
  6. Math.atan() (en-US)
  7. Math.atan2() (en-US)
  8. Math.atanh() (en-US)
  9. Math.cbrt()
  10. Math.ceil()
  11. Math.clz32() (en-US)
  12. Math.cos() (en-US)
  13. Math.cosh() (en-US)
  14. Math.exp()
  15. Math.expm1() (en-US)
  16. Math.floor()
  17. Math.fround()
  18. Math.hypot() (en-US)
  19. Math.imul()
  20. Math.log()
  21. Math.log10() (en-US)
  22. Math.log1p() (en-US)
  23. Math.log2()
  24. Math.max()
  25. Math.min()
  26. Math.pow()
  27. Math.random()
  28. Math.round()
  29. Math.sign()
  30. Math.sin()
  31. Math.sinh()
  32. Math.sqrt()
  33. Math.tan()
  34. Math.tanh()
  35. Math.trunc()
반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형

JSON.stringify(object, replacer, indent)

  • 1번째 인자: object - 변환할 객체.
  • 2번째 인자: replacer - 함수를 이용해서 필터로 사용.
                   모든 객체를 변환할 경우는 생략해도 되지만, 3번째 인자를 사용하기 위해서는 null을 입력합니다.
  • 3번째 인자: indent - 들여쓰기 space 갯수

아래 예제를 참고하세요.

첫번째 예제는 object만 변환한 예제이고,
두번째 예제는 들여쓰기는 하고 replacer는 사용하지 않은 예제, 그리고 마지막
세번째 예제는 replacer를 사용한 예제입니다.

 

( 예제1: object만 변환 )

// 객체 생성
const students = []
students.push({ 이름: '봄이', 국어: 87, 영어: 88, 수학: 89 })
students.push({ 이름: '여름이', 국어: 85, 영어: 81, 수학: 95 })
students.push({ 이름: '가을이', 국어: 67, 영어: 85, 수학: 80 })

// 출력
console.log(JSON.stringify(students))

 

( 예제1 결과 )

[{"이름":"봄이","국어":87,"영어":88,"수학":89},{"이름":"여름이","국어":85,"영어":81,"수학":95},{"이름":"가을이","국어":67,"영어":85,"수학":80}]

 

 

( 예제2: 들여쓰기는 하고 replacer는 미사용 )

// 객체 생성
const students = []
students.push({ 이름: '봄이', 국어: 87, 영어: 88, 수학: 89 })
students.push({ 이름: '여름이', 국어: 85, 영어: 81, 수학: 95 })
students.push({ 이름: '가을이', 국어: 67, 영어: 85, 수학: 80 })

// 출력
console.log(JSON.stringify(students, null, 2))

(예제2 결과)

[
  {
    "이름": "봄이",
    "국어": 87,
    "영어": 88,
    "수학": 89
  },
  {
    "이름": "여름이",
    "국어": 85,
    "영어": 81,
    "수학": 95
  },
  {
    "이름": "가을이",
    "국어": 67,
    "영어": 85,
    "수학": 80
  }
]

 

( 예제3: replacer를 사용한 예제 )

// 객체 생성
const students = []
students.push({ 이름: '봄이', 국어: 87, 영어: 88, 수학: 89 })
students.push({ 이름: '여름이', 국어: 85, 영어: 81, 수학: 95 })
students.push({ 이름: '가을이', 국어: 67, 영어: 85, 수학: 80 })

// replacer로 사용할 함수 선언
// value가 string인 key를 필터링
// 즉, 이름key의 value는 문자열이기 때문에 제외하고, 나머지 국영수 만 출력
function replacer(key, value){
  if(typeof value === 'string'){
    return undefined;
  }
  return value;
}

// 출력
console.log(JSON.stringify(students, replacer, 2))

 

( 예제3 결과 )

[
  {
    "국어": 87,
    "영어": 88,
    "수학": 89
  },
  {
    "국어": 85,
    "영어": 81,
    "수학": 95
  },
  {
    "국어": 67,
    "영어": 85,
    "수학": 80
  }
]
반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형

취소 입력 방법은 메뉴를 통해서 하는 방법과 단축키를 통해서 하는 방법이 있습니다.

 

[ 메뉴를 이용한 방법 ]

취소 선은 서식창의 글꼴탭에 있습니다.

서식창을 여는 방법이 3가지 있습니다.

1. 원하는 셀에서 클릭한 서식(F)...”메뉴를 선택합니다.

2. 리본메뉴 중에서 글꼴 표시단추를 클릭합니다.

3. 단축키 [ Ctrl + 1 ] 클릭한다.

 

위의 방법으로 서식창이 나타나면 글꼴탭의 효과중에서 취소 선 체크박스를 체크합니다.

 

 

[ 단축키를 이용한 방법 ]

취소 선 입력의 단축키는 [ Ctrl + 5 ] 입력합니다.

 

엑셀 취소 선 입력법 그리고 단축키
엑셀 취소 선 입력법 그리고 단축키

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형

엑셀에서 오늘 날자를 입력하는 단축키를 소개합니다.

 

Ctrl + ;

 

컨트롤과 세미콜론을 함께 누르면 됩니다.

 

너무 간단하죠. ㅋ

 

엑셀 날짜 입력을 단축키로 하기
엑셀 날짜 입력을 단축키로 하기

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형
git의 기본 에디터를 vim에서 다른 에디터로 바꾸는 방법에 대해 알아보겠습니다.

 

 

Git을 설치하면 기본 편집기가 vim으로 설정됩니다.

리눅스 사용자라면 익숙하지만 윈도우 사용자라면 좀 마~~~니 낯설게 느껴집니다. ㅠ.ㅠ

심한 경우 어떻게 빠져나와야 되는지도 모르는 경우가 있습니다.

그래서 이번에는 Git의 기본 편집기를 최근 많이 사용되는 VSCode로 바꾸는 방법에 대해 알아 보겠습니다.

 

$ git config --global core.editor “code --wait"

Nodepad++ 로 변경하려면 다음과 같이 에디터 이름 부분만 바꿔 주면 됩니다.

$ git config --global core.editor “notepad++"

그런데 마지막의 에디터 이름이 들어가는 부분을 보면 vscode의 경우 조금 예상 밖입니다.

이렇게 에디터에 따라서 이름이 다른 경우가 있으니 위에서 설명한 두가지 외에 다른 에디터를 사용하는 경우라면 주의해 주세요.

 

다른 에디터를 사용하시는 개발자라면 변경 후 성공한 에디터 명을 댓글로 남겨 주시면 많은 분들이 도움이 될 것 같습니다.  ^ㅁ^

Git의 기본 편집기를 바꾸자
Git의 기본 편집기를 바꾸자

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형

1. Gitflow 초기화

먼저 Git으로 초기화하지 않아도 git초기화가 되기 때문에 gitflow 초기화만 하면된다.

명령을 실생하면 branch이름을 물어보는데 변경하지 않고 그대로 사용할 경우 enter키를 누르면 된다.

초기화와 동시에 develop branch로 checkout된다.

$ git flow init

 

2. Feature

새로운 기능의 개발은 develop에서 분기된 feature에서 시작한다.

$ git flow feature start [Branch_Name]

기능 개발이 끝나면 Feature를 종료한다.

이 작업을 수행하면 Feature Branch가 devlop로 merge되고 develop로 chackout된다.

현재 작업 중인 feature를 종료할 경우는 [Branch_Name]을 써주지 않아도 된다.

$ git flow feature finish [Branch_Name]

 

3. Release

새 버전 출시 전 준비 과정으로 메타 데이터, 버그 수정 등을 수행한다.

develop에서 release branch를 생성한다.

$ git flow release start <version>

release가 완료되면 release version으로 tag를 달고, main과 develop branch로 동시에 merge되며 release branch는 삭제 된다. 초기화 실행때 version접두어를 입력한 경우 숫자만 입력하면 된다.

release가 완료되기 직전 tag message가 vi 화면에 나타난다. 편집 후 저장하면 완료된다.

여기서 작성한 내용이 merge commint message에 추가된다.

$ git flow release finish <version>

태그는 별도로 push해 준다.

$ git push --tags

※ push할 때는 main으로 checkout되었는지 확인할 것!

 

5. Hotfix

출시된 버전에 문제가 발생하면 main branch에서 hotfix branch를 분기한다.

다음 명령은 현재 위치와 상관없이 main으로 checkout 후에 hotfix branch를 분기한다.

이 때 은 hotfix버전으로 v x.x.o의 o부분을 +1하여 작성한다.(유의적 버전관리 참고)

$ git flow hotfix start <version> [BASENAME]

hotfix를 완료하면 main과 develop branch로 merge된다.

종료 전에 반드시 commit을 해야 한다. version는 써주지 않아도 된다.

release때와 마찬가지로 완료되기 직전 tag message가 vi 화면에 나타난다. 편집 후 저장하면 완료된다.

여기서 작성한 내용이 merge commint message에 추가된다.

$ git flow hotfix finish <version>

Git Flow 사용법
Git Flow 사용법

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형

 

  • 터미널에서 직접 수정하는 방법

 

$ git commit --amend -m "commit_message"

 

  • 에디터(vi)로 수정하는 방법

 

$ git commit --amend

 

  • remote에 push되어 있는 상태라면
$ git push --force
or
$ git push -f

 

마지막 commit 내용 수정 방법
마지막 commit 내용 수정 방법

 

 

 

 

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,
반응형
(주의) 만일 충돌 해결 후에도 WSL2는 계속 사용하길 원할 경우 이 방법을 추천하지 않습니다.

 

WSL2에 docker 설치 후 Virtual Box 와 충돌이 일어나는 경우가 있다.

충돌이라고는 하지만 docker는 정상 동작을 하고, Virtual Box의 VM들이 부팅되지 않는 경우이다. 자료를 찾다보니 Virtual Box가 동작하지 않는 경우도 있는 것 같다.

어쨋거나 이런 오류는 Hyper-V때문에 발생하는 것으로 Hyper-V관련 설정을 제거 하면 Virtual Box가 정상 동작한다.

다만 이경우 docker는 사용하지 못한다.

필자의 경우는 docker는 WSL2 테스트 용이었고 Virtual Box사용이 빈번하기 때문에 윈도우에서는 docker 를 제거하기로 했다.

앞으로 docker는 Ubuntu VM에 설치해서 사용할 계획이다.

 

Hyper-V관련 설정 제거 방법은 다음과 같다.

 

1. 터미널을 관리자 권한으로 실행한다.

2. 다음 명령을 실행한다. 만일 리부팅 여부를 물으면 우선 N은 선택하고 다음 명령까지 실행한 후 리부팅을 하도록 한다.

>dism.exe /Online /Disable-Feature:Microsoft-Hyper-V

3. 다음 명령을 실행한다. 다음과 같이 "작업을 완료 했습니다."라는 메시지를 확인한 후 시스템을 리부팅한다.

명령 실행 후 화면

>bcdedit /set hypervisorlaunchtype off

두번째 명령 실행 후 화면

 

리부팅이 끝나면 Virtual Box의 VM들은 정상적으로 사용이 가능하다.

그리고 docker는 Hyper-V관련 오류 메시지를 뛰우고 실행되지 않는다.

이제 docker를 삭제하면 된다.

이때 WSL2를 통해 설치한 Linux도 정상 동작하지 않는 경우가 있다. 그런 경우는 Linux를 삭제한 후 다시 설치해도 마찬가지이다. 계속해서 WSL2를 사용할 예정이면 이런 방법은 권장하지 않는다.

 

반응형
블로그 이미지

DeveloperN

개발자 n의 개발 이야기(draft)

,