Markdown 수식추가 Markdown 추가 네이버 스크립트 구글 스크립트

오늘까지 해서 서머싯 몸달과 6펜스를 읽었다. 재미있게 읽혔으며 처음에는 스트릭랜드가 실존인물 인줄 알았는데 풀 고갱을 참고했다고 한다. 읽으면서 과연 좋은 작품은 매우 힘든 고난과 역경을 이겨내야지만 나올 수 있는 것일까? 라는 생각을 하게 되었고 현재도 진행 중이다.

19.7.30 ~ 19.8.12

예술이란 정서의 구현물이며, 정서란 만인이 이해할 수 있는 언어로 말한다.
9

내가 나 자신의 즐거움 아닌 어떤 것을 위해 글을 쓴다면 정말 세상에 둘도 없는 바보가 아니겠는가
19

동정심을 마구 쏟아내어 사댕방이 당황하는 경우도 있다. 평소에 너무 많은 눈물의 동정을 받아 내 눈물 따위에는 아무런 감동을 받지 못하는 사람들도 있다.
28

이 사람의 높은 인품을 존경할수는 있을지언정 아무도 그를 사귀려 들지는 않을 것 같았다. 그에게 시간을 낭비할 이유는 없어 보이는 사람이다.
=> 착하기만 한 사람에 대한 평이다....
34

도덕적인 분노를 느끼며서도 죄인을 직접 응징할 완력이 없을 때는 늘 비참한 기분이 들게 마련이다.
43

나는 인간의 천성이 얼마나 모순투성이인지를 몰랐다. 성실한 사람에게도 얼마나 많은 가식이 잇으며, 고결한 사람에게도 얼마나 많은 비열함이 있고, 불량한 사람에게도 얼마나 많은 선량함이 있는지를 몰랐다.
56

나는 남들의 의견 따위는 아랑곳하지 않는다고 말하는 사람을 믿지 않는다. 그것은 무지에서 오는 허세이다.
76

양심은 사회의 이익을 개인의 이익보다 앞에 두라고 강요한다. 그것이야말로 개인을 전체 집단에 묶어두는 단단한 사슬이 된다.
77

마음이란 이성으로도 알지 못하는 이유를 가지는 법
82

행복이 때로 사람을 고결하게 만드는 수는 있으나 고통은 대체로 사람을 좀스럽게 만들고 앙심을 품게 만들 뿐이다.
90

난 과거를 생각지 않소. 중요한 것은 영원한 현재뿐이지.
112

사랑에 자존심이 개입하면 그건 상대방보다 자기 자신을 더 사랑하기 대문이야
152

사랑에 빠진 사람은 이미 자기가 아니다.
159

세상은 참 매정해. 우리는 이유도 모르고 이 세상에 태어나서 이제 어디로 가야 하는지도 몰라. 그리니 겸손하게 살아야지
184

정작 아름다움 자체를 만나게 되면 그것을 알아보지 못한다.
192

자기가 창조해 낸 인물에 살과 뼈를 부여함으로써 작가는 다른 식으로는 방출될 수 없는 자신의 본능에 생명을 부여하고 있는 셈이다. 작가의 만족이란 하나의 해방감인 것이다.
198

삶이 비정한 우연으로 산산조각 나고 말았다는게 한없이 잔혹하게 여겨졌다. 하지만 더 잔혹한 것은 그러한 사실에도 불구하고 달라진 점이 별로 없다는 것이다.
205

작품은 사람을 드러내는 법이다
207

떄로는 가면을 너무 철저히 쓰고 다니다가 정말 그 가면과 같은 인격이 되어버리는 일도 있다.
207

욋가지를 쇳조각처럼 칠한다 해도 쇳조각처럼 보일 리는 없다.
207

