scribblinganything의 등록된 링크

키자드에 등록된 총 694개의 포스트를 확인하실 수 있습니다.

Tistory

삼성 디스플레이 노트북용 (세계 최초)90Hz OLED 스크린 대량 생산

대표사진 삭제 사진 설명을 입력하세요. 노트북용으로 세계 최초 90Hz OLED 스크린 대량생산 계획을 삼성 디스플레이에서 발표하였다. 그리고 여러 글로벌 IT 회사들이 올해 해당 스크린을 탑재한 모델들을 출시할 계획이라고 밝혔다. 양산은 올해 3월 부터 시작할것이고 "매우 많은 양"이라고 최주선 CEO의 성명을 통해 말하였다. 비율이나 화질에대한 디테일은 나오지 않았지만 패널은 14인치 사이즈라고 한다. 여러 버전으로 출시가 될 것이라고 했다. 삼성에 따르면 이번 패널은 이전보다 빠른 반응속도의 OLED 패널이고 화면이 빠르게 전개 시 "사용상" 120Hz LCD정도의 흐림(Blurring)이라고 한다. 아직 성명에서는 노트북 OEM 파트너사에 대한 언급은 없다. OLED 디스플레이는 노트북에서 전례가..

Tistory

SPAC 합병으로 전기차 충전 회사 EVgo 상장

전기자동차 시장의 또 다른 기업이 SPAC 합병을 통해 상장을 하고 있다. 이번에는 미국 전기차 충전소 선도업체인 EVGO 이다. 이번 거래로 EVGO에 5억7500만 달라가 유입될 것으로 보고 있다. 상장이 성공적으로 끝나면 EVgo는 뉴욕 증권 거래소에서의 상장사가 될 것이다. 합병에 들어갈 투자펀드는 기후 투자자인 David Crane에 의해 시작되었다. Crane은 10년 전 EVgo 시작을 도와 준 에너지 회사 NRG의 CEO 이다. 수익 중 약 1억 7500만 달러는 Crane의 SPAC에서 조달할 것이다. 나머지 4억 달라는 BlackRock 과 Pacific Investment Management Company (PIMCO) 와 같은 기관 투자자들을 포함하는 Crane의 SPAC에서 제공한..

Tistory

스토리텔링 왓트패드사(Wattpad) 5억달라 이상에 판매 - 네이버 사에서 구매

Wattpad 는 신예 작가들의 작품을 헐리우드 영화나 티비, Hulu, 넷플릭스에 연결한 등용문의 역할을 했다. 키싱부스, Light as a Feather, After We Collided 와 같은 제목의 작품으로 번안되었다. 하지만 Wattpad 가 더이상 등용문의 역할을 하지않을 것으로 보인다. 대한민국에 위치한 네이버(Naver)사에서 Wattpad를 600백만불 이상을 지불해서 구매했고 오늘 발표 했다. 자세한 내용은 공개되지 않았지만 네이버 사에서 자사 웹툰과 Wattpad를 연결시킬 것으로 보인다. - 웹툰에서도 작가들이 자신의 작품을 포털에 올리고 유사하게 TV나 애니매이션으로 각색한다. (각색 작품의 리스트는 위키피디아에서 쉽게 확인할 수 있다.) Wattpad 사 프레스를 통해 네이버..

Tistory

삼성 군용등급(Military grade) 태블릿 미국 출시(시작가 $489), 갤럭시 탭 Active 3

작년 9월에 삼성 갤럭시 탭 Active3이 발표되었다. 이제 미국에서 시작가 $489.99 에 구매할 수 있다. 이 투박한 8인치 안드로이드 태블릿은 제조, 소매, 작업 현장용으로 설계되었다. 이 제품은 IP68 등급(물, 먼지 저항 인증)을 받았다. 삼성에 따르면 해당 태블릿은 23가지의 환경 테스트를 통과했다고 한다. (MIL-STD-810 군용등급을 맞추는 진동, 높은 고도 테스트 포함). 케이스는 1.5미터 추락을 견디고 IP68 인증 받은 S 펜은 박스 내에 포함된다. Active 3 터치스크린은 중장비 용 장갑만 아니라면 일반 작업 장갑을 착용한채로도 조작이 가능하다. 그리고 별도의 네비게이션 버튼이 있고 두개의 단축 버튼이 있다. 단축버튼으로 원하는 앱에 바로 접근 가능하다. 후면 13메가..

Tistory

응력(stress), 변형률(strain) 그래프

응력-변형률 그래프(curve) : 응력-변형률 커브는 동일한 재료에 대해 단면적과 길이가 달라도 동일한 그래프를 그린다. : 재료에 따라 커브 특성이 바뀐다. 비례한도(Proportional limit) : 그래프의 직선 구간의 마지막 점 탄성한도(Elastic limit) : 탄성한도 이하의 하중은 하중을 준다음 제거하면 시험편이 원래 길이로돌아간다. : 탄성한도 이상의 하중을 주고 제거하면 해당지점에서 직선구간과 동일한 기울기로 힘이 제거되고 영구변형률(permanent set)이 발생한다. 항복강도(Yield point) : 그림에서 C 위치 정도 됨 : 탄성한도에서 더 큰 힘을 가하면 재료로서 자기기능을 더 이상 발휘하기 어려운 점 : 일반적으로 0.2% 영구변형률(permanent set)을 ..

Tistory

