2020. 8. 31. 15:12

angular Date값이 UTC값으로 등록되어 있는데, 

Front단에서 보여줄때는 YYYY-MM-DD로 보여주고 싶을때,

 

                <ng-container matColumnDef="createdDate">
                    <th class="text-sm" mat-header-cell *matHeaderCellDef>createdDate</th>
                    <td class="text-sm" mat-cell *matCellDef="let data"> {{ data.createdDate | date:'yyyy-MM-dd' }} </td>
                </ng-container>

 

createdDate값이 

2001-10-31T15:00:00.000Z 

로 되어 있는것을 프론트에서 보여주는 방법은,

{{ data.createdDate}}

위 부분을 아래처럼 바꿔주면 된다.

{{ data.createdDate | date:'yyyy-MM-dd' }}

원하는 포멧으로  yyyy년도, MM월, dd 일 이렇게 표시하면 된다.

Posted by Tyson
2020. 8. 31. 14:04

달력을 사용하기 전에, module에 아래 4개를 추가해 줘야한다.

MatInputModule,

MatDatepickerModule,
MatNativeDateModule,
MatMomentDateModule,

@NgModule({
    declarations: [
        testComponent
    ],
    imports     : [

        MatInputModule,
        MatDatepickerModule,
        MatNativeDateModule,
        MatMomentDateModule,
    ],
    providers: [
        { provide: MAT_DATE_LOCALE, useValue: 'ko-KR' },
        { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },
    ]
    
})

 

 

 Angular Meterial 사이트 에 가면, 데이트 피커 사용법이 아래처럼 되어있다.

 

<mat-form-field appearance="fill">
  <mat-label>Choose a date</mat-label>
  <input matInput [matDatepicker]="picker">
  <mat-datepicker-toggle matSuffix [for]="picker"></mat-datepicker-toggle>
  <mat-datepicker #picker></mat-datepicker>
</mat-form-field>

<https://material.angular.io/components/datepicker/overview>

근데, 나는 보통 달력들처럼 input 박스  클릭하면, 달력을 뜨게하고, 

MM/DD/YYYY 방식이 아닌, 

YYYY/MM/DD로 하고 싶고... input 누르면 바로 달력이 떴으면 좋겠고..

가져온 Date값이 달력에 뜨면 좋을거 같은데...너무 복잡하더라...

ㅠㅠㅠ

 

1. 내 Data로 달력부분에 보이게 하기

2. 숫자 부분(input) 눌렀을때, 달력 뜨게...

3. MM/DD/YYYY를 YYYY/MM/DD로 바꾸기

 

위 3개가 달력을 적용하는데 필요했다.

 

먼저 위 코드를 이해해야하는데....

input, mat-datepicker-toggle, mat-datepicker에 사용하는, "picker"라는게...먼지 몰라서...바꿨다가..안되는거였다.

저거는 ID값으로, 위 3개가 같은거라는것을 표시해 주는거다.

그래서 같은 값을 적어줘야한다. 나는 datepicker라는 id값으로 지정했다.

그리고,  2번 클릭했을때, 달력뜨게는 input 태그 부분에 (click)="datepicker.open()" 를 넣었다.

datepicker를 열어라는 거다.

 

1번 내 data부분 보이게 하려면, 

[(ngModel)]="noticeDoc.expiredDate"

ngModel 부분에 noticeDoc의 expiredDate값을 가져오라고 되어있다. 

내 date 값은 utc값으로 2020-11-03T00:00:00.000Z  처럼 들어가있다.

datepicker가 알아서 날짜 변환해서 달력으로 보여준다.

            <mat-form-field class="treo-mat-no-subscript w-full" >
              <mat-label>expiredDate</mat-label>
                  <input matInput [matDatepicker]="datepicker" formControlName="expiredDate" (click)="datepicker.open()" [(ngModel)]="noticeDoc.expiredDate" >
                  <mat-datepicker-toggle matSuffix [for]="datepicker"></mat-datepicker-toggle>
                  <mat-datepicker #datepicker ></mat-datepicker>
            </mat-form-field>

 

그리고, formControlName부분은 저장할때 form값 넘길때 이름이다.

 