내 인생의 한 장은 그렇게 긑났고, 나는 피할 수 없는 죽음에 좀 더 가까이 다가가 있음을 느꼈다.
302

  처음에는 달과 6개의 펜스라고 생각했는데 그 뜻이 아니였다. 달은 예술을 6펜스는 물질적인 것을 뜻했다. 
 여기에 나오는 스트릭랜드는 풀 고갱을 보고 만든 것이며 완전하지는 않지만 풀 고갱의 행보와 비슷하다고 한다. 
 이 소설을 일긍면서 스트릭랜드의 행보는 매우 이질적이고 초반의 모습과 매우 상반된 모습을 보여주었다. 
 세속적인 것을 없에 결국엔 인간이 범접할 수 없는 예술의 극치에 다다르는 것을 표현하였다. 
  소설의 마지막 부분은 조금 빨리 지나가지 않았나 라는 생각이 든다. 결국 세속적인 삶을 떠나 산 깊숙히 새로운 아내와 
자녀들과 살면서 저주의 병인 문둥병에 걸리고 처참하게 죽어갔다. 여기서 작가는 '이런 죽음이 세속적인 삶은 버린 것에 대한 벌인가?' 
라는 화두를 던지면서 조금 생각을 해보게 만들었다. 위대한 것을 만들려면 매우 힘들고 매우 고독하고 매우 처참한 환경에서 
해야하는건가? 마치 조선시대에서 유배간 선비들의 글이 좋은 것처럼 고생한만큼 좋은 것이 나오는 것일까? 
나 도한 고생을 해야 좋은 것이 나오는 걸까? 그건 아닌 것같다. 좋은 효율은 좋은 상태에서 나오는 법이다. 

'Book' 카테고리의 다른 글

날마다 천체물리  (0) 2019.07.28
알리바바 마윈의 12가지 인생강의  (0) 2019.07.21
이지성의 꿈꾸는 다락방  (0) 2019.07.18

 이번에는 shell script(bash) 와 ffmpeg를 이용해 video resampling을 하는 법에 대해서 설명하겠습니다.

 

shell script의 경우 명령어로 한 폴더에 있는 모든 비디오에 대해 ffmpeg를 적용 시키기 위해 사용했으며, 명령어를 모아서 실행시킬 수 있는 파일이라고 생각하면 됩니다.

 

ffmpeg의 경우 간단한 video 편집기 입니다. 물론 영상을 자르거나 할 수 있지만 저는 fps 수정을 위해서 사용한거라 거기에 대해서는 설명하지 않겠습니다.

#!/bin/sh

INPUT_DIR=INPUT_VIDEOs_FOLDER_PATH

BASE_DIR=SAVE_VIDEOS_FOLDEL_PATH
OUTPUT_DIR=$BASE_DIR/Resampling_24
OUTPUT_DIR2=$BASE_DIR/Resampling_16
FILES=$(ls $INPUT_DIR | grep .mp4)

for FILE in $FILES
do
    name='basename $FILE'
    FILENAME="${FILE%.*}"
    ffmpeg -i $INPUT_DIR/$FILE -r 24 -c:v libx264 -b:v 3M -strict -2 $OUTPUT_DIR/$FILENAME.mp4
    ffmpeg -i $INPUT_DIR/$FILE -r 16 -c:v libx264 -b:v 3M -strict -2 $OUTPUT_DIR2/$FILENAME.mp4
done

실행방법

위의 내용을 복붙해서 xxx.sh로 저장하고 chmod 777 xxx.sh로 할당해주고 ./xxx.sh 명령어를 입력하면 됩니다.

설명

차근 차근 설명하겠습니다.

 

INPUT_DIR=INPUT_VIDEOs_FOLDER_PATH
위의 명령어는 동영상들이 모여있는 폴더의 PATH를 설정합니다.

 

BASE_DIR=SAVE_VIDEOS_FOLDEL_PATH OUTPUT_DIR=$BASE_DIR/Resampling_24 OUTPUT_DIR2=$BASE_DIR/Resampling_16
위의 명령어 또한 PATH를 설정하는 명령어 입니다. 저 같은 경우 기존의 동영상을 24 FPS와 16 FPS로 설정하고 싶어 이렇게 했습니다.

 

