static int utopianTree(int n) {
        
        int h = 0;
        
        for(int i = 0; i <= n; i++){
            if(i==0){
                h = 1;
                continue;
            }
            if(i % 2 == 1){
                h *= 2;
            }else{
                h += 1;
            }
        }
        return h;
    }

'개발 > CodingTest' 카테고리의 다른 글

LeetCode - Min Stack  (0) 2020.06.26
LeetCode - Shuffle the array  (0) 2020.06.26
Hacckerrank - The Hurdle Race  (0) 2020.06.25
Hacckerrank - Halloween Sale  (0) 2020.06.25
Hackerrank - Prime Checker  (0) 2020.06.05
Posted by Lumasca
,

 

    static int hurdleRace(int k, int[] height) {
        int n = 0;
        for(int i =0; i < height.length; i++){
            int r = height[i] - k;
            if(r > 0){
                if(n < r){
                    n = r;
                }
            }
        }
        return n;

    }

'개발 > CodingTest' 카테고리의 다른 글

LeetCode - Shuffle the array  (0) 2020.06.26
Hackerrank - Utopian Tree  (0) 2020.06.25
Hacckerrank - Halloween Sale  (0) 2020.06.25
Hackerrank - Prime Checker  (0) 2020.06.05
프로그래머스 - 기능개발  (0) 2020.06.03
Posted by Lumasca
,
 static int howManyGames(int p, int d, int m, int s) {
        // Return the number of games you can buy
        int salePrice = p;//세일 시작가격
        int count = 0;//구매한 게임수
        while(s >= salePrice ){
            count++;//게임개수증가
            s -= salePrice;//남은돈
            //System.out.println("Buy salePrice="+salePrice+", count="+count+", s="+s);
            if(salePrice > m){
                salePrice -= d;//세일 적용
            }
            if(salePrice < m){//최저세일가 보장
                salePrice = m;
            }           
        }
        return count;
    }

'개발 > CodingTest' 카테고리의 다른 글

Hackerrank - Utopian Tree  (0) 2020.06.25
Hacckerrank - The Hurdle Race  (0) 2020.06.25
Hackerrank - Prime Checker  (0) 2020.06.05
프로그래머스 - 기능개발  (0) 2020.06.03
프로그래머스 - 탑  (0) 2020.06.03
Posted by Lumasca
,

1.Docker 설치

아래 사이트로 이동해서 Docker를 다운로드 한다.

https://docs.docker.com/docker-for-mac/install/

 

Install Docker Desktop on Mac

Docker Desktop for Mac is the Community version of Docker for Mac. You can download Docker Desktop for Mac from Docker Hub. Download from Docker Hub By downloading Docker Desktop,...

docs.docker.com

Install Docker Desktop on Mac 화면인데

Download from Docker Hub 링크를 클릭해서 Docker.dmg를 다운로드한다.

 

다운로드가 완료되면, Docker.dmg를 더블클릭해서 설치한다.

 

docker를 실행하면 아래와 같은 모습이다. 처음에는 아무것도 없다.

sonarqube를 다운로드하면 목록에 나타난다.

 

이미지를

 

2.SonarQube 설치 및 실행

터미널을 실행하고 docker hub에서 sonarqube를 다운로드한다.

$docker pull sonarqube를 입력한다.

 

sonarqube 실행한다.

$docker run -d --name sonarqube -p 9000:9000 sonarqube

 

-d는 백그라운드 모드

-name은 컨테이너 이름

-p는 호스트와 컨테이너의 포트 포워딩. 사용안하는 포트 아무거나 입력한다. sonarqube는 기본 9000포트

그리고 마지막에 docker image 이름을 입력한다.

 

Docker 앱에서 다운로드한 이미지를 클릭하면 아래처럼 상세화면으로 변경된다.

화면에 보이는 버튼으로 실행하고 중지할 수 있다. 

 

 

3.snarqube 에 접속한다.

브라우저를 열고 localhost:9000을 입력한다.

 

Login버튼을 누른다. 초기비밀번호는 admin/admin이다.

 

새 프로젝트를 생성한다.

:페이지 우측 상단의 + 버튼을 클릭해서 create new project를 선택한다.

 

project name을 입력하고 setup 버튼을 클릭한다. display name은 자동입력된다. 

 

신규로 생성했으니 토큰은 없을 것이다. 기본으로 Generate a token 이 선택되어 있다.

토큰이름을 입력하고 Generate 버튼을 클릭한다.

 

 

4.AndroidStudio 설정

