본문 바로가기

전체 글291

PyQt(1) 쌩기초 샘플 코드 0.PyQt 설치하기 cmd 창에서 pip install pyqt5 2021. 9. 13.
for문 관련 헷갈리는거 1. range(10) 2021. 9. 7.
리스트 자료형 리스트 자료형의 형태 #이런식으로 타입 선언할 수도 있다. a=list() #이런식으로 타입 선언할 수도 있다.(2) b=[] #배열처럼 선언하는데, c언어 배열은 int b={1,2,3} 이런식이었음 중괄호가 아니라 대괄호라는 점을 유의! b=[1,2,3] #하나의 리스트 안에 여러가지 데이터타입을 같이 넣을 수 있다. 아래 예시는 정수,소수,문자열 c=[12, 13.0, 7.5, "abcd"] #2차원 배열도 선언 가능하다 아래처럼. C언어의 배열일아 비슷한데 중괄호가 아니라 대괄호임 d=[ [11,12,13 ], [21,22,23], [31,32,33], ] #C언어 배열이랑 다르게 행,열이 N x N 형태가 아니어도 된다. 아래처럼 e=[ [11,12], [21,22,23], [31,32,33,3.. 2021. 9. 3.
임베디드 리눅스.라즈베리파이 타겟보드에 맞는 실행가능한 리눅스 이미지가 필요하다. 이미지라는건 그림 파일을 말하는건 아니고. 리눅스 코드를 빌드해서 만들어진 실행가능파일 이라 생각하자. 타겟보드의 설정에 따라 다른데, 앞에서 말한 리눅스이미지 파일을 타겟보드의 SD카드에 저장하거나. 혹은 t32 를 통해 타겟보드의 플래시에 플래싱을 하거나 혹은 부트로더를 사용하는 등의 방식으로 타겟보드에 리눅스 이미지가 설치되게 된다. 타겟보드에 알맞은 리눅스 이미지가 설치되어있다면 이제 타겟보드 전원을 키면 해당 리눅스 이미지가 실행이 될 것이다. 그렇게 부팅이 끝나면 우리가 사용하는 pc에서 부팅 끝나고나면 뭔가 하는것 없이 바탕화면만 뛰어놓은 상태. 그런 상태에 타겟보드가 머물러 있게 된다. 이 상태에서 타겟보드를 제어하기 위한 sw 코딩을 .. 2021. 6. 24.
파이썬 문자열 자료형 이 글에서 임의의 문자열 변수 이름은 test1, test2 ,test3 . . . 으로 가정 test1="12345" 문자열 길이 알아보는법 len(test1) 출력결과 : 5 문자열 일부만 가져오기 print(test1[1:3]) 출력결과 23 인덱스 1~2 까지 가져오는것임 print(test[0:4])는? 인덱스 0 1 2 3 을 가져오므로 1234 를 출력 마이너스도 쓸 수 있음 -1은 오른쪽에서 첫번째꺼 (5) -2는 오른쪽에서 두번째꺼 (4) 문자열 덧붙이기(합치기) 문자열 두개. 혹은 여러개를 하나로 합치기 ex) test1 = "hello" test2 = " world" 이거 두개를 합쳐서 hello world를 만들고싶다면? test3 = test1 + test2 하면 된다. 즉 그냥 .. 2021. 5. 8.
플라스크에 대하여(3).url_for 함수 ※ 참고로 이 글의 내용은 이미지,동영상 뿐만 아니라 css파일. 자바스크립트 파일 등등 외부파일의 주소를 지정하는 모든 경우에 해당된다. 웹페이지에 이미지. 동영상 등을 올리기 위해서 img 태그. video 태그 등을 사용하게 된다. 이러한 태그들을 사용할 때는 src 라고 해당 이미지.혹은 영상의 위치를 적어주어야한다. 이때 우리는 상대경로를 통해 파일의 경로를 지정해주게 된다. 그렇게 주소를 적고나서 html 파일을 로컬에서(본인 pc)에서 열어보면 영상과 그림이 정상적으로 출력됨을 알 수 있다. 그런데, 해당 html 파일을 플라스크를 통해서 제공하면, 플라스크는 이미지와 동영상의 위치를 제대로 인식하지 못하여 클라이언트(방문자)에게 정보를 제공하지 못한다. 이 때 사용되는 api가 url_fo.. 2021. 4. 27.
플라스크에 대하여(2) template render. 웹페이지 출력하기 인터넷상에서 상대방에게 어떤 요청을 받았을 때 지정된 텍스트를 출력해주는 서버 코드를 앞에서 살펴보았다. 이번에는, 어떤 요청이 왔을 때 단순히 특정 문자열을 리턴해주는 것이 아니라 우리가 미리 작성해둔 웹페이지(html 파일)을 상대방에게 출력해주는 예시를 살펴보자. 별로 어려울 것 없다. 앞에서 봤던 예제에서 새로운 api가 하나 추가 될 뿐이다. 이 api의 이름은 render_template 이다. 이 api의 기본 사용방법은 아래와 같다. from flask import Flask , render_template app = Flask(__name__) @app.route("/") def hello(): return render_template('index.html') @app.route("/pa.. 2021. 4. 26.
flask(플라스크) 프레임워크에 대하여(기본개념) 플라스크의 가장 기본적인 기능은, 나의 컴퓨터가 다른 컴퓨터의 요청을 받았을때, 그 요청을 인지하고 응답하는 것이다. 예를 들어 현재 내컴퓨터의 ip 주소가 100.100.100.100 이라고 하자. 이때, 인터넷에 연결된 누군가가 자신의 웹브라우저(ex.인터넷익스플로러, 파이어폭스 등) 에서 주소창에 나의 ip 주소(100.100.100.100)를 적고 enter키를 쳤을때. 이것은 다른 컴퓨터가 나에게 무언가 신호를 날리는 것이다. 이때 내 컴퓨터에 플라스크 같은 프레임워크가 실행되고 있지 않다면, 해당 요청은 무시될 것이고 내 컴퓨터는 상대방에게 아무런 응답을 하지 않을 것이다. 또한 내 입장에서는 애초에 그런 요청이 왔다는 사실을 알 수도 없다. 그런데 만약 내 컴퓨터에 플라스크를 실행시킨 상태에.. 2021. 4. 26.
비트코인에 대하여(3) 코인베이스.트랜잭션에 중간점검하자 비트코인에 존재하는 데이터는 오직 출금기록 뿐이다. a가 b에게 10원 보냈다. e가 b에게 50원 보냈다. 위 상황에서 b는 잔액 60원이 생겼다. a와 e가 b에게 보낸돈이 60원이기 때문이다. 한편, 이러한 출금기록 한줄 한줄을 우리는 트랜잭션이라고 부른다. 한편, b는 잔액이 60원이므로 이 돈을 다른사람에게 보낼 수 있다. 즉, 새로운 트랜잭션을 만들 수 있다. 근데 이 트랜잭션을 만들때는 항상 source 트랜잭션이 필요하다. 말하자면 출처가 필요하다는 소리이다. 여기서 말하는 소스는 a가 b에게 10원 보냈다. e가 b에게 50원 보냈다 이다. 이것이 b가 가진 소스이다. b가 c에게 출금을 하려면 이 트랜잭션으로 부터 새로운 트랜잭션이 생성가능하다. 근데 .. 그건 알겠는데 그.. 2021. 4. 24.