FILES=$(ls $INPUT_DIR | grep .mp4)
위의 명령어는 동영상들이 모여있는 폴더에서 MP4 형식의 동영상을 찾고 경로를 저장하는 것입니다. 즉, FILES 안에는

A.mp4
b.mp4 ...

처럼 저장되어 있습니다.

 

for FILE in $FILES do done
위의 명령어는 프로그래밍 언어에서 for 반복문과 같다고 생각하시면 됩니다. (python의 for i in list)

 

name='basename $FILE' FILENAME="${FILE%.*}"
위의 명령어는 파일 이름으로 파일을 설정해주는 부분입니다.

 

마지막으로...ffmpeg -i $INPUT_DIR/$FILE -r 24 -c:v libx264 -b:v 3M $OUTPUT_DIR/$FILENAME.mp4 ffmpeg -i $INPUT_DIR/$FILE -r 16 -c:v libx264 -b:v 3M $OUTPUT_DIR2/$FILENAME.mp4
위의 명령어는 ffmpeg를 사용하는 부분입니다.

-i : 입력 파일
-r : fps 설정
-c:v : 코덱 설정. 저는 H.264 코덱으로 설정했습니다.
-b:v : bitrate 설정.
OUTPUT.. : 저장할 장소 및 파일 이름 설정.

ffmpeg에서는 자신에게 맡게 customizing 하면 됩니다.

참고 자료

ffmpeg

shell script

shell script2

'공부 > Linux' 카테고리의 다른 글

[Linux] 압축 풀기  (0) 2019.08.21
[Linux] 디스크 용량 확인 방법  (0) 2019.07.31
[Linux] 특정 파일 개수 세기  (0) 2019.07.31

디스크 용량 확인 및 디렉토리가 가지고 있는 용량을 확인 하는 방법이다.

1. df : 디스크의 남은 용량을 확인한다.

df -m : 메가바이트 단위로 남은 용량을 확인. (요즘은 테라바이트 시대이니깐.. 아직 기가바이트 단위로 확인하는 것은 나오지 않았습니다.)

df -h : 보기 좋게 보여줌 (행을 알아보기 쉽게 바꿔 준다.)

df . : 현재 디렉토리가 포함된 파티션의 남은 용량을 확인  

2. du : 현재 디렉토리부터 하위 디렉토리까지의 사용 용량을 확인한다.

du -a : 현재 디렉토리의 사용량을 파일단위 출력

du -s : 총 사용량을 확인

du -h : 보기 좋게 바꿔줌

du -sh \* : 한단계 서브디렉토리 기준으로 보여준다.  

특히 du -sh *의 경우 폴더 뿐만 아니라 현재 폴더의 파일들도 보여줍니다.

 

참고자료

 

https://ra2kstar.tistory.com/135

'공부 > Linux' 카테고리의 다른 글

[Linux] 압축 풀기  (0) 2019.08.21
[Linux] ffmpeg를 이용한 Video Resampling  (0) 2019.08.06
[Linux] 특정 파일 개수 세기  (0) 2019.07.31

 처음에 저는 ls -al 을 사용할시 나오는 total xxx 이 총 파일 갯수 인지 알았습니다...하지만 직접 세어보니 아니더라고요.

 그래서 간단한 명령어로 해당 파일의 갯수를 셀 수 있는 명령어를 발견했습니다.

 ls folder_location | wc -l

 |(파이프)를 이용해 ls의 내용을 넘기고 wc -l을 이용해 넘어온 내용의 행의 갯수를 센다고 합니다.


wc 명령어의 경우 파일내의 단어나 문자 그리고 행의 개수를 파악하는 명령어라고 합니다.

 

 

 

참고자료

'공부 > Linux' 카테고리의 다른 글