그 다음 3번 date 포멧이다...이부분이 좀 복잡한데..

 

module.ts 파일에 넣어줘야한다.

export const MY_FORMATS = {
    display:{
        dateInput: 'YYYY/MM/DD',
        monthYearLabel : 'MMM YYYY',
    }
}

@NgModule({
    imports: [
        MatDatepickerModule,
    ],
  declarations: [DetailDialogComponent],
  providers: [
    DetailDialogService,
      {provide:MAT_DATE_LOCALE, useValue:'ko-KR'},
      {provide:MAT_DATE_FORMATS, useValue:MY_FORMATS}
  ],
  exports: [DetailDialogComponent],
  entryComponents: [DetailDialogComponent],
})
export class DetailDialogModule {}

Providers에 

{provide:MAT_DATE_LOCALE, useValue:'ko-KR'} 를 

넣으면, 포멧이 YYYY.MM.DD.로 바뀐다. 

하지만 내가 원한건, YYYY/MM/DD로 보이는거였다. 

그래서 월, 요일은  한글로 나오기를 원해서, ko-KR 그대로 두고,

혹시, 영어로 나오길 원하면, 그냥 지우던지(default 영어임), 아니면, en-US 로 바꾸면 된다.

또는 en-KR로 먹힌다.

 

여튼, locale부분은 그냥 두고, 위에 FORMAT const를 새로 만들었었다.

MY_FORMATS = {
    display:{
        dateInput: 'YYYY/MM/DD',
        monthYearLabel : 'MMM YYYY',
     }
}

여기서 dateInput은 내가 원하는 포멧이고,

monthYearLabel은 지정안하면, 아래처럼 date 데이터값 그대로 보인다.

monthYearLabel은 달력에서 달,연도가 보이는 양식이다. MMM은 lacale에 맞게 달이 보이는거다.

한글은 11월, 영어는 NOV 이렇게...

위 방법을 보고 싶으면 아래 링크 참조,

https://momentjs.com/docs/#/displaying/format/

 

M 1개만 쓰면 숫자만, 

MMM은 Jan, 줄임말

MMMM은 January 처럼 전체로 나오게 할 수 있다.

 

이정도만 되면, 내가 원하는 달력 이용법은 가능하다.

 

추가적으로 Input입력이 안되게 하려면,

https://material.angular.io/components/datepicker/overview

위 링크에서 disabling part 부분을 보면, input 입력 안되게 하는법이 있다.

 

 

Posted by Tyson
2020. 8. 20. 16:15

LG폰 V50S를 맥에서 연결해서 파일 복사하려고,  Android File Transfer를 이용해서, 내부sdcard에 접속했는데...

갑자기 안되는거다.

 

"안드로이드 기기를 찾을 수 없음" 이라고 계속뜨고......

 

다른  안드로이드 폰은 되는데, LG폰만 안되는거다.

 

이게...백업해본다고, LG Bridge 라는 프로그램을 설치했는데, 이게 문제였다.

 

LG Bridge 프로그램 절대 설치하지 말시길.....

 

이런 쓰레기 프로그램을.....아니면, uninstall 기능이라도 제대로 만들던가.....

 

LG Bridge 프로그램과, Android File Transfer는 같이 사용할 수가 없단다.

 

LG Bridge 프로그램을 설치하면서, 엘지폰 USB Driver를 설치하는데, 이게 앞으로 이 폰이 연결되면, LG Bridge만 쓰게 해놓은거다.

 

그래서 프로그램을 지우면 되야되는데... 지울때도, LG Bridge.pkg 설치 옆에 있는 Uninstall로 지우라고 한다.

근데, 저걸로 지워도, 여전히 Android Transfer에서는 연결이 안되다.

 

그래서 진짜, 라이브러리 뒤져서 다 지우고, 캐쉬지우고 별짓을 해도 안된다.

 

여기서 하는 법을 알려주겠다.

 

먼저 "Spotlight" 검색에서 터미널을 검색해서 실행한다. 

명령어 라인에 아래꺼를 쳐라.

cd /Library/Extensions
open . 

cd Library/Extensions 는 폴더로 이동한거고, 

