inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

176만명의 커뮤니티!! 함께 토론해봐요.

교통사고 유형별 검거율 계산하고, 각 연도별로 최고 검거율과 사고유형에 대해서

해결됨

[2026년 빅분기 실기 준비] 빅데이터 분석 기사 실기 시험 100% 합격 ! 기출 문제의 패턴이 보인다 !

교통사고 유형별 검거율 계산하고, 각 연도별로 최고 검거율과 사고유형에 대해서 궁금한 것이 있어요. 최고 검거율과 관련해서 데이터가 2018년 음주운전 발생 910 2019년 음주운전 발생 1132 2020년 음주운전 발생 2413 2018년 음주운전 검거 819 2019년 음주운전 검거 1949 2020년 음주운전 검거 4064 라고 되어 있는데.. 발생보다 검거가 더 많이 나오는건 데이터를 램던으로 발생시켜서 그런걸로 이해하면 될까요 ? 그리고 발생연도마다 최고 검거율을 뽑아내는데, 다른 컬럼이 분명 검거율이 높은데(예를 들어 1.xxx) 이를 보지 않고 특정 컬럼이 검거율이 높다고 설명을 주시니, 혼돈이 있습니다. 무슨 말인지 영상을 두번 돌려봐도 이해가 안되네요.. 데이터에 맞게 설명을 주시는건지, 아니면 기출에 맞게 주시는건지.. 2018년도 검거율이 가장 높은게 신호위반 0.79 라고 말씀을 주시는데, 같은 라인에 검거율이 가장 높은게 화물차사고 16.411 이라고 보여지는데. 어떻게 해석해야하나요 ?

  • 빅데이터
  • 빅데이터분석기사
littleliar 댓글 1 좋아요 0 조회수 136

actuator 경로 질문

미해결

스프링 부트 - 핵심 원리와 활용

만약 컨트롤러를 설정할 때 actuator 경로를 쓰고 싶다면 어떻게 해야되는건가요? 제가 테스트를 해보니 @Getmapping(/actuator) 했을 때 제가 설정한 컨트롤러를 타지 않고, 강의에서 알려주시는 액츄에이터 웹이 나오는 것을 확인했습니다.

  • spring
  • spring-boot
  • prometheus
  • grafana
nick 댓글 1 좋아요 0 조회수 129

다형성

미해결

나도코딩의 자바 기본편 - 풀코스 (20시간)

다형성 강의 관련해서 질문드릴게있습니다. instanceof를 쓸 때 형 변환이 왜 필요한지 알고싶습니다.

  • java
  • 객체지향
류경완 댓글 2 좋아요 0 조회수 161

region 도쿄로 안하시는 분들

미해결

실전! GitHub Actions으로 CI/CD 시작하기

저는 cloud9이 접근이 안되어 cloud shell로 하고 있는데 eksctl create cluster -f create-cluster.yaml 입력하시기 전에 nano create-cluster.yaml 입력하시고 region 바꿔주셔야 합니다 저는 서울이라 region: ap-northeast-2로 입력했습니다.

  • aws
  • kubernetes
  • ci/cd
  • github-actions
  • eks
류준열 댓글 2 좋아요 0 조회수 248

pyhwpx의 set_table_width함수가 파일에 따라 안될때가 있습니다..

미해결

직장인에게 꼭 필요한 파이썬-아래아한글 자동화 레시피

질문 남겨주셔서 감사합니다. 막히면 언제든 무엇이든 자주 질문 던져주세요. 수학/과학이나 알고리즘과는 달리 업무자동화 코딩은 고민해서 풀리는 경우가 정말 드뭅니다. 다시 말씀드리지만, 질문을 자주자주 남겨주세요. 저도 최대한 빠르게 회신 드리겠습니다. 당부드릴 두 가지가 있습니다. ① 가급적 구체적으로 설명해주세요. ② 특정 챕터 관련 질문 남겨주실 때는, 어느 챕터인지 알려주세요ㅜ ==================================== hwp.set_table_width() 이 함수가 특정 파일에선 안먹힙니다..ㅠㅠ 해당 한글 파일의 설정을 변경하거나 조정해야 할 부분이 있을까요? 일반적인 파일은 다 잘됩니다!

  • python
  • 한컴오피스