[Linux] 압축 풀기  (0) 2019.08.21
[Linux] ffmpeg를 이용한 Video Resampling  (0) 2019.08.06
[Linux] 디스크 용량 확인 방법  (0) 2019.07.31

etri 도서관에서 우연찮게 만나게된 책이다. 천문학에 대한 나의 호기심을 조금 해결해주었고 다시 한번 꿈꿀 수 있게 만들어 주었다. 잘못알 던 지식은 고쳐주고 얕았던 배경지식을 좀 더 확장해주었다. 온통 많은 수식이 난무하는 천체물리학이 아니라, 천체 물리학을 글로 느끼고 싶다면 이 책을 추천합니다.

 

2019.7.22 ~ 2019.7.28

우주는 최초에 단 하나의 힘이 존재했고 그 이유는 빅뱅으로 예를 들 수 있다. 빅배으로 인해 모든 에너지와 물질이 한 점에 모여있으므로 중력,전자기력,약력,강력 또한 한 힘으로 뭉쳐있다.
12

물질과 반물질 사이에서 물질이 단지 1개 더 많아서 살아남게 되었다. 이로 인해 우주가 만들어졌고 빛만 남지 않는 상태가 되었다. E=mc²을 생각하면된다. 두 개의 질량을 가진 물질과 반물질이 사라질 때 광자와 에너지가 나오게 된다.
16

무지가 연구자가 가질 수 있는 가장 자연스런 마음의 상태이다
32

데이터 없이는 그 어떤 과학도 성숙 단계에 들어설 수 없다
61

암흑 물질은 통상 물질과 다르게 중력에 의한 작용에 영향을 받지만 빛에는 영향을 받지도 주지도 않는다. 저 멀리 은하에 대해 눈에 보이는 통상 물질의 질량을 다합쳐도 이동 속도와 중력이 나오지 않는데, 이것을 토대로 암흑 물질을 상정하게 된 것이다.
85

요즘 다중 우주가 많이 회차되는데, 특히 같은 시간속 다른 차원에 있는 것이 아니라, 동일한 시공간 속에 있지만 상호 작용을 할 수 없을 정도로 멀리 떨어져 있어 고립되어 있다는 이론이 제일 흥미로운 버전이다.
153

실험을 통해 뭔가를 주장하려면 대조 실험을 함께해야 한다.
156



 이 책은.. 처음에 문학적인 책인줄 알았다. 하지만 읽어보니 천체 물릭학에 대한 내용이였다. 
 물론, 나에게 도움이 안되었다는 것은 아니다. 내가 천문학을 좋아하기 때문이다. 이 책을 읽으면서 내가 
 잘못 알고있었던 지식에 대해서도 알 수 있게 되었고, 가끔 하늘을 보면서 천문학에 대한 생각을 할 수 있는 
 여유를 가지게 되었다. 후에 천문학에 대한 나의 호기심이 끊이질 않는다면 한번 도전해보고싶은 영역이다.

'Book' 카테고리의 다른 글

[책 리뷰] 달과 6펜스  (0) 2019.08.12
알리바바 마윈의 12가지 인생강의  (0) 2019.07.21
이지성의 꿈꾸는 다락방  (0) 2019.07.18

본 문제는 그냥 보자마자 번뜩 아이디어가 떠올랐다. 문제
내 생각은 현재를 기준으로 전의 값들을 비교하면 된다고 생각이 들었다. 즉, 다이나믹 프로그래밍 문제이다.
즉, 현재 값 > 전의 값 & 지금까지의 길이 < 전의 값까지의 길이 이다.
처음에는 이 문제가 가장 큰 증가하는 부분 수열인줄 알고 그렇게 풀었다가 거기서 변수만 조금 수정하면 되서 그렇게 성공했다. 다이나믹 프로그래밍같은 문제는 차근차근 생각하고 어떤 변수를 저장하고 사용할지를 생각하면 될 것이다.


#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#define SIZE 1001
using namespace std;

