inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

묻고 답해요

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

axios url 질문이 있습니다

미해결

Vue.js - Django 연동 웹 프로그래밍 (실전편)

안녕하세요 강사님, 현재 태그를 누르면 포스트 목록 페이지 이동까지 구현을 성공한 상태입니다. (섹션 11에 올려주신 메인메뉴 수정 참고해서요 !) 섹션 11 영상이 아니라 앞서 설명해주실 때에는 장고서버에서 설명해주셨어서 (?) 약간 헷갈리는 부분이 있는데, 제가 이해하고 있는 게 맞는지 여쭤보고싶어서 질문 드립니다 !! postdetail.vue 에 내용에 의해 serverPage(tagname) { console.log("serverPage()...", tagname); location.href = `/my_blog.html?tagname=${tagname}`; } 이렇게 태그를 누르면 `/my_blog.html?tagname=${tagname}`; 로 이동하게 해놨는데, (저는 ~/my_blog 에 postlist 컴포넌트를 위치시켜놔서 url 이 저렇습니다 !) 이러면 postlist.vue 에서 저 url 을 파싱해서 created () { const params = new URL(location).searchParams; // const paramTag = params.get('tagname'); this.tagname = params.get("tagname") this.fetchPostList() }, tagname 을 추출하는 것까지는 이해 했습니다 ! 그 후에 fetchPostList() { console.log("fetchPostList()...", this.tagname); // 메서드 이름을 콘솔에 로깅하여 메서드가 호출되는 것 확인 let getUrl = ''; if (this.tagname) getUrl = `/api/post/list/?tagname=${this.tagname}`; else getUrl = '/api/post/list/'; axios.get(getUrl) // axios를 사용하여 /api/post/list/로 HTTP GET 요청 보내기 .then(res => { // 성공적인 응답의 경우 then 부분 실행 // 서버로부터 받은 응답 데이터 는 res 매개변수 안에 console.log("POST LIST GET RES", res); // 서버 응답을 콘솔에 로깅 this.posts = res.data; // res.data 에 서버에서 받은 데이터가 있을 것 // 이 데이터를 Vue 컴포넌트의 this.posts 데이터 속성에 할당 axios 를 통해 해당 태그에 맞는 데이터를 가져오는 것으로 이해 했습니다. 근데 여기서 getUrl = `/api/post/list/?tagname=${this.tagname}` 부분이 약간 이해가 안되어서요. urlpatterns = [ path('post/list/', views.ApiPostLV.as_view(), name='post_list'), path('post/<int:pk>/', views.ApiPostDV.as_view(), name="post_detail"), path('tag/cloud/', views.ApiTagCloudLV.as_view(), name='tag_cloud'), ] django 에서 api 에 관련된 url 은 이렇게 지정을 해두었는데, post list 에서 특정 포스트를 누르면 해당 포스트의 id를 추출해서 axios 를 통해 요청하는 url은 axios.get(`/api/post/${postId}/`) 이잖아요. 이부분은 위의 path('post/<int:pk>/', views.ApiPostDV.as_view(), name="post_detail"), 에서 <int:pk> 에 id 가 들어가는 거로 이해가 됩니다. 그런데 태그에 대한 목록 부분은, api/post/list 뒤의 부분은 정의(?)를 안해두었는데, 어떻게 오류없이 저 url 뒤의 태그를 알아서 인식하고 해당 태그에 대한 데이터를 보내주는 것인지 궁금합니다. 감사합니다 :)

  • vue.js
  • django
  • vuetify
kwonjiwoo 댓글 1 좋아요 0 조회수 298

WSL 설치

미해결

Airflow 마스터 클래스

WSL 설치시 하위시스템이 이미 설치되어있습니다. 라고 나오는데 Ubuntu 22.04.1 LTS는 없네요. 이미지 다운 어떻게 받아서 설치하나요?

  • python
  • 데이터-엔지니어링
  • airflow
poptato 댓글 2 좋아요 0 조회수 921

궁금합니다 … ㅠ

미해결

Vuetify Admin Template 만들기 - 기본편 (Based Vue2)

저 현재 뷰 기반에 vuetify 를 사용해 v-data-~ 를 사용해 그리드를 그리고있거든요 . 그리드 안에 헤더는 th 로 해서 너비지정하여 그리고있는데 이게 안에데이터에따라 자꾸 너비가 고정되지 않고 변해네여 ㅠ 혹시해결방법이있을까요?

  • vue.js
  • vuetify
이민혜 댓글 1 좋아요 0 조회수 560

질문

미해결

Vue.js - Django 연동 웹 프로그래밍 (실전편)

안녕하세요 강사님, 강의 보면서 블로그를 만들어보고 있는데, 혹시 이렇게 백엔드와 프론트엔드 서버를 분리 해서 개발해도, 블로그 친구들이나 팔로워 팔로잉 기능들은 django로 구현이 가능한걸까요?

  • vue.js
  • django
  • vuetify
kwonjiwoo 댓글 1 좋아요 0 조회수 268

시트 이름 지정하려는데 title 명령이 안 먹혀요

미해결

파이썬 무료 강의 (활용편4) - 업무자동화 (RPA)

기본 명령어인 것 같은데 어째서 title만 어트리뷰트가 없다고 에러 뜰까요? 프로그램을 껐다 켜봐도 이렇습니다.. 파이선 3.8.6 버전 쓰고 있고 비주얼 스튜디오 코드는 1.83.1 버전 쓰고 있는 것 같네요

  • rpa
  • 파이썬
  • openpyxl
  • python
  • python3
이예린 댓글 1 좋아요 0 조회수 413

질문입니다 !!

미해결

Vue.js - Django 연동 웹 프로그래밍 (실전편)

안녕하세요 강사님, 저는 강사님 코드에서 조금씩 수정하여 서버를 띄워보았는데, PostDetail 보여주는 부분에서 계속 오류가 생겨서요, TypeError: Object of type User is not JSON serializable [21/Oct/2023 21:14:51] "GET /api/post/2/ HTTP/1.1" 500 120254 이렇게 오류가 뜨는데 왜 이럴까요? ㅠㅠ 이전/다음 포스팅 보여주기 전에 포스팅 하나의 상세페이지 띄워주는 것까지는 정상적으로 확인이 됐었습니다. api/views.py # Create your views here. class ApiPostLV(BaseListView): model = Post def get_queryset(self): queryset = super().get_queryset() return queryset.order_by('-create_dt') def render_to_response(self, context, **response_kwargs): qs = context['object_list'] postList = [obj_to_post(obj) for obj in qs] return JsonResponse(data=postList, safe=False, status=200) class ApiPostDV(BaseDetailView): model = Post def render_to_response(self, context, **response_kwargs): obj = context['object'] post = obj_to_post(obj) post['prev'], post['next'] = prev_next_post(obj) return JsonResponse(data=post, safe=True, status=200) api/views_ util.py def obj_to_post(obj): post = dict(vars(obj)) if obj.create_dt: post['create_dt'] = obj.create_dt.strftime('%Y-%m-%d %H:%M') else: post['create_dt'] = '' if obj.modify_dt: post['modify_dt'] = obj.modify_dt.strftime('%Y-%m-%d %H:%M') else: post['modify_dt'] = '' if obj.tags: post['tags'] = [tag.name for tag in obj.tags.all()] else: post['tags'] = [] if obj.owner: post['owner'] = obj.owner.username else: post['owner'] = 'Anonymous' del post['_state'] return post def prev_next_post(obj): try: prevObj = obj.get_prev() prevDict = {'id' : prevObj.id, 'title' : prevObj.title, 'description' : prevObj.description, 'create_dt' : prevObj.create_dt, 'owner' : prevObj.owner} except obj.DoesNotExist as e: prevDict = {} try: nextObj = obj.get_next() nextDict = {'id' : nextObj.id, 'title' : nextObj.title, 'description' : nextObj.description, 'create_dt' : nextObj.create_dt, 'owner' : nextObj.owner} except obj.DoesNotExist as e: nextDict = {} return prevDict, nextDict blog/ models.py class Post(models.Model): title = models.CharField(verbose_name='TITLE', max_length=50) # verbose_name : 칼럼에 대한 별칭 description = models.CharField('DISCRIPTION', max_length=100, blank=True, help_text='simple description text.') content = models.TextField('CONTENT') create_dt = models.DateTimeField('CREATE DATE', auto_now_add=True) modify_dt = models.DateTimeField('MODIFY DATE', auto_now=True) tags = TaggableManager(blank=True) owner = models.ForeignKey(get_user_model(), on_delete=models.CASCADE, verbose_name='OWNER', blank=True, null=True) def __str__(self): return self.title def get_absolute_url(self): return reverse('blog:post_detail', args=(self.id,)) def get_prev(self): return self.get_previous_by_create_dt() def get_next(self): return self.get_next_by_create_dt() PostDetail.vue <template> <v-container class="white"> <v-row align="center" justify="center"> <!-- align 속성은 위아래, justify 속성은 좌우 위치 조정 --> <v-col cols="12" lg="10"> <!-- <v-card class="pa-2" outlined tile> --> <h1>{{ post.title }}</h1> <div> <h3>{{ post.description }}</h3> </div> <div> <p style="margin: 5px 0;">작성일자 : {{ post.create_dt }}&nbsp;&nbsp; 최종수정 : {{ post.modify_dt }}</p> <p style="margin: 5px 0;">written by {{ post.owner }}</p> </div> <v-divider></v-divider> <!-- </v-card> --> </v-col> </v-row> <v-row align="start" justify="center"> <v-col cols="12" lg="10"> <!-- <v-card class="pa-2" outlined tile> --> <p style="white-space: pre-wrap;"> {{ post.content }}</p> <div> <strong>TAGS:</strong> <v-chip class="ma-2" outlined v-for="(tag, index) in post.tags" :key="index">{{ tag }}</v-chip> </div> <v-divider></v-divider> <!-- </v-card> --> </v-col> </v-row> <v-row align="center" justify="center"> <v-col cols="12" lg="10"> <v-card class="pa-2" outlined tile> <v-row> <!-- 왼쪽에 다음 글 문구 배치 --> <v-col align="center" cols="2"> <p>이전 글</p> </v-col> <!-- 오른쪽에 다음 글 제목 문구 배치 --> <v-col cols="10"> <div> <h3 v-if="post.prev" @click="fetchPostDetail(post.prev.id)">{{ post.prev.title }}</h3> <p v-if="post.prev" @click="fetchPostDetail(post.prev.id)">{{ post.prev.description }}</p> </div> </v-col> </v-row> </v-card> <v-card class="pa-2" outlined tile> <v-row> <!-- 왼쪽에 다음 글 문구 배치 --> <v-col align="center" cols="2"> <p>다음 글</p> </v-col> <!-- 오른쪽에 다음 글 제목 문구 배치 --> <v-col cols="10"> <div> <h3 v-if="post.next" @click="fetchPostDetail(post.next.id)">{{ post.next.title }}</h3> <p v-if="post.next" @click="fetchPostDetail(post.next.id)">{{ post.next.description }}</p> </div> </v-col> </v-row> </v-card> </v-col> </v-row> </v-container> </template> <script> import axios from "axios"; export default { name: "PostDeatail", data: () => ({ post: {}, }), created() { console.log("created()..."); const postId = 2; this.fetchPostDetail(postId); }, methods: { fetchPostDetail(postId) { console.log("fetchPostDetail()...", postId); axios.get(`/api/post/${postId}/`) .then(res =>{ console.log("POST DETAIL GET RES", res); this.post = res.data; }) .catch(err => { console.log("POST DETAIL GET ERR_RESPONSE", err.response); alert(err.response.status + ' ' + err.response.statusText); }); } } } </script> <style scoped> </style> 계속 다시 코드를 짜보았는데도 어디서 오류가 나는 것인지 모르겠어서요 ㅠㅠ..... 감사합니다 .. ㅜㅜ

  • vue.js
  • django
  • vuetify
kwonjiwoo 댓글 2 좋아요 0 조회수 273

Post model

미해결

Vue.js - Django 연동 웹 프로그래밍 (실전편)

modify_dt 가 아니라 아래처럼 create_dt 를 기준으로 이전 이후 나누게 코드 짜도 되나요? def get_prev(self): return self.get_previous_by_create_dt() def get_next(self): return self.get_next_by_create_dt()

  • vue.js
  • django
  • vuetify
kwonjiwoo 댓글 1 좋아요 0 조회수 266

taggit

미해결

Vue.js - Django 연동 웹 프로그래밍 (실전편)

안녕하세요 강사님, Post model 구현하는 과정에서 from taggit.managers 이 부분이 저는 계속 밑줄이 뜨는데 왜 이러는 걸까요? ㅠㅠ

  • vue.js
  • django
  • vuetify
kwonjiwoo 댓글 1 좋아요 0 조회수 330

질문입니다 !!

미해결

Vue.js - Django 연동 웹 프로그래밍 (실전편)

안녕하세요 강사님, 5:41 부분에서 safe=True 라고 설명해주셨는데, 이 부분이 잘 이해가 안돼서요. list 데이터 전달해주는 위의 메서드에서는 safe=False 로 두셨는데 왜 이렇게 다르게 하는지 잘 모르겠습니다..... ㅠㅠ 구글링으로 찾아봐도 잘 와닿지 않아서 질문 드립니다 ㅜㅜ

  • vue.js
  • django
  • vuetify
kwonjiwoo 댓글 1 좋아요 0 조회수 198

apply axis 관련 질문

해결됨

[리뉴얼] 처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part1]

