728x90 반응형 SMALL IT 인터넷531 GIT Submodule :: 공통 라이브러리 만들기 여러개의 서버를 구성하게 됐어요.인터페이스와 모델을 공유해야 하는 상황이 됐고요. 새 저장소(common-lib)를 만들어요.폴더안의 파일들은 인터페이스와 클래스 .ts 파일들이에요. 서브모듈을 붙일 프로젝트(신규 프로젝트)의 루트에서 아래 코드를 실행해요.$ git submodule add https://github.com/저장소.git src/common-lib 끝! 참조해서 쓰면 되요. 주의! common-lib 파일들을 수정할 때는 원본에서 수정한 후 push 해야 해요. 원본 라이브러리 저장소 push 후에 신규 프로젝트에서 pull 하려면 신규 프로젝트의 루트에서 아래 코드를 실행해요.$ git submodule update --remote 만약 문제가 생겨서 삭제하고 싶은 경우...$ git.. 2024. 8. 29. 맥북 프로그램별 음량 조절 :: Background Music 설치$ brew install --cask background-music 삭제$ brew remove --cask background-music 응용 프로그램 > Background Music.app 실행 > 상단 바에 로고 클릭 > 음량 조절만약 바로 조절이 안 된다면 사운드 아이콘 클릭 > 다른 미디어 클릭 후 Background Music 클릭 2024. 6. 26. 왜 macos는 분할 압축을 한 번에 풀지 못하는가 :: 파이썬으로 한 번에 구글 드라이브에서 용량이 큰 폴더를 다운로드하면 분할 압축해서 여러개의 zip 파일을 주죠. 윈도우는 Alzip 으로 쉽게 합쳐서 풀 수 있는데 맥은 각 파일별로 압축을 해제해서 좀 불편해요. 앱스토어에서 반디집 같은 앱을 받아서 써봐도 똑같죠. ㅠ 그럴 때는 간단하게 파이썬 코드를 써보세요. file-1.zip, file-2.zip, ... file-8.zip 파일이 이렇게 8개가 있다면. import zipfile for i in range(1, 9): zip_file = f"file-{i}.zip" with zipfile.ZipFile(zip_file, 'r') as zip_ref: zip_ref.extractall() 땡큐, 파이썬! 2024. 4. 12. .biz 도메인은 수동 등록 .biz 도메인은 대행 업체를 통하더라도 국제 도메인 관리 업체에서 수동으로 등록한다네요. 네임서버 변경도 도메인 대행 업체에 1:1 문의를 통해서 수동으로 변경 가능. 20년 이상 많은 도메인을 구매했지만 이런 일은 처음. ㅎㅎ 2024. 3. 5. AWS EC2 인스턴스 이름의 의미 c6i.large 같은 이름이 뭘 의미하는지 알아봤어요. [ 첫 글자 ] C (Compute Optimized): 고성능 프로세서를 사용하며, CPU 집약적인 애플리케이션에 적합 G (Graphics Optimized): GPU 용량이 포함되어 있어 그래픽스 집약적인 워크로드나 일반적인 GPU 컴퓨팅 워크로드에 적합 I (I/O Optimized): 고성능 SSD 스토리지를 제공하여, 데이터베이스와 같은 I/O 집약적인 작업에 적합 M (Memory Optimized): 메모리 집약적인 애플리케이션과 데이터베이스 워크로드에 적합 R (Memory Optimized): 메모리 크기가 크며, 메모리 집약적인 애플리케이션과 데이터베이스 워크로드에 적합 T (Burstable Performance Instanc.. 2023. 12. 4. Jenkins vs Shell :: 젠킨스와 쉘 메모리 사용량 비교 젠킨스는 기본적으로 메모리를 많이 잡아먹기 때문에 빌드 서버 사양이 낮다면 쉘을 이용하는게 나아요. 2023. 12. 4. [JavaScript] * 대신 / 를 써야 하는 이유 :: 곱하기와 나누기 콘솔에서 아래 코드를 실행해보세요. Math.floor((33 / 8) * 10) * 0.1 원하는 값이 아니네요. 아래 코드를 실행하면 예상한대로 나와요. Math.floor((33 / 8) * 10) / 10 일반적으로 곱하기가 나누기보다 빨라서 곱하는데 JS는 엉뚱한 값이 나오니 쓰지 않는게 좋겠어요. 2023. 10. 13. SELECT ... FOR UPDATE :: MySQL 값이 비었을 때 새로운 값을 넣는 API가 있다고 가정해요. const [rows] = await db.query('SELECT * FROM temp') if ((rows as ITemp[]).length < 1) { await db.query(`INSERT INTO file (id) VALUES ('1111')`) } 동시에 세 번 호출하면 모든 호출은 동시에 SELECT를 실행하기 때문에 다 값이 없다고 판단하고 1111을 기록해요. $ autocannon -c 3 -a 3 http://localhost:3100/user/test 이를 방지하기 위해 SELECT 문 뒤에 FOR UPDATE를 붙여요. const [rows] = await db.query('SELECT * FROM temp FOR UP.. 2023. 6. 19. 넷플릭스 시크릿 코드 넷플릭스 검색창에 숫자를 넣으면 됨. 넷플릭스 시크릿 코드 목록 액션 & 어드벤처 (1365) 아시아 액션 영화 (77232) 클래식 액션 & 어드벤처 (46576) 액션 코미디 (43040) 액션 스릴러 (43048) 모험 (7442) 만화책 및 슈퍼 히어로 영화 (10118) 서양 영화 (7700) 스파이 액션 & 어드벤처 (10702) 범죄 액션 & 어드벤처 (9584) 외국 액션 & 어드벤처 (11828) 무술 영화 (8985) 군사 행동 및 모험 (2125) 애니메이션 (7424) 성인 애니메이션 (11881) 애니메이션 액션 (2653) 애니메이션 코미디 (9302) 애니메이션 드라마 (452) 애니메이션 영화 (3063) 애니메이션 공상 과학 (2729) 애니메이션 공포 (10695) 애니메.. 2023. 5. 14. JS 배열 섞기 피셔-예이츠 셔플(Fisher-Yates shuffle)을 활용한 배열 섞기 function shuffle(array) { for (let index = array.length - 1; index > 0; index--) { // 무작위 index 값을 만든다. (0 이상의 배열 길이 값) const randomPosition = Math.floor(Math.random() * (index + 1)); // 임시로 원본 값을 저장하고, randomPosition을 사용해 배열 요소를 섞는다. const temporary = array[index]; array[index] = array[randomPosition]; array[randomPosition] = temporary; } } 참고: https:/.. 2023. 5. 13. macOS에 Redis 설치 및 Node.js 연동 설치 $ brew install redis 백그라운드+재부팅시 실행 및 확인 $ brew services start redis $ redis-cli ping 2023. 5. 12. Hello, Mojo🔥 이 대화형 노트북을 통해 Mojo를 소개해드리게 되어 기쁩니다! Mojo는 파이썬의 상위 집합으로 설계되었기 때문에 많은 언어 특징과 함수가 동일합니다. 예를 들어, Mojo의 "hello world" 프로그램은 파이썬과 파이썬에서와 똑같습니다: print("Hello Mojo!") 나중에 설명하겠지만, 기존 Python 패키지를 가져와서 익숙한 방식으로 사용할 수도 있습니다. 하지만 Mojo는 파이썬을 기반으로 수많은 강력한 기능을 제공합니다, 이 노트북에서는 그 기능에 집중하겠습니다. 분명히 말씀드리지만, 이 가이드는 프로그래밍 언어에 대한 일반적인 입문서가 아닙니다. 언어에 대한 전통적인 입문서가 아닙니다. 이 노트북은 여러분이 이미 파이썬과 일부 시스템에 익숙하다고 가정합니다. 프로그래밍 개념에 .. 2023. 5. 8. socket.io :: koa, hapi, fastify 성능은 Hapi > Koa > Fastify 순. Koa import Koa from 'koa'; import Router from 'koa-router'; import { createServer } from 'http'; import { Server } from 'socket.io'; import serve from 'koa-static'; const app = new Koa(); const router = new Router(); router.get('/', async (ctx) => { ctx.body = 'Hello, world!'; }); const server = createServer(app.callback()); const socketServer = new Server(server, { c.. 2023. 4. 25. [요약] 챗GPT, 어떻게 내 일에 잘 적용하실지 알고 계신가요? (직무별 활용 사례 + 무료 보너스 자료) :: with AI ChatGPT 활용사례 ::https://eng.juelria.com/ 1년 동안 영어만!구독하고 하루 4개씩! 다양한 글과 액티비티를 통해 딱 1년만 영어에 투자해 봅니다. 잘 될거에요!eng.juelria.com > English Summary [ 요약 ]- GPT를 내 일과 비즈니스에 적용하는 방법을 소개하기 위해 기업 강의에서 여러 사례들을 수집하고 정리함- 영상은 시리즈로 기획되어, 첫 번째는 프롬프트 ChatGPT를 이용해 대화하는 방법을 설명하고, 두 번째는 GPT api를 이용해 업무 자동화하는 방법을 보여줌- 세 번째는 ChatGPT를 비즈니스에 적용하는 방법을 보여주고, 노코드를 이용해서 나만의 ChatGPT 기반 서비스를 만드는 방법도 소개함- GPT에 질문할 때 충분한 자료와 컨텍.. 2023. 4. 7. [요약] ✨내가 초라해 보이고 자존감이 낮아질 때마다 보세요 - 김미경최근강의 따독 '20분 인생명언' :: with AI > English Summary [ 요약 ] - 나이가 들더라도 새로운 도전을 해보는 것은 중요하다. - 못해도 이어서 계속 참여하고 발전하려는 자세가 필요하다. - 줌바댄스를 배우러 갔는데 다른 사람들이 이미 잘하고 있어서 처음에는 막막했지만, 천천히 따라하며 발전했다. - 처음에는 많이 어렵고 틀리기도 했지만, 계속 참여하면서 조금씩 개선할 수 있었다. - 처음부터 잘 하는 것은 불가능하지만, 꾸준하게 노력하면 평생 주말에도 배울 수 있다. - 꼴찌를 받아들이지 못하는 나 자신에 대한 자존감 문제 - 다른 사람들은 잘하는데 나만 못하는 것에 대한 부정적인 감정 - 예전에는 꼴찌를 두려워하지 않았지만, 어른이 되니까 꼴찌를 받아들이는 것이 어려움 - 꼴찌를 받아들이는 것은 자존감에 관련된 감성적인 문제.. 2023. 4. 7. 이전 1 2 3 4 5 ··· 36 다음 728x90 반응형 LIST