int n;
int dp[2][SIZE] = { 0 };

void input() {
    scanf("%d", &n);
    for (int i = 1; i <= n; i++)
        scanf("%d", &dp[0][i]);
}

void solve() {
    dp[1][1] = 1;
    for (int i = 2; i <= n; i++) {
        int num = dp[0][i];
        for (int j = 1; j < i; j++) {
            if (dp[0][j] < num && dp[1][j] > dp[1][i] ) {
                dp[1][i] = dp[1][j];
            }
        }
        dp[1][i]++;
    }

}

void print() {
    int max = dp[1][1];
    for (int i = 2; i <= n; i++)
        if (dp[1][i] > max)
            max = dp[1][i];
    printf("%d", max);
}

int main(void) {
    input();
    solve();
    print();
}

'공부 > 백준' 카테고리의 다른 글

[1049] 기타줄  (0) 2019.11.05
(11051번) 이항 계수 2  (0) 2019.07.22

Automatic rotating fan module using AI

if you have a fan and install the module, you will use Automatic rotating fan.

[Presentation]

 이 프로젝트는 2019년 융합 캡스톤 디자인을 위해 진행되었습니다.

 2019년 1학기에 AI수업을 들으면서 사용할 곳이 어디에 있을까 고민했습니다. 이에 여름도 오고 선풍기가 알아서 저를 따라다니면 좋을 것 같다는 생각이 들었습니다. 따라서 이 선풍기 모듈을 만들게 되었습니다.

Video Label
Video Label

Component

Device

  • Raspberry pi 3B+
  • Stepper Motor
  • Touch Monitor
  • Web cam
  • PC

H/W

Outline Map

H/W Circuit

3D Model

S/W

Object Detection

저희는 SSD-MobileNet-V1 모델을 사용했는데 그 이유는 라즈베리파이에서 가벼운 모델을 사용해야하기 때문에 사용했습니다.

Algorithm

Socket Transport

Object Detection

Gather Data

using Capture/capture_from_webcam.py.

Anotation

using [3b.]

Training

using [4.Generate training data ~7. Export inference Graph]

Video Label

How To Use?

전체적으로 [Object Detection] 의 내용을 참고해서 진행하였습니다.

  • Object_detection_webcam_server.py : Install PC
  • Wifi.py : Installed Raspberry Pi

first, Run Object_detection_webcam_server.py.

second, Run Wifi.py.

Team members

Reference Materials

본 문제는 간단한 DP문제이다. 특히, 점화식이 존재하기 때문에 더 쉽다. 문제
나 같은 경우에는 처음에 dp가 아닌 그냥 때려 박았는데... 컴파일 에러가 발생했다. 그 이유는 1000!가 long long 을 사용하더라도 한참 벗어나는 어마 무시하게 큰 값이기 때문이다.
따라서 여기서는 파스칼의 삼각형을 사용해서 풀어야 한다.즉, 간단하게 설명하면
nCk = n-1Ck + n-1Ck-1 이다.

전체적인 코드는 밑과 같다

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#define SIZE 1001
using namespace std;

int n, k;
int dp[SIZE][SIZE] = { 0 };

void input() {
    scanf("%d %d", &n, &k);
}

void solve() {
    dp[0][0] = 1;
    dp[1][0] = 1;
    dp[1][1] = 1;
    for (int i = 2; i < SIZE; i++) {
        dp[i][0] = 1;
        for (int j = 1; j < i; j++)
            dp[i][j] = (dp[i - 1][j] + dp[i - 1][j - 1]) % 10007;
        dp[i][i] = 1;
    }
}

void print() {
    printf("%d", dp[n][k]);
}
int main(void) {
    input();
    solve();
    print();
}

'공부 > 백준' 카테고리의 다른 글

[1049] 기타줄  (0) 2019.11.05
(11053번) 가장 긴 증가하는 부분 수열  (0) 2019.07.23

+ Recent posts