이상민 댓글 2 좋아요 1 조회수 232

multiplay부분 에러

해결됨

[Unity6] 유니티6로 배우는 실전 멀티플레이 디펜스

Library\PackageCache\ com.unity.multiplayer.tools \NetVis\Configuration\OwnershipSettings.cs(41,24): error CS0103: The name 'CustomColorSettings' does not exist in the current context multiplay 열심히 보고 있는데요. 시작부터 이런 에러가 나와서 앞으로 나가지를 못 하고 있네요.

  • C#
  • unity
  • 게임기획
  • multiplayer
  • game-programming
양승근 댓글 1 좋아요 0 조회수 169

aop 초기화 시점과 초기화 콜백 시점

미해결

스프링 핵심 원리 - 기본편

[질문 템플릿] 1. 강의 내용과 관련된 질문인가요? (예) 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예) [질문 내용] 안녕하세요 스프링 완전 정복 로드맵과 JPA 로드맵까지 전부 끝내고 개인 프젝 전에 복습을 하고 있습니다 확실히 전체 로드맵을 다 돌고 다시 보니까 아는 게 많아져서 그런지 더 재미있네요 다름이 아니라 라이프 사이클을 복습하면서 스프링 aop 프록시 생성 시점과 콜백 시점은 정확히 언제일까? 먼가 먼저일까? 라는 궁금증이 생겼습니다 그래서 개인적으로 테스트를 해보고 정리해 봤는데 아래 내용이 맞는지 읽어주시면 감사하겠습니다 스프링 컨테이너 생성 -> 스프링 빈 생성 -> 의존관계 주입 ->postProcessBeforeInitialization -> 초기화 콜백 ->postProcessAfterInitialization ->소멸전 콜백 -> 스프링 종료 직접 포스트 프로세서를 구현하고 ProxyFactory 사용해서 대체하니까 포스트 프로세서의 어떤 메소드를 구현하냐고 프록시를 적용하냐에 따라서 콜백 메소드에 AOP 적용이 달라지더라구요 초기화 콜백 이전에 AOP를 적용하면 초기화 콜백에도 부가 로그가 찍히고 초기화 콜백 이후에 AOP를 적용하면 초기화 콜백에는 부가 로직이 안 찍히는걸 확인했습니다 커스텀 말고 @Aspect를 통해서 적용하니까 콜백 메소드에 부가 로그가 안 찍히는걸로 봐서는 스프링 AOP는 postProcessAfterInitialization 메소드를 구현하는 걸로 추측해 봤습니다 감사합니다

  • spring
  • 객체지향
bae jewoo 댓글 1 좋아요 0 조회수 118

7번 장바구니 문제의 minus() 메서드 로직 관련

미해결

김영한의 실전 자바 - 중급 2편

[질문 내용] 문제 7 - 장바구니 문제에서, minus 메서드를 보면 찾으려는 product가 존재하지 않는 경우에도 cartMap.remove()를 호출하도록 되어 있습니다. 존재하지 않는 것을 지우고자 하는 게 불필요하게 메서드를 호출하는 게 아닌가 싶은데, 예제를 쉽게 만들기 위한 선택인가요, 아니면 실무에서 저렇게 결과를 찾을 수 없어도 지우도록 하는 코드를 작성해도 문제가 없는 건가요?

  • java
  • 객체지향
  • 코딩-테스트
  • 알고리즘
Sangjun Lee 댓글 1 좋아요 0 조회수 115

공부 방법에 대해서 문의 드려요

미해결

[게임 프로그래머 도약반] DirectX11 입문

강의를 듣고는 있는데 이해가 되는 부분도 있지만 안되는 부분도 있고해서 강의마다 혼자서 정리를 하는데 정리한 부분이 맞는건지도 헷깔리고 합니다. 어디 물어볼 때도 없고 해서 일단은 이해한 내용을 토대로 정리중인데 강의를 쭉 한번 완강하고 다시한번 들으면서 재 정리를 하는게 나을까요? 아니면 이해할 때 까지 여붙잡고 정리를 한 뒤 다음 수업을 진행하는게 나을까요??

  • c++
  • directx
한경식 댓글 1 좋아요 0 조회수 196

삼각함수 관련 질문입니다.

해결됨

