꿀팁 분석 환경 설정(121)
-
React를 하기 위한 기초적인 환경 구성
개발환경 설정 node 설치 (버전 확인) node -v npm install -g create-react-app 리액트 앱 생성 다음과 같은 장점이 있어서 npx로 설치를 합니다. 간편한 설치: "npx"는 npm 패키지를 다운로드하지 않고 바로 실행할 수 있도록 해주는 도구입니다. 따라서 "create-react-app"을 전역으로 설치할 필요가 없습니다. 최신 버전의 React 템플릿: "create-react-app"은 항상 React의 최신 버전을 사용하여 애플리케이션을 생성합니다. 이는 React의 새로운 기능과 최적화를 즉시 활용할 수 있게 해줍니다. 설정의 간소화: "create-react-app"은 기본적으로 React 애플리케이션을 생성하는 데 필요한 모든 설정을 자동으로 처리합니다. ..
2024.02.09 -
[Obsidian] DataViewJS를 활용한 D-Day 만들기
obsidian에서 dataviewjs를 사용하여 D-Day를 만드는 코드를 공유드립니다. notion에서도 수식을 이용해서 d-day를 만들 수 있는데, obsidian에서도 마찬가지로 더 복잡하지만 만들 수 있어서 공유드립니다. --- start_date: 2024-01-30 end_date: 2024-02-04 --- ```dataviewjs const currentPage = dv.current(); const today = new Date(); // 페이지의 start_date와 end_date 속성 가져오기 const startDate = new Date(currentPage.file.frontmatter.start_date); const endDate = new Date(currentPage..
2024.01.24 -
DataView) DataViewJS를 사용하여, 현재 페이지 Header 기준으로 테이블 형태로 정리하기
obsidian을 사용할 때 각 Header 별로 위에서 아래로 쭉 내려서 봐야하는데, 이걸 좀 더 구조화해서 쉽게 볼 수 있게 dataviewjs로 하는 방법을 공유한다. 기본적으로 obsidian을 markdown을 이용해서 만드는 것이라서 쉽게 만들 수는 있지만, 위에서 아래로 쭉 내려오는 형태로 작성하게 된다. 물론 이렇게 해도 개요 기능을 통해 쉽게 전체적인 윤곽은 확인할 수 있지만, 전체적으로 한눈에 보기가 어렵다는 생각이 들었다 그래서 보통 저런 구조를 만들 때 테이블형태로 만들게 되는데, 그러한 테이블 구조에서 현재 Make.md 플러그인에서는 url을 정리해서 보여주는 기능이 없다. 위에 보면 Link라는 기능이 있지만 저 기능은 다른 문서를 참고할 때 쓰는 기능이다. (아직 초보자라 잘..
2024.01.12 -
Git Branch 협업 방법론 정리
전략을 정리하다 보니 2개가 만들어진 것 같은데, 둘 다 괜찮은 것 같아서 공유합니다. Branch 전략 정리-1 전략 장점 단점 적합한 시나리오 Gitflow 명확한 구조, 다양한 작업 유형 분리, 예정된 릴리스 지원, 병렬 릴리스 관리 가능 복잡하고 시간 소요가 많음, 브랜치 관리에 엄격한 규율 필요, 연속 배포에는 적합하지 않음 예정된 릴리스 주기가 있는 프로젝트, 여러 릴리스를 병렬로 관리해야 하는 팀에 적합 GitHub Flow 단순하고 이해하기 쉬움, 신속한 배포 가능, 자주 작은 변경을 장려 예정된 릴리스 지원 부족, 개발/스테이징/생산 간 명확한 구분 없음 연속 배포 프로젝트, 자주 작은 변경을 선호하는 팀에 적합 GitLab Flow Gitflow와 GitHub Flow..
2023.12.28 -
Windows) Obsidian에서 Pandoc Plugin을 사용하여 문서(doc,pdf,etc)로 만들어 보기
배경 obsidian을 사용해서 노트들을 관리하고 있는데, 사용하다 보니, 문서화해서 제공해야하는 일이 생겼다. 실제로 기본적으로 문서화하는 것을 찾다 보니 pdf 내보기와 같은 기능이 있는 것을 확인했지만, 먼가 수정도 가능하면서 다른 식의 문서로도 변환할 수 있는 방법을 찾고 있었다. 방법 찾다 보니 커뮤니티 플러그인 중에서 obsidian pandoc plugin 을 사용해서 할 수 있는 것을 알게 되었다. https://github.com/OliverBalfour/obsidian-pandoc 하지만 실제로 우리가 원하는 문서로 바꾸기 위해서는 추가적인 작업이 있어 공유한다. 위에 있는 것처럼 다양한 문서로 출력할 수 있는 것을 알 수 있어서 잘 사용하면 좋을 것 같다는 생각이 들었다. 추가 설치 ..
2023.12.23 -
DVC 설명 및 필수 활용 방법 정리
소개 모든 머신 러닝(ML) 개발자들은 ML 프로젝트의 성공에 있어서 데이터가 얼마나 중요한지 잘 알고 있습니다. 아주 조금의 데이터 변경도 결과에 극적인 변화를 가져올 수 있습니다. 그래서 데이터에 발생하는 모든 변화를 추적하는 것이 매우 중요합니다. 우리가 이야기하는 것은 'data versioning'라고 불립니다. data versioning란 무엇인가? data versioning(버전 관리)는 프로젝트의 다양한 시점에서 스냅샷을 유지하는 행위입니다. 이 방법은 수십 년 동안 소프트웨어 공학에서 흔히 알려져 있으며, 현대 소프트웨어 개발 과정에서 매우 중요해졌습니다. 버전 관리를 하는 것은 프로젝트 소유자에게 두 가지 주요 이점을 제공합니다: 가시성: 작업의 버전을 유지함으로써 소유자는 시간이 ..
2023.12.08 -
GPTs) 영단어 생성기 GPT 만들어보기
전에 이런 주제로 영단어 프롬프트를 만든 적이 있다. 이 프롬프트를 만들어 보면서, 먼가 나만의 앱이라는 느낌이 없었는데, 이번에 DevDay에서 나온 GPTs를 보면서, ㅇ제 GPT Store라는 개념이 생기면서 나만의 앱을 만들 수 있게 되었다. 2023.04.29 - [관심있는 주제/ChatGPT Prompt] - ChatGPT) 영단어 빈칸 문제 내는 프롬프트 공유 그래서 이번에, 기존에 했던 것을 이어서 한다는 개념으로 GPTs로 만든 My Vocab Teacher를 소개해본다. https://chat.openai.com/g/g-ZZaTrccMK-my-vocab-teacher ChatGPT - My Vocab Teacher Provides English vocab quizzes and evalu..
2023.11.12 -
Linux,Mac) Python Script 돌릴 때 core 수 제한하는 방법
taskset은 Linux 운영체제에서 실행 중인 프로세스의 CPU 코어 할당을 제어하는 명령어입니다. CPU 코어 할당을 제어함으로써 프로세스의 성능을 최적화할 수 있습니다. taskset 명령어는 프로세스를 실행할 때, 실행할 CPU 코어를 선택하도록 합니다. 이를 통해 멀티코어 CPU 시스템에서 여러 프로세스가 병렬로 실행될 때, 각각의 프로세스가 서로 다른 코어를 사용하도록 할 수 있습니다. 이는 CPU의 활용도를 높이고, 성능을 향상시키는 데 도움이 됩니다. taskset 명령어는 간단하게 사용할 수 있습니다. 명령어 뒤에 실행할 프로세스의 PID를 입력하고, 원하는 CPU 코어 번호를 지정하면 됩니다. 예를 들어, "taskset -c 0,1 ./myprocess" 명령어는 "myprocess..
2023.03.31 -
Python) SQLite 는 여러 명의 사용자가 사용할 수 있는 지?
중간에 lock 이 걸리는 경우가 발생하여 찾아보니 다음과 같음. 여려명의 사용자가 한번에 사용하는 것은 지원함.(select 권한 다중 사용 가능) 하지만 데이터 베이스를 수정하는 것은 한명만 지원하고 그때 lock이 걸림(write 권한 한명만 작업 동시에 읽는 것은 안되는 것 같음) Multiple processes can have the same database open at the same time. Multiple processes can be doing a SELECT at the same time. But only one process can be making changes to the database at any moment in time, however. https://stackover..
2022.11.06 -
[VSCode] Python Interactive window 사용하여 코딩하기
가끔 jupyter를 사용하다 보면 버벅거릴 떄가 있고, 메모리를 많이 차지하는 경우가 있습니다. 이게 실제로 효율적인지는 모르겠지만, 우연히 발견하게 된 interactive view가 도움이 될 수도 있을 것 같아 공유드립니다. 물론 vscode 주피터에서 작업을 하게 되면, 기존에 관습대로 할 수 있어서 좋지만, 실제 학습 코드 개발이나 테스트하는 입장에서는 py에서 작업을 하는 것이 더 좋을 것 같다고 생각이 듭니다. 일단 아마도 jupyter extension이 설치가 되어야 이러한 작업이 가능한 것 같습니다. 설치가 안된 상태에서는 작동하지 않았습니다. 인텔리센스 Python Interactive 창에는 코드 완성, 멤버 목록, 메서드에 대한 빠른 정보 및 매개 변수 힌트와 같은 전체 Inte..
2022.10.06 -
Linux) GLIBCXX_3.4.26 not found 에러 해결하기(100%는 아님)
안된다는 분이 있으셔서, 참고만 하시면 좋을 것 같습니다. - 22.09.30 파이썬 코드를 실행하였는데, 에러가 났고, 이 문제를 해결하는 코드는 다음과 같다. listdc++.so.6 파일에서 GLIBCX 찾기 strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCX 설치 방법(Solution) sudo add-apt-repository ppa:ubuntu-toolchain-r/test sudo apt-get update sudo apt-get install gcc-4.9 ## 설치가 안되고 진행해도 가능 sudo apt-get upgrade libstdc++6 After this is complete, make sure to run the fo..
2022.03.19 -
Kaggle) Notebook에서 저장한 파일 다운로드 하기
kaggle 노트북을 사용해보고 있는데, 개인적으로는 colab보다 더 편한 느낌이 있다. colabl은 session이 잘 끊기지만, kaggle은 잘 안 끊긴다는 느낌을 받고 있고, 먼가 작업하기가 편한 느낌을 받았다. 그중에서 Kaggle Notebook에서 작업한 결과물을 다운로드 할 수 있는 방법에 대해 공유한다. 실제로 다운로드 하는 버튼이 있는데, 잘 작동하지 않아서 새로운 방법을 찾아봤다. 다른 분들도 도움이 되셨으면 한다 코드 import numpy as np from IPython.display import FileLink import os result = np.array([0.0]) np.save("/kaggle/working/embedding",result) os.chdir(r'/k..
2022.03.08