본문 바로가기
728x90
반응형
SMALL

전체 글1135

[JavaScript] 배열 컴비네이션 :: Array Combination 모든 경우의 수를 뽑는거에요. const array1 = ['A', 'B', 'C'] const array2 = ['1', '2', '3', '4'] const array3 = ['5', '6', '7', '8'] const array4 = ['Y', 'U', 'G', 'K'] const result = [] array1.flatMap((a) => array2.map((b) => array3.map((c) => array4.map((d) => result.push([a, b, c, d]))))) console.log(result) 결과는 이래요. [ [ 'A', '1', '5', 'Y' ], [ 'A', '1', '5', 'U' ], [ 'A', '1', '5', 'G' ], [ 'A', '1', '5'.. 2022. 8. 18.
[GCP] 오토스케일링과 로드밸런싱 :: Auto Scaling & Load Balancing 1. Compute Engine 생성하고. 2. 세팅한 다음. 3. 이미지 만들고. 4. 로드밸런서(부하분산기) 생성하면 오토스케일링까지 적용되요. Compute Engine에 간단한 노드 서버(Node.js)를 실행했어요. npm install 등은 생략할게요. const http = require('http'); const ip = require("ip"); http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end(ip.address()); }).listen(3000); 브라우저에서 접속하면 아래와 같이 떠요. 10.178.0.2 Compute Engine > 디스.. 2022. 8. 17.
[Solidity] 컨트랙트 업그레이드 프록시 패턴 :: Contract Upgrade Proxy Pattern 스마트 컨트랙트는 한 번 배포하면 수정이 안 되죠. 그런데 만약 데이터와 컨트롤(함수)을 분리하면 어떨까요. 데이터는 그대로 두고 함수만 바꾸는거죠. (업그레이드) 프록시를 쓰면 가능해요. BanjubuNFT_v1.sol // SPDX-License-Identifier: MIT pragma solidity ^0.8.5; import "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol"; import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol"; import "@openzeppelin/contracts-upgradeable/proxy/utils/Initi.. 2022. 8. 16.
[Solidity] 문자열이 비어 있는지 확인 require(bytes(__baseURI).length != 0, 'base URI is not set'); 영어, 중국어 공부중이신가요? 홈스쿨 교재. 한 권으로 가족 모두 할 수 있어요! 한GLO 미네르바에듀 : 네이버쇼핑 스마트스토어 한글로 영어가 된다?! 한글로[한GLO]는 영어 중국어 일어 러시아어 스페인어가 됩니다!! smartstore.naver.com 2022. 8. 14.
[GCP] 고정 IP 사용 :: Compute Engine AWS의 Elastic IP 같은 서비스에요. VPC 네트워크 > IP 주소 서버에 연결되어 있는 임시 IP들이 보이네요. 상단에 있는 '외부 고정 주소 예약' 클릭. 세부 정보를 작성하고 '예약' 버튼 클릭. 임시 주소가 고정 주소로 바뀌었네요. 영어, 중국어 공부중이신가요? 홈스쿨 교재. 한 권으로 가족 모두 할 수 있어요! 한GLO 미네르바에듀 : 네이버쇼핑 스마트스토어 한글로 영어가 된다?! 한글로[한GLO]는 영어 중국어 일어 러시아어 스페인어가 됩니다!! smartstore.naver.com 2022. 8. 10.
Vite 에서 process.env 를 사용하려면... vite.config.ts import { defineConfig, loadEnv } from 'vite' export default (mode) => defineConfig({ define: { 'process.env': loadEnv(mode, process.cwd(), ''), }, ... }) 반주부의 [ 둘러앉아 IT이야기 ] https://open.kakao.com/o/gg0O4T0e 영어, 중국어 공부중이신가요? 홈스쿨 교재. 한 권으로 가족 모두 할 수 있어요! 한GLO 미네르바에듀 : 네이버쇼핑 스마트스토어 한글로 영어가 된다?! 한글로[한GLO]는 영어 중국어 일어 러시아어 스페인어가 됩니다!! smartstore.naver.com 2022. 8. 10.
[iOS/Xcode] M1 CocoaPods 에러 오래된 iOS 프로젝트를 열고 빌드를 하니 에러가 났어요. undefined method `map' for nil:NilClass iOS 프로젝트 폴더에서 아래 두 줄을 실행하니 해결되네요. $ sudo arch -x86_64 gem install ffi $ arch -x86_64 pod install 영어, 중국어 공부중이신가요? 홈스쿨 교재. 한 권으로 가족 모두 할 수 있어요! 한GLO 미네르바에듀 : 네이버쇼핑 스마트스토어 한글로 영어가 된다?! 한글로[한GLO]는 영어 중국어 일어 러시아어 스페인어가 됩니다!! smartstore.naver.com 2022. 8. 9.
[손끝독서] 이펙티브 엔지니어 레버리지(ROI)를 효과성의 측정 기준으로 삼아라 레버리지 = 생산한 효과 / 투자한 시간 레버리지를 늘리는 세 가지 방법 1. 특정 활동을 완료하는데 드는 시간 줄이기 2. 특정 활동의 생산량 늘리기 3. 레버리지가 높은 활동으로 전환하기 이와 관련된 질문들 1. 이 활동을 더 짧은 시간에 완료하려면 어떻게 해야 할까? 2. 이 활동으로 생산되는 가치를 증가시키려면 어떻게 해야 할까? 3. 이 시간을 투자해 더 큰 가치를 생산할 수 있는 다른 활동이 있을까? 회의 레버리지 높이기 1. 똑같은 목표를 더 짧은 시간 내에 달성할 수 있게 회의 시간을 1시간에서 30분으로 줄이기 2. 회의가 명확한 목표를 향해 더 생산적으로 진행되도록 사전에 회의 의제를 준비하고 목표를 설정하여 참석자에게 배포하기 3. 꼭.. 2022. 8. 8.
[손끝독서] 함께 자라기 :: 애자일로 가는 길 우리는 왜 자라는 것을 훈련할 기회가 별로 없을까요. 그리고 무엇보다 이런 '함께', 그리고 '자라기'를 매일매일 해야 한다는 생각을 별로 하지 못하는 것 같습니다. '우리'와 '함께'는 협력을 말하고, '자라다'는 학습을 말합니다. 그리고 '매일매일'은 그 접근 방법을 말합니다. 함께 자라기는 '애자일'이라고 하는 일하는 방법의 핵심이라고 생각합니다. 어느 날 멘티 한 명이 어려움을 호소하더군요. 멘토들이 서로 상반되는 의견을 주면 혼란스럽다고요. 저는 그 멘티에게 이건 반대로 축하해야 할 일이라고 했습니다. 충돌하는 것이 정상이라고요. 처음부터 이런 상반된 의견과 정보 속에서 스스로 생각하는 훈련을 해나가야 한다고 말했습니다. 여기서 말하는 학습은 '야생학습'을 말하고 그 특징은 다음과 같습니다. -.. 2022. 8. 6.
[GCP] 도메인 구매와 DNS 설정하기 :: Domain and DNS AWS는 Route53에서 글로벌로 관리되는데 GCP는 프로젝트 단위로 관리해요. DNS도 GCP를 사용할거라서 먼저 사용 승인을 할게요. (도메인 구매할 때 필요함) https://console.cloud.google.com/marketplace/product/google/dns.googleapis.com 도메인도 '사용' 버튼 클릭. https://console.cloud.google.com/marketplace/product/google/domains.googleapis.com 'REGISTER DOMAIN' 버튼 클릭. 도메인 검색하고 장바구니 버튼 클릭. 연락처에 입력한 이메일로 확인 메일이 발송되니 확인하세요. 정상적으로 등록이 되었네요. 이제 도메인을 Compute Engine 서버로 연결할.. 2022. 8. 4.
[GCP] Compute Engine 생성하기 :: 서버 한 대 추가요 구글 클라우드 플랫폼(Google Cloud Platform, GCP)의 Compute Engine은 AWS의 EC2와 같아요. 프로젝트(WKMTest) 좌측 햄버거 버튼을 누르면 Compute Engine이 있고 마우스를 올리면 VM 인스턴스가 있어요. '사용' 클릭. '인스턴스 만들기' 버튼 클릭. 원하는 유형을 설정하고 '만들기' 버튼 클릭. 우측에 한 달 사용 예상 요금이 보이네요. 정상적으로 생성되었네요. SSH 접속은 콘솔에서 할 수도 있고 아래와 같이 터미널로도 가능해요. 한글로 된 부분을 수정하세요. 'passphrase' 를 물어보는데 접속할 때마다 입력할 비밀번호를 넣으면 되요. ~/.ssh/google_compute_engine 에 컴퓨터 이름이 ID로 저장되요. $ gcloud co.. 2022. 8. 3.
[GCP] 클라우드 SDK 설치 :: gcloud 파이썬 버전 확인 $ python3 -V https://cloud.google.com/sdk Cloud SDK - 라이브러리 및 명령줄 도구 | Google Cloud Cloud SDK는 Google Cloud에서의 개발을 위한 도구 모음으로 gcloud, gsutil, bq 명령줄 도구, 클라이언트 라이브러리, 로컬 에뮬레이터가 포함되어 있습니다. cloud.google.com 시작하기 파일 받아서 압축 풀기 (~/Documents/google-cloud-sdk) 스크립트 실행 (모르거나 귀찮으면 모두 y) $ cd google-cloud-sdk $ ./install.sh $ source ~/.zshrc $ gcloud -v 초기화 (구글 로그인 > 프로젝트 선택) $ gcloud init 영어, 중국.. 2022. 8. 3.
메타마스크에 폴리곤 테스트넷(Mumbai) 추가 :: Metamask Polygon Testnet 메타마스크 > 네트워크 추가 Network Name: Mumbai Testnet New RPC URL: https://rpc-mumbai.maticvigil.com/ Chain ID: 80001 Currency Symbol: MATIC Block Explorer URL: https://polygonscan.com/ Faucet https://mumbaifaucet.com/ 영어, 중국어 공부중이신가요? 홈스쿨 교재. 한 권으로 가족 모두 할 수 있어요! 한GLO 미네르바에듀 : 네이버쇼핑 스마트스토어 한글로 영어가 된다?! 한글로[한GLO]는 영어 중국어 일어 러시아어 스페인어가 됩니다!! smartstore.naver.com 2022. 7. 29.
PostgreSQL 읽기 권한 유저 생성 유저 ID는 reader 입니다. {{DB명}} 은 데이터베이스 이름입니다. 스키마 이름은 public 입니다. CREATE USER reader WITH PASSWORD '비밀번호'; GRANT CONNECT ON DATABASE {{DB명}} TO reader; GRANT USAGE ON SCHEMA public TO reader; GRANT SELECT ON ALL TABLES IN SCHEMA public TO reader; 영어, 중국어 공부중이신가요? 홈스쿨 교재. 한 권으로 가족 모두 할 수 있어요! 한GLO 미네르바에듀 : 네이버쇼핑 스마트스토어 한글로 영어가 된다?! 한글로[한GLO]는 영어 중국어 일어 러시아어 스페인어가 됩니다!! smartstore.naver.com 2022. 7. 27.
블록체인 하나씩 알아보기 :: Market 코인을 만들었어요. 2022.07.19 - [IT 인터넷/Blockchain] - 블록체인 하나씩 알아보기 :: ERC20 address) private nftOwners; mapping(uint256 => uint256) private nftPrices; function initialize(address coinContract, address nftContract) public onlyOwner { _coinContract = coinContract; _nftContract = nftContract; } function sellNFT(uint256 tokenId, uint256 coinAmount) public { ERC721(_nftContract).transferFrom(msg.sender, add.. 2022. 7. 20.
728x90
반응형
LIST