반응형

분류 전체보기 268

[JavaScript, Node.js] 유튜브 클론 정리 8장 (2) - 유저 아바타, 파일 업로드(Multer)

머리글 이번 시간에는 유저의 아바타 기능을 위해 파일 업로드 하는 방법을 알아보자. 파일 업로드 우선 업로드를 위해선 업로드할 공간을 만들어줘야 한다. 프로필 수정 페이지를 변경해 주자. form(method="POST", enctype="multipart/form-data") label(for="avatar") Avatar input(type="file", id="avatar", name="avatar", accept="image/*") ... label과 아바타 파일을 업로드하기 위한 input을 만들어주었다. 그리고 이미지 형식만 선택할 수 있게 accept 항목을 정해주었다. 그리고 미들웨어를 사용해야 하는데 이를 설치해 보자. npm i multer Multer는 파일을 업로드할 수 있게 해 준..

[파이썬, Python] 백준 10974: 모든 순열

문제 https://www.acmicpc.net/problem/10974 10974번: 모든 순열 N이 주어졌을 때, 1부터 N까지의 수로 이루어진 순열을 사전순으로 출력하는 프로그램을 작성하시오. www.acmicpc.net 코드 n = int(input()) s = [] def dfs(): if len(s) == n: print(' '.join(map(str,s))) return for i in range(1, n+1): if i not in s: s.append(i) dfs() s.pop() dfs() 설명 https://looancheong.tistory.com/147 [파이썬, Python] 백준 15649: N과 M (1) 문제 https://www.acmicpc.net/problem/1564..

[JavaScript, Node.js] 유튜브 클론 정리 8장 (2) - 비밀번호 수정

머리글 이번 시간에는 유저의 비밀번호를 변경하는 방법에 대해서 알아보자. 비밀번호 변경 앞서 유저의 정보를 변경했던 것과 크게 차이가 없다. 일단 페이지를 하나 생성해 주자. extends ../base block content form(method="post") input(placeholder="Old Password") input(placeholder="New Password") input(placeholder="New Password Confirmation") input(value="Change Password", type="submit") 그리고 라우터도 만들어주자. ... userRouter .route("/change-password") .all(protectorMiddleware) .get(..

[파이썬, Python] 백준 9372: 상근이의 여행

문제 https://www.acmicpc.net/problem/9372 9372번: 상근이의 여행 첫 번째 줄에는 테스트 케이스의 수 T(T ≤ 100)가 주어지고, 각 테스트 케이스마다 다음과 같은 정보가 주어진다. 첫 번째 줄에는 국가의 수 N(2 ≤ N ≤ 1 000)과 비행기의 종류 M(1 ≤ M ≤ 10 000) 가 www.acmicpc.net 코드 import sys input = sys.stdin.readline sys.setrecursionlimit(10**9) def dfs(idx, cnt): visited[idx] = 1 for i in graph[idx]: if visited[i] == 0: cnt = dfs(i, cnt+1) return cnt t = int(input()) for ..

[JavaScript, Node.js] 유튜브 클론 정리 8장 (1) - 유저 프로필 수정, Middleware 추가

머리글 프로필 수정 우선 프로필을 수정하기 위해 적당히 페이지를 하나 만들어 줍시다. 이미 여러 번 다뤘던 내용이므로 자세한 내용은 생략하고 넘어갑시다. extends base block content form(method="POST") input(placeholder="Name", name="name", type="text", required, value=loggedInUser.name) input(placeholder="Email", name="email", type="email", required, value=loggedInUser.email) input(placeholder="Username", name="username", type="text", required, value=loggedInUse..

[파이썬, Python] 백준 1049: 기타줄

문제 https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net 코드 import sys input = sys.stdin.readline n, m = map(int, input().split()) pack = list() one = list() for _ in range(m): a, b = map(int, input().split()) pack.append(a) one.append(b) min_pack, min_one = min(pack), min(o..

[파이썬, Python] 백준 1021: 회전하는 큐

문제 https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 코드 from collections import deque import sys input = sys.stdin.readline n, m = map(int, input().split()) idx = list(map(int, input().split())) q = deque(i for i in range(1, n+1)) cnt = 0 for i in idx: while True: if q[0..

[T-SUM] 4주차 자료 - 변수와 함수, 매개변수와 인수

오늘의 내용 미리보기 본문 변수(Variable) 이전 시간 내용을 잠깐 떠올려 봅시다. 이런 식으로 출력을 했는데, 만약 이걸 여러 번 출력하려면? 물론 이렇게 하는 방법도 있겠지만 조금 더 간결하게 표현해 봅시다. 이렇게 바꾸면 조금 더 편하게 출력이 가능하겠죠? 여기서 사용한 a를 우리는 변수라고 합니다. 언제든지 그 값을 변경할 수 있어요. 다른 예시도 볼까요. 이렇게 숫자를 지정해서 각 변수를 더하는 방법도 사용이 가능해요. 물론 a와 b의 값을 바꾸면 결괏값도 변화합니다. 그러면 다른 재밌는 예시도 하나 봅시다. 다음과 같이 코드가 존재할 때, c의 값은 어떻게 될까요? 바로 7이 됩니다. 이전 시간에 잠시 언급을 했었는데 파이썬은 코드를 위에서 아래로 읽는 방법을 사용합니다. 1번 라인에서 ..

T-SUM 멘토링 2023.06.22

[파이썬, Python] 백준 11053: 가장 긴 증가하는 부분 수열

문제 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 코드 n = int(input()) num = list(map(int, input().split())) dp = [1 for i in range(n)] for i in range(n): for j in range(i): if num[i] > num[j]: dp[i] = max(dp[i], dp[j]+1) print..

[JavaScript, Node.js] 유튜브 클론 정리 7장 (11) - Logout, 복습

머리글 이번 시간에는 로그아웃에 대해 알아보자. Logout 로그아웃은 굉장히 간단하게 구현이 가능하다. export const logout = (req, res) => { req.session.destroy(); return res.redirect("/"); }; 이런 식으로 session을 destroy 하게 되면 로그아웃이 가능하다. 마무리 로그아웃까지 구현하며 7장에서의 모든 내용을 마무리했다. 계정을 생성하는 방법을 배웠고, 상태 코드에 대해서도 알아보았으며, 로그인을 구현하는 방법도 배웠다. 또한, 세션과 쿠키에 대해서 배웠고 로그인 상태로 만드는 법도 알아보았으며 환경 변수등과 같은 부가적인 요소도 배웠다. 끝으로 이를 종합하여 github의 api를 이용해서 github 로그인도 구현해 보..

반응형