섹션7-2 5분 2초 apply부분에 apply(func, axis = 0)으로 하면 왜 '영어' 행이 하나 더 생기나요?

  • python
  • pandas
tjswn0125 댓글 1 좋아요 0 조회수 315

질문이 있습니다.. !!

미해결

Vue.js - Django 연동 웹 프로그래밍 (실전편)

안녕하세요 강사님, post list 기능이 정상적으로 작동합니다. 그런데 혹시 최신 포스팅을 목록 가장 상단에 위치하게 하고싶은데, 이건 어떤 속성을 건드려야 하나요? (수정된 건 영향을 주지 않고요 !) 질문이 너무 많아서 죄송합니다 ㅜㅜ

  • vue.js
  • django
  • vuetify
kwonjiwoo 댓글 1 좋아요 0 조회수 252

context 변수

미해결

Vue.js - Django 연동 웹 프로그래밍 (실전편)

안녕하세요 강사님, api/ view.py 에서 context 변수가 데이터가 전달되는? 딕셔너리 변수인 것은 알겠습니다. 그런데 정의를 해주지 않았는데 어떻게 딕셔너리 변수가 되며, object_list 라는 키도 따로 context 변수에 넣어주지 않았는데 어떻게 바로 context['object_list'] 로 qs 변수에 저장할 수 있나요? 그리고 object_list 또한 어떻게 Post 모델에서 포스팅 목록을 가져올 수 있는 건지 이해가 안됩니다 ㅠㅠ 이런거는 다큐먼트를 봐야 이해할 수 있을까요? ㅜㅜ

  • vue.js
  • django
  • vuetify
