안녕하세요. storage를 동적으로 변경하는 경우 현재 기준으로 어떤 부분의 코드를 변경하는 것이 좋을지 문의드립니다. 현재 코드에서는 아래와 같이 정적인 데이터(storage.js)를 main.js에서 주입해주는데요. // main.js import Store from "./store.js"; import storage from "./storage.js"; function main() { const store = new Store(storage); new Controller(store, views); } 만약 storage 데이터를 ajax를 통해 동적으로 받아온다면, main.js와 Controller.js는 그대로 두고 Storage.js와 storage.js 파일만 변경하면 되나요? 즉, 아래 코드 주석처럼 하면 될까요? 또한, AJAX 요청은 Controller와 Storage 중 어느 부분에 작성하는 것이 일반적인가요? // Controller.js // 변경 없음 export default class Controller { constructor(store, { searchFormView, searchResultView }) { this.store = store; this.searchFormView = searchFormView; this.searchResultView = searchResultView; this.subscribeViewEvents(); } subscribeViewEvents() { this.searchFormView .on("@submit", (event) => this.search(event.detail.value)) // } search(searchKeyword) { this.store.search(searchKeyword); } } // storage.js // 데이터를 빈 배열로 변경 const storage = { keywordData: [], historyData: [], productData: [], }; export default storage; // Store.js export default class Store { constructor(storage) { if (!storage) throw "no storage"; this.storage = storage; this.searchKeyword = ""; this.searchResult = []; } search(keyword) { this.searchKeyword = keyword; this.searchResult = // 여기서 AJAX 요청을 통해 storage.js의 상태 관리? 아니면 Controller에서 AJAX 요청? } }
안녕하세요 선생님! 지난번에 보내주신 쿠폰은 정말 감사했습니다. 덕분에 다음으로 공부할 것에 대해 계획할 수 있었습니다. 개인 공부중에 궁금한 것이 있어 이렇게 여쭤봅니다. 제가 사이버보안 분야를 머신러닝으로 향상시키는 것에 관심이 있는데요. 마침 앙상블 수업을 듣던 와중에 개인적으로 공부하고 있던 IDS(침입탐지) 데이터 셋 관련해서 어떤 아이디어가 생겨서요. 이 데이터셋은 다중 분류에 해당되는 것인데요. 공격 패턴이 15가지(라벨) 정도라고 가정하겠습니다.이 라벨들을 저만의 방법으로 새로 분류하여 새로운 라벨들을 추가하여 만들어서 각각 학습하고 테스트를 진행해봤습니다. 첫번째로, 이진 분류로 라벨을 0, 1로 다시 만들어서 모든 공격들은 1로 분류하고, 일반적인 것(양성,Benign)들은 0으로 분류하는 것이죠. 즉, 공격이긴 공격인데 어떤 공격인지는 모르는 정도로만 시스템이 탐지하는 것입니다. 이럴 경우, 정확도, 정밀도, 재현율이 모두 99.97%로 아주 높은 확률로 탐지를 해냅니다. 두번째 분류는 비슷한 공격 패턴끼리 묶어서 그룹화를 한 뒤(즉, 라벨의 수를 줄이는 것입니다.) 학습 및 테스트를 하는 것입니다. 이럴 경우에도 아주 높은 점수를 보였습니다. 마지막 분류는 원래 라벨들입니다(전처리 작업 후). 역시 높은 점수를 보이긴 하나, 약간 낮은 점수를 보이는 일부 라벨들이 있습니다.그래서 말인데요. 혹시 이 세가지 모델을 연결해서 결과를 추출하는 방법이 있을 까요? 예를 들어, 먼저 공격인지 아닌지를 보고(첫번째 분류), 공격이라면 어떤 그룹에 속하는 지 보고(두번 째 분류), A라는 그룹이라면, 마지막 단계의 분류에서 세부적으로 어떤 라벨인지(세번째 분류)를 예측해내는 것이죠. 이렇게 연계하여 결과를 예측할 수 있는 모델을 만든다면, 점수가 약간 낮은 라벨들도 일부 보완할 수 있지 않을 까 생각되어서요. 아이디어는 떠올랐는데, 구글에 검색해보니 앙상블이나, 파이프라인 등의 관련된 내용만 검색이 되어서요. 혹시 제가 모르는 어떤 기술이 있을까요? 선생님의 조언을 구합니다.
현재 Ubuntu 운영체제를 듀얼부팅으로 22.04.01 버전으로 사용하고 있고, 강의를 듣기 위해 mongodb 설치를 진행하려고 합니다. 그러나 현재 강의의 notion에서 올려주신 설치 과정을 그대로 진행했는데 6번 명령어를 실행 후 이와 같은 오류가 발생했습니다. 설치과정 sudo apt-get install gnupg wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add - lsb_release -dc echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list (jammy버전이라 fosal에서 jammy로 변경했습니다.) +추가(jammy가 아닌 forsal로도 진행을 해 봤고, 6.0버전으로도 진행해봤는데 같은 에러가 떴습니다...) sudo apt-get update sudo apt-get install -y mongodb-org 오류 메시지 몇몇 패키지를 설치할 수 없습니다. 요청한 상황이 불가능할 수도 있고, 불안정 배포판을 사용해서 일부 필요한 패키지를 아직 만들지 않았거나, 아직 Incoming에서 나오지 않은 경우일 수도 있습니다. 이 상황을 해결하는데 다음 정보가 도움이 될 수도 있습니다: 다음 패키지의 의존성이 맞지 않습니다: mongodb-org-mongos : 의존: libssl1.1 (>= 1.1.1) 하지만 설치할 수 없습니다 mongodb-org-server : 의존: libssl1.1 (>= 1.1.1) 하지만 설치할 수 없습니다 mongodb-org-shell : 의존: libssl1.1 (>= 1.1.1) 하지만 설치할 수 없습니다 E: 문제를 바로잡을 수 없습니다. 망가진 고정 패키지가 있습니다. 구글링 해본 결과 libssl1.1이 깔려있지 않아서 그렇다는 걸 확인했는데 우분투 22.04 버전은 libssl3이 이미 깔려있어 중복 설치는 좋은 해결 방법이 아니라는 것을 확인했습니다. 그래서 또 다르게 설치할 수 있는 방법이 있을지 질문드립니다.
현재 노드 버전이 올라가서 노드도 16.17로 내리고 나머지도 다 버전 내려서 버전에 맞게 설정하고 yarn add next@12.1.0 react@17.0.2 react-dom@17.0.2 --exact 까지 했는데 노션에 있는 것 처럼 페이지와 api 여러 등등이 뜨지 않습니다 뭐가 문제일까요?ㅠㅠ
제공해주신 예제 파일에서는 performance tab으로 돌려보면 어떤 컴포넌트의, 어떤 메서드인지 알 수 있는데 vue app을 실행시키고 똑같이 돌려보면 "컴파일 코드" 라고만 되어 있어서 이게 어떤 메서드인지 알 수가 없습니다. 이런 경우에는 어떻게 식별할 수 있을까요? 혹은 어떤 설정을 바꾸면 될까요?
Bringing machine 'k8s-master' up with 'virtualbox' provider... Bringing machine 'k8s-node1' up with 'virtualbox' provider... Bringing machine 'k8s-node2' up with 'virtualbox' provider... ==> k8s-master: Importing base box 'centos/7'... ==> k8s-master: Matching MAC address for NAT networking... ==> k8s-master: Checking if box 'centos/7' version '2004.01' is up to date... ==> k8s-master: Setting the name of the VM: k8s_k8s-master_1673313406363_35180 ==> k8s-master: Clearing any previously set network interfaces... ==> k8s-master: Preparing network interfaces based on configuration... k8s-master: Adapter 1: nat k8s-master: Adapter 2: hostonly ==> k8s-master: Forwarding ports... k8s-master: 22 (guest) => 2222 (host) (adapter 1) ==> k8s-master: Running 'pre-boot' VM customizations... ==> k8s-master: Booting VM... ==> k8s-master: Waiting for machine to boot. This may take a few minutes... k8s-master: SSH address: 127.0.0.1:2222 k8s-master: SSH username: vagrant k8s-master: SSH auth method: private key k8s-master: Warning: Connection reset. Retrying... The guest machine entered an invalid state while waiting for it to boot. Valid states are 'starting, running'. The machine is in the 'aborted' state. Please verify everything is configured properly and try again. If the provider you're using has a GUI that comes with it, it is often helpful to open that and watch the machine, since the GUI often has more helpful error messages than Vagrant can retrieve. For example, if you're using VirtualBox, run `vagrant up` while the VirtualBox GUI is open. The primary issue for this error is that the provider you're using is not properly configured. This is very rarely a Vagrant issue. virtual box 버전이 최신에서만 m1이 되다보니.. 안되는 거 같습니다.
append 함수를 사용하면 (10)을 사용하면 마지막에 10을 넣고 ('10')을 사용하면 '10'을 넣었습니다 (asdf)를 사용하면 오류가 나던데 인트형, 실수형이나 ''가 붙어야 사용 가능한가요? 또한 extend 함수에서 a.extend(b) print('a.extend(a)=',a) 라고 적으면 오류가 나지 않았지만 print('a.extend(a)=',a.extend(b)) 는 none라는 문장만 나왔습니다. extend는 따로 실행을 시켜 줘야 되는 함수 인가요? 마지막으로 처음에 b=a를 해놓고 a만 append, sort, reverse 등 함수를 적용시켰으나 마지막에 보니 b도 같이 변환되어 있었습니다. 여태 것 다른 함수들은 b=a를 한 후 a값을 변동시켜도 b의 값은 초기 a값 그대로였는데 b도 같이 변화시키는 함수들이 따로 있는건가요??
안녕하세요, podman으로 환경 구성을 하던 중 질문이 있습니다. root 계정에 podman을 설치하고 이미지를 pull해와서 컨테이너를 빌드해봤습니다. 그리고 나서 다른 user로 접속하여 이미지와 컨테이너를 검색해보니 아무것도 보이지 않습니다. docker에서는 docker 그룹에 user를 추가하여 사용하였는데 podman group은 없는것 같네요...?! 임의로 sudo podman images 해주니까 보이긴 합니다. 모든 계정에서 동일한 이미지와 컨테이너를 보려면 어떻게 해야되나요? 다른 user계정에 root권한을 주지 않고 가능한 방법이 있을까요?
안녕하세요! 바둑이 승차 문제 풀이 영상을 보고 다른 풀이로도 한번 풀어봤는데 예제 입출력대로는 제대로 나오는데 혹시 제 풀이가 맞는지 질문하고자 코드를 올립니다. C,N=map(int,input().split()) weights=[] result=[] for _ in range(N): weights.append(int(input())) def dfs(L,sum): if sum>C: return if L==N: result.append(sum) else: dfs(L+1,sum+weights[L]) dfs(L+1,sum) dfs(0,0) print(max(result))
[질문 전 답변] 1. 강의에서 다룬 내용과 관련된 질문인가요? [예 | 아니요] 2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? [예 | 아니요] 3. 질문 잘하기 법을 읽어보셨나요? [예 | 아니요] (https://www.inflearn.com/blogs/1719) 4. 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. [질문 하기] 안녕하세요! 조훈님 쿠버네티스 강의 너무 재밌게 듣고 있는 수강생입니다. 다름이 아니라 제가 오늘 트러블 슈팅하는 과정에서 무작정 해결은 되었지만 원인을 정확하게 알수 없어서 조훈님께 좀더 정확한 지식을 얻기 위해 질문합니다! 저의 문제 상황은 이러했습니다. 강의 대로 진행을 하면서 LoadBalance로 배포를 하니 ip가 192.168.2.11 로 배포가 되더라고요. 때문에 접속이 불가능 했고, 저는 위 ip를 강의와 같이 192.168.1.11 바꾸고 싶었습니다. 때문에 조훈님 강의를 다시 반복하면서 제가 놓친 부분이 있나 보기도 하고, 강의 질문목록등을 살피면서 metallb.yaml파일을 열어 보았고 마지막 부분이 이렇게 강의와 다른 ip를 가르키고 있었습니다. data: config: | address-pools: - name: metalLB ip-range protocol: layer2 addresses: - 192.168.2.11-192.168.2.19 파일을 처음 열어보았을 때 어? 이 주소가 맞나? 싶었습니다. 하지만 저는 제 지식이 짧은 탓에 이 부분을 건드려도 되는지 확인해 보기 위해 조훈님 깃헙 파일과 대조해 보았고 놀랍게도 깃헙 파일은 192.168.2.11-192.168.2.19이 아닌 192.168.1.11-192.168.1.19로 되어 있더라고요. 이게 어찌된 일인지.. 저는 yaml 파일을 건드린 적이 없는데... 때문에 수정을 위와 같이 해서 강의와 같이 ip를 바꾸긴 했지만 왜 yaml 파일이 지 멋대로 수정이 되어있었는지 아직도 의문입니다. 제가 나름대로 추측(?)을 해보았는데 이 부분에서 조훈님께서 제가 어떤 부분 지식이 부족한지 방향성을 알려주실 수 있다면, 제가 놓친 부분을 더 공부하고자 합니다! [추측] 위와 같이 yaml 파일이 수정이 된것은 제가 virtualbox를 삭제하고 meatallb image가져오기를 반복하는 과정에서 무슨 문제가 있지 않았을까 생각합니다. (서버 재대로 끄지도 않고, 그냥 virtualbox 삭제 안되는거 강제로 삭제하고 다시 apply -f 무작정 다시 하고 그랬습니다.)
공공데이터와 Folium(Python Library)으로 만드는 제주 오름 지도 안내 서비스
위 이미지는 강의에서 만드신 geojson파일이고 아래 이미지는 제가 만든 geojson파일입니다. 같은 방법을 사용했고 좌표계도 바꿔보고 이렇게 저렇게 시도를 해봐도 좌표가 서로 다르게 나와서 안되는데 좌표를 같게 하려면 해야할까요? 내보내기 할 때 좌표계 EPSG:4326 - WGS 84로 했습니다.