반응형

전체 글 764

Jinja2 조건문, 반복문 예제로 익혀보기 (if문, for문, flask)

Jinja2 란? 간단히 설명하면 HTML과 같은 웹페이지에서 파이썬과 유사한 문법을 사용해서 페이지 프로그램을 지원하는 템플릿임. 예를 들어 파이선(python) flask에서 어떤 값을 보내주면 웹페이지에서 해당 값을 프로그램해서 상황에 맞게 동작시킬 수있다. jinja2 사용 양식>> {{ 입력받은 값 }} {% 프로그램 언어 %} 위 코드처럼 HTML 문서에서 jinja2를 사용할 경우 일반 변수만을 화면에 출력할 경우 {{ }} 에 넣어주면된다. if나 for와 같은 프로그램을 작성할 경우 {% %} 안에서 작성하여야 한다. Jinja2 조건문 예제 (if문) 예제 동작을 간단하게 설명하면, http://localhost:9999/jinja_test 에 접속하면 var1, var2 변수를 넣는 ..

사인 스윕파(Sine Sweep)의 사이클(Cycle) 계산 방법(Calculation)

사인 스윕이란? 그리고 사이클 갯수가 필요한 이유 Sinusoidal Sweep wave, 사이파는 그림1처럼 시간이 흐름에 따라서 사인파의 주파수가 변경된다. 즉, 주파수가 시간에 연계되어 변하는 것이다. 주파수 변경 방법은 아래와 같이 2가지 방법이 있다. 선형적(Linear) 사인 sweep wave : 주파수가 시간에 비례해서 증가한다. 대수적(Logarithmic) 사인 sweep wave : 주파수가 시간에 지수적으로 비례해서 증가한다. Sine sweep 파형은 시험 규격에서 종종 나오는데 Sine sweep으로 진동이나 시험을 진행하여 몇 번의 싸이클(Cycle)로 시편에 힘을 가했는지에 따라 피로도(Fatigue)나 내구성(Durability)를 확인할 수 있다. 일반 사인파의 경우 사이..

여러가지공부 2021.05.06

파이썬 flask에서 render_template 함수 예제로 이해해보기

render_template 란? render_template 함수는 flask에서 제공하는 함수로 templates에 저장된 html을 불러올 때 사용하는 함수 이다. 아래 예제를 통해 이해해보자. render_template 실습 예제 a_page.html >> a_page goto_b_page b_page.html>> b_page test.py>> from flask import Flask, render_template app = Flask(__name__) @app.route('/goto_a_page') def goto_a_page(): return render_template('a_page.html') @app.route('/b_page') def goto_b_page(): return rend..

랜덤 진동 이란? (Random Vibration Testing)?

Random Vibration (랜덤진동) 도로 위의 차량, 로켓 발사, 터뷸런스 중에 비행기 날개 등에서 발생하는 진동은 반복적이지 않고 예측이 어렵다(Not repetitive, Unpredictable). 그림1은 운전중에 대시보드에 가속도 센서를 부착하고 측정한 가속도 값이다. 그래프에서 볼수 있듯이 예측이 어렵고 반복적이지 않다. 그러므로 현실을 반영하기 위해서 Random vibration 시험이 필요하다. Random (랜덤) vs Sine (사인) 사인파 진동 시험은 특정 주파수에 맞추어 진동을 일으킨다. 하지만 랜덤 진동 시험의 경우 규정된 스펙트럼(Spectrum)의 모든 주파수에서 가진 시켜준다. Tustin의 랜덤파형 정의에 따르면 "사람들은 10~2000Hz의 범위가 있다면 199..

여러가지공부 2021.05.04

진동에서 변위,속도,가속도의 관계 (Vibration, Displacement, Velocity, Acceleration)