kwonjiwoo 댓글 1 좋아요 0 조회수 248

AUTH_USER_MODEL

미해결

Vue.js - Django 연동 웹 프로그래밍 (실전편)

안녕하세요 강사님, 6:18 부근에서요, settings.py 에 AUTH_USER_MODEL='account.User' 을 명시해주시는데, Post 모델과 같이 다른 데이터를 받는(?) 모델은 이런 설정을 추가 안해주고, 유저 모델만 이렇게 명시를 해주어야 하는 이유가 있나요? 그리고 이렇게 유저 모델 설정을 안해주면 문제가 발생할까요?

  • vue.js
  • django
  • vuetify
kwonjiwoo 댓글 1 좋아요 0 조회수 222

npm run serve 후 빈페이지

미해결

Vue.js - Django 연동 웹 프로그래밍 (실전편)

안녕하세요 강사님, 말씀해주신대로 버전을 맞추어서 진행해보았더니 (영상에 맞추어 다운그레이드 하였습니다.) 빌드가 성공적으로 되었습니다. 그런데 npm run serve 를 해보니 빈페이지가 나와서요 ㅠㅠ 구글링 해보니 라우터 얘기가 많은데, 이전에 vue 가볍게 따로 공부했을 때 router 설치는 했었지만 이 프로젝트에서는 아직 따로 다루지는 않았는데 이게 관련이 있을 수 있나요? 어디서 문제가 생긴지 어떻게 알 수 있을까요? npm run serve 하면 오류가 뜨지는 않습니다. 아래는 제 프로젝트 빌드 후 생성된 파일들 입니다. 아래는 vue.config.js 코드 입니다. module.exports = { transpileDependencies: [ 'vuetify' ], devServer: { index: 'home.html', proxy: { '^/api': { target: 'http://127.0.0.1:8000', }, '^/admin': { target: 'http://127.0.0.1:8000', } } }, pages: { home: { template: 'public/index.html', entry: 'src/pages/main_home.js', filename: 'home.html', title: 'Home', minify: false, }, my_blog: { template: 'public/index.html', entry: 'src/pages/main_my_blog.js', filename: 'my_blog.html', title: 'My_blog', minify: false, }, post_detail: { template: 'public/index.html', entry: 'src/pages/main_post_detail.js', filename: 'post_detail.html', title: 'Post_detail', minify: false, }, login: { template: 'public/index.html', entry: 'src/pages/main_login.js', filename: 'login.html', title: 'Login', minify: false, }, sign_up: { template: 'public/index.html', entry: 'src/pages/main_sign_up.js', filename: 'sign_up.html', title: 'Sign_up', minify: false, }, }, css: { extract: { ignoreOrder: true }, }, }

  • vue.js
  • django
  • vuetify