open . 는 파인더로 폴더를 열어준다.

 

그리고, 파일 목록을 보면, 

아래처럼 "lgandroid_" 로 시작하는 파일들이 보일거다. 

그냥 싹 다 지워버리면 된다.

다 필요없다.

 

그리고, 꼭 재부팅 해야된다.

 

진짜..이거 때문에 몇시간 버린거 생각하면...

 

좀 더 까자면....폴더형으로 보는게 편한데....

 

LG Bridge라는 프로그램은 주소록,사진,메모, 이런거 클릭해서 백업할 수 있게 해주는데...

 

이게.. 도큐멘트 폴더에 ../LG Bridge/Backup/LGBackup_200000_000000.lbf 란 한 파일로 저장된다.

 

복구할때도 꼭 Bridge 프로그램을 써야된다.

 

그냥 쓰레기.... 이거 만든 사람은... 좀 더 고민해봐야한다...

 

Mac 전문 개발자가 아니고, 윈도우 개발자가 대충 공부해서 만든듯....ㅠㅠ

 

여튼, 절대 LG Bridge 프로그램은 깔지마라...

 

백업할거면....클라우드로 백업하는게 제일 낫다...

Posted by Tyson
2020. 7. 21. 12:50
[ERROR] An error occurred while running subprocess cordova-res.
        
        cordova-res exited with exit code 1.

아이오닉 앵귤러 안드로이드 스튜디오에서 열려고 하는데, 계속 위 같은 에러가 떠서....

찾아봅니..

위에 

[cordova-res] /Users/tyson/.nvm/versions/node/v12.14.0/lib/node_modules/cordova-res/node_modules/sharp/lib/constructor.js:34
[cordova-res]   throw new Error(error);
[cordova-res]   ^
[cordova-res] 
[cordova-res] Error: 
[cordova-res] Something went wrong installing the "sharp" module

 이런 에러가 있다.. sharp가 설치가 안되다고...

아.....yarn install로 다 설치해도 안되다..

 

cordova-res를 삭제하고 다시 실행하니까 된다.

npm uninstall -g cordova-res

npm i -g cordova-res

다시 설치 하니까.

 

/Users/tyson/.nvm/versions/node/v12.14.0/bin/cordova-res -> /Users/tyson/.nvm/versions/node/v12.14.0/lib/node_modules/cordova-res/bin/cordova-res

> sharp@0.25.4 install /Users/tyson/.nvm/versions/node/v12.14.0/lib/node_modules/cordova-res/node_modules/sharp
> (node install/libvips && node install/dll-copy && prebuild-install --runtime=napi) || (node-gyp rebuild && node install/dll-copy)

info sharp Using cached /Users/tyson/.npm/_libvips/libvips-8.9.1-darwin-x64.tar.gz
+ cordova-res@0.15.1
added 96 packages from 173 contributors in 6.514s

위처럼 설치되고, 이제 yarn cap이 먹힌다...ㅠㅠ

Posted by Tyson
2020. 7. 15. 16:51

대부분 Ionic vs React Native 에 관한 글만 있어서, Ionic은 당연히 Angular인줄 알았다.

근데, 오늘 Ionic 사이트 가서 보니, Angular, React 2개가 뜨길래 찾아보니,

2019년 10월 14일에 Ionic에서도 Ionic React를 발표한거 같다.

 

Ionic React 란...

Ionic React는 Ionic Freamework의 native Reaact 버젼이다.

 

Ionic은 처음에 Angular기반만 서비스 하다가, React도 추가한거고, 

React 개발 패턴, react-dom라이브러리 및 웹 플랫폼를 지원한다.

그리고, Cordova 엔진 말고, Capacitor 엔진에서 실행된다.

위 엔진은 iOS, Android, Electron 및 웹에서 프로그레시브 웹 앱으로 하나의 앱을 배포 할 수있다.

 

Ionic React의 장접을 간단히 정리하면, 

  • React Native : "한번 배우고, 어디에서나 쓰기", iOS 및 Android 앱스토어 앱만 지원하는 UI 라이브러리

  • Ionic : "한번쓰기, 어디에서나 실행", Progressive Web App 기술 사용, iOS, Android, Electron 및 웹