프로젝트 gradle에 다음 구분을 추가한다.

dependencies{

...

classpath "org.sonarsource.scanner.gradle:sonarqube-gradle-plugin:3.0"

}

 

모듈(app) gradle에 다음을 추가한다.

프로퍼티값은 적절히 입력한다.

// SonarQube
apply plugin: 'org.sonarqube'

sonarqube {
    properties {
		property "sonar.projectName", "사용할 프로젝트명"
        property "sonar.host.url", "http://localhost:9000"
        property "sonar.projectKey", "프로젝트 생성할때 사용한 키"        
        property "sonar.login", "프로젝트 생성후 만든 토큰"
        property "sonar.projectVersion", "1.0.0"
        property "sonar.sources", "src/main/java"
        property "sonar.binaries", "build"
        property "sonar.sourceEncoding", "UTF-8"
        property "sonar.exclusions", "src/test/java/**"
    }
}

다른 모듈

apply plugin: 'org.sonarqube'
sonarqube {
    properties {
        property "sonar.projectName", ""
        property "sonar.projectKey", ""
        property "sonar.sources", "src/main/java"
        property "sonar.binaries", "build"
        property "sonar.sourceEncoding", "UTF-8"
        property "sonar.exclusions", "src/test/java/**"
    }
}

5.build

 

./gradlew :모듈명:sonarqube 

 

브라우저를 열고 localhost:9000에 접속해서 결과를 확인한다.

'IT Others' 카테고리의 다른 글

맥(Mac) 화면 캡쳐  (0) 2020.12.29
삼성 갤럭시 푸쉬 광고 제거  (0) 2020.11.05
iPhone5S 공장초기화  (0) 2020.04.06
다우오피스 메신저 MacOS에 설치  (0) 2020.01.14
MacOS Disk 사용량  (0) 2020.01.06
Posted by Lumasca
,

/etc/passwd : 사용자 계정 정보를 저장하는 파일

//루트 사용자
root:x:0:0:root:/root:/bin/bash
  1   2 3 4  5    6     7
 
 //일반 사용자
 user:x:1001:1001:John Doe,101,,:/home/user:/bin/bash

1 : 사용자 계정명

2 : 패스워드(/etc/shadow 파일에 암호화되어 있음), x로 표시.

3 : 사용자 계정 uid. 보통 0~1000까지는 OS에서 사용.

4 : 사용자 계정 gid. 보통 0~1000까지는 OS에서 사용.

5 : 사용자 계정 설명

6 : 사용자 계정 홈 디렉토리

7 : 사용자 계정 로그인 쉘

 

/etc/shadow : 사용자 비밀번호를 저장하는 파일

root:$6$HEuGAbTN$dYeVDw.....tR91:17451:0:99999:7:::
  1           2                   3    4   5   6789
  

1 : 사용자 계정명

2 : 암호화된 패스워드(hash 알고리즘 ID + salt + 해시값)

해시 알고리즘

$1$ : MD5

$5$: SHA-256

$6$: SHA-512

 

3 : 패스워드 파일 최종 수정 일수. 암호가 1970년 1월1일 이후 마지막으로 변경된 날짜 일수

4 : 패스워드 변경전 최소 사용 일수

5 : 패스워드 변경전 최대 사용 일수

6 : 패스워드 만료 전에 경고 메시지를 노출하는 일수

7 : 패스워드 만료 후 계정이 비활성화된 일수

8 : 계정 만료일. 1970년 1월 1일이후 계정이 비활성화되는 날

9 : 예약 필드(사용안함)

 

/etc/login.defs: 정책 파일

Posted by Lumasca
,

1) /var/run/utmp : 시스템에 현재 로그인한 사용자들에 대한 상태 정보를 기록

- 명령어: w, who, finger

-기록한 정보: 계정명, 터미널타입, 접속주소, 로그인시간, IDLE 타임, 쉘

 

2) /var/log/wtmp : 사용자가 로그인 또는 로그아웃한 정보를 기록

- 명령: last

- 기록한 정보: 계정명, 터미널타입, 접속주소, 로그인시간, 로그아웃시간

 

3) /var/log/lastlog : 가장 최근에 성공한 로그인 정보를 기록

- 명령: lastlog, finger

- 명령어 사용: lastlog -u 계정명, lastlog -t 일수 (몇일이내)

- 기록한 정보: 계정명, 포트, 접속주소, 최종접속시간

 

4) /var/log/btmp : 실패한 로그인 시도를 기록

- 명령: lastb (계정명 )