댓글 1 좋아요 0 조회수 785

build 오류

미해결

Vue.js - Django 연동 웹 프로그래밍 (실전편)

섹션 11 vue.config.js 수정 후에 빌드를 하면 아래와 같이 에러가 뜹니다 ㅠㅠ 왜이럴까요.. ㅜㅜㅜㅜ 그리고 저는 강사님 수업에서는 안보이는 jsconfig.json 파일이 있는데 이건 지워도 되나요.. ㅜㅜ 너무 어렵네요 C:\VueDjango\frontend>npm run build > frontend@0.1.0 build > vue-cli-service build / Building for production...Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:69:19) at Object.createHash (node:crypto:133:10) at module.exports (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\util\createHash.js:90:53) at NormalModule._initBuildHash (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:401:16) at handleParseError (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:449:10) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:481:5 at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:342:12 at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:373:3 at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:214:10) at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:221:10) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:236:3 at runSyncOrAsync (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:130:11) at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:232:2) at Array.<anonymous> (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:205:4) at Storage.finished (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9 at C:\VueDjango\frontend\node_modules\graceful-fs\graceful-fs.js:123:16 at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:69:19) at Object.createHash (node:crypto:133:10) at module.exports (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\util\createHash.js:90:53) at NormalModule._initBuildHash (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:401:16) at handleParseError (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:449:10) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:481:5 at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:342:12 at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:373:3 at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:214:10) at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:221:10) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:236:3 at runSyncOrAsync (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:130:11) at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:232:2) at Array.<anonymous> (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:205:4) at Storage.finished (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9 at C:\VueDjango\frontend\node_modules\graceful-fs\graceful-fs.js:123:16 at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:69:19) at Object.createHash (node:crypto:133:10) at module.exports (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\util\createHash.js:90:53) at NormalModule._initBuildHash (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:401:16) at handleParseError (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:449:10) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:481:5 at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:342:12 at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:373:3 at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:214:10) at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:221:10) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:236:3 at runSyncOrAsync (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:130:11) at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:232:2) at Array.<anonymous> (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:205:4) at Storage.finished (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9 at C:\VueDjango\frontend\node_modules\graceful-fs\graceful-fs.js:123:16 at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:69:19) at Object.createHash (node:crypto:133:10) at module.exports (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\util\createHash.js:90:53) at NormalModule._initBuildHash (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:401:16) at handleParseError (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:449:10) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:481:5 at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:342:12 at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:373:3 at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:214:10) at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:221:10) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:236:3 at runSyncOrAsync (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:130:11) at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:232:2) at Array.<anonymous> (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:205:4) at Storage.finished (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9 at C:\VueDjango\frontend\node_modules\graceful-fs\graceful-fs.js:123:16 at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:69:19) at Object.createHash (node:crypto:133:10) at module.exports (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\util\createHash.js:90:53) at NormalModule._initBuildHash (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:401:16) at handleParseError (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:449:10) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:481:5 at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:342:12 at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:373:3 at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:214:10) at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:221:10) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:236:3 at runSyncOrAsync (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:130:11) at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:232:2) at Array.<anonymous> (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:205:4) at Storage.finished (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:55:16) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\enhanced-resolve\lib\CachedInputFileSystem.js:91:9 at C:\VueDjango\frontend\node_modules\graceful-fs\graceful-fs.js:123:16 at FSReqCallback.readFileAfterClose [as oncomplete] (node:internal/fs/read_file_context:68:3) \ Building for production...C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:114 throw e; ^ Error: error:0308010C:digital envelope routines::unsupported at new Hash (node:internal/crypto/hash:69:19) at Object.createHash (node:crypto:133:10) at module.exports (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\util\createHash.js:90:53) at NormalModule._initBuildHash (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:401:16) at handleParseError (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:449:10) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:481:5 at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\webpack\lib\NormalModule.js:342:12 at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:373:3 at iterateNormalLoaders (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:214:10) at C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:186:6 at context.callback (C:\VueDjango\frontend\node_modules\@vue\cli-service\node_modules\loader-runner\lib\LoaderRunner.js:111:13) at Object.callback (C:\VueDjango\frontend\node_modules\thread-loader\dist\index.js:59:5) at done (C:\VueDjango\frontend\node_modules\neo-async\async.js:8069:18) at callback (C:\VueDjango\frontend\node_modules\thread-loader\dist\WorkerPool.js:187:19) at C:\VueDjango\frontend\node_modules\thread-loader\dist\WorkerPool.js:223:13 at done (C:\VueDjango\frontend\node_modules\neo-async\async.js:3667:9) at Socket.onChunk (C:\VueDjango\frontend\node_modules\thread-loader\dist\readBuffer.js:40:9) at Socket.emit (node:events:514:28) at Readable.read (node:internal/streams/readable:539:10) at Socket.read (node:net:750:39) at flow (node:internal/streams/readable:1023:34) at emitReadable_ (node:internal/streams/readable:604:3) at process.processTicksAndRejections (node:internal/process/task_queues:81:21) { opensslErrorStack: [ 'error:03000086:digital envelope routines::initialization error' ], library: 'digital envelope routines', reason: 'unsupported', code: 'ERR_OSSL_EVP_UNSUPPORTED' } Node.js v18.17.1

  • vue.js
  • django
  • vuetify