Ionic은 반응형 웹 디자인, CSS를 사용하여, 모든 풀랫폼에서 동일한 UI를 실행 할 수 있고,
React Native는 개발자가 각 플랫폼에 맞게 화면을 구축해야하는거 정도이다.

 

기존 React Native는 실제 브라우저 환경이 아니기 때문에 표준 CSS, HTML 및 DOM 기술을 사용할 수 없지만, 

Ionic React 앱은 React 웹 앱이므로, 에뮬레이터 또는 장치에서 실행할 필요 없이, 브라우저 디버깅 환경에서 개발 할 수 있는 장점이 있다.

 

 

Ionic React 시작하기

ionic start my-react-app

그리고 인제 아이오닉 새 프로젝트를 시작하면, 

아래처럼 Angular로 할지, React로 할지 선택하면 된다.

 

그 다음으로, 빈프로젝트, 사이드메뉴있는거, 탭있는거, 모든 기능이 있는 템플릿을 선택할 수 있다.

 

그리고, 서버 실행 하면 된다. 

ionic serve

 

그러면 서버가 실행 되면서, 브라우저가 뜬다.

아래 사진은 conference 버젼으로 설치한 템플릿인데, 

대박이다!!

그냥 필요한 기본 메뉴, 탭 등 쓸만한것들이 다 있다.

이거만 수정해도, 엄청 빠를듯~ 

 

기본 폴더 구조는 아래와 같고,

Angular가

ts, html, scss 파일로 되어 있었다면,

Ionic React는 tsx 파일에 html 및 ts코드까지 다 같이 있다.

 

나도 아직 잘 모르겠지만,

아직 Ionic React는 정보가 별로 없다. 대부분 React Native만 많이 해서, Ionic은 앵귤러만 있다고 아는 사람도 많고,

Ionic React가 나을지, React Native 또는 Ionic Angular가 나을지는 더 경험해 봐야겠다~

 

참고 사이트

https://ionicframework.com/blog/announcing-ionic-react/

https://ionicframework.com/resources/articles/ionic-react-vs-react-native

 

'컴퓨터 > App' 카테고리의 다른 글

XCode 캐쉬(cache) 지우기  (0) 2020.09.18
Posted by Tyson
2020. 6. 25. 21:39

항상 많이 듣는 질문이다. 

"개발하고 싶은데 머 부터 배워야 할까요?"

"요즘 파이썬이 핫하다는데, 그거 배우면, 저도 코딩할수있을까요?"

"개발자면 앱 만들수 있지 않나요?"

"요즘 코딩교육이 핫하다는데, 머부터 배울까요?"

"파이썬 책 사서 보면 되나요?" 등등...

 

결국 파이썬이나, 코딩교육이 중요하다는 거는 코드를 짜는 것보다, 로직을 생각하는 사고를 기르라는 말이다.

code.org라느 코딩교육 사이트에 가면,

첫 페이지가 빌게이츠, 마크주크버그, 오바마(지금은 없음. 처음에 생겼을때는 오바마 인터뷰 영상도 있었음)

많은 셀럽들이 코딩교육의 중요성에 대해서 이야기 한다.

https://code.org/

셀럽들 영상(코딩의 중요성)
스티브 잡스

"이 나라에 살고있는 모든 사람은 컴퓨터 프로그래밍을 배워야 한다.. 프로그래밍은 생각하는 방법을 가르쳐주기 때문이다." -스티브 잡스-

 

위 문구가 영상 제일 앞에 나온다.

 

이것처럼 코딩을 배워야 한다는 의미는 생각하는 방법, 즉, 로직적인 사고력 늘어난다는 말이다.

 

우리가 수학을 왜 배워야 되냐고 이야기 하는것 처럼, 프로그래밍도, 수학처럼 논리적 사고를 기를수있다는 말이다.

 

(우리나라야, 나중에 코딩 입시학원처럼, 기출문제만 뽑아서 가르치겠지만....._)

 

내가 이 포스팅을 쓰는 이유는 "코더VS 프로그래머"포스팅에 누가 남겼던 글을 보고, 든 생각에 포스팅으로 남긴다.

 