게임 엔진을 지탱하는 게임 수학

안녕하세요. 선생님 삼각함수로 고통받고 있는 1인입니다.. 몇가지 궁금증이 있어 질문드립니다. 1. sinθ,cosθ,tanθ의 의미 빗변이 1인 직삼각형에서 sinθ - 높이/빗변으로 계산 -> 높이와 빗변의 비를 나타냄 - (sinθ * 빗변)을 계산하여 "높이"를 알기 위함 cosθ - 밑변/빗변으로 계산 -> 밑변과 빗변의 비를 나타냄 - (cosθ * 빗변)을 계산하여 "밑변"를 알기 위함 tanθ - 높이/밑변로 계산 -> 높이와 밑변의 비를 나타냄 - (tanθ * 밑변)을 계산하여 "높이"를 알기 위함 - (밑변^2 + 높이^2)를 계산하여 "빗변^2"을 알기 위함 위 내용이 기본적인 내용이고 이것을 응용하는 것이라 이해했습니다. 이렇게 이해해도 되나요? 2. 용어의 정의 삼각비 - 나무위키: 삼각형 의 세 변의 길이 중 두 변의 길이간의 비례 관계를 나타내는 값이다. - 네이버 국어사전: 직각 삼각형 의 세 변 가운데에서 어느 두 변을 취하여 만든 비의 값 삼각함수 - 나무위키: 삼각비에서 쓰이는 정의역을 예각에서 일반각으로 확장시킨 것. - 네이버 국어사전: 각의 크기를 삼각비로 나타내는 함수 용어에 대한 정의가 네이버 국어사전이랑 나무위키랑 다르더라구요. (블로그마다도 좀 다르구요..) kms 대한수학회 라는 곳도 있는데, 여긴 한글/영어 표기만 있구요. 이런 용어는 관리하는 기관이 있거나 할거같은데, 어디서 확인하는게 좋을까요? 3. sinθ의 실제값 "빗변(10)과 θ(11도) 라는 값이 주어지고, 높이를 구해야하는 경우, sin11은 어떻게 알지?" 라는 궁금증이 생겼습니다. 검색해보면 대부분이 문제풀이 하는거만 나와서 실망스러웠습니다. 그러던중 어떤 글을 찾았는데, 내용이 잘 이해되는건 아니지만, 역시 계산하는 방법이 있었고, 찾았다는 사실이 기뻣습니다. https://gpgstudy.com/forum/viewtopic.php?t=568 강의에서 이런 내용이 다뤄지지 않는 이유가 있을까요? (다른 곳에서도 다뤄진것을 본적은 없지만..) 감사합니다.

  • 게임수학
ac3c2fe4 댓글 2 좋아요 0 조회수 655

interrupt() 메서드 사용 부분

미해결