kwonjiwoo 댓글 2 좋아요 0 조회수 611

axios

미해결

Vue.js - Django 연동 웹 프로그래밍 (실전편)

강사님 안녕하세요, filemanager plugin 버전 때문에 문의 드렸던 학생입니다. 말씀해주신대로 섹션 11 보면서 장고랑 연동하고자 하는데요, 그전에 섹션 4 강의 보며 post detail 같은 뷰 페이지 몇개를 만든 후에, 섹션 5 들어가기 전에 섹션11 보면서 진행중입니다. 그런데 npm list 했을 때 C:\VueDjango\frontend>npm list frontend @0.1.0 C:\VueDjango\frontend ├── @babel/core@7.22.20 ├── @babel/eslint-parser@7.22.15 ├── @vue/cli-plugin-babel@5.0.8 ├── @vue/cli-plugin-eslint@5.0.8 ├── @vue/cli-service@5.0.8 ├── core-js@3.32.2 ├── eslint-plugin-vue@8.7.1 ├── eslint@7.32.0 ├── sass-loader@10.4.1 ├── sass@1.32.13 ├── vue-cli-plugin-vuetify@2.5.8 ├── vue-template-compiler@2.7.14 ├── vue@2.7.14 ├── vuetify-loader@1.9.2 └── vuetify@2.7.1 이렇게 axios 가 안 뜹니다. 아마 섹션 5 진행 전이라 이런 것 같은데, 이런 경우에는 섹션 5 진행 후에 하는 게 좋을까요? 아니면 우선 axios는 생각 안하고 진행해도 괜찮을까요?

  • vue.js
  • django
  • vuetify