코더나 프로그래머나 똑같이 고민하고, 무언가를 만드는 사람들이다.

 

개발자, 디자이너, 기획자, 퍼블리셔 등 한명한명 모두가 같은 중요하다. 그들의 집합체가 프로그램이고, 그들의 생각, 노력이 들어간 예술작품이라고 생각한다.

 

먼저 이 포스트를 보는 개발을 시작하고 싶은 사람들은 머 부터 배워야지 하고 들어 온 사람들일거다.

 

아래 플로우 차트를 보라.

 

옛날 이미지기는 하지만, Objective-C는 스위프트라고 생각하면 될거다.

 

여기에서도 보면, 배우는 목적이 먼지를 제일 먼저 물어본다.

 

돈, 교육, 관심, 재미, 자기개발 등등으로 시작해서, 본인에게 맞는 언어로 간다.

 

위 이미지는 인터넷을 찾으면, 한글로 번역하신 분들도 있으니...나중에 한번 찾아보시는걸로~

 

간단히 정리해주면,

로우레벨코딩(하드웨어관련) : C (제일 기본이라함.. 컴공 첫수업으로 많이하는데, 요즘은 아님)

게임쪽은 C++ (유니티, 언리얼)

앱 안드로이드 : Java

앱 아이폰 : Swift(옛날에 Objective-C) 

하이브리드앱(안드로이드,아이폰 둘다 같이 하고 싶을때) : 이건 종류에 따라 다르지만, 대부분 (JavaScript 기반이 많음)

웹 : PHP, Java, JavaScript 등등....

백단 : Python

 

엄청 많다. 여기에 표기안한, 언어도 많다. 

이걸 다 배운다.....미친거다. 다 배울 필요도 없고.....ㅠㅠ

 

근데, 기본적으로 내가 추천하는 방법은 홈페이지를 먼저 만들어 보라고 한다. 

홈페이지를 배우면서, HTML, CSS, JavaScript 등을 기본으로 배울수있고, PHP나 Java등을 이용해서 아무거나 만들어 보라고 한다.

 

HTML, CSS는 언어가 아니라고 하는 사람들이 있으나, 

이거는 내가 만든 프로그램을 보여주기위한 필수 툴이라고 이야기한다. 

 

만들면 머하나...남들에게 이쁘게 보여줄수가없는데~ 

 

기본 하이브리드 앱도, 웹을 앱으로 만드는거기때문에 HTML, CSS 는 기본으로 들어간다고 보면 된다.

 

그래서 처음 시작하는 사람들에게 로직을 위해 파이썬도 좋지만, 파이썬은 검은 화면에 로직 짜는거부터 배우면, 재미가 없다.

 

근데, 웹은 내가 글씨하나 바꾸면, 웹에서 배경색깔이 바뀐다. 

 

그래서, 처음에 너무 재미있고, 내가 하는 재미가 생기기 때문이다.

 

그리고 웹을 배우면, 기본으로 어떤걸 해도 표현하는데, 쉽기 때문이다.

 

근데, 모든언어들이 작업할때, 로직을 고민해야한다. 이런상황에서는 이렇게 되게 해야하고, 등등 많은 방법들이 있다. 

 

우리가 수학시간에 배우는 함수,  Function은 기본적으로 하나의 선택이 2개의 결과로 갈수 없듯이, 프로그래밍도 비슷하다.

 

예로,  "버튼 1" 를 눌렀는데, 어떨때는 A로 가고, 어떨때는 B로 가고, 그럴수없다는거다.

머... 이런것처럼, 프로그래밍을 하다보면, 로직을 생각하게 되고, 우리가 수학공부의 중요성을 이야기 하듯이, 코딩도 비슷하다고 생각하면 된다.

 

프로그래밍이 대단한게 아니다. 

당신이 밖에서 아이패드로 집에 있는 컴퓨터에 접속해서 만화책을 보고 싶다.

그러면, 그런것을 세팅하고, 만들어서, 외부에서 본인이 원하는것을 볼수있게 만들면, 그게 프로그래밍이다.

 