후크, 훅의 법칙 (Hooke's law) / 응력-변형률

훅의 법칙 : 재료에 따라 응력(stress, 시그마)-변형률(strain, 입실론) 그래프가 달랐지만 공통적으로 직선 구간이 존재함 : 직선 구간을 1차 함수로 표현이 가능함, 해당 표현식을 훅의 법칙이라고 함 : E 는 탄성 계수(modulus of elasticity) 이다. : 탄성 계수(modulus of elasticity) 는 열처리에도 변하지 않는 재료의 고유 특성이다. : 대표적인 탄성 계수(modulus of elasticity) 예 - 철강 207GP, 알루미늄 72GP

Tistory

애플사에서 Apple TV+ trial 7월까지 연장 (미국)

9to5Mac 에 따르면 애플에서 현재 진행중인 애플 TV플러스의 1년 시범 사용을 21년 7월까지 연장하기로 했다. Trial 은 아이폰, 아이패드 맥, 애플 티비 와 같은 애플 제품 구매시 제공해주었다. 원래 계획은 20년 11월까지 무료 제공이었다. 하지만 이번 연장 발표로 7월 까지 사용 가능하게 되었다. 무료 구독을 한 구독자들은 21년 2월에 만기되기로 되었으나 7월로 연장되었다. 이번 연장안은 제품의 출시 연기뒤에 나왔다. 현재 서비스가 시작한지 하나의 작품만 (Dickinson) 두번째 시즌 프리미어를 가졌다. 다른 For all Mankind, The morning Show, See 와 같은 작품은 여전히 시즌2가 나오기를 기다리고 있다. 코로나 바이러스러 인한 작품들의 발표 연기는 이해..

Tistory

닌텐도 스위치 사이즈 게이밍 PC (Aya Neo vs GPD win3)

일년전 CES2020에서 Alienware 제품으로 닌텐도 스위치와 유사하게 동작하는 모듈 게이밍 PC를 선보여서 큰 파장을 일으켰다. 윈도우 10 테블릿과 양 옆에 한 쌍의 게임 패드로 구성되었다. 안타깝게도 레노버 사의 이번 년도 아이디어처럼 Alienware 제품의 UFO는 컨셉 버젼이었다. 하지만 이 두 회사는 해당 제품에 crowd 펀드를 받아 제대로 불을 지폈다. 아마 살아있는 동안에는 볼 수 있을 것이다. 5.5인치 GPD Win3 와 7인치 Aya Neo 는 다른 방식으로 제품에 대해 접근하고 있다. Aya는 닌텐도 콘솔의 사이즈 모양, 게이밍 컨트롤 등을 비슷하게 따라가고있다. GPD는 손바닥 크기의 컴퓨터형식을 유지하고 스크린을 위로 밀어내면 키보드가 나오는 슬라이드업 스크린을 가지고 ..

Tistory

고체 물질 종류

철금속 :철(Fe) 가 들어간 재료로 탄소(C)의 양에 의해 순철, 강철(탄소 ~0.15%), 주철(탄소 2.06~6.67%)로 분류 된다. 비철금속 :철(Fe)이 포함되지 않은 금속재료, 알루미늄, 구리, 마그네슘 등. 금속들을 2개이상 섞으면 합금 세라믹 : 1개 이상의 금속 원소와 비금속원소의 조합, 비금속 원소로 산소, 탄소, 질소 가 있음. 예, 알루미나, 지르코니아, 탄화규소, 질화규소 고분자(macromolecule, Polymer) 재료 : 분자량이 큰 화학물질, 일반적으로 분자량이 1만 이상인 큰 분자 : 열경화성 플라스틱(고온에서 녹지않고 탐), 열가소성 플라스틱(고온에서 녹음), 고무(천연, 합성)

Tistory

응력(stress)이란? 종류?

응력? : 수식적 표현식을 풀이해서 말하자면 힘의 크기를 단면적으로 나눈 값이다. (1Pa(파스칼) = N/m^2) : 인장(tensile, 당기는힘) 실험 중에 같은 재료에 동일한 힘을 단면적으로 나누면 유사한 결과를 얻는 다는 것을 확인함 응력 종류, 아래 그림 참조 - 압축응력(compressive stress) : 외부에서 미는 방향의 , 음수 값 - 인장응력(tensile stress) : 외부에서 당기는 방향의 힘, 양수값 - 전단응력(shearing stress) : 가위로 종이를 자르듯이 재료를 자를 때 발생하는 힘, 면에 수평방향으로 발생하는 내부 힘 - 수직응력(normal stress) : 인장 응력과 압축응력을 합친 것.

Tistory

변형율(strain)이란?

변형율(strain)? : 같은 힘으로 동일한 재료, 동일한 단면적의 시편에 대해 인장시험 결과 변형량이 다르게 나옴 : 늘어나는 길이에 따라 차이가 발생함을 확인함 : 늘어난 길이를 초기 길이로 나누면 동일한 결과를 얻을 수 있다는 사실을 확인함 : 인장(당기는힘)은 변형율을 양수이고, 압축(미는힘)은 변형율을 음수로 표현함 : 응력(stress)와 달리 단면적은 변형율에 포함안됨. 전단 변형률(shear strain) :전단 응력처럼 물체를 자를 때 발생하는 변형율이다. : 전단 변형률의 각이 아주 작을 격우 tan 함수와 각도는 거의 비슷하다.

Tistory

엔비디아(Nvidia), AMD의 GPU 부족 사태

엔비디아의 새 출시품인 RTX 3080, 3070, 3060 Ti와 AMD의 RX 6800, 6800 XT 모두 현재 수급이 어렵다. 출시 되면 즉각적으로 팔리고 있다. 이와 같은 믿을수 없는 수요는 GPU 가격을 수백불에 달하게끔 상승시키고 있다. 트럼프 정부의 세금과 치솟는 cryptocurrecy 가격이 GPU의 가격(비트 코인 채굴에 이용)을 더 높게 만들었다. 심지어 예전 GPU 모델들도 온라인에서 빠르게 팔리고 있다. 이번주 엔비디아와 AMD에서 업데이트 뉴스를 발표했다. AMD 사에서 발표하기를 2021년 1분기에 고정된 가격으로 본사의 웹사이트에서 자사 대표 모델인 RX 6800, 6800 XT, RX 6900 XT를 판매하기로 하였다. 가격은 $579, $649, $999로 별도의 증가는..

Tistory

Asus 사에서 팬(Fan) 없는 크롬박스(Chrome box) 출시

아수스(Asus) 사에서 쿨링팬이 없는 새로운 크롬박스(Chromebox)를 발표하였다 : Asus Fanless Chromebox 이전 모델과 마찬가지로 Asus Fanless Chromebox 는 컴팩트한 크기를 가지고 있고 모니터 뒤에 쉽게 설치할 수 있게 되어 있다. 공간을 많이 차지 않아 책상 같은 곳에 놔두어도 된다. 의도 하지 않았겠지만 디자인이 다소 무선 라우터와 비슷하게 생겼다. Asus Fanless Chromebox 는 8.15 x 5.82 x 1.26 인치 크기이다. 그리고 외부 샤시는 알루미늄으로 되어있고 사각형 박스 모양이다. 디자인 특징은 박스 윗 부분에 이랑(ridged)과 후면에 두개의 안테나에 있다. 이번 크롬박스의 특징은 10세대 Intel 코어 또는 Celeron 프로..

Tistory

American Robotics 자동 스마트 드론

대표사진 삭제 사진 설명을 입력하세요. FAA(Federal Aviation Administration, 연방 항공 행정부)에서 자동 운행 스마트 드론에 대한 규제를 10월에 크게 줄여주었다. 북 캐롤리나에 있는 어느 다리에서든 자동운행 스마트 드론(Skydio 사)으로 4년 동안 조사할 수 있도록 허가해주었다. 단 사람이 먼저 해당 다리 확인한 다음에 가능하다. 현재 US 에어스페이스 법 집행관은 더 크게 규제를 풀어주었다 : "American Robotics" 사는 드론 주변에 조정하는 사람 없이 운행할 수 있는 첫번째 회사가 되었다고 한다. 하지만 언론에서 발표한 "FAA에서 승인한 첫번째 상업용 자동운행 드론"은 기대에는 못미치고 있다. 왜냐하면 여전히 사람이 필요하기 때문이다. 법적으로는 승인되..

Tistory

소니 (Sony) 사의 Airpeak 드론

소니도 드론 사업을 시작 하였습니다. Airpeak 라는 이름의 드론을 올해 2021 미국 CES에서 처음으로 간략하게 선보였습니다. 새로 출시되는 이 드론은 Alpha 카메라는 운반할 수 있는 드론 중 가장 작은 크기라고 알려져 있습니다. Airpeak의 주 사용은 비디오 컨텐츠 제작 및 전문 사진 촬영입니다. 소니 측에서 해당 드론은 지형이나 도시 촬영용으로 사용된다고 얘기 하였지만 그 외에는 알려진 정보가 거의 없습니다. 이번 CES 쇼케이스에서는 소니사의 컨셉차량 Vision-S의 추적 촬영을 선보였습니다. CES2021에서 보여준 모델은 quadcopter(4개의 프로펠러) 였습니다. 두개의 착륙 장치가 있었고 이륙 시에는 위 쪽으로 접혔습니다. 드론 사업이 소니가 처음하는 분야이지만 카메라에 ..

Tistory

JSON 개념, 의미, 사용 목적, Python Flask 와의 연동 예제 설명

JSON 의 의미와 사용 목적 JavaScript Object Notation (JSON) 는 텍스트 형식으로 구조화된 형태로 자바스크립트 구문을 사용한다. JSON은 데이터를 웹 application에 전송할때 주로 사용된다. 가령 데이터를 서버에서 클라이언트의 웹브라우저로 보내거나 반대로 웹에서 서버로 보낼 때 사용된다. JSON 이 비록 자바스크립트의 형태를 따르기는 하지만 자바스크립에서 독립적으로 사용될 수 있고 많은 프로그램 환경에서도 JSON 기능을 제공한다. 현재 내가 개발하고 있는 환경은 파이썬 Flask를 이용해서 웹서버를 만들고 웹서버에서 주기적으로 웹브라우저에 데이터를 보내주는 예제이다. 만일 JSON을 사용하지 않고 데이터를 보내려고 한다면 python에서 별도의 encoding 과..

Tistory

javascript css html head에서 정의(선언)

html 문서에서 head 내에 필요한 css나 js(javascript) 문서 링크를 선언한다. 코드>> 주석>> web 브라우저에 그래프를 그리기 위해서 필요한 js와 css를 가져오는 가정이다. link 문에는 css 문서를 css 서버에서 가져온다. script 는 js 자바스크립트 문서를 가져온다. jquery는 javascript 코드를 사용하기 편하게 만들어놓은 일종의 라이브러리로 앞으로 진행할 프로젝트에 필요하다. bootstrap은 jquery 처럼 누군가 구현하기 피곤한 javascript를 객체로 제공하는 것으로 우리는 필요한 부분만 빼서 사용하면 된다. Chart는 그래프 그릴때 필요한 자바스크립트로 이미 구현된 것을 명령어들을 가져와서 사용하면된다.

Tistory

bootstrap, container-fluid,container 클래스 비교

코드 >> 결과>> 코드>> 결과>> 주석>> bootstrap container 클래스는 두번째 결과처럼 양 옆에 여분을 주고 container-fluid 는 옆에 여분없이 가져간다. 해당 성질은 bootstrap.css에서 가져 온것이다.

Tistory

아두이노에서 온도값 주면 db에서 저장한 값을 webGUI에서 그래프로 출력하기

이번 프로젝트는 아두이노에서 온도값을 컴퓨터로 serial 통신을 사용해서 전달한다. (1초단위) serial로 받은 값은 파이썬과 mongodb를 이용해서 db에 저장한다. 동시에 다른 파이썬 프로그램에서는 web GUI 를 flask를 이용해서 실행시키고 db에서 읽은 값을 웹브라우져를 통해 그래프로 표현하다. 여기서는 그래프로 출력하는 파이썬 flask와 html 코드를 설명하겠다. 코드 - flask python>> from flask import Flask, Response, render_template from pymongo import MongoClient from datetime import datetime import json import time import random ..

Tistory

javascript documnet write 란

자바스크립트로 웹페이지에 텍스트를 표현하고 싶을 때 사용하는 명령어 이다. 아래 코드로 애해해보자. 코드 >> hello1 hello2 결과>> 주석>> 자바스크립트로 write를 이용해서 글을 쓰는 이유는 반복적인 동작이나 논리에 따른 텍스트의 변화를 주고 싶을때 write와 함께 사용할 수 있다.

Tistory

javascript breakpoint 디버깅 방법

크롬 브라우저에서 디버깅 하는 방법을 정리하겠다. 아래와 같은 코드를 실행한다고 가정하겠다. 코드>> hello1 hello2 주석>> 코드를 실행하고 한줄 한줄 내용을 확인하고 싶을때 break point를 정하고 그 부분부터 한줄씩 코드를 실행하면서 변수가 값의 변화를 확인하는 것을 debugging 이라고 한다. 위와 같은 코드는 간단해서 쉽게 알수 있지만 만일 코드가 복잡하고 많은 변수가 있다면 변수의 변화를 직관적으로 확인하기 힘들 때가 있다. 그럴때 코드를 실행 후 웹 브라우져에서 마우스 오른쪽을 클릭하고 검사를 누른다. 그럼 아래 그림처럼 나온다. 그림에서 위에 탭중에 Source를 선택한다. 그럼 아래처럼 코드를 확인할 수 있고 원하는 break point 지점의 숫자를 클릭한다. 여기 예..

Tistory

javascript 배열 명령어들 정리 (추가, 삭제, 정렬)

코드 예제를 통해 바로 이해해보자 코드>> 결과>> 주석>> push 는 배열 마지막에 추가해준다. concat은 배열 마지막에 여러값을 추가해준다. unshift는 배열 앞에 추가해준다. splice는 원하는 인덱스 위치에 여러 값을 넣어준다. pop은 배열 마지막 값을 빼준다. shift는 배열 앞의 값을 빼준다. sort는 숫자나 string을 정렬해준다. reverse는 역순으로 정렬해준다.

Tistory

javascript 객체지향

자바스크립트의 객체 지향을 공부했다. 파이썬의 Class 와 유사했다. 파이썬의 클래스에서 init에서 변수를 선언하고 그 뒤에 함수들을 선언해서 사용하는 것과 유사하게 javascript 에서 사용할 수 있다. 아래 예를 통해 이해해 보자. 코드>> 결과>> 주석>> a_var 라는 객체 안에 변수들을 키값하나에 다시 객체로 넣었다. 그리고 함수를 'function'이라는 키값 안에 넣었다. for 문 안에 this가 있는데 이것은 python에서 self를 말하는 것처럼 여기서는 a_var 자신을 가리키는 것이다. 그래서 a_var에서 변수 키값인 "variables"를 사용해서 값을 가져와서 함수에 적용한 것이다.

Tistory

PS5에서도 HBO Max 시청 가능 (미국)

HBO Max 가 다음 세대 PS5 콘솔에서 시청이 가능해질 것이라고 수요일에 소니측에서 발표 했다. PS 콘솔에서는 스트리밍 서비스를 하지 않았던 HBO가 PlayStation 트윗 계정을 통해 이 같은 사실 발혔다. PS4 에는 안타깝게도 해당 사항이 없다. PS5 사용자들은 내년 HBO 스트리밍 서비스로 출시할 Wonder Woman 1984를 4K HDR로 볼 수 있을 것이다. (Xbox Series X/S 사용자들은 해당 HBO 앱을 이용 사용이 가능함) 처음에 PS5에서 HBO Max를 다운 받았을 때 PS4에서만 사용가능하다고 나왔지만 reboot 이후에 다운로드가 가능했다. 만일 HBO Max 앱 다운을 원한다면 PS5 홈 스크린에서 media 탭에서 찾을 수 있다. 원문>> Son..

Tistory

serial 통신으로 받은 값 DB에 저장하기

이번 프로젝트는 미리 만들어 놓은 아두이노에서 온도 습도 가스 등등의 값들을 측정해서 serial 통신으로 1초 간격으로 보내주는데 받은 값을 파이썬으로 mongodb에 저장하는 파이썬 프로그램을 만들 것이다. 저장값은 robo 프로그램으로 확인할 것이다. 아래 값은 아두이노에서 보내는 값들이다 이중에 온도와 습도를 의미하는 Tv와 Hv 값을 가져오겠다. As0 Vs10 Es0 Cs400 Ts4000 Hs0 Lv0 Cv1129 Tv6855 Hv1561 Vv0 Ev400 Dv3 파이썬 코드를 통해 이해해보자 코드 >> from pymongo import MongoClient from time import sleep import serial import time class SertoDB_OOP(): def ..

Tistory

javascript 결과 확인을 위한 alert, console log

이제부터 자바스크립트 기초부터 정리하려고 한다. 파이썬의 print 와 비슷하게 결과들을 확인 하는 방법으로 alert와 console log로 확인하는 방법이 있다. 아래 코드로 이해해 보자 코드>> 결과 >> 주석>> html 파일을 열면 위처럼 alert 메세지가 바로 뜨고 console log는 크롬에서 개발자 모드로 들어가면 위 그림처럼 console 탭이 있다. console 탭을 선택하면 위처럼 메세지 값을 확인할 수 있다.

Tistory

javascript prompt 로 입력값 받기

자바스크립트 prompt는 웹 화면에서 입력을 받아서 넘겨 주는 역할을 한다. 아래 코드를 통해 이해해 보자. 코드 >> 결과>>

Tistory

bootstrap 예제 가져와서 사용해보기(로그인페이지)

bootstrap을 간단하게 말하자면 트위터에서 개발한 일종의 라이브러리/템플릿 정도로 보면 된다. 우리가 웹사이트를 개발할때 사람들에서 보여지는 front end를 개발해야 하는데 이부분이 미적감각도 있어야 하고 javascript css 등 신경써야할 부분이 많다. 이런 노동들을 줄이고자 많은 bootstrap template를 유료 또는 무료로 사용할 수 있다. 여기서는 간단히 로그인 페이지를 무료 template를 가져와서 flask와 연동해서 만들어 보겠다. https://getbootstrap.com/docs/5.0/examples/ 위 링크에서 example를 다운로드 한다. 그중에 bootstrap-5.0.0-beta1-examples\bootstrap-5.0.0-beta1-examples..

Tistory

Gmail 오류 현상 발생 (Youtube 먹통 현상 하루 뒤 발생)

Google에서 화요일 오후(미국시간) 상당 수의 Gmail 사용자들이 Gmail 서버스 사용에 오류를 겪었다고 발표했다. 사용자이 inbox 에 접속할 때 에러 메세지나 이상 현상 등이 발생하였다고 서비스 페이지에 발표하였다. Google은 해당 문제를 6:51PM ET에 해결 하였다고 발표 했다. 해당 에러는 Gmail, YouTube, Google Docs 과 같은 Google 제품의 먹통 현상이 발생한지 하루 뒤에 발생한 것이다. Downdetector(웹사이트 문제현상 모니터프로그램)이 약 3PM ET에 Gmail 문제 현상을 발견했다. 사용자들은 inbox 접속 불량, 이메일 송신 실패(gmail간) 등을 보고 했다. 원문>> Google says that a “significant subse..

Tistory

flask, pyserial 동시에 사용하기

이번 주제는 flask로 웹서버를 동작시키면서 동시에 serial 통신으로 아두이노로 부터 값을 계속 받아오고 싶었다. 처음에 사용한것은 thread 모듈이었는데 웹서버와 같이 thread를 돌리는 방법은 시도하다가 잘안되서 포기하였다. 그렇게 찾은 것이 flask의 Response 함수 였다. Reponse는 말그대로 실시간 (on the fly)로 데이터를 처리해주는 것이다. 아래 링크를 통해 공부하였다. https://flask.palletsprojects.com/en/1.1.x/patterns/streaming/ Streaming Contents — Flask Documentation (1.1.x) Streaming Contents Sometimes you want to send an enormo..

Tistory

mongodb 두개의 프로그램으로 쓰면서 읽기

이번 주제는 하나의 프로그램이 db에 쓰기만을 하는 동안 다른 프로그램에서 해당 db에 접속해서 읽는동작만 하는 것을 구현하였다. 일초 단위로 읽고 쓰고 읽는 값은 마지막 3개의 값만 출력하는 것으로 하였다. 파이썬으로 작성하였고 pymongo로 동작한다. 아래 코드를 통해 이해해 보자. 코드 - write.py>> from pymongo import MongoClient from time import sleep my_client = MongoClient("mongodb://localhost:27017/") db = my_client['number_inc'] db_col = db.numbers idx = 0 while True: post = { "num": idx, } db_col.insert_one(p..

Tistory

post form 으로 보낸 데이터 mongodb에 저장하기

이 프로젝트의 최종 목적은 아두이노에서 모은 가스, 온도, 습도 정보를 web GUI(Graphic User Interface)로 표현하는 것이다. 우선 첫단계로 일반적인 페이지에서 정보를 받아서 POST form으로 서버의 DB에 저장하는 예제를 실행하겠다. 파이썬 flask로 web GUI를 만들 예정이고, db는 Mongo 를 이용할 것이다. 코드-data_send.html>> raw data0 주석-data_send.html>> form으로 묶어서 POST를 보내는 것이다. action은 form을 진행한 다음 동작인데 그냥 원래 위치 그대로 유지한다. raw_data0을 동일한 이름으로 name에 묶어서 보내주는 역할을 한다. 코드- run.py>> from flask import Flask f..

Tistory

Samsung Galaxy S21 Plus 새 비디오 공개

1월 출시 예정을 앞두고 삼성갤럭시 S21 Plus에 대한 정보들이 공개되고 있다. 새로 공개된 비디오에서는 flat display와 display를 감싸는 bezel과 펀치구멍 처럼 일렬로 배치된 카메라를 볼 수 있다. Ramdon Stuff2 라는 유저에 의해 공객된 비디오 상태는 좋지않았다. 갤럭시 S21의 후면에 대한 정보가 없었고 산만하게 만드는 음악이 감상을 방해 한다. 3가지 Galaxy S21 모델이 출시될 예정이다. Standard / Plus / Ultra. 유출된 비디오를 통해 확인한 결과 Ultra 모델은 5개의 카메라를 가지고 있고 나머지 두 모델은 3개의 카메라가 있었다. Android Police 가 지난달에 발표한 바에 따르면 Standard는 6.2인치, Plus는 6.7인..

Tistory

Flask route란

flask route는 입력 인자의 위치를 웹브라우져를 통해 접속 했을 때 route 바로 밑에 정의 된 함수를 실행해서 return 값을 웹브라우져에 표현해 주는 것이다. 아래 예를 통해 이해해보자. 코드 - test.py>> from flask import Flask from flask import request from flask import render_template web_gui = Flask(__name__) @web_gui.route('/') def hello_fnc(): return 'Hello' @web_gui.route("/page", methods = ["GET", "POST"]) def page_fnc(): if request.method == "POST": return 'POST..

Tistory

jquery 예제 설명, cdn이란

jquery란 javascript의 라이브러리이다. 라이브러리의 일반적인 기능처럼 구현하기 복잡한 javascript 코드나 기능들을 사용자들이 쉽게 사용할 수 있게 해준다. jquery를 사용하기 위해서 html head에 사용한다고 선언해주어야 하는데 여기서 라이브러리 위치를 지정해줘야 한다. 보통 서버에 jquery를 저장하거나 jquery 웹이나 google웹에 위치한 라이브러리를 가져오는데 웹에서 가져오는 장점은 전세계에 서버가 많이 퍼져 있어서 라이브러리를 이용하는 사용자가 자신 가까이 위치한 웹서버에서 가져온다. cdn (content delivery network)는 해당서버에서 가져오는 내용(라이브러리)라고 보면된다. 기초적인 명령어는 코드 예제를 통해 이해해보자. 코드-flask.py>..

Tistory

MongoDB 기본 명령어 모음, 파이썬

코드>> import pymongo a_var = { "name": "James", "age": 25, "city": "Daejeon", "profile_pic" : [ "pic_a.png", "pic_b.png" ] } b_var = { "name": "Brown", "age": 29, "profile_pic" : [ "pic_c.png", "pic_d.png" ] } c_var = { "name": "Judy", "age": 22, "city": "Seoul", "profile_pic" : [ "pic_e.png" ] } # mongodb와 연결 형성 connect_to = pymongo.MongoClient("localhost", 27017) mdb = connect_to.test_db # coll..

Tistory

Royole FlexPai2 폴더폰

Royole FlexPai 라는 첫번 째 폴더폰을 기억하시나요? 안타깝게도 기대 이하였습니다. 그 뒤 FlexPai2 는 좋은면으로 다른 제품입니다. FlexPai2 는 기존에 안으로 접는 형태와 다르게 화면 바깥으로 접습니다. 그래서 접어도 화면을 볼 수 있습니다. 구조도 탄탄해 보입니다. 하지만 화면상에 단점이 있습니다. 접히는 면이 넓다는 것입니다. 그리고 펼치고 화면에 손을 대었을 때 경첩부분이 느껴 집니다. 9,998 위안으로 싼가격은 아닙니다. 폴더폰을 사라고 추천은 하고 싶지 않지만 초기 폴더 폰에 대한 노력은 인정해줘야 합니다. 원문>> Remember the first folding phone, the Royole FlexPai? Unfortunately, it was bad. But t..

Tistory

list copy [:] 리스트안에 콜롬(:) 사용하는 이유

코드>> a_var = [0,1,2,3] b_var = a_var c_var = a_var.copy() d_var = a_var[:] print(type(a_var)) print(a_var) print(b_var) print(c_var) print(d_var) print(id(a_var)) print(id(b_var)) print(id(c_var)) print(id(d_var)) 결과>> [0, 1, 2, 3] [0, 1, 2, 3] [0, 1, 2, 3] [0, 1, 2, 3] 3000420137536 3000420137536 3000421627328 3000421627136 주석>> 파이썬은 객체 언어이다. int 값을 정하는 것도 모두 객체이다. 위 코드는 리스트 값을 복사하는 여러 방법을 표현했다..

Tistory

virtualenv 가상환경 만들기

파이썬에서 가상환경을 만드는 주 목적은 프로젝트별 내가 설치한 library를 추적하기 편하게 하기 위해서 이다. 여러 프로젝트를 돌리다 보면 다양한 library를 설치하는데 이를 서버나 다른 PC에 옮길때 virtualenv로 독립된 공간을 만들면 옮기기 용이하다. 설치 방법>> visual studio 에서 가상환경을 만들 폴더를 만든다. 나는 webgui_project라는 폴더를 만들고 pip install virtualenv 위 명령을 실행해서 virtualenv 를 설치했다. (이미 설치해서 설치되어있다는 결과가 나옴) virtualenv venv 위 명령어로 해당 폴더에 venv (이름은 사용자 마음대로 변경 가능) 라는 가상환경을 만들었다. venv 폴더 밑에 일반적인 python 프로그램..

Tistory

인스타그램 자동 "좋아요" 클릭 (like click) 파이썬

좋아요 자동 동작 코드를 보기 전에 자동 로그인과 자동 검색을 아래 링크서 먼저 확인하고 보는것을 추천한다. scribblinganything.tistory.com/20?category=943911 인스타그램 자동 로그인 (Instagram Log in) 코드>> from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions a.. scribblinganything.tistory.com scribblinganything.tistor..

Tistory

AirPods Max headphone 출시

애플이 새로 출시한 AirPods Max headphone 은 경쟁사 Bose와 Sony 제품에 비해 프리미엄 가격이 붙은 549달러에 판매된다. 제어를 위한 디지털 크라운과 자석으로 탈부착이 가능한 earcup 등 디자인은 호불호가 갈릴 듯 하다. 원문>> Apple’s new $549 over-hear AirPods Max headphones cost a premium over the competition from Bose and Sony. With a digital crown for controls, magnetically removable earcups, and a design that may end up being polarizing, even our first look has a lot to ..

Tistory

파이썬 함수안에 함수, 중첩함수

가끔 함수안에 함수를 쓰는 경우가 있는데 하나의 함수로 코드를 끝내고 싶을 때 쓰긴하지만 비효율 적이라 보통은 class를 사용한다. 함수안에 함수를 사용하게 되면 가장 바깥에서 선언된 변수는 함수 내에서는 전역변수 처럼 동작하고 함수 안의 함수에서 선언된 변수는 지역변수 처럼 동작한다. 아래 코드를 통해 이해해보자. 코드>> def f_out0(a_var): b_var = a_var print(id(a_var)) print(id(b_var)) print(b_var) print("#######") def f_in0(): b_var = "hi" print(id("hi")) print(id(b_var)) print(b_var) print("#######") def f_in1(): print(id(a_var)..

Tistory

데이터 베이스 (DB) 개념

이번 프로 젝트는 파이썬으로 웹서버를 만들 것이다. 웹서버를 운영하기 위해 웹프로그램이 필요한데 이를 파이썬으로 할 것이다. 웹서버에는 사용자 정보나 각종 서버에 정보를 쓰고 읽고 하는 공간이 필요 하다. 이 공간이 데이터베이스다. 기존의 DB는 RDBMS(Relational Data Base Management System)라고 불렸다. Relational 은 엑셀과 같이 테이블로 구조를 가진것 처럼 생각하면 된다. 구조의 상대적 위치를 통해 자료를 찾는 것이다. SQL(Structured Query Language)이 Relational을 사용한다. SQL은 행과 열의 구조가 갖춰진 채로 저장하는 것이다. 나머지 DB 형태는 No SQL이라고 하는데 Document, Search engine, Key..

Tistory

파이썬 typing모듈 왜 사용하나? , mypy 검사

코드 >> import typing a_var: str = "hello" a_var = 5 print(a_var) def typing_check(b_var: str): print(b_var) typing_check(6) c_var: typing.List[int] = [1, 2, 3] c_var.append("hi") print(c_var) 결과 >> 5 6 [1, 2, 3, 'hi'] 주석>> 파이썬은 동적 할당을 한다. 예를 들어 리스트가 있으면 append로 추가적으로 리스트 값을 늘릴 수도 있고 변수에 int 를 넣었다가 string으로 변경도 가능하다. 컴파일 언어들은 컴파일 과정에서 문제를 발견할 수 있다. 하지만 파이썬의 경우 코드를 짜는 사람의 휴먼 에러로 잘못된 값을 할당하고도 모르고 지나..

Tistory

linked list / 연결리스트 란? 파이썬

링크드 리스트는 파이썬 동적 구조를 잘 설명해 주는 개념이다. 일반적인 정적인 언어들은 변수 선언을 통해 메모를 순차적으로 채워 간다. linked list 는 본인의 값과 다음 노드를 알려주는 포인터를 지녀서 메모리에서 연속적으로 사용되지 않고 포인터로 연결된 형태로 사용이 가능하다. 아래 예제를 통해 이해해 보자. 코드>> class linked_node: def __init__(self, x): self.val = x self.next = None class node_value_extract: def extract(self, linked_n): a_var = [] node = linked_n # 리스트 변환 while node is not None: a_var.append(node.val) node..

Tistory

파이썬 deque 사용하는 이유 / popleft

파이썬 deque는 list와 dictionary와 거의 동일하게 생각하면 된다. 차이는 popleft의 시간 차이다. list의 경우 pop()으로 마지막 값을 꺼내는 경우 O(1) (일정한 시간) 시간이 걸리는데, pop(0)으로 가장 앞단에 값을 꺼낼때는 list 크기에 따라 읽어 오는 시간이 달라진다. O(n) 시간이 걸린다. 하지만 deque를 사용할 경우 popleft()를 사용하면 리스트의 pop(0)과 같은 기능을 주면서 걸리는 시간은 O(1)이 걸린다. pop을 사용하는 경우 말고 index로 값을 읽어 오는 경우는 리스트나 deque 모두 O(1)로 일정한 시간만 걸린다. 즉, index의 주소 값으로 바로 값을 찾는 것이다. 아래 코드는 각 상황에 따라 시간을 측정한 값이다. 0.00..

Tistory

ESP8266 와이파이내에 다른 station과 ping 주고 받기

지난 번 구성과 동일하게 코드를 올리고 보드를 설정해서 테스트 하겠다. 지난번 구성은 아래 링크에서 확인하면 된다. https://blog.naver.com/forgodbok/222162696366 작업을 스텝별로 진행하겠다. 1. AT+RST >> 리셋을 하자마자 이전에 저장해놓은 와이파이 아이디와 비번때문에 자동으로 와이파이 연결되었지만 무시하고 진행하겠다. 2. AT+CWMODE=1 >> station mode로 ESP8266을 설정하였다. station mode를 간단히 설명하자면 와이파이 AP에 연결된 핸드폰 같은 end user 라고 생각하면 된다. 3. AT+CWJAP="your SSID","your SSID password" >> 그림처럼 와이파이에 접속했다. 4. AT+CIFSR AP에 ..

Tistory

파이썬 functools reduce 사용법

간단히 코드를 통해 이해 해보자. 코드>> import functools a_var = [1,2,3,4,5,6,7] print(functools.reduce(lambda x, y: 10 * x + y, a_var, 0)) 결과>> 1234567 주석>> 위 코드는 리스트에 숫자를 꺼내서 정수형태로 합치는 코드이다. 우선 functools의 reduce 함수는 인자를 하나씩 꺼내어 표현식에 누적해서 넣는 방식이다. 함수 설명 부분을 visual studio에서 가져왔다. def reduce(function, sequence, initial=None) reduce(function, sequence[, initial]) -> value Apply a function of two arguments cumulat..

Tistory

파이썬 zip함수, 별표(*)

코드 >> a_var = [0,1,2,3,4] b_var = [0,1,2,3] c_var = [2,4,6,8] print(zip(a_var,b_var,c_var)) print(list(zip(a_var,b_var,c_var))) print(*list(zip(a_var,b_var,c_var))) 결과 >> [(0, 0, 2), (1, 1, 4), (2, 2, 6), (3, 3, 8)] (0, 0, 2) (1, 1, 4) (2, 2, 6) (3, 3, 8) 주석 >> zip 함수는 iterable 의 반복 가능한 자료형을 입력으로 받는다. 입력받은 인자 값의 갯수 중 최소 갯수를 받아서 묶어서 튜플로 보내 준다. 위의 예제에서는 b_var, c_var의 갯수가 4개로 가장 작으므로 4개의 튜플이 생긴다. 첫..

Tistory

ASCII vs Unicode(유니코드) vs UTF-8 차이

처음에 코드에서 문자를 표현하던 방식은 ASCII 인코딩 방식이 었다. ASCII 는 8비트(1바이트) 공간만 차지 한다. 한 비트는 checksum으로 사용하고 2^7 = 128 개는 글자를 표현하는데 사용 되었다. 하지만 영어를 표현할 수 있지만 한글같은 문자는 1바이트로 표현이 안되어서 나온 방식이 유니코드 인코딩이다. 2~4바이트의 여유 공간을 가지고 문자를 표현 해준다. 유니코드의 문제는 영어는 한바이트로 표현이 가능함에도 2바이트 이상의 공간을 차지하므로 메모리를 불필요하게 사용하게 된것이다. 그래서 나온 방식이 UTF-8로 문자 종류에 따라 가변적으로 메모리를 할당해서 효율적으로 사용할 수 있게 해준다.

Tistory

if in 구문, for in 구문

if A in B 구문은 B에 값들 중에 A가 있는지 확인하는 것이다. for A in B 구문은 B 값들을 하나씩 A 변수에 넣어주는 것이다. 아래 코드로 확인해 보자 코드>> list_var = [2,11,15,7,5,14,8,9] def compare0(list_var, goal): for i, val in enumerate(list_var): print(i,":",val) if goal == val: return i, list_var.index(val) def compare1(list_var, goal): if goal in list_var: print("값이 존재합니다.") a_var, b_var = compare0(list_var, 14) print(a_var) print(b_var) prin..

Tistory

인스타그램 자동검색(해시태그)

지난번 자동 로그인 다음으로 자동 검색을 실행하겠다. 코드>> from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.common.keys import Keys import time class InstagramAutomation(): def log_in(self): options = webdriver.ChromeOptions() # options.headless = Tru..

Tistory

파이썬 sys.getsizeof 변수 크기/사이즈 확인

파이썬에서 변수의 사이즈를 확인하는 방법은 sys 모듈에서 getsizeof를 사용하면 된다. 아래 예제를 참조 하자 예제>> import sys a_var = sys.maxsize b_var = 1 c_var = float('inf') print(a_var) print(b_var) print(c_var) print("#####################") print(sys.getsizeof(a_var)) print(type(a_var)) print(sys.getsizeof(b_var)) print(type(b_var)) print(sys.getsizeof(c_var)) print(type(c_var)) print("#####################") a_var = 3.1212312312312..

Tistory

아두이노 와이파이 통신 기본 코드 실행 (ESP8266)

재료 >> 1. 아두이노 메가보드 2560 (호환) / 정품아님 2. ESP8266 3. ESP-01 어댑터 보드 구성>> ESP8266 전원은 메가 보드 5V와 GND에 연결했다. 메가보드 RX는 ESP8266 TX에 연결, TX는 ESP8266의 RX에 연결함. 어댑터는 내부 레귤레이터가 메가에서 나온 5V를 3.3V로 변경해줌, RX,TX전원도 5V에서 3.3V로 변경해줌. USB의 전류가 ESP8266을 돌리는데 부족한 경우가 발생하기도 함. 그런 상황을 방지 하기 위해 메가 전원선을 연결하는게 좋음. 메가 보드르 사용한 이유는 serial 통신(RX/TX)가 여러개 있어서 PC와 serial 통신하면서 wifi를 다른 serial 라인에 연결해서 debug가 가능하다. 코드>> void setu..

Tistory

ESP8266 기본 명령어 (AT)

전제 조건>> https://blog.naver.com/forgodbok/222162696366 위 링크 구성으로 연결된 상태에서 기본 명령어 실행을 하겠다. 간단히 구성을 설명하자면 컴퓨터와 메가2580 아두이노가 시리얼 통신을 하고 입출력은 ESP8266와 주고 받는다. 와이파이 접속하기>> 본인 와이파이 id와 비번을 입력하여서 위처럼 명령어를 입력하면 와이파이 접속이 된다. IP와 MAC 주소 확인>> MAC 주소는 고유값이라 표기를 지웠다. 웹사이트 접속하기>> 웹사이트에서 흔히 우리가 쓰는 http (https아님) 는 80번 포트를 사용한다. 그리고 TCP 통신으로 3 hand shake를 한다. AT+CIPSTART="TCP","222.122.84.24",80 AT+CIPSTART="TCP..

Tistory

collections Counter 로 가장 많이 사용한 단어 찾기

신문이나 책에서 가장 많이 사용된 단어를 찾고 싶을때 유용한 모듈이다. collections 의 Counter는 파이썬 모듈로 입력값으로 받은 값을 카운팅해서 dictionary 형태로 해당 단어와 단어가 사용된 횟수를 알려 준다. 리스트를 입력값으로 넣으면 리스트내의 값을 비교해주고 string으로 입력하면 한단어를 기준으로 파악해준다. 아래 코드를 통해 쉽게 이해해 보자 import re import collections paragraph = "윤석열 검찰총장에 대한 징계 심의를 \ 하루 앞두고 오늘 법무부 감찰위원회가 긴급 소집됩니다.\ 윤 총장에 대한 감찰이 타당한지 등을 논의할 전망인데, \ 어떤 권고가 나올 지 주목됩니다.법무부 나가있는 취재기자 \ 연결해 자세한 내용 들어보겠습니다.이재희 기..

Tistory

인스타그램 자동 로그인 (Instagram Log in)

코드>> from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC import time def log_in(): options = webdriver.ChromeOptions() # options.headless = True options.add_experimental_option("excludeSwitches", ["enable-logging"]) # options.add_argument("user-agent=Moz..

Tistory

sort vs sorted 차이 join 함수

코드>> a_var = ["abc", "ccc", "fff", "ddd", "111", "bbb"] b_var = "".join(sorted(a_var)) c_var = sorted(a_var) d_var = c_var.sort() print(b_var) print(c_var) print(d_var) print("############") print(a_var) a_var.sort() print(a_var) 결과>> 111abcbbbcccdddfff ['111', 'abc', 'bbb', 'ccc', 'ddd', 'fff'] None ############ ['abc', 'ccc', 'fff', 'ddd', '111', 'bbb'] ['111', 'abc', 'bbb', 'ccc', 'ddd', 'fff..

Tistory

sorted 와 key 값, lambda 사용법, 키 값으로 함수사용

코드>> a_var = ["4444", "333", "222", "455", "505", "770"] def key_ex(x): return x[-1],x[1] print(sorted(a_var, key=len)) print("#################") print(sorted(a_var, key=key_ex)) print("#################") print(sorted(a_var, key=lambda x: x[0])) 결과>> ['333', '222', '455', '505', '770', '4444'] ################# ['770', '222', '333', '4444', '505', '455'] ################# ['222', '333', '4444'..

Tistory

collections.defaultdict 이란

딕셔너리는 존재하지 않는 키 값을 출력 할 경우 아래 코드 처럼 에러가 발생 한다. 이러한 에러를 없애기 위해 try 문을 사용한다. import collections a_var = {"k_1":"v_1","k_2":"v_2","k_3":"v_3","k_4":"v_4"} try: print(a_var["k_5"]) except: print("에러발생") 결과>> 에러발생 defaultdict 객체는 위의 딕셔너리 문제를 쉽게 해결해 준다. defaultdict에 인자 값은 int, list, set 을 받을 수 있다. 아래 코드 처럼 키의 value 값은 default로 int 0이 자동으로 들어 간다. 그리고 인자를 int로 사용했을 경우에도 다른 값 (여기서는 string) 을 선언해서 사용할 수 있..

Tistory

xpath란

요즘 나오는 웹페이지들은 마우스 오른쪽 클릭으로 아래 그림 처럼 페이지 소스 보기를 하면 복잡한 코드를 확인할 수 있다. 웹 크롤링이나 웹 자동화를 위해서는 특정 부분의 조작이나 정보를 가져와야 하는데 이를 구분 짓기 쉽게 해주는 것이 xpath이다. 한마디로 모든 코드들이 가지는 unique 한 주소 값 정도로 생각하면 되겠다. xpath를 가져오는 방법은 아래와 같다. 나는 크롬만 사용하므로 크롬 기준으로 설명하겠다. 우선 크롬에서 원하는 웹페이지를 들어 간다. 그리고 오른쪽 상단에 점 세개 있는 부분을 클릭하면 도구 더보기 >> 개발자 도구 로 들어 간다. 대표사진 삭제 사진 설명을 입력하세요. 또는 웹 화면에서 마우스 오른쪽 클릭 하여 검사를 클릭 한다. 대표사진 삭제 사진 설명을 입력하세요. 그..

Tistory

continue, break, pass 차이

조건문을 사용할 때 continue, break, pass 를 어떻게 사용하는 냐에 따라 조건문 진행 방법이 달라 진다. 아래 코드를 통해 간단하게 이해해보자 for a_var in range(5): if a_var == 3: print("a_var종료") continue print(a_var) print("") for b_var in range(5): if b_var == 3: print("b_var종료") break print(b_var) print("") for c_var in range(5): if c_var == 3: print("c_var종료") pass print(c_var) print("") 결과>> 0 1 2 a_var종료 4 0 1 2 b_var종료 0 1 2 c_var종료 3 cont..

Tistory

파이썬 replace, strip 함수란

string 을 변경할 때 유용한 함수가 replace와 strip 이다. 우선 strip은 string의 제일 앞 또는 끝의 내용이 인자와 일치 할 경우 삭제해준다. 만일 인자를 넣지 않으면 \n(줄넘김), 빈공백을 없애 준다. 줄넘김과 빈공백 또한 string의 앞 또는 끝에 위치 할 경우 만이다. string 중간에 위치한 줄넘김, 공백을 없애고 싶을 경우나 내용을 변경하고 싶을 때 replace 를 사용한다. 아래 코드와 결과를 보면 쉽게 이해 될 것이다. a_var = "12 3@abc\ndef\n" print(a_var) print("##################") print(a_var.strip()) print("##################") print(a_var.strip("1..

Tistory

파이썬 list 와 슬라이싱(slicing)

슬라이싱은 [ : : ] 로 표현된다. 세미콜론(:)이 두개 들어 가는데 첫번째 인자는 리스트로 생각하면 index의 시작 점, 두 번째는 끝점, 마지막 인자는 index를 몇 칸씩 움직일지를 알려 준다. 슬라이싱의 장점은 파이썬에서 일반 list를 사용할 경우 내부 값의 위치를 변경할 경우 index를 참조해서 움직이므로 그에 따른 시간이 걸린다. 하지만 슬라이싱은 파이썬 내부에서 C로 구현된 구조체여서 빠른 속도로 변경이 가능하다. 그리고 string의 경우 리스트에 넣어서 변경해야 하는것에 반해 슬라이싱은 string도 자유롭게 변경할 수 있다. 아래 예제를 통해 이해해 보자 a_var = "ABCdef12345" b_var = a_var[1:7:2] c_var = a_var[::-1] print(..

Tistory

enumerate, index값 불러오기

자료형 list, set, tuple 들은 값의 순서를 왼쪽부터 index를 매길 수 있다. enumerate를 사용하지 않는 다면 아래 코드 처럼 갯수를 알기 위해 len라는 함수를 불러 추가적인 작업이 필요하다. a_var = range(5) for index in range(len(a_var)): print(index, a_var[index]) enumerate를 사용하면 아래 코드 처럼 함수 하나로 index와 값을 추출 할 수 있다. 여기서 우리는 enumerate의 return 값은 index, value 두 개가 나옴을 알 수 있다. a_var = range(5) for index, x in enumerate(a_var): print(index, x) 결과>> 0 0 1 1 2 2 3 3 4 4

Tistory

locals(), globals()

locals 와 global의 현재 namespace (전역, 지역, builtin) 을 딕션너리(dict)으로 정리해서 넣어 준다. 둘의 차이는 locals은 말그대로 locals()가 실행되어지는 함수내의 지역 namespace 들을 정리해서 넣어주고 globals는 전역, 지역, builtin 정보 모두 dict 형태로 정리해 준다. 아래 예제를 통해 이해해 보자. a_var = range(2) def locals_test(): b_var = 3 c_var = "hi" d_var = locals() print(d_var) locals_test() e_var = globals() print(e_var) 결과>> {'b_var': 3, 'c_var': 'hi'} {'__name__': '__main__..

Tistory

파이썬 변수는 객체이다

파이썬은 모든 변수를 선언할때 객체에 의해서 선언된다. 아래 예를 통해 이해해 보자. a_var = 3 b_var = a_var print(type(a_var)) print(id(a_var)) print(id(3)) print(id(b_var)) b_var = 5 print(id(5)) print(id(b_var)) 결과>> 1668610000 1668610000 1668610000 1668610032 1668610032 C언어의 경우를 생각해보면 a_var와 b_var는 다른 메모리 주소를 가리킬 것이고 해당 메모리 주소를 따라가면 3이라는 값을 읽을 수있다. 하지만 파이썬의 경우 모두 int라는 클래스 안에 할당되고 a_var, b_var, 3이라는 값 모두 해당 주소 값을 가리키는 것을 알 수 있다.

Tistory

별표하나 별표두개 (*arg, **kwarg)

파이썬에서 함수 인자 앞에 별표 한개를 쓰느냐 두개를 쓰는 것에 대해 간단히 설명하겠다. 별표 없이 인자만 선언되어 있을 경우는 함수에 인자 갯수는 정의에 따라 고정되고 항상 동일한 수로 입력 해야한다. 하지만 별표 한개로 (*)로 정의 하면 인자 수를 제한 없이 사용할 수 있는 장점이 있다. 함수 내부에서는 해당 인자를 튜플로 인식해서 사용 된다. 별표 두개는 key 값과 value로 받아서 dictionary로 만들어 준다. 함수 내부에서는 해당 dictionary 형태로 사용할 수 있는 것이다. 또는 미리 key 값을 선언해 놓으면 dictionary로 넣을 경우 value 값만 받는 형태로도 사용할 수 있다. def arg_test(*args): print(type(args)) print(args..

Tistory

multiple plot in one figure (여러 plot 한 화면에 표기)

해당 코드는 아래 참조 링크에서 가져왔다. 아래는 코드, 코드 해석, 결과 화면이다. import matplotlib.pyplot as plt def make_patch_spines_invisible(ax): ax.set_frame_on(True) ax.patch.set_visible(False) for sp in ax.spines.values(): sp.set_visible(False) fig, host = plt.subplots() fig.subplots_adjust(right=0.75) par1 = host.twinx() par2 = host.twinx() # Offset the right spine of par2. The ticks and label have already been # placed..

Tistory

list comprehension, for if문 써서 한줄로 list 만들기

파이썬 예제들을 살펴 보면 한줄로 for문 if문을 사용해서 list를 만드는 것을 볼 수 있다. 효율적인 코딩을 위해 사용하는 방식으로 아래 파이썬 예제를 통해 이해해 보자. 아래 코드는 여러 리스트들 중에 가장 작은 숫자를 찾는 예제이다. yValues0 = [6,13,8,7] yValues1 = [9,6.5,40,6,12] yValues2 = [8,7,3,1] yUpperLimit = 30 yAll = [yValues0, yValues1, yValues2] minY = min([y for yValues in yAll for y in yValues]) maxY = max([y for yValues in yAll for y in yValues if y < yUpperLimit]) print(minY) ..

Tistory

yield, next 란

파이썬 문법 중 yield와 next가 있다. 일반적으로 함수에서 값을 뽑아 낼때는 return으로 값을 보내 준다. 그리고 생성된 함수는 값을 return 함으로서 역할을 종료 한다. 가령 while 문이 무한으로 돌고 있어도 return을 맞이하면 종료 한다. yield는 값을 보내줄때 사용하는데 return 과 다른 점은 함수의 종료가 아닌 지속적으로 보내 줄 수 있다. 이때 값을 받을 수 있는 방식이 next이다. 아래 예제를 통해 이해해 보도록 하자. def func_yield(): a_var = 2 yield a_var while True: a_var = a_var + 1 yield a_var b_var = func_yield() c_var = func_yield() print(next(b_v..

Tistory

선언 전 메모리절약, range, getsizeof

파이썬 코딩을 할때 유용한 팁으로 원하는 값을 미리 생성하느냐 아니면 문법으로 정의해 놓고 필요할때 마다 빼는 방식이냐에 따라 메모리 사용량이 달라 진다. 아래 예제 코드를 살펴 보도록 하자 import sys a_var = range(30) b_var = list(a_var) c_var = [i for i in range(30)] print(a_var) print(b_var) print(c_var) print(len(a_var)) print(len(b_var)) print(len(c_var)) print(sys.getsizeof(a_var)) print(sys.getsizeof(b_var)) print(sys.getsizeof(c_var)) 결과>> range(0, 30) [0, 1, 2, 3, 4, ..

Tistory

graph내에 event 처리 방법 - 마우스 클릭, 롤오버

matplotbli으로 graph를 그리고 난 뒤 마우스 클릭이나 키보드 동작같은 event에 따라 다른 동작을 시킬 때(bind) 유용한 기능이다. 아래 예제 코드를 통해 사용법을 알아 보자. 아래 코드 예제는 참조 링크에서 가져왔다. from matplotlib import pyplot as plt class LineBuilder: def __init__(self, line): self.line = line self.xs = list(line.get_xdata()) self.ys = list(line.get_ydata()) self.cid = line.figure.canvas.mpl_connect('button_press_event', self) def __call__(self, event): pri..

Tistory

파일 처리 - 읽기 모드

파이썬에서 파일을 읽거나 쓰거나 만들때 open() 이라는 function을 사용합니다. open()은 파이썬에 이미 내장된 function으로 따로 library를 추가 (import) 하지 않고 사용 가능합니다. open()의 괄호 안에는 두 개의 인자 값을 넣을 수 있습니다. 첫 번째는 filename이고 두 번째는 용도를 선언하는 값입니다. 파일 객체 = open("파일명", "모드") 두 번째 인자 값인 mode는 아래와 같이 4 종류가 있습니다. r 읽기 a 추가 w 쓰기 x 새로 만들기 읽기 Mode f = open("file_ex.txt", "r", encoding = "utf-8") print(f.read()) 위 예에서처럼 파일을 읽어 올 때 r 을 사용해서 읽으면 됩니다. 이때 문서에..

Tistory

lambda, map 함수

lambda 인자 : 표현식 map(함수, 리스트) lambda와 map은 위 와같은 표현을 따른다. 두 함수는 같이 연계해서 사용하기 편해서 같이 설명한다. 예제를 통해 이해해보도록 하자 bb = (lambda aa: aa*2)(3) cc = map(lambda aa: aa*2, range(3)) dd = list(map(lambda aa: aa*2, range(3))) print(bb) print(cc) print(dd) 결과 6 [0, 2, 4] 람다는 인자 값을 받아서 표현식에 맞춰 실행해 준다. 이때 인자 값은 여러개를 한번에 넣을 수도 있다. map 함수는 리스트로 받은 값을 함수에 하나씩 실행해 준다. 여기서 range(3)은 [0,1,2]의 리스트와 동일하다. map으로 끝내면 해당함수의 ..

Tistory

deque, list 차이

deque, list 은 거의 유사 하다. 하지만 간단히 차이를 설명하자면 코드 실행 속도가 차이난다. 아래 예를 통해 이해하도록 해보자. list사용 예 import time s_time = time.time() def stringtest(s:str): b_var..

Tistory

Fatigue (피로도) 란? - nCode

제품에 관심이 있으시면 아래 연락처로 연락 주시면 됩니다. :) ------------------------------------------------------------------------------------------------------------ TEL : 055-262-3730 FAX : 055-..

Tistory

piezoelectric 센서 셋업(전하 증폭기, 커플러) - KISTLER

센서의 출력값을 DAQ 에서 읽을 수 있는 형태의 신호로 만들어주는 셋업을 "Signal conditioning" 이라고 한다. "Signal conditioning" 은 최고의 결과를 얻기 위해 중요한 과정이다. 키슬러사에서는 "Signal cond..

Tistory

전하 증폭기 - Reset / 측정 - KISTLER

piezoelectric 측정은 절대적인 zero reference 가 없다. piezoelectric 센서에서 나오는 출력은 전하량이다. 그리고 증폭기에서 이를 전압으로 바꾸는데 증폭기 형태는 적분기 형태이다. 아래 그림처럼 reset을..

Tistory

진동(압력)종류 와 측정/Quasi,pulsation,dynamic- KISTLER

측정하고자 하는 진동 종류에 따라 설정을 적절히 변경해주어야 한다. 아래 테이블은 진동 종류와 설정에 따른 결과가 어떻게 나오는지를 알려주고 있다. Dynamic 진동의 경우 짧은 시간에 압력이 빠르게 변한다...

Tistory

Piezoresistive 압력 센서 - KISTLER

제품에 관심이 있으시면 아래 연락처로 연락 주시면 됩니다. :) ------------------------------------------------------------------------------------------------------------ 조경흠 TEL : 055-262-3730 FAX..

Tistory

Piezoelectric 압력센서 마운팅(mounting) 설치 부품 소개 및 설명 - KISTLER

제품에 관심이 있으시면 아래 연락처로 연락 주시면 됩니다. :) ------------------------------------------------------------------------------------------------------------ 조경흠 TEL : 055-262-3730 FAX..

Tistory

Piezoelectric 압력센서 케이블 설명 - KISTLER

제품에 관심이 있으시면 아래 연락처로 연락 주시면 됩니다. :) ------------------------------------------------------------------------------------------------------------ 조경흠 TEL : 055-262-3730 FAX..

Tistory

압력 측정 기술 - KISTLER

제품에 관심이 있으시면 아래 연락처로 연락 주시면 됩니다. :) ------------------------------------------------------------------------------------------------------------ 조경흠 TEL : 055-262-3730 FAX..

Tistory

Piezoelectric vs piezoresistive 압력센서 차이 비교 - KISTLER

제품에 관심이 있으시면 아래 연락처로 연락 주시면 됩니다. :) ------------------------------------------------------------------------------------------------------------ 조경흠 TEL : 055-262-3730 FAX..

Tistory

Piezoelectric 압력 센서(PE, IEPE)

제품에 관심이 있으시면 아래 연락처로 연락 주시면 됩니다. :) ------------------------------------------------------------------------------------------------------------ 조경흠 TEL : 055-262-3730 FAX..

Tistory

PE, IEPE 스펙 분석

PE 압력 센서 스펙 분석 위 테이블은 PE 압력 센서의 specification 이다. 압력 범위와 온도, 감도가 다른 것은 601CAA 는 키슬러 자체 제작한 PiezoStar 라 불리는 Crystal을 사용하였고 나머지는 일반 Quartz..

Tistory

Piezoelectricity(압전기) 란

설명에 앞서 제품에 관심이 있으시면 아래 홈페이지 또는 전화로 연락 바랍니다. ------------------------------------------------------------------------------------------------------------ 조경흠 // TEL..

Tistory

MEMS 정의, 사용범위, 장단점 - KISTLER

------------------------------------------------------------------------------------------------------------ 조경흠 // TEL : 055-262-3730 FAX : 055-262-3702 E-mail : [email protected] https://www...

Tistory

MEMS Capacitive 가속도 센서 동작 원리

------------------------------------------------------------------------------------------------------------ 조경흠 TEL : 055-262-3730 FAX : 055-262-3702 E-mail : [email protected] https://www.fam..

Tistory

Charge Output 가속도 센서 - KISTLER

제품에 관심이 있으시면 아래 연락처로 연락 주시면 됩니다. :) ------------------------------------------------------------------------------------------------------------ 조경흠 TEL : 055-262-3730 FAX..

Tistory

가속도 센서: vibration shock(진동충격), acoustic 음향 전파 측정의 기초 이론 - 상대적 측정 - KISTLER

제품에 관심이 있으시면 아래 연락처로 연락 주시면 됩니다. :) ------------------------------------------------------------------------------------------------------------ 조경흠 TEL : 055-262-3730 FAX..

Tistory

가속도 센서: Spring Mass System - 절대적 측정 - KISTLER

Spring Mass System, 절대적 측정 위는 절대적 측정 진동 센서의 대표적인 형태이다. 상대적 측정은 비교를 통해 측정하였고 절대적 측정은 자신의 이전 위치에서의 변화 거리를 측정하여 가속도 값을 얻어 낸다...

Tistory

충방전기 제품리뷰 (5V 제품) - BTS4000

설명에 앞서 제품에 관심이 있으시면 아래 홈페이지 또는 전화로 연락 바랍니다. https://www.famtech.co.kr/main/main.php TEL : 055-262-3730 FAX : 055-262-3702 E-mail : [email protected] TEL : 055-262-3..

1 2 3 4 5 6 7