- 기록한 정보: 계정, 접속주소, 접속시간

- 외부에서 침입시도를 많이 하기때문에 많은 양의 로그가 기록된다.

 

5) /var/account/pacct: 사용자가 실행한 모든 명령어 기록.

- 명령: accton /var/account/pacct

- 기록한 정보: 입력한 명령어, 터미널종류, 프로세스 시작시간 등

 

6)그외 로그 파일

/var/log/secure : su명령을 사용한 결과(sulog)

 

.bash_history: 계정별로 실행한 명령어에 대한 기록 . 계정별 디렉토리에 존재

 

/var/log/secure: 사용자 인증에 대한 정보. su명령 수행내역

 

/var/log/messages: 시스템 로그 파일. 전반적인..

 

/var/log/dmesg : 부팅될때 출력되는 모든 메세지

 

/var/log/boot.log : 부팅할때 데몬들의 성공 실패

 

/var/log/xferlog : FTP 로그 파일. proftpd, vsftpd 데몬의 서비스 내역 기록

 

syslog 설정

데몬: syslogd

/etc/syslog.conf : 로그 저장 규칙

최근에는 rsyslogd, /etc/rsyslog.conf 파일을 이용.

syslog 전송시 기밀성을 위해 BEEP 이용 권고

로그수준: emergency, alert, critical, error, warning, notice, information, debug

 

로그 순환: logrotate

/etc/logrotate.conf

프로세스 설정 파일은 /etc/logrotate.d에 위치

daily, monthly, weekly

rotate n: 개수

create : 새로운 로그 생성

dateext

compress, uncompress

size n: 지정한 크기가 되면 로그 순환

 

 

Posted by Lumasca
,

dataq.or.kr

등급 시험명 접수기간 환불마감 수험표발급 시험일 결과발표
전문가 제16회 데이터분석 전문가 자격검정 (필기)시험 01.03 ~ 03.09 ~04.03 03.27 ~ 04.04 04.04(토) 취소 05.06
제16회 데이터분석 전문가 자격검정 (실기)시험 01.06 ~ 03.30 ~04.24 04.17 ~ 04.25 04.25(토) 취소 05.26
제17회 데이터분석 전문가 자격검정 (필기)시험 03.09 ~ 05.17 ~06.06 05.29 ~ 06.07 06.07(일) 07.07
제17회 데이터분석 전문가 자격검정 (실기)시험 03.30 ~ 05.28 ~06.20 06.12 ~ 06.21 06.21(일) 07.21
제18회 데이터분석 전문가 자격검정 (필기)시험 06.15 ~ 08.03 ~08.12 08.21 ~ 08.29 08.29(토) 09.29
제18회 데이터분석 전문가 자격검정 (실기)시험 06.29 ~ 08.24 ~09.02 09.11 ~ 09.19 09.19(토) 10.20
제19회 데이터분석 전문가 자격검정 (필기)시험 09.07 ~ 10.26 ~11.04 11.13 ~ 11.22 11.22(일) 12.22
제19회 데이터분석 전문가 자격검정 (실기)시험 09.28 ~ 11.16 ~11.25 12.04 ~ 12.13 12.13(일) 2021.01.12
준전문가 제24회 데이터분석 준전문가 자격검정 01.06 ~ 03.09 ~04.03 03.27 ~ 04.04 04.04(토) 취소 05.06
제25회 데이터분석 준전문가 자격검정 03.09 ~ 05.17 ~06.06 05.29 ~ 06.07 06.07(일) 07.07
제26회 데이터분석 준전문가 자격검정 06.15 ~ 08.03 ~08.12 08.21 ~ 08.29 08.29(토) 09.29
제27회 데이터분석 준전문가 자격검정 09.07 ~ 10.26 ~11.04 11.13 ~ 11.22 11.22(일) 12.22

'IT 자격증 > ADP,ADsP' 카테고리의 다른 글

26회 ADsP 합격후기  (0) 2020.09.29
ADsP 시험 26회 후기  (1) 2020.08.29
Posted by Lumasca
,
회별 필기시험
원서접수
필기시험 필기합격
예정발표
응시자격
서류제출
실기시험
원서접수
실기시험 합격자발표
제15회
(2020년도 1회)
04.13 ~ 04.17 05.30 06.12 (1차)04.20 ~ 04.24
(2차)06.15 ~ 06.19
07.11 07.31
제16회
(2020년도 2회)
08.03 ~ 08.07 09.05 09.29 10.05 ~ 10.09 11.07 12.11
Posted by Lumasca
,