묻고 답해요
164만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결윤재성의 스프링 프레임워크 개발자를 위한 실습을 통한 입문 과정
스프링MVC강의 오픈은 아직 미정인가요?
스프링MVC로 직접 만들어보는 강의 찾기가 어려워서 질문 답변글 보니 스프링MVC와 스프링부트 강의 제작중이시라는데 정확히 언제인지는 알 수 없나요?
-
미해결현존 최강 크롤링 기술: Scrapy와 Selenium 정복
안녕하세요 문과를 졸업하고 늦게나마 코딩을 공부하고 있는 학생입니다.
반갑습니다. 처음으로 인사를드리네요. 개발자님의 강의를 너무 감명깊게 봐서 몽고 디비만 빼고 모두 수강했습니다. 좋은 강의를 만들어주셔서 너무 감사하다는 말 드리고 싶습니다. 강의를 활용하여 이제는 조금씩 코딩을 진행하고있는데 새로운스타일의 크롤링을하게 진행하게 되어서 답답한마음에 글을 남기게 되었습니다. 주변에 여쭤볼사람이없습니다. 프로젝트라고 할건없지만 작은 회사에서 저를 필요로 하여서 공부를해가면서 코딩을 진행중입니다. 회사와 관련되어서 프로그램의 자세한 내용은 밝힐수 없는점 이해부탁드립니다. 개발자님께 질문전에 충분히 생각하고 외국포럼도 서치하면서 찾아보고 이미 지식인에도 다올려봤지만 답이 안나오더군요. 그럼 제가 궁금한점 질문드리겠습니다. BeautifulSoup을 이용해서 파싱을 진행중인데 제가 파싱하는 사이트는 옵션값들이 전부 동적페이지와 연결이되어있습니다. 예를 들어 클릭을 하면 텍스트가 뜨는 형식으로요. 개발자님의 강의를 들어서 활용을 해볼려고 했으나 이 또한 html 내용이 값을 얻기 어렵게 되어있어. <script> 구문의 텍스트를 긁어와 텍스트를 이용하여 값을 도출할려고합니다. -------------------------------------- <script> window.aehostname = '.us.ot7' </script> <script> window.runParams = { data: {"actionModule":"skuPropertyName":"색깔","skuPropertyValues":[{"propertyValueDisplayName":"파란","propertyValueId":173,"propertyValueIdLong":173,"propertyValueName":"파란","skuColorValue":"#0080FF",","skuPropertyImageSummPath":"skuPropertyTips":"파란","skuPropertyValueShowOrder":1,"skuPropertyValueTips":"파란"},{"propertyValueDisplayName":"빨간","propertyValueId":10,"propertyValueIdLong":10,"propertyValueName":"빨간","skuColorValue":"#FF0000",""skuPropertyTips":"빨간","skuPropertyValueShowOrder":1,"skuPropertyValueTips":"빨간"}, csrfToken: 'rb2zpy7fwxpm', abVersion: '', }; ------------------------------------------------------ 대충 스크립트를 크롤링 해오면 이런텍스트로 가져오게되는데 이텍스트에서 [propertyValueName] 키의 값인 [ 빨간]과 [파란]을 딕셔너리 형태로 가져오고싶습니다. 어떻게 해야하는지 알려주시면 감사드리겠습니다. 절대 쉬운길을 찾아서 개발자님께 질문을 바로드리는게 아닙니다. 시간에 쫒기다보니 무례인줄알지만 제자로써 질문을 드리게되었습니다. 개발자님께 항상 행복이 함께하길 바라겠습니다. 더 열심히 공부하겠습니다. 죄송합니다.
-
해결됨React로 NodeBird SNS 만들기
질문이여
꼭 formdata 를 써야하나요? postForm.js const onSubmitForm = useCallback((e)=>{ e.preventDefault(); if(!text || !text.trim()){ return alert('게시글을 넣어주세요') } const formData = new FormData(); imagePaths.forEach((i)=>{ formData.append('image',i) }) formData.append('content',text) dispatch({ type: ADD_POST_REQUEST, data: formData, }) },[text, imagePaths]); 기존의 코드는 이런식으로 액션을 라우터로 보내서, upload.none으로 받은후, req.body.image req.body.conent 이런식으로 DB에 저장을 해주잖아요. 그냥 formData를 안쓰고, const onSubmitForm = useCallback((e)=>{ e.preventDefault(); if(!text || !text.trim()){ return alert('게시글을 넣어주세요') } dispatch({ type: ADD_POST_REQUEST, data: {imagePaths,text}, }) },[text, imagePaths]); 이런식으로 간단하게 보내면 안되나요 ?? 그러면 라우터쪽에서는 upload.none() 이 부분 안써주고, req.body.imagePaths, req.body.text 이런식으로 받아서 DB를 저장해줄수 있지 않나요??? formdata를 써야하는 어떤 이유가 있나요 ???
-
미해결Vue로 Nodebird SNS 만들기
vuetify가 설치가안되네요
무료강의때도 설치가 안되서 이제 생각나서 다시 수강하는데 https://github.com/jinhoin/nodeBird.git 코드입니다. 실행하면 항상오류나는데 아무리봐도모르겟습니다. 답해주시면 감사하겠습니다
-
미해결React로 NodeBird SNS 만들기
hasMorePost 가 계속 false라서 LOAD_MAIN_POSTS_REQUEST 가 호출이 안되여
어디서 잘못된건지 봐주시면 대단히 감사여 계속 찾아봤는데 잘몰겠어여 ; 메인 페이지: https://github.com/hyunsokstar/node_bird_22/blob/master/front/pages/index.js 리덕스: https://github.com/hyunsokstar/node_bird_22/blob/master/front/reducers/post.js 리덕스 사가: https://github.com/hyunsokstar/node_bird_22/blob/master/front/sagas/post.js
-
미해결홍정모의 따라하며 배우는 C++
정적 바인딩과 동적 바인딩 차이가 이해가 안됩니다.
교수님 저도 이 강의에서 13일전에 나왔던 질문자와 같은 질문이 있습니다."두 코드를 비교하시면서 동적, 정적 바인딩의 차이를 설명해주셨는데, 결국 result나 func_ptr 모두 런타임에서 op값이 무엇이냐에 따라서 결정되는 것 아닌가요?"이런질문이 있었는데 강의가 어느부분인지 표기해서 올리라고 하신 답글을 달아주셨네요.여기에 덧붙여서 좀더 디테일하게 질문을 하자면, 결국 op를 cin으로 런타임에 받아서 그 op에 따른 케이스에따라 result 나 func_ptr이나 모두 결정되는 것이 아닌가합니다. 그래서 cout << result << endl;이나 cout << func_ptr(x,y) << endl; 이나 동일하게 런타임에 입력하는 op값에 따라 결정되는 것이 아닌가 생각합니다.그래서 차이를 잘 모르겠습니다. 강의는 12.5 동적바인딩과 정적바인딩이고 1분15초쯤입니다.교수님께서 질문을 하면 고민 더 해보라고 하시는 답글을 매번 해주시는 것 같아서 질문 전에 자료도 찾아보고 고민해봤는데 이 예제에서의 정적바인딩 동적바인딩 차이를 가늠하기가 좀 어렵네요찾아보면 대부분이 예제를 int a = 0 이런걸 정적바인딩으로 설명해서 이미 컴파일타임에 a가 결정되는 이런걸 정적바인딩이라고 설명을 해놓아서 더욱 헷갈리는 것 같습니다.교수님의 보다 자세한 의견을 듣고싶습니다.
-
미해결Node.js - Express
세션 미들웨어 설치 링크가 잘못되어 있는것 같습니다.
https://youtu.be/ZmFuLoXl2Cg 이 강의가 되어야 하는 것 같아요.
-
미해결Vue.js - Django 연동 웹 프로그래밍
데이터베이스
안녕하세요. 좋은 강의 고맙습니다. 강의 내용에 대한 질문은 아니지만 혹시 팁을 얻을 수 있을까해서 질문드립니다. 보통 장고로 프로젝트를 하게 되면 데이터베이스는 기본sqlite를 사용하게 되는 건가요? 자바 프로젝트 같은 경우 JDBC를 이용해서 외부 RDBS프로그램을 사용하는게 보통인것 같은데 장고 강의들은 전부 디폴트로 사용하는 것 같아 실제 비즈니스에서도 그렇게 하는지 궁금합니다.
-
미해결대세는 쿠버네티스 (초급~중급편)
쿠버네티스 설치시 에러가 발생하는 부분에 대해서 문의 드립니다.
저는 가상화 도구를 사용하지 않고 실제 데탑 3대를 가지고 테스트 하려고 합니다. master node 를 설치중인데.. ——————————————————————————————————— [kubernetes] name=Kubernetes baseurl = http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled = 1 gpgcheck = 0 repo_gpgcheck = 0 gpgkey = http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg exclude=kube* ——————————————————————————————————— [root@localhost imperialpt]# yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile * base: data.aonenetworks.kr * extras: data.aonenetworks.kr * updates: data.aonenetworks.kr base | 3.6 kB 00:00:00 https://download.docker.com/linux/centos/7/x86_64/stable/repodata/repomd.xml: [Errno 14] curl#60 - "Peer's Certificate has expired." Trying other mirror. It was impossible to connect to the CentOS servers. This could mean a connectivity issue in your environment, such as the requirement to configure a proxy, or a transparent proxy that tampers with TLS security, or an incorrect system clock. You can try to solve this issue by using the instructions on https://wiki.centos.org/yum-errors If above article doesn't help to resolve this issue please use https://bugs.centos.org/. extras | 2.9 kB 00:00:00 kubernetes | 1.4 kB 00:00:00 updates | 2.9 kB 00:00:00 kubernetes/primary | 59 kB 00:00:01 kubernetes 430/430 Resolving Dependencies --> Running transaction check ---> Package kubeadm.x86_64 0:1.16.3-0 will be installed --> Processing Dependency: kubernetes-cni >= 0.7.5 for package: kubeadm-1.16.3-0.x86_64 --> Processing Dependency: cri-tools >= 1.13.0 for package: kubeadm-1.16.3-0.x86_64 ---> Package kubectl.x86_64 0:1.16.3-0 will be installed ---> Package kubelet.x86_64 0:1.16.3-0 will be installed --> Processing Dependency: socat for package: kubelet-1.16.3-0.x86_64 --> Processing Dependency: conntrack for package: kubelet-1.16.3-0.x86_64 --> Running transaction check ---> Package conntrack-tools.x86_64 0:1.4.4-5.el7_7.2 will be installed --> Processing Dependency: libnetfilter_cttimeout.so.1(LIBNETFILTER_CTTIMEOUT_1.1)(64bit) for package: conntrack-tools-1.4.4-5.el7_7.2.x86_64 --> Processing Dependency: libnetfilter_cttimeout.so.1(LIBNETFILTER_CTTIMEOUT_1.0)(64bit) for package: conntrack-tools-1.4.4-5.el7_7.2.x86_64 --> Processing Dependency: libnetfilter_cthelper.so.0(LIBNETFILTER_CTHELPER_1.0)(64bit) for package: conntrack-tools-1.4.4-5.el7_7.2.x86_64 --> Processing Dependency: libnetfilter_queue.so.1()(64bit) for package: conntrack-tools-1.4.4-5.el7_7.2.x86_64 --> Processing Dependency: libnetfilter_cttimeout.so.1()(64bit) for package: conntrack-tools-1.4.4-5.el7_7.2.x86_64 --> Processing Dependency: libnetfilter_cthelper.so.0()(64bit) for package: conntrack-tools-1.4.4-5.el7_7.2.x86_64 ---> Package cri-tools.x86_64 0:1.13.0-0 will be installed ---> Package kubernetes-cni.x86_64 0:0.7.5-0 will be installed ---> Package socat.x86_64 0:1.7.3.2-2.el7 will be installed --> Running transaction check ---> Package libnetfilter_cthelper.x86_64 0:1.0.0-10.el7_7.1 will be installed ---> Package libnetfilter_cttimeout.x86_64 0:1.0.0-6.el7_7.1 will be installed ---> Package libnetfilter_queue.x86_64 0:1.0.2-2.el7_2 will be installed --> Finished Dependency Resolution Dependencies Resolved ========================================================================================================================================================== Installing: kubeadm x86_64 1.16.3-0 kubernetes 9.5 M kubectl x86_64 1.16.3-0 kubernetes 10 M kubelet x86_64 1.16.3-0 kubernetes 22 M Installing for dependencies: conntrack-tools x86_64 1.4.4-5.el7_7.2 updates 187 k cri-tools x86_64 1.13.0-0 kubernetes 5.1 M kubernetes-cni x86_64 0.7.5-0 kubernetes 10 M libnetfilter_cthelper x86_64 1.0.0-10.el7_7.1 updates 18 k libnetfilter_cttimeout x86_64 1.0.0-6.el7_7.1 updates 18 k libnetfilter_queue x86_64 1.0.2-2.el7_2 base 23 k socat x86_64 1.7.3.2-2.el7 base 290 k Transaction Summary ========================================================================================================================================================== Install 3 Packages (+7 Dependent packages) Total download size: 57 M Installed size: 262 M Downloading packages: (1/10): conntrack-tools-1.4.4-5.el7_7.2.x86_64.rpm | 187 kB 00:00:00 (2/10): 14bfe6e75a9efc8eca3f638eb22c7e2ce759c67f95b43b16fae4ebabde1549f3-cri-tools-1.13.0-0.x86_64.rpm | 5.1 MB 00:00:01 (3/10): fd6465355a85b8ddbc0b2e7cb073e3a40160c7c359576b86e9b8eca0a2d7805b-kubectl-1.16.3-0.x86_64.rpm | 10 MB 00:00:02 (4/10): b45a63e77d36fc7e1ef84f1cd2f7b84bccf650c8248191a37d20c69564d8b8df-kubeadm-1.16.3-0.x86_64.rpm | 9.5 MB 00:00:04 (5/10): libnetfilter_cthelper-1.0.0-10.el7_7.1.x86_64.rpm | 18 kB 00:00:00 (6/10): libnetfilter_cttimeout-1.0.0-6.el7_7.1.x86_64.rpm | 18 kB 00:00:00 (7/10): socat-1.7.3.2-2.el7.x86_64.rpm | 290 kB 00:00:00 (8/10): libnetfilter_queue-1.0.2-2.el7_2.x86_64.rpm | 23 kB 00:00:00 (9/10): 8a0e2b605c7a616d7cb72c25c9058b2327e41d869046c7c6cb3930f10a3dc012-kubelet-1.16.3-0.x86_64.rpm | 22 MB 00:00:04 (10/10): 548a0dcd865c16a50980420ddfa5fbccb8b59621179798e6dc905c9bf8af3b34-kubernetes-cni-0.7.5-0.x86_64.rpm | 10 MB 00:00:04 ---------------------------------------------------------------------------------------------------------------------------------------------------------- Total 6.2 MB/s | 57 MB 00:00:09 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : libnetfilter_cttimeout-1.0.0-6.el7_7.1.x86_64 1/10 Installing : socat-1.7.3.2-2.el7.x86_64 2/10 Installing : kubectl-1.16.3-0.x86_64 3/10 Installing : cri-tools-1.13.0-0.x86_64 4/10 Installing : libnetfilter_queue-1.0.2-2.el7_2.x86_64 5/10 Installing : libnetfilter_cthelper-1.0.0-10.el7_7.1.x86_64 6/10 Installing : conntrack-tools-1.4.4-5.el7_7.2.x86_64 7/10 Installing : kubernetes-cni-0.7.5-0.x86_64 8/10 Installing : kubelet-1.16.3-0.x86_64 9/10 Installing : kubeadm-1.16.3-0.x86_64 10/10 Verifying : kubeadm-1.16.3-0.x86_64 1/10 Verifying : libnetfilter_cthelper-1.0.0-10.el7_7.1.x86_64 2/10 Verifying : conntrack-tools-1.4.4-5.el7_7.2.x86_64 3/10 Verifying : kubelet-1.16.3-0.x86_64 4/10 Verifying : libnetfilter_queue-1.0.2-2.el7_2.x86_64 5/10 Verifying : cri-tools-1.13.0-0.x86_64 6/10 Verifying : kubectl-1.16.3-0.x86_64 7/10 Verifying : kubernetes-cni-0.7.5-0.x86_64 8/10 Verifying : socat-1.7.3.2-2.el7.x86_64 9/10 Verifying : libnetfilter_cttimeout-1.0.0-6.el7_7.1.x86_64 10/10 Installed: kubeadm.x86_64 0:1.16.3-0 kubectl.x86_64 0:1.16.3-0 kubelet.x86_64 0:1.16.3-0 Dependency Installed: conntrack-tools.x86_64 0:1.4.4-5.el7_7.2 cri-tools.x86_64 0:1.13.0-0 kubernetes-cni.x86_64 0:0.7.5-0 libnetfilter_cthelper.x86_64 0:1.0.0-10.el7_7.1 libnetfilter_cttimeout.x86_64 0:1.0.0-6.el7_7.1 libnetfilter_queue.x86_64 0:1.0.2-2.el7_2 socat.x86_64 0:1.7.3.2-2.el7 Complete! ——————————————————————————————————— 위와 같이 설치 했을 경우 아래 실행 상태를 확인했을 경우 아래 에러가 발생하는것으로 보여집니다. ——————————————————————————————————— [root@localhost network-scripts]# systemctl status kubelet ● kubelet.service - kubelet: The Kubernetes Node Agent Loaded: loaded (/usr/lib/systemd/system/kubelet.service; enabled; vendor preset: disabled) Drop-In: /usr/lib/systemd/system/kubelet.service.d └─10-kubeadm.conf Active: inactive (dead) (Result: exit-code) since Sun 2020-11-29 14:25:28 EST; 19s ago Docs: https://kubernetes.io/docs/ Process: 2356 ExecStart=/usr/bin/kubelet $KUBELET_KUBECONFIG_ARGS $KUBELET_CONFIG_ARGS $KUBELET_KUBEADM_ARGS $KUBELET_EXTRA_ARGS (code=exited, status=255) Main PID: 2356 (code=exited, status=255) Nov 29 14:25:28 localhost.localdomain systemd[1]: Unit kubelet.service entered failed state. Nov 29 14:25:28 localhost.localdomain systemd[1]: kubelet.service failed. Nov 29 14:25:28 localhost.localdomain systemd[1]: Stopped kubelet: The Kubernetes Node Agent. 원인을 무었인가요?
-
미해결제주코딩베이스캠프 Code Festival: Python 100제
정규표현식을 사용하지 않는 부분에서
user_input = input() s = '' store = user_input[0] count = 1 for i in user_input: if i ==store: count += 1 else: s += str(count) + store store = i count = 1 s += str(count) + store print(s) #입력 aaabbbcccccdd #출력 4a1b3b1c5c1d 이렇게 나오고 있어요. 코드를 다시보아도 출력값이 코드에 맞게 나오고 있어요. 그런데 그러면 입력한 값을 잘못 세고 있는 코드인거잖아요? 강의에서는 예제에 나온 답이 틀렸다고만 설명해주시고 있으신데 위의 코드자체에는 문제가 없는건가요? 정규표현식으로만 풀어야하는 문제인건가요? 정규표현식으로 하면 잘 나오고 있습니다.
-
미해결Stanford iOS 한글자막 강의
첫 질문입니다ㅠ
스크립트를 동일하게 입력했으나, String(M_PI) 부분이 노란색 표시가 나면서 M_PI > Double.pi 를 사용해달라고 해서 값을 변경했는데, 빌드는 잘 됩니다만 파이버튼을 눌러도 값이 입력되지 않네요.. 이유가 뭘까요??ㅠㅠ
-
미해결인스타그램 클론 - full stack 웹 개발
에러가뜹니다 ㅠ 댓글에 코드추가
(사진)
-
미해결레트로의 유니티 C# 게임 프로그래밍 에센스
좀비가 순찰하다 멈춥니다
좀비가 순찰하다 다 멈추진 않는데 꼭 첫 웨이브 5개체 중 1마리 정도가 장애물 근처에서 멈춰서 가만히 있는데 이를 수정할 방법이 있을까요?
-
미해결화이트해커가 되기 위한 모의해킹 완전 정복
칼리 리눅스 터미널창 투명화
칼리를 2019.4월 버전으로 사용중인데 바탕화면에서 터미널 창이 옵션의 투명도랑 다르게 완전 투명하고 테투리 표시만 되며 전체창으로 해야만 터미널 창이 보이는 버그 같은데 구글링을 했는데 못하는건지 처음 있는 버그인지 ... 하루 종일 씨름하다 안되서 질문으로 올립니다.
-
해결됨웹 게임을 만들며 배우는 Vue
19.11 기준 목차 3번 [Entry module not found: Error: Can't resolve './src'] 에러 해결 방법
2시간 구글링 끝에 찾아냈습니다. 흑흑 참고 URL: https://gompro.postype.com/post/1699968 1. 먼저 mode를 development로 변경하라는 경고문 package.json파일에서 "scripts": { "build": "webpack --mode development --config ./webpack-config.js" } ----------------------------------------------------------------------------------------- 2. webpack-node-externals 플러그인 설치 npm i webpack-node-externals -D ----------------------------------------------------------------------------------------- 3. 플러그인 설치 후 webpack-config.js 파일 수정 const nodeExternals = require('webpack-node-externals'); module.exports = { target: 'node', externals: [nodeExternals()], ... } /* moduel.exports에서 mode: 'development'로 하셔도 됩니다. 그러면 package.json파일 에서 "build": "webpack --config ./webpack-config.js" 이렇게 쓸 수 있죠 */ ----------------------------------------------------------------------------------------- 4. 세팅 끝난 후 npm run build [Entry module not found: Error: Can't resolve './src'] 에러는 이제 뜨지 않습니다!!
-
미해결하울의 안드로이드 인스타그램 클론 만들기
오류해결해주세요
Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0] AndroidManifest.xml:22:18-91 is also present at [androidx.core:core:1.0.0] AndroidManifest.xml:22:18-86 value=(androidx.core.app.CoreComponentFactory). Suggestion: add 'tools:replace="android:appComponentFactory"' to <application> element at AndroidManifest.xml:5:5-21:19 to override. 이런 오류가 떠서 구글검색을 하니 gradle.properties에 android.useAndroidX=true android.enableJetifier=true추가해 다시import해주었는데요앱이 튕겨버립니다. 어떻게 해야 하나요
-
미해결C 와 C++ 을 동시에 배워보자 - 두들낙서의 C/C++
녹색 밑줄은 무슨 의미인가요?
그리고 %d 쓸때랑 &a 쓸때 빨간색 밑줄이 나오는데 왜그러는건가요? 계속 에러가 떠요 이유좀 알수 있을까요?
-
미해결파이썬 입문 및 웹 크롤링을 활용한 다양한 자동화 어플리케이션 제작하기
git 강제 pull 방법 알려주세요
아톰 깃을 연동해 회사 집에서 잘 사용하다가회사에서pull 시도하니 잘안되서 강제로 pull을 하고 싶은데 git-plus 에서 어떤 명령을 날려야 될까요,?
-
미해결it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비
강의 잘 듣고 있습니다~ 코드 리뷰 부탁드리려구요
(n-1)+(n-2)+(n-3)...+1=n(n-1)/2 인 점을 활용해서 goal=n(n-1)/2로 선언해두고 goal에 두 수의 차의 절대값을 계속해서 빼서 딱 0이되면 YES가 출력되는 코드입니다. 채점기에는 전부 통과했는데 이 접근방법이 맞는 건지는 모르겠습니다. 한번 봐주시길 부탁드립니다~ ##include<iostream> using namespace std; int main() { int i, n, goal=0, pre,now; cin >> n; cin >> pre; goal = n * (n - 1) / 2; for (i = 1; i < n; i++) { cin >> now; goal -= abs(now-pre); pre = now; } if (goal == 0) cout << "YES"; else cout << "NO"; }
-
미해결모던 자바스크립트(javascript) 개발을 위한 ES6 강좌
ES5라면 어떻게 구현해야 할까요?
이렇게 구현하면 되는지 더 좋은 방법은 없는지 궁금합니다. for (var i = 0; i < list.length; i++) { ((num) => { list[num].addEventListener('click', ()=> { console.log(`${num}: ${list[num].innerHTML}`); }); })(i); }