setInterval(실행할 함수, 주기(밀리세컨드)) // 반복 실행
clearinterval(중지할 함수) // 반복 실행 종료 함수
setTimeout(실행할 함수, 지연시간)
<video id="video" width="320" height="240" style="border: 1px solid black;" autoplay></video>
var video = document.getElementById('video');
if(navigator.mediaDevices && navigator.mediaDevices.getUserMedia) {
navigator.mediaDevices.getUserMedia({ video: true }).then(function(stream) {
video.srcObject = stream;
localstream = stream;
video.play();
});
}
video.pause();
video.src = "";
localstream.getTracks()[0].stop();
<canvas id="canvas"></canvas>
const canvas = document.getElementById("canvas"); //그릴곳
const ctx = canvas.getContext("2d"); // 2d 인터페이스를 사용
ctx.drawImage(video, 0,0,960,720);
var drawCanvas = document.getElementById("canvas");
var data = drawCanvas.toURL('image/png'); // 타입을 지정하고 인코딩
import base64
img = request.POST.get('imgUpload', '') # base64를 통한 정보 값 문자열
img_str = img.split(',')[1] # 이미지 문자열 추출
imgdata = base64.b64decode(img_str) # 이미지 문자열 디코딩
arr = np.fromstring(imgdata, np.uint8) # 디코딩된 문자열을 ndrray로 변환
var input = document.getElementById(id);
var value = input.value; //가져오기
input.value = null; // 초기화
setAttribute('onclick','writeLED(1)') // 설정 예시
removeAttribute(속성명); // 지우기
getAttribute(속성명); //가져오기
from datetime import datetime
now = datetime.now() # current date and time
year = now.strftime("%Y")
print("year:", year)
month = now.strftime("%m")
print("month:", month)
day = now.strftime("%d")
print("day:", day)
time = now.strftime("%H:%M:%S")
print("time:", time)
date_time = now.strftime("%m/%d/%Y, %H:%M:%S")
print("date and time:",date_time)
.remove() 선택한 요소를 DOM 트리에서 삭제한다. 삭제된 요소와 연관된 jQuery 데이터나 이벤트도 같이 삭제된다
.detach() 선택한 요소를 DOM 트리에서 삭제한다. (삭제된 요소와 연관된 jQuery 데이터나 이벤트는 유지된다.
.empty() 선택한 요소의 자식 요소를 모두 삭제한다.
.unwrap() 선택한 요소의 부모 요소를 삭제한다
git restore --staged 파일이름
git restore --staged test.txt
const date = new Date();
캡쳐한 사진을 보내고 모델이 분석하는 과정에서 사용자가 종료 버튼을 눌렀을 때,
기존의 공부 시간이 종료되고 새로운 공부로그가 시작돼는 에러.
is_running 플래그를 생성하여, start버튼을 누르면 true 반대로 false버튼을 누르면 true로 변환하고
이미지를 보내주는 uploadImage함수에서 ajax통신을 성공하였을 때, is_running의 값을 판단하여 false이면 다시 ajax통신으로 최근 생성된 공부로그를 지워준다.
clearInterval()함수를 통해 루프를 종료 시켜줬음에도 루프가 도는 에러.
정확한 원인은 파악을 못햇으나 에러1과 같이 is_running 플래그를 통해서 확인하여 false값일 때 다시한 번 clearInterval을 실행하여 해결
장고 심화를 들어가기 전에 팀의 장고에 대한 이해를 돋우기 위해서 팀 개별로 기능을 추가하면서 함수형 뷰를 연습하기로 하였습니다. 이 기능하나가 프로젝트의 메인이 될수 있을 만큼 많은 기능이 있어야 하지만 우리가 목표한 3일 동안 하지 못한다면 장고 심화 프로젝트 기간에 할 수 있지 않을까 싶습니다.
새로운 기능을 추가하니 만큼 각자의 아이디어도 모두가 이해한 상태에서 출발하면 좋기에 시간이 오래 걸렸지만 모두 의욕있게 할 수 있지 않을까 싶습니다.
컬럼 = models.ForiegnKey(to='앱.모델')
python manage.py migrate 앱
# 그래도 오류가 난다면
python manage.py migrate 앱 --fake # 성공했다면 아래 진행
python manage.py migrate 앱
--fake는 기존 컬럼들을 없던 셈 치고 만들어 보는 것이다.
git commit --amend
fetch = +refs/heads/*:refs/remotes/origin/*
origin은 원격 저장소 이름
git fetch ‘원격 저장소’
git merge origin/pr/숫자
serializer = MySerializer(study, context = {'request' : request})
필드 = serializers.SerializerMethodField()
def get_필드(self, obj):
return 원하는 값
$('#id').modal('show')
( 비밀지도, 완주하지 못한 선수, 체육복, 약수의 개수와 덧셈, 숫자 문자열과 영단어, 없는 숫자 더하기, 자릿수 더하기, 자연수 뒤집어 배열로 만들기, 짝수와 홀수, 평균 구하기 )
각 정수의 숫자들을 2진수 비트열로 바꿔준다 -> 2진수로 변환하기
두 개의 배열에서 인덱스가 맞는 것끼리 비트연산 해준다(하나라도 1이면 1) -> 비트연산
빈문자열에 1이면 # 0이면 공백을 채워준다.
|
b )zfill(원하는 자리수)
를 통해서 해결The field 'comment_set' was declared on serializer ArticleDetailSerializer, but has not been included in the 'fields' option.
- fields 추가
testing코드를 작성하는 것을 연습하는 날이었습니다.
setUp메서드를 오버라이딩하여 각 test_메서드에 필요한 설정을 할 수 있었습니다.
setUpData를 클래스 메서드로 지정하여 testing에 필요한 데이터를 클래스가 끝나기 전까지 저장을 하고 메서드가 실행될 때마다 만드는 것을 방지하여 효율적으로 testing을 가능하게 해줍니다.
class SetUpTestView(APITestCase):
@classmethod
def setUpTestData(cls):
cls.article_data = {
"title" : "test",
"content" : "test",
}
cls.data = {
"email" : "test100@naver.com",
"password" : "123"
}
cls.user = User.objects.create_user("test100@naver.com", "123")
cls.article = Article.objects.create(author = cls.user, title = "test", content = "test")
cls.comment = Comment.objects.create(author = cls.user, article_id = cls.article.id ,content = "test")
def setUp(self):
self.access_token = self.client.post(reverse('token_obtain_pair'), self.data).data["access"]
나의 개인적인 공부도 좋지만 팀원들과 같이 성장할 수 있는 부분을 찾아내고 연습과 실전을 동시에 할 수 있어서 꽤나 좋았다. 팀원분들이 나의 의견을 잘 들어주시는 것 같았고 애정이 더욱가지 않나 싶다.
drf 프로젝트, aws강의