kwonjiwoo 댓글 1 좋아요 0 조회수 281

mac 환경에서 실습할 경우

해결됨

Airflow 마스터 클래스

안녕하세요 mac 환경에서 강의를 수강하려고 합니다. 이러한 경우 wsl 설치 없이 다음 강의로 넘어가면 될까요??

  • python
  • 데이터-엔지니어링
  • airflow
lucli 댓글 1 좋아요 0 조회수 533

theme 적용이 되지 않습니다.

해결됨

실전 프로젝트로 배우는 데이터 앱 만들기 with Python & Streamlit

theme 적용시, 강사님께서 말씀해주신 것처럼 작업 폴더에 .streamlit 폴더를 만들고, 그 안에 config.toml 파일을 만들어 테마 적용을 했지만, 아래의 문구가 발생하며, 태마가 적용이 되지 않습니다. The page that you have requested does not seem to exist. Running the app's main page. 어떤 이유 인지 알려주세요.

  • python
  • streamlit
동현고 댓글 1 좋아요 0 조회수 495

완전탐색 1090번 시간초과

미해결

2주만에 통과하는 알고리즘 코딩테스트 (2024년)

예제 문제는 잘 풀리는데 백준에 제출하니까 시간초과가 뜹니다 강의 자료랑 큰 차이는 없어 보이는데 어느 부분을 고쳐야 시간 안에 계산 가능할까요? #include <iostream> #include <cstdlib> using namespace std; int main(int argc, char **argv) { int n; int minX, minY, maxX, maxY; cin >> n; int arr[n][2]; for(int i=0; i<n; i++){ cin >> arr[i][0] >> arr[i][1]; } minX = arr[0][0]; maxX = arr[0][0]; minY = arr[0][1]; maxY = arr[0][1]; for(int i=1; i<n; i++){ if(arr[i][0]>maxX){ maxX = arr[i][0]; } else if(arr[i][0]<minX){ minX = arr[i][0]; } if(arr[i][1]>maxY){ maxY = arr[i][1]; } else if(arr[i][1]<minY){ minY = arr[i][1]; } } int arr_answer[n]; int arr_dis[n]; for(int i=minY; i<=maxY; i++){ for(int j=minX; j<= maxX; j++){ for(int l=0; l<n; l++){ int subY= 0, subX=0; subY = i-arr[l][1]; subX = j-arr[l][0]; arr_dis[l] = abs(subX) + abs(subY); } int sum = 0; for(int k=0; k<n; k++){ sum+=arr_dis[k]; if(i==minY && j ==minX){ arr_answer[k] =sum; } else if(sum < arr_answer[k]){ arr_answer[k] = sum; } } } } for(int i=0; i<n; i++){ cout << arr_answer[i] << " "; } return 0; }

  • python
  • 코딩-테스트
  • 알고리즘