김영한의 실전 자바 - 고급 1편, 멀티스레드와 동시성

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문 전에 다음을 꼭 확인해주세요. 1. 강의 내용과 관련된 질문을 남겨주세요. 2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요. (자주 하는 질문 링크: https://bit.ly/3fX6ygx) 3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요. (질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG) 질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요. ========================================= [질문 템플릿] 1. 강의 내용과 관련된 질문인가요? 예 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오) 3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오) [질문 내용] 여기에 질문 내용을 남겨주세요. 아래 부분처럼 interrupt() 사용해서 수정했는데 잘 작동하는데 이건 잘못된 코드 일까요..? while문도 try() catch() 문 안에 넣으면 안될까요 ..? @Override public void run() { try { while (true) { if (jobQueue.isEmpty()) { continue; } String job = jobQueue.poll(); log("출력 시작: " + job + ", 대기 문서: " + jobQueue); Thread.sleep(3000); log("출력 완료: " + job); } } catch (InterruptedException e) { log("interrupt!"); log("프린터 종료"); } }

  • java
  • 객체지향
  • 동시성
  • multithread
  • thread
혜진 댓글 1 좋아요 0 조회수 180

13장 강의 수강 후 질문드려요~

미해결

설계독학맛비's 실전 FPGA를 이용한 HW 가속기 설계 (LED 제어부터 Fully Connected Layer 가속기 설계까지)

안녕하세요 🙂 맛비님! FPGA 13장 수강 후 질문이 있어 글 남겨요! 13장 28분 즈음을 보면, Vitis(=PS) 를 통해 13이라는 값을 Bram에 Write 하여 0번지 주소에 "8c29664c" 값이 들어오는 것을 확인하였는데요. 여기서, BRAM 에 정보 ( Address , Data ) 를 바탕으로 PL 로직에서 Source Code 를 작성하여 기능 구현을 하려고 합니다. ( 예를 들어 BRAM 0번지 Address 에 "8c29664c" Data 가 저장되면 LED On , 다른 값일 경우 Off..) 혹시 이러한 동작으로도 사용이 가능할까요? 사용 가능하다면, 설정 방법을 알려주시면 도움이 될 것 같습니다.

  • fpga
  • 임베디드
smartheawon 댓글 2 좋아요 1 조회수 134

Vue 개발자도구 timeline에 No events라 뜨는 문제

미해결

Vue 3 시작하기

버튼 클릭을 해 이벤트를 발생시켰음에도 불구하고 개발자도구에는 No events라고 뜹니다. Timeline에서 record 버튼 눌러 record on 했음에도 마찬가지입니다. 해결방법을 아실까요? ㅠㅠ

  • javascript
  • vue.js
  • devtools
김지우 댓글 1 좋아요 0 조회수 207

투두리스트 content 수정 기능 추가 문의

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

투두리스트를 만들고 있는데 여기서 만약 삭제버튼 옆에 수정버튼을 추가하여 todo list에 입력한 content 내용을 수정할 수 있는 기능을 추가하려면 todolist 내용 요소를 div요소에서 input text 요소로 바꾸고 보이기는 input value사용하고, 수정은 OnChange 이벤트를 사용하면 될까요?

  • javascript
  • react
  • node.js
HK 댓글 2 좋아요 0 조회수 207

파일 시스템 관련 질문입니다.

해결됨

넓고 얕게 외워서 컴공 전공자 되기

강의에서 모든 파일 시스템의 종류들은 다 FAT형식을 기본으로 갖는다고 하셨는데 검색해보니까 FAT도 한 종류의 파일시스템일 뿐이고 NTFS나 EXT 같은 종류의 파일 시스템은 각자 다른 방식으로 파일을 관리한다고 나와서요 그냥 기본적으로 FAT형식을 기반으로 발전시킨것들이다라고 이해해야할까요? 다른 종류의 파일 시스템들도 0번 트랙, 0번 섹터의 MBR을 다 가지고 있는건가요?

  • 운영체제
leedah0115 댓글 2 좋아요 0 조회수 204

@AfterReturning 설명 중 객체의 변경과 조작의 차이점

미해결

스프링 핵심 원리 - 고급편

강의 18분 40초쯤 @AfterReturning 설명 중 반환되는 객체를 조작할 수는 있으나 변경할 수는 없다라고 말씀하셨는데 조작의 예시로 setter를 들어주시기는 했으나 setter를 통해 값을 변경하는 것도 결국 변경이 아닌가 생각이 들기도 하고 조작과 변경의 차이가 잘 이해되지 않습니다. 조작과 변경의 차이를 조금 더 구체적이고 정확한 예시와 의미를 통해 이해시켜주실 수 있으실까요?

  • spring
  • 디자인-패턴
김희범 댓글 1 좋아요 0 조회수 211

영상 오류?

미해결

폭발적인 조회수가 나오는 쇼츠 with 캡컷

영상 제대로 올리는 법 쇼츠 저작권 두 개의 강의 영상이 파트2 캡컷영상으로 재생되는데 오류인 건지 확인 부탁드립니다

  • 유튜브
  • capcut
망고 댓글 1 좋아요 0 조회수 218

감정일기장 getMonthlyDate 질문

해결됨

한 입 크기로 잘라 먹는 리액트(React.js) : 기초부터 실전까지

안녕하세요. 작성한 일기를 언제 작성했는지 필터링 하기 위한 getMonthlyDate 함수에 대해 질문이 있습니다. 강의 내용에서는 작성한 일기가 언제 작성했는지를 알기 위해서 beganTime, endTime을 두고 시간까지 비교를 하였는데요. 간단하게 getMonth()를 활용해서 작성한 일기를 해당하는 '월'로만 비교를 할 수는 없는 건지 궁금합니다!

  • javascript
  • react
  • node.js
개미 댓글 2 좋아요 0 조회수 157

cdc 기반의 스트리밍 데이터 처리

해결됨

실리콘밸리 엔지니어에게 배우는 파이썬 아파치 스파크

안녕하세요. 강의 잘듣고 있는 도중에 질문이 있어 글을 작성하게 되었습니다. 현재 cdc 기반으로 iceberg 테이블에 operation(insert, update, delete) 정보들을 적용해서 데이터를 적재하고 있습니다. 이부분까지는 DMS -> kinesis -> lambda-> firehose -> iceberg 순서로 문제없이 적재를 진행하고 있지만 이런형식으로 운영중인 iceberg 테이블 10개를 join 시켜 datamart에 현재는 1주일에 한번씩 전체를 삭제 후 insert하는 비효율 적인 방식으로 마트를 운영중에 있습니다. 이것을 개선시키기 위해 적재중인 iceberg 테이블들에 변경된 데이터들을 5분 10분 단위로 종합해 datamart 테이블에 변경 분에 한해서만 insert, update, delete를 반영해주고자 하는데 강의를 듣다보니 spark streaming을 활용해서 뭔가 해결을 할 수 있을것 같은데 혹시 이부분에 대한 아이디어에 대해서 조언을 구할 수 있을까요? 10개의 테이블에 대해서 10분간 발생한 변경 점들을 종합해 datamart에 반영을 해주려고 하는데 아직 제대로 감이 잡히지 않아서 질문드렸습니다.

  • 머신러닝
  • 빅데이터
  • apache-spark
  • 데이터레이크하우스
leeceo97 댓글 2 좋아요 1 조회수 301

13-16) UpdateAPI test 에러

