반응형

전체 글 764

jquery 예제 설명, cdn이란

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

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..

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인..

IT기사 2020.12.14

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..

virtualenv 가상환경 만들기

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

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 값을 정하는 것도 모두 객체이다. 위 코드는 리스트 값을 복사하는 여러 방법을 표현했다..

Royole FlexPai2 폴더폰

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

IT기사 2020.12.12

데이터 베이스 (DB) 개념

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

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

가끔 함수안에 함수를 쓰는 경우가 있는데 하나의 함수로 코드를 끝내고 싶을 때 쓰긴하지만 비효율 적이라 보통은 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)..

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 ..

IT기사 2020.12.11

인스타그램 자동 "좋아요" 클릭 (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..

파이썬 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개의 튜플이 생긴다. 첫..

파이썬 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..

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에 ..

파이썬 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..

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..

파이썬 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으로 변경도 가능하다. 컴파일 언어들은 컴파일 과정에서 문제를 발견할 수 있다. 하지만 파이썬의 경우 코드를 짜는 사람의 휴먼 에러로 잘못된 값을 할당하고도 모르고 지나..

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..

아두이노 와이파이 통신 기본 코드 실행 (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..

반응형