yongyong213 댓글 2 좋아요 1 조회수 617

동시성 부분 추가 공부하면서 헷갈리는 부분 질문 드립니다.

해결됨

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

안녕하세요 선생님! 동시성과 병렬성 관련해 기초가 약해 해당 강의를 들으면서 OS 부족한 부분을 많이 알게되어 도움이 많이되고 있습니다. 다름이 아니라 해당 강좌 범위는 벗어나지만.. 구글링해도 명확하게 해결되지 않아 질문 드립니다. 동시성을 구현하는 방법으로 멀티쓰레드 나 코루틴 방법으로 구현을 할 수있고 멀티쓰레드 방법에서 쓰레드 전환 간 context switch가 많기 때문에 오버헤드도 많아 Coroutine 방법을 많이 쓰고 또한 유저가 이벤트루프(스케쥴링)을 app에서 관리한다는 측면에서 디버그가 유용하다 정도로 이해하고 있습니다. 많은 블로그에서 멀티쓰레드보다 코루틴을 소개하면서 동시성 구현시 코루틴을 더 상위(혹은 좋은) 방법으로 서술이 많이 되어 있더라구요. I/O작업이 빈번할 경우 코루틴이 더 유리하다는 이해가 됩니다. 싱글스레드 + async 싱글스레드 멀티스레드 + async 멀티스레드 2개의 구현방법이 레이어가 다르다(thread와 task)보니 4가지 경우의 수를 적용할 수 있는데 실제 동시성을 적용해야되는 상황이면 어떻게 판단하고 최적의 구현방법(4가지 중 선택)을 적용할 수 있을까요? (파이썬 스택을 쓰고 있으며 GIL도 이해하고 있는 상태입니다.) 다시한번 해당 강의와 조금 벗어난 질문드려 죄송합니다. ( _ _ )

  • python
  • 동시성
  • 병렬성
권설민 댓글 1 좋아요 0 조회수 432

인기 태그

인프런 TOP Writers

주간 인기글