Skip to content

Instantly share code, notes, and snippets.

View kimpro82's full-sized avatar

Kangrok Kim kimpro82

View GitHub Profile
@kimpro82
kimpro82 / BASIC_Subroutine.md
Created December 10, 2023 07:39
by ChatGPT, not 100% accuracy guaranteed

[GW-BASIC] 서브루틴(GOSUB ~ RETURN) 사용법

GW-BASIC에서 GOSUB 문은 서브루틴(Subroutine)을 호출하는 데 사용됩니다. 서브루틴은 프로그램 내에서 여러 번 사용될 수 있는 코드 블록으로, 일반적으로 반복적인 작업을 수행하거나 프로그램을 구조화하는 데 사용됩니다. GOSUB 문은 특정 레이블로 지정된 위치로 프로그램 제어를 이동시킵니다. 여기서 레이블은 특정 부분을 식별하기 위한 이름이며 일반적으로 숫자로 표시됩니다.

GOSUB 문의 일반적인 사용법은 다음과 같습니다:

10 REM 예시 프로그램
20 PRINT "시작합니다."
30 GOSUB 100
@kimpro82
kimpro82 / getGithubAPIToken.md
Created December 9, 2023 23:49
by ChatGPT, not 100% accuracy guaranteed

깃허브 개인 엑세스 토큰 발급 받기

GitHub에서 개인 액세스 토큰을 발급받는 방법은 다음과 같습니다:

  1. GitHub 계정에 로그인: 먼저 GitHub 계정으로 로그인합니다.

  2. Settings로 이동: GitHub 페이지 우측 상단의 프로필 아이콘을 클릭하고, 드롭다운 메뉴에서 "Settings"를 선택합니다.

  3. Developer settings로 이동: 왼쪽 사이드바에서 "Developer settings"를 선택합니다.

@kimpro82
kimpro82 / markdown_link_target_blank.md
Created September 27, 2023 04:08
by ChatGPT, not 100% accuracy guaranteed
@kimpro82
kimpro82 / clojure-conventions.md
Created September 25, 2023 06:00
by ChatGPT, not 100% accuracy guaranteed

Clojure Conventions

Clojure 커뮤니티에서는 파일명, 함수명 등을 짓는 데 몇 가지 일반적인 컨벤션을 따르는 경향이 있습니다. 이러한 컨벤션은 코드의 가독성을 향상시키고 일관성을 유지하기 위해 사용됩니다. 아래에 몇 가지 주요 컨벤션을 제시합니다:

파일명 컨벤션:

  • Clojure 소스 파일은 .clj 확장자를 사용합니다. 예를 들어, my_namespace.clj와 같이 파일을 저장합니다.
  • 네임스페이스 이름과 파일 경로는 대부분 일치합니다. 예를 들어, my_namespace.core 네임스페이스의 코드는 my_namespace/core.clj 파일에 저장됩니다.
  • 관례적으로 하이픈(-)을 사용하여 단어를 구분합니다. 예를 들어, my-utils.clj와 같이 파일을 지을 수 있습니다.
@kimpro82
kimpro82 / python_merge_pd.dataframe.md
Created July 24, 2023 18:24
by ChatGPT, not 100% accuracy guaranteed

[Python] Pandas DataFrame을 병합하는 함수 (중복되는 행 제외)

아래는 주어진 조건에 따라 중복되는 행을 제외하고 DataFrame을 병합하는 함수입니다.

import pandas as pd