진동에서 변위,속도,가속도의 관계 그림1과 같이 고정된 축이 흔들릴 경우 y축의 시간에 따른 움직임은 사인파(Sine wave)이다. 즉, 변위(Displacement)에 대한 파형을 알 수 있으면 시간에 따른 미분으로 속도(Velocity), 가속도(Acceleration)의 파형도 그릴 수 있다. 반대로 가속도를 알 수 있으면 적분으로 나머지 변위와 속도에 대한 정보를 얻을 수 있다. 사인파에서 가속도, 속도, 변위의 차이는 위상(Phase)이다. 진동(vibration)에서 가속도, 속도, 변위의 위상 관계는 중요하지 않다. 주파수 영역에서 가속도, 속도, 변위의 진폭(amplitude)가 변하는 데 이 점을 유의 해야한다. 예제를 통해 진동에서 변위,속도,가속도의 관계 이해하기 가속도센서(Acce..

여러가지공부 2021.05.04

Visual studio, HTML 자동 완성 설정하는 방법(HTML:5)

Visual studio, HTML 자동 완성 설정하는 방법 1. Extensions 에서 HTML Snippets 설치 위 그림과 같이 HTML Snippets을 설치한다. 2. View - Command Palette 실행 또는 Ctrl+Shift+P 실행 그림처럼 팔레트를 실행한다. 3. Extension: HTML Snippets 을 아래 그림처럼 실행 4. 아래 그림처럼 오른쪽 하단(파란색에 흰색글)에 값을 HTML로 변경 (만일 HTML이면 변경 필요 없음, 다른 값일 경우 클릭해서 HTML로 변경) 5. 프로그램 종료후 다시 실행 후 html 파일을 만들고 html을 천천히치면 아래 화면처럼 html:5 가 나옴 6. 아래 그림처럼 자동 완성됨

파이썬(Python) 2021.05.03

REST API란? flask를 통해 예제 실습하기

REST API 개념 REST 는 REpresentational State Transfer 의 줄임말이다. 검색을 통해 찾아보면 일반적으로 자원(resource)을 이름으로 구분해서 자원의 정보를 주고 받는 것을 의미한다라고 나와 있다. 위처럼 정의로 의미를 알기는 어려워서 내가 사용하는 환경(파이썬)의 예를 통해 설명하려고 한다. flask를 통해서 인구 정보를 가진 웹을 구축하였다고 예를 들어 보자. 그리고 해당 인구 정보는 DB에서 관리된다. 인구 정보를 DB에서 가져오려고 하는데 해당 웹페이지를 모두 로딩할 필요없이 사전에 약속된 주소로 DB값만 요청이 가능하게 만들 수 있다. 여기서 약속된 주소를 자원(resource)을 표현(representation)하였다고 한다. 한마디로 (flask에서 ..

파이썬 *args, **kwargs 의미와 예제를 통해 이해하기

파이썬 *args, **kwargs 의미와 예제를 통해 이해하기 예제 코드>> def a_func(*args, **kwargs): print(args) print("###########") for key, value in kwargs.items(): print(key) print(value) print("1번 예제") a_func(name='kc') print("") print("2번 예제") a_func("hi", name='kc') print("") print("3번 예제") a_func("hi", {"myname",'kc'}) print("") print("4번 예제") a_func(1,2,3) print("") 코드 결과>> 1번 예제 () ########### name kc 2번 예제 ('hi'..

파이썬에서 @(골뱅이, 데코레이터라고 불림)이란? 사용방법과 예제

파이썬 @ (Decorator) 사용예제와 방법 #골뱅이 마크 사용 예시 @wraps(f) @app.route @login_required @templated() Python flask를 사용하다 보면 위 코드와 같이 Decorator로 이루어진 구문이 있는데 동작 방식은 알지만 실제 "at" 기호가 앞에 붙을때 어떻게 움직이는지는 잘 몰라 조사하게 되었다. def a_func(b_func): print("a_func") def c_func(): print("b_func") b_func() return c_func @a_func def d_func(): print("d_func") print("############") d_func() >>결과 a_func ############ b_func d_func..

파이썬 함수 안에 중첩(nested)해서 함수 넣기

함수 안에 함수 중첩해서 넣기 예제와 특징 예제1 코드>> def a_func(): def b_func(): print("it's b_func") print("it's a_func") b_func() a_func() # b_func() #주석처리 결과>> it's a_func it's b_func 예제1 코드 주석>> 위 코드 예제는 a_func 함수 안에 b_func 함수를 넣어서 실행하고 있다. a_func()에 의해 함수가 실행되었다고 생각하자. 그러면 해당함수는 컴퓨터 메모리의 스택(Stack)이라는 공간에 저장되어 실행 된다. 스택의 a_func 함수 시작점 주소부터 코드가 진행되는데 그 내부에서 b_func 함수도 선언된다. 그리고 print("it's a_func") 가 실행되고 b_func..

Autocorrelation 과 Crosscorrelation 이란(어디에 쓰일까?)

Autocorrelation(자기 상관) 와 Crosscorrelation(비교 상관) 이란? Sinus apollo 장비로 실험 중에 주파수 분석 이외에 Correlation 분석을 할 수 있다는 것을 알게 되었다. 일반적으로 해머 같은 입력을 주면 시편에서 가속도와 같은 형태의 응답이 나온다. 이 사이에 관계는 FRF(Frequency Response Function)으로 나오고 전달함수로 표현되기도 한다. 그러면 Correlation이란 무엇일까? Correlation은 우리나라 말로 상관관계라는 뜻이다. 간단히 말하자면 유사성을 알려주는 지표라고 할 수 있다. 앞서 입력과 응답을 주파수로 분석하였는데 Correlation은 시간 도메인에서 분석을 한다. Auto Correlation은 자기 자신의..

여러가지공부 2021.04.16

파이썬(Python) 속성 중 __name__ 이란?

__name__ 이란? 파이썬 코드 예제를 살펴 보면 아래와 같은 코드를 종종 볼수 있다. if __name__ == '__main__': 간단히 설명하면 __name__은 파이썬에 들어가 있는 기본 속성으로 해당 모듈의 위치를 알려 준다. 참고로 파이썬의 기본 속성은 아래와 같이 확인할 수 있다. print(dir()) # 결과 ['__annotations__', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__'] name은 실행이 발생하는 위치인데 아래 예제를 통해 이해해보겠다. __name__ 예제 print(__name__) 위 코드처럼 test1.py 파일에 ..

flask 기본 예제 실행이 안될 때 (에러메세지도 안뜨는 경우)

flask.palletsprojects.com/en/1.1.x/quickstart/#a-minimal-application Quickstart — Flask Documentation (1.1.x) For web applications it’s crucial to react to the data a client sends to the server. In Flask this information is provided by the global request object. If you have some experience with Python you might be wondering how that object can be global and how flask.palletsprojects.com 위 링크의 기본..

SRS (Shock Response Spectrum) 이란?

SRS (충격 응답 스펙트럼) 이란? 처음에는 지진에 대한 구조물의 응답을 보기위해 고안된 방법이었다. SRS은 환경실험 중 하나로 복합 (Complex) Trasient 충격 실험이다. 엔지니어는 SRS 실험을 이용해서 시편의 순간적인 이벤트에 대한 응답을 확인한다. SRS은 전통적인 충격실험보다 더 복합적인 충격 펄스를 만들어 준다. 엔지니어는 특정 SRS 응답을 위해 원하는 충격 펄스를 합성하여 만든다. SRS (Shock Response Spectrum) 구성 및 분석 그림1의 왼쪽 그림은 SRS 실험을 위한 구성을 보여 준다. 가진기(shaker) 위에 검증하고자 하는 시편을 올려 놓았다. 시편의 내부는 일련의 Mass-spring-damper 시스템으로 구성되었다고 생각한다. 자연계 물질들의 ..

여러가지공부 2021.04.13

PSD(Power Spectral Density) vs Autopower 비교

광역대역(Broadband)에서의 PSD(Power Spectral Density) 와 Autopower PSD와 Autopower는 주파수 영역에서 신호의 파워를 측정한 것이다. 그림1의 예제를 통해 PSD와 Autopower를 쉽게 이해해보자. 그림1은 주파수 영역에서 일정한 가속도를 가지는 그래프라고 생각하자. 왼쪽 그림은 Autopower를 표현한것이다. Y축은 가속도(g)로 표현된다. 컴퓨터에서 FFT(Fast Fourier Transformer)를 통해 실시간 신호를 주파수로 변경할때 주파수 값들은 디지털 과정을 거친다. 만일 그림처럼 분해능(resolution)을 4hz로 설정하면 4hz당 한번의 A 크기를 가지게 되고 2hz로 설정하면 샘플링이 2배더 발생하므로 A/2의 크기로 표기해야 동..

여러가지공부 2021.04.12

진동 제어(Vibration Control) 실험 이란?

Vibration Control Testing (진동 제어 실험) 진동제어 실험이란 엔지니어가 제품의 신뢰성(Reliability)를 확인하기 위해 진행하는 실험이다. 제품의 수명(Warranty) 기간을 검증 하기위해 가속화하여 진행한다. 가속화된 진동제어 실험을 성공적으로 진행한 제품은 고객 만족과 신뢰성 높은 제품을 생산하여 높은 ROI(Return on Investment)를 가질 수 있다. 진동제어 실험은 제품이 겪을 수 있는 진동(Vibration) 이나 충격(Shock)을 유사하게 재현한 실험이다. 일반적으로 Shaker라고 알려진 가진기 장치를 통해 실험을 진행한다. 그림1은 Shaker에 제품을 올려놓고 모니터를 통해 검증하고 있는 장면이다. Vibration control test는 환..

여러가지공부 2021.04.12

OMA(Operational Modal Analysis) vs EMA(Experimental Modal Analysis) 란?

OMA(Operational Modal Analysis) 란? OMA 는 시편의 구조적 상태(Dynamics)을 알아보기 위한 기법이다. OMA의 "Operational"이 의미하는 바처럼 OMA 측정은 시편의 동작중에 실시한다. 일반적으로 개발이나 분석을 위해 시편을 테스트 할때 실험실에서 규정된 환경에서 검사하는 것이 일반적이나 OMA는 실제 환경에서 검사를 하는 것이다. 동작중에 시편에 가해지는 힘(N)에 의해 발생하는 응답을 변위, 주파수, 오더 분석과 같은 결과로 얻을 수 있다. 가령 차량이나 비행기 같은 시편에 측정하고자하는 부분에 센서를 장착하고 동작시키면서 모달 분석을 하는 것이다. 운행중에 모달 분석을 함에 있어서 단점은 정확한 입력값을 측정할 수 없다는 것이다. 그러므로 OMA는 응답(..

여러가지공부 2021.04.08

SDOF(Single degree of freedom)에서 Mass-Spring-Damper 이해하기

SDOF(Single degree of freedom, 단자유도계) 에서 Mass Spring Damper SDOF에서 DOF 는 질량을 구성하는 입자의 위치를 정의하는 데 필요한 좌표계의 수를 의미한다. 그러므로 SDOF는 간단하게 한개의 축의 방향으로 설명이 된다. 그림1과 같이 무게 m 을 가진 물체가 힘 f 를 가하여 아래 위로 움직인다. 여기서 각 parameter에 대한 정의를 하면 아래와 같다. m : 무게, 단위는 [kg] c : 댐핑 계수, 단위는 [Ns/m] k : 스프링 계수, 단위는 [N/m] f : 가해지는 힘, 단위는 [N] x : 이동거리, 변위, 단위는 [m] Mass Spring Damper 시스템 수식으로 이해하기 그림1을 수식으로 표현하면 그림2와 같이 된다. 입력으로 ..

여러가지공부 2021.04.06

FRF (Frequency Response Function, 주파수 응답)이란?

주파수 응답 함수란? FRF은 특정 입력(힘)을 넣어서 나오는 반응(g)을 주파수 도메인에서 보는 것이다. FRF를 사용하는 목적은 시편의 공진주파수(Resonant frequency), 댐핑(damping), 모드 형태(mode shape)의 정보를 가져 오기 위함이다. FRF는 입력과 출력의 전달함수(Transfer function)으로도 불린다. FRF는 LTI (Linear time invariant) 시스템에서 입력과 출력의 관계이다. 간단히 말하자면 그림1처럼 임팩트 해머로 시편을 치면 임팩트 해머에 달린 센서에서 펄스 형태의 힘을 측정한다. 이상적인 펄스 신호는 주파수 전지역에서 일정한 크기를 가진 형태지만 현실은 그림1의 오른쪽 그림처럼 주파수가 올라가면서 힘이 떨어진다. 시편에 달린 가속..

여러가지공부 2021.04.05

파이썬(Python) Selenium Click() 동작이 안될 때

예약 사이트를 자동화로 만드는 과정에서 몇 몇 버튼이나 a, href 링크들이 클릭이 안되는 경우들이 종종 있었다. element click intercepted ElementClickInterceptedException is not clickable at point 위 와 같은 메세지가 발생하거나 다운이되는 현상들이 있었다. 내가 예약사이트 자동화중에 만난 경우들을 아래와 같이 정리하고 해결 했던 방법도 정리해 보았다. Case 1 그림1과 같이 화면의 아래 김해CC를 클릭하고 날짜를 클릭 후에 예약하기 버튼을 눌러야 하여서 아래와 같이 코드를 짰다. kimhae_check = WebDriverWait(self.driver, 10).until(EC.presence_of_element_located((B..

반응형