해결됨

파이썬/장고 웹서비스 개발 완벽 가이드 with 리액트 (장고 4.2 기준)

강의 수강 내용에 따라 test_author_can_update_post 와 test_non_author_cannot_update_post를 수행하면 하기의 에러가 발생합니다. list, retrieve, create, destroy 전부 정상 작동하는데 update만 해당 오류가 발생합니다 /blog/api.py, line 75, in has_permission if request.method in SAFE_METHODS: NameError: name 'SAFE_METHODS' is not defined 수업 내용대로 따라가고 있는데 ㅠㅠ 오류가 발생한 곳이 어디인지 알 수 가 없습니다. 수업 내용을 따라서 구현한 코드는 다음과 같습니다. # blog/tests/test_api.py import base64 import pytest from django.core.exceptions import ObjectDoesNotExist from django.urls import reverse from rest_framework import status from rest_framework.response import Response from rest_framework.test import APIClient from accounts.models import User from accounts.tests.factories import UserFactory from blog.models import Post from blog.tests.factories import PostFactory def create_user(raw_password: str = None) -> User: """새로운 User 레코드를 생성 및 반환""" return UserFactory(raw_password=raw_password) def get_api_client_with_basic_auth(user: User, raw_password: str) -> APIClient: """인자의 User 인스턴스와 암호 기반에서 Basic 인증을 적용한 APIClient 인스턴스 반환""" # *.http 파일에서는 자동으로 base64 인코딩을 수행해줬었습니다. base64_data: bytes = f"{user.username}:{raw_password}".encode() authorization_header: str = base64.b64encode(base64_data).decode() client = APIClient() client.credentials(HTTP_AUTHORIZATION=f"Basic {authorization_header}") return client @pytest.fixture def unauthenticated_api_client() -> APIClient: """Authorization 인증 헤더가 없는 기본 APIClient 인스턴스 반환""" return APIClient() @pytest.fixture def api_client_with_new_user_basic_auth(faker) -> APIClient: """새로운 User 레코드를 생성하고, 그 User의 인증 정보가 Authorization 헤더로 지정된 APIClient 인스턴스 반환""" raw_password: str = faker.password() user: User = create_user(raw_password) api_client: APIClient = get_api_client_with_basic_auth(user, raw_password) return api_client @pytest.fixture def new_user() -> User: """새로운 User 레코드를 생성 및 반환""" return create_user() @pytest.fixture def new_post() -> Post: """새로운 Post 레코드를 반환""" return PostFactory() @pytest.mark.it("작성자가 아닌 유저가 수정 요청하면 거부") @pytest.mark.django_db def test_non_author_cannot_update_post(new_post, api_client_with_new_user_basic_auth): url = reverse("api-v1:post_edit", args=[new_post.pk]) response: Response = api_client_with_new_user_basic_auth.patch(url, data={}) assert status.HTTP_403_FORBIDDEN == response.status_code @pytest.mark.it("작성자가 수정 요청하면 성공") @pytest.mark.django_db def test_author_can_update_post(faker): raw_password = faker.password() author = create_user(raw_password=raw_password) created_post = PostFactory(author=author) url = reverse("api-v1:post_edit", args=[created_post.pk]) api_client = get_api_client_with_basic_auth(author, raw_password) data = {"title": faker.sentence()} response: Response = api_client.patch(url, data=data) assert status.HTTP_200_OK == response.status_code assert data["title"] == response.data["title"] ## core/mixins.py from typing import List, Optional, Type from colorama import Fore from django.conf import settings from django.db.models import Model, QuerySet from rest_framework import permissions from rest_framework.renderers import BrowsableAPIRenderer, JSONRenderer from rest_framework.request import Request from rest_framework.response import Response from rest_framework.serializers import Serializer from rest_framework.utils.serializer_helpers import ReturnDict from rest_framework.views import APIView from core.permissions import make_drf_permission_class class JSONResponseWrapperMixin: def finalize_response( self, request: Request, response: Response, *args, **kwargs ) -> Response: is_ok = 200 <= response.status_code < 400 accepted_renderer = getattr(request, "accepted_renderer", None) if accepted_renderer is None or response.exception is True: response.data = { "ok": is_ok, "result": response.data, } elif isinstance( request.accepted_renderer, (JSONRenderer, BrowsableAPIRenderer) ): response.data = ReturnDict( { "ok": is_ok, "result": response.data, # ReturnList }, serializer=response.data.serializer, ) return super().finalize_response(request, response, *args, **kwargs) class PermissionDebugMixin: if settings.DEBUG: def get_label_text(self, is_permit: bool) -> str: return ( f"{Fore.GREEN}Permit{Fore.RESET}" # colorama 라이브러리 활용 if is_permit else f"{Fore.RED}Deny{Fore.RESET}" ) def check_permissions(self, request: Request) -> None: print(f"{request.method} {request.path} has_permission") for permission in self.get_permissions(): is_permit: bool = permission.has_permission(request, self) print( f"\t{permission.__class__.__name__} = {self.get_label_text(is_permit)}" ) if not is_permit: self.permission_denied( request, message=getattr(permission, "message", None), code=getattr(permission, "code", None), ) def check_object_permissions(self, request: Request, obj: Model) -> None: print(f"{request.method} {request.path} has_object_permission") for permission in self.get_permissions(): is_permit: bool = permission.has_object_permission(request, self, obj) print( f"\t{permission.__class__.__name__} = {self.get_label_text(is_permit)}" ) if not is_permit: self.permission_denied( request, message=getattr(permission, "message", None), code=getattr(permission, "code", None), ) class TestFuncPermissionMixin: TEST_FUNC_PERMISSION_CLASS_NAME = "TestFuncPermissionMixin" @classmethod def get_test_func_permission_instance(cls) -> permissions.BasePermission: permission_class = make_drf_permission_class( class_name=cls.TEST_FUNC_PERMISSION_CLASS_NAME, # *_test_func_name 속성이 지정되면, 이 권한 클래스가 사용된 APIView 클래스에서 # 지정 이름의 메서드를 찾습니다. has_permission_test_func_name="has_permission", has_object_permission_test_func_name="has_object_permission", ) return permission_class() def get_permissions(self) -> List[permissions.BasePermission]: # 기존 permission_classes 설정에 권한 정책을 추가하는 방식으로 동작 return super().get_permissions() + [self.get_test_func_permission_instance()] def has_permission(self, request: Request, view: APIView) -> bool: return True def has_object_permission( self, request: Request, view: APIView, obj: Model ) -> bool: return True

  • react
  • python
  • django
  • web-api
  • htmx
pplkjh2 댓글 2 좋아요 0 조회수 146

인기 태그

인프런 TOP Writers

주간 인기글