def merge_dataframes_without_duplicates(df_list, key_columns):
    """
 중복되는 행을 제외하고 DataFrame을 병합하는 함수입니다.
@kimpro82
kimpro82 / r_substr.md
Created June 26, 2023 13:00
by ChatGPT, not 100% accuracy guaranteed

[R] substr()을 이용한 문자열 슬라이싱

substr() 함수는 R에서 문자열을 슬라이싱하는 데 사용되는 기능을 제공합니다. 다른 언어에서 주로 사용되는 문자열 슬라이싱 방식과 유사한 동작을 합니다.

substr() 함수는 다음과 같은 형태로 사용됩니다:

substr(string, start, stop)
@kimpro82
kimpro82 / python_dataclass_advantage.md
Created June 19, 2023 23:30
by ChatGPT, not 100% accuracy guaranteed

Python @dataclass 사용의 이점

dataclass를 사용하는 것에는 몇 가지 이점이 있습니다.

  1. 코드 가독성: dataclass를 사용하면 데이터의 구조와 필드가 명시적으로 표현됩니다. 필드 이름과 타입이 명시되어 있기 때문에 코드를 이해하기 쉽고 가독성이 좋아집니다.

  2. 손쉬운 데이터 관리: dataclass는 데이터를 객체로 캡슐화하여 관리할 수 있습니다. 필드들을 하나의 객체로 묶어서 처리하므로 데이터의 구조와 관련된 작업을 간편하게 수행할 수 있습니다.

  3. 데이터 유효성 검사: dataclass는 필드에 대한 유효성 검사를 수행할 수 있는 기능을 제공합니다. 필드의 타입을 명시하고 데이터를 할당할 때 타입 불일치나 잘못된 값이 들어오면 오류를 발생시킵니다. 이를 통해 데이터의 일관성과 신뢰성을 높일 수 있습니다.

@kimpro82
kimpro82 / StaticVariable.md
Created June 11, 2023 14:59
by ChatGPT, not 100% accuracy guaranteed

정적 변수(Static Variable)을 사용하는 이유

정적 변수는 프로그램 실행 중에 생성되는 객체의 인스턴스에 속하지 않고, 해당 클래스나 모듈에 직접 속해 있는 변수를 말합니다. 이러한 정적 변수를 사용하는 이유는 다음과 같습니다:

  1. 데이터 공유: 정적 변수는 해당 클래스나 모듈의 모든 인스턴스에서 동일한 값을 공유합니다. 따라서 여러 객체 간에 데이터를 공유하고 상태를 유지하기 위해 사용됩니다.

  2. 메모리 절약: 정적 변수는 프로그램 실행 중에 한 번만 생성되며, 객체 인스턴스마다 중복으로 생성되지 않습니다. 이로써 메모리 사용량을 줄이고 효율적인 자원 관리를 할 수 있습니다.

  3. 데이터 유지: 정적 변수는 객체 인스턴스가 소멸되더라도 해당 값을 유지합니다. 따라서 프로그램 실행 도중에 데이터를 계속 사용하고자 할 때 유용합니다.

@kimpro82
kimpro82 / SubjectiveBayesianProbabilities.md
Last active May 23, 2023 12:59
by ChatGPT, not 100% accuracy guaranteed

베이즈 통계학에서의 주관적 확률(Subjective Bayesian Probabilities)

베이즈 통계학에서 50%의 주관적 확률 개념은 주관성(subjectivity)과 주관적 견해에 기반한 확률 추정에 대한 인정을 나타냅니다. 이는 베이지안 접근법에서 중요한 개념 중 하나입니다.

주관적 확률은 사람들이 정보와 경험에 기반하여 주관적으로 확률을 할당하는 것을 의미합니다. 이는 주관적 견해, 경험, 선호 등에 영향을 받을 수 있습니다. 베이즈 통계학은 이러한 주관성을 인정하고, 사전 확률(prior probability)이라는 개념을 도입하여 사전 지식이나 주관적 견해를 포함한 초기 추정을 수용합니다.

이 주관적 확률 개념을 사용하는 이유는 다음과 같습니다:

  1. 주관적 확률은 불완전한 정보 상황에서의 확률 추정을 가능하게 합니다. 때때로 정확한 확률 값을 구하기 어려운 경우가 있을 수 있는데, 주관적 확률은 이러한 상황에서도 추정을 할 수 있는 방법을 제공합니다.
  2. 주관적 확률은 개인의 지식, 경험, 선호 등을 반영하여 개인에게 맞는 확률 추정을 가능하게 합니다. 이는 의사결정과 예측 등 다양한 상황에서 유용합니다.
@kimpro82
kimpro82 / Python_Django_Background.md
Created April 6, 2023 03:39
by ChatGPT, not 100% accuracy guaranteed

Python Django Server에서 백그라운드 작업 가동

장고 서버에서 클라이언트와 무관하게 계속 작동하는 코드는 일반적으로 백그라운드 작업으로 처리합니다. 이를 위해 Python의 multiprocessing 라이브러리나 Django에서 제공하는 background_task 라이브러리 등을 사용할 수 있습니다.

예시 코드

아래는 background_task 라이브러리를 이용해 Upbit API로 비트코인 시세를 받아 DB에 저장하는 예시 코드입니다. 이 코드는 서버 실행 후 백그라운드에서 계속 작동하며, 1분마다 비트코인 시세를 업데이트하고 DB에 저장합니다.