위 같은거를 만드려면 집 컴퓨터에 서버를 세팅하고, 집 공유기에 포트포워딩을 해서, 외부에서 접속해도 컴퓨터로 들어 갈수있게 세팅해야되고, 등등 할것들이 많다. 

서버세팅도 배워야하고, 네트워트(7Layer)등등 기본 구조에 대해서 알아야한다.

 

하지만, 난 이 모든게 프로그래밍이라고 생각한다. 

누군가의 필요 또는 재미에 의해서 만드는 모든것은 프로그래밍이다.

 

그래서 본인이 개발을 배워보고 처음 하는 사람이라면, 본인이 만들고 싶은거? 또는 왜 개발을 배우고 싶은지 생각해보고,

하고싶은거를 먼저 배워봐라~ 

 

다들 기본으로 C를 배워야한다. 요즘의 기본은 Java다..등등 많은 이야기를 하는데, 그냥 본인이 만들고 싶은거 해봐라.

 

게임을 만들고 싶으면, 스크레치로해도 되고, 빌더박스라는 게임 만들어 주는 툴도 있고, 머든지 하나를 만들어 보는거를 추천한다.

 

게임을 하나 만들면, 홍보 하고 싶어서, 웹페이지를 만들게 되고, 사람들 커뮤니티 사이트를 만들어 주고 싶어서, 웹/앱을 만들고, 앱으로도 만들게 되고, 그렇게 가지치듯이 뻗어 나가는거다.

 

처음에는 언어를 이것도 배우고 싶고, 저것도 배우고 싶고, 다 배워보고 싶은게, 초보개발자의 심리이다.

 

한국에서는 정부지원교육기관에서 자바를 추천하고 많은 교육을 해주지만, 자바는 내가 보기에 처음하는 사람들에게 어렵다.

 

난 러닝커브가 좋은 언어를 추천한다.

 

그래서 PHP로 웹한번 만들어보라고 한다. PHP가 러닝커브는 진짜 좋다.(크게 설명 없어도 코드만 보고 분석을 할수있다고 생각한다.)

 

그러다가 어느정도 눈에 들어오고 관심이 생기면, 다른 언어를 배우는 안목이 생긴다고 생각한다.

 

그리고, 한개 언어를 어느정도까지 할 수 있게 되면, 다른언어도 눈에 들어오게 되고, 배우지 않아도, 분석하고 따라서 쓸 수 있는 레벨이 된다.

 

그러면, 배우지 않은 언어도 어느정도 수정할 수있게 된다.

 

그렇기 때문에 언어에 너무 구애받지 말라고 하는거다. 

 

모든지, 내가 원하는 아웃풋이 나오면 되는거다. 

 

홈페이지 가서, "이거 멀로 만들었을까" 생각하는 사람이 얼마나 될까? 

 

"이 버튼은 여기 말고, 좀 더 밑에 있었으면 좋겠네..", "이 사이트는 다른데보다 좀 불편하네.." 라고 생각하는 사람들은 좀 있을거다.

 

결국 언어는 중요한게 아니다.  발로 만들었어도, 빨리 만들고,

 

내가 잘 만들 수 있으면, 그게 최고의 언어다. 

고민할 시간에 만들고 싶은거 만들고, 그거 만드는 방법을 찾다 보면, 본인에게 맞는 언어를 찾게 될것이다.

만들고 싶은게 없는데, 코딩은 배우고 싶으면, 본인 홈페이지부터 하나 만들어 봐라~!

그러다 보면, SNS링크도 만들고 싶어 질거고, 글도 쓰고 싶어 질거고 그러다 보면, 이거저것 찾으면서,

자연스럽게 프로그래머가 되어 있을거다.

 

Posted by Tyson
2020. 4. 3. 17:49

13인치 Macbook Pro 2019 (four Thunderbolt 3 ports) 사용중인데,

와...... 계속 와이파이는 연결 되어 있는데, 인터넷이 안된다.

 

근데, 결국 원인을 찾았다.

Micro SD카드를 USB3.1 어댑터를 이용해서 꼽으면, 인터넷이 멈춘다.

와이파이 연결은 되어 있지만, 그냥 안된다.

그래서, USB를 빼면, 다시 인터넷 페이지가 뜬다.

 

인터넷 찾아보니, 나만 그런게 아닌듯...

구글에서

Can't connect to wifi while using usb drive

이렇게 검새하면 많이 뜬다.

 

뚜렷한 해결책은 없어보인다.

기분 탓일수도 있는데, 처음에 126기가 연결할때는 별 문제가 없었다. 

근데, 256기가 연결하면, 웹페이지가 갑자기 멈춘다.

그리고, USB가 엄청 뜨거워진다.

 

진짜 부팅을 몇번이나 해봐도 똑같다. 

근데, 또 어쩔땐 된다.

이거 가기고, 애플스토어를 가야하나?

 

아마, USB C 포트랑 와이파이 보드랑 문제인거 같은데.....

이거는 맥에서도 리콜해줘야할거 같다....ㅠㅠ

Posted by Tyson
2019. 10. 31. 18:23

오라클에서 로그값 시간 차이를 계산하려고 보니.... 

수식을 만들어야 되나 고민하다가...찾아보니..

 

이렇게 되어있는 로그 차를 구해야하는거였다.

2019-09-30 23:05:00

2019-09-30 23:55:00

 

아래처럼 TO_DATE 를 사용하면 된다.

 

TO_DATE(STIME,'YYYY-MM-DD HH24:MI:SS') - TO_DATE(ETIME,'YYYY-MM-DD HH24:MI:SS'))*24*60*60)

 

위 수식은 기본 소수점 값으로 나오기 때문에, 

24시간 곱하기, 60분, 60초 해주면, 

초 단위로 몇초 차이 나는지 값이 나온다.

 

Posted by Tyson
2019. 7. 31. 17:00

리눅스에서 접속해서 시놀로지를 스토리지처럼 쓰려고

 

원격 마운트를 하려고 한다.

 

먼저 시놀로지에서 공유폴더를 생성한다. 

 

그리고 생성한 폴더를 선택하고, 편집을 누르고, NFS권한 탭으로 간다.

내가 접속할 리눅스의 IP를 위처럼 추가해주면 된다.

 

그리고 SSH로 리눅스 서버에 접속한다.

같은 내부아이피로 시놀로지가 192.168.0.100 이고,

시놀로지의 FunMedia 폴더를 연결할거다.

리눅스 서버에는 Data라는 폴더로 연결하고 싶다.

아래처럼 쓰면 된다.

 

# mount -t nfs 192.168.0.100:/volume1/FunMedia /Data/

 

mount [옵션] [원격아이피:폴더경로]  [로컬디렉토리]

 

-t nfs같은 경우는 디폴트라 생략해도 된다던데, OS마다 안되는곳도 있어서, 그냥 썼다.

아이피적고, : <= 땡땡을 넣어주고, /volume1으로 잡았는데, 시놀로지 ssh로 접속해서 보면, 

시놀로지 폴더 구조가 volume1 아래서 공유폴더가 있다.

 

대부분, volume1으로 잡혀있으니, volume1/ 쓰고, 뒤에 내 공유폴더명 쓰면 된다.

 

그리고, 한칸띄고!!!!!

 

리눅스서버의 원하는 폴더를 적어주면 된다.

그전에 폴더 꼭 만들어 놓고!!! 

 

연결 확인은 

> df -h 

로 확인할수있다.

Posted by Tyson
2019. 7. 31. 16:42

모처럼 우분투 쓸일이 있어서, 

우분트에서 시놀로지 마운트 하려는데, 계속 안되는거다.

mount: wrong fs type, bad option, bad superblock on 192.168.0.100:/volume1/shared,
       missing codepage or helper program, or other error
       (for several filesystems (e.g. nfs, cifs) you might
       need a /sbin/mount. helper program)

       In some cases useful info is found in syslog - try
       dmesg | tail or so.

 

또는 

mount: can't find /Data/ in /etc/fstab

 

위처럼 메세지가 나와서 찾아보니,

 

NFS 추가 페키지를 설치해야된다더군....

 

CentOS에서는

> yum install nfs-utils

 

하면 되는데, 

우분투는 찾아보니,

> apt-get install nfs-common 

 

설치하면 마운트 된다